plan_executor 1.0.2 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +3 -2
  4. data/Gemfile +3 -6
  5. data/Gemfile.lock +52 -48
  6. data/README.md +2 -2
  7. data/fixtures/attachment/ccda_pdf.pdf +0 -0
  8. data/fixtures/attachment/ccda_pdf_base64.txt +2489 -0
  9. data/fixtures/attachment/ccda_structured.xml +1976 -0
  10. data/fixtures/attachment/ccda_unstructured.xml +2563 -0
  11. data/fixtures/daf/conformance-daf-query-responder.xml +2024 -193
  12. data/fixtures/diagnostic_report/diagnosticreport-familyhistory-create.xml +67 -0
  13. data/fixtures/diagnostic_report/diagnosticreport-hlatyping-create.xml +64 -0
  14. data/fixtures/diagnostic_report/diagnosticreport-pathologyreport-create.xml +312 -0
  15. data/fixtures/diagnostic_report/dr-100.xml +3 -3
  16. data/fixtures/diagnostic_report/dr-200.xml +5 -5
  17. data/fixtures/diagnostic_report/dr-300.xml +3 -3
  18. data/fixtures/diagnostic_report/dr-400.xml +3 -3
  19. data/fixtures/{diagnostic_order → diagnostic_request}/do-100.xml +57 -64
  20. data/fixtures/diagnostic_request/do-200.xml +73 -0
  21. data/fixtures/{diagnostic_order → diagnostic_request}/do-300.xml +73 -91
  22. data/{lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder → fixtures/diagnostic_request}/do-400.xml +74 -88
  23. data/fixtures/family_member_history/familymemberhistory-familyhistory-create.xml +27 -0
  24. data/fixtures/financial/claim-example-oral-average.xml +199 -0
  25. data/fixtures/financial/claim-example-oral-orthoplan.xml +298 -0
  26. data/fixtures/financial/claim-example.xml +98 -0
  27. data/fixtures/financial/eligibilityrequest-example.xml +40 -0
  28. data/fixtures/observation/obs-401.xml +7 -17
  29. data/fixtures/observation/obs-402.xml +7 -17
  30. data/fixtures/observation/obs-403.xml +4 -29
  31. data/fixtures/observation/obs-407.xml +4 -11
  32. data/fixtures/observation/observation-datawarehouse-create.xml +72 -0
  33. data/fixtures/observation/observation-familyhistory-create.xml +61 -0
  34. data/fixtures/observation/observation-germline-create.xml +72 -0
  35. data/fixtures/observation/observation-register-create.xml +72 -0
  36. data/fixtures/patch/medicationrequest-simple.xml +16 -0
  37. data/fixtures/patient/patient-example-updated.xml +1 -7
  38. data/fixtures/patient/patient-example-us-extensions.xml +119 -0
  39. data/fixtures/patient/patient-example.xml +46 -27
  40. data/fixtures/patient/patient-familyhistory-create.xml +45 -0
  41. data/fixtures/patient/patient-register-create.xml +47 -0
  42. data/fixtures/practitioner/practitioner-register-create.xml +32 -0
  43. data/fixtures/record/condition-example-f201-fever.xml +54 -49
  44. data/fixtures/record/condition-example-f205-infection.xml +16 -15
  45. data/fixtures/record/diagnosticreport-example-f201-brainct.xml +45 -18
  46. data/fixtures/record/encounter-example-f201-20130404.xml +42 -15
  47. data/fixtures/record/encounter-example-f202-20130128.xml +57 -15
  48. data/fixtures/record/observation-example-f202-temperature.xml +85 -60
  49. data/fixtures/record/organization-example-f201-aumc.xml +87 -4
  50. data/fixtures/record/organization-example-f203-bumc.xml +53 -4
  51. data/fixtures/record/patient-example-f201-roel.xml +108 -8
  52. data/fixtures/record/practitioner-example-f201-ab.xml +73 -14
  53. data/fixtures/record/procedure-example-f201-tpf.xml +39 -9
  54. data/fixtures/scheduling/slot-simple.xml +1 -1
  55. data/fixtures/sequence/sequence-register-create.xml +31 -0
  56. data/fixtures/specimen/spec-100.xml +8 -8
  57. data/fixtures/specimen/spec-400.xml +11 -11
  58. data/fixtures/specimen/spec-uslab-example1.xml +11 -11
  59. data/fixtures/specimen/specimen-familyhistory-create.xml +54 -0
  60. data/fixtures/specimen/specimen-register-create.xml +49 -0
  61. data/fixtures/terminology/codesystem-data-types.json +230 -0
  62. data/fixtures/terminology/codesystem-resource-types.json +482 -0
  63. data/fixtures/terminology/codesystem-simple.xml +129 -0
  64. data/fixtures/terminology/conceptmap-example.xml +141 -0
  65. data/fixtures/terminology/v2-codesystem.json +1297 -0
  66. data/fixtures/terminology/v2-valueset.json +16 -0
  67. data/fixtures/terminology/valueset-defined-types.json +25 -0
  68. data/fixtures/terminology/valueset-example.xml +111 -0
  69. data/fixtures/validation/observation.profile.xml +1534 -253
  70. data/fixtures/validation/observations/observation-example.xml +66 -0
  71. data/lib/FHIR_structure.json +129 -82
  72. data/lib/daf_resource_generator.rb +7 -7
  73. data/lib/data/resources.rb +50 -30
  74. data/lib/ext/client.rb +2 -2
  75. data/lib/plan_executor.rb +6 -1
  76. data/lib/resource_generator.rb +413 -212
  77. data/lib/tasks/tasks.rake +151 -20
  78. data/lib/tests/assertions.rb +24 -18
  79. data/lib/tests/base_test.rb +17 -3
  80. data/lib/tests/suites/argonaut_provider_connectathon_test.rb +234 -0
  81. data/lib/tests/suites/base_suite.rb +7 -3
  82. data/lib/tests/suites/connectathon_attachment_track_test.rb +124 -0
  83. data/lib/tests/suites/connectathon_audit_track.rb +113 -69
  84. data/lib/tests/suites/connectathon_care_plan_track.rb +237 -0
  85. data/lib/tests/suites/connectathon_fetch_patient_record.rb +40 -39
  86. data/lib/tests/suites/connectathon_financial_track.rb +231 -23
  87. data/lib/tests/suites/connectathon_genomics_track_test.rb +255 -0
  88. data/lib/tests/suites/connectathon_lab_order_track.rb +131 -104
  89. data/lib/tests/suites/connectathon_patch_track.rb +125 -0
  90. data/lib/tests/suites/connectathon_patient_track.rb +75 -68
  91. data/lib/tests/suites/connectathon_profile_validation.rb +9 -8
  92. data/lib/tests/suites/connectathon_scheduling_track.rb +127 -70
  93. data/lib/tests/suites/connectathon_terminology_track.rb +211 -34
  94. data/lib/tests/suites/daf_profiles_test.rb +112 -72
  95. data/lib/tests/suites/format_test.rb +113 -255
  96. data/lib/tests/suites/history_test.rb +72 -68
  97. data/lib/tests/suites/read_test.rb +31 -27
  98. data/lib/tests/suites/resource_test.rb +283 -85
  99. data/lib/tests/suites/search_test.rb +5 -3
  100. data/lib/tests/suites/search_test_robust.rb +8 -76
  101. data/lib/tests/suites/sprinkler_search_test.rb +104 -84
  102. data/lib/tests/suites/suite_engine.rb +17 -23
  103. data/lib/tests/suites/transaction_test.rb +117 -174
  104. data/lib/tests/testscripts/base_testscript.rb +425 -189
  105. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/Client Assigned Id/connectathon-14-patient-base-client-id-json.xml +517 -0
  106. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/Client Assigned Id/connectathon-14-patient-base-client-id-xml.xml +517 -0
  107. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/Client Assigned Id/connectathon-14-patient-bonus-client-id-json.xml +648 -0
  108. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/Client Assigned Id/connectathon-14-patient-bonus-client-id-xml.xml +648 -0
  109. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/README.html +68 -0
  110. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/Server Assigned Id/connectathon-14-patient-base-server-id-json.xml +515 -0
  111. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/Server Assigned Id/connectathon-14-patient-base-server-id-xml.xml +515 -0
  112. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/Server Assigned Id/connectathon-14-patient-bonus-server-id-json.xml +645 -0
  113. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/Server Assigned Id/connectathon-14-patient-bonus-server-id-xml.xml +642 -0
  114. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/_reference/capabilities/PatientCapabilityStatement.xml +43 -0
  115. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-create-PeterChalmers-min.json +1 -3
  116. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-create-PeterChalmers-min.xml +0 -0
  117. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-create-PeterChalmers.json +5 -10
  118. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-create-PeterChalmers.xml +5 -5
  119. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-create-bonus-PeterChalmers-min.json +1 -3
  120. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-create-bonus-PeterChalmers-min.xml +0 -0
  121. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-create-bonus-PeterChalmers.json +5 -10
  122. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-create-bonus-PeterChalmers.xml +4 -5
  123. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/_reference/resources/patient-create-client-id-PeterChalmers.json +96 -0
  124. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/_reference/resources/patient-create-client-id-PeterChalmers.xml +103 -0
  125. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/_reference/resources/patient-create-client-id-bonus-PeterChalmers.json +104 -0
  126. data/lib/tests/testscripts/scripts/connectathon/Patient-01-Intro/_reference/resources/patient-create-client-id-bonus-PeterChalmers.xml +108 -0
  127. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-update-PeterChalmers-min.json +1 -3
  128. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-update-PeterChalmers-min.xml +0 -0
  129. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-update-PeterChalmers.json +6 -10
  130. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-update-PeterChalmers.xml +6 -5
  131. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-update-bonus1-PeterChalmers-min.json +1 -3
  132. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-update-bonus1-PeterChalmers-min.xml +0 -0
  133. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-update-bonus1-PeterChalmers.json +7 -11
  134. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-update-bonus1-PeterChalmers.xml +5 -5
  135. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-update-bonus2-PeterChalmers-min.json +2 -4
  136. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-update-bonus2-PeterChalmers-min.xml +1 -1
  137. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-update-bonus2-PeterChalmers.json +7 -11
  138. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient → scripts/connectathon/Patient-01-Intro}/_reference/resources/patient-update-bonus2-PeterChalmers.xml +8 -7
  139. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/01-RegisterPatient/connectathon-14-patient-fhirclient-01-register-client-id-xml.xml +306 -0
  140. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/01-RegisterPatient/connectathon-14-patient-fhirclient-01-register-server-id-xml.xml +317 -0
  141. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/02-PatientUpdate/connectathon-14-patient-fhirclient-02-update-client-id-xml.xml +346 -0
  142. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/02-PatientUpdate/connectathon-14-patient-fhirclient-02-update-server-id-xml.xml +385 -0
  143. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/_reference/capabilities/PatientCapabilityStatement.json +50 -0
  144. data/lib/tests/testscripts/{xml/Connectathon11/Track1-Patient/_reference/conformance/PatientConformance.xml → scripts/connectathon/Patient-02-Formal/FHIRClient/_reference/capabilities/PatientCapabilityStatement.xml} +10 -2
  145. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/_reference/resources/patient-create-client-id.json +21 -0
  146. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/_reference/resources/patient-create-client-id.xml +15 -0
  147. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/_reference/resources/patient-create-server-id.json +20 -0
  148. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/_reference/resources/patient-create-server-id.xml +14 -0
  149. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/_reference/resources/patient-update-client-id.json +21 -0
  150. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/_reference/resources/patient-update-client-id.xml +15 -0
  151. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/_reference/resources/patient-update-server-id.json +20 -0
  152. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRClient/_reference/resources/patient-update-server-id.xml +14 -0
  153. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/01-RegisterPatient/connectathon-14-patient-fhirserver-01-register-client-id-json.xml +262 -0
  154. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/01-RegisterPatient/connectathon-14-patient-fhirserver-01-register-client-id-xml.xml +262 -0
  155. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/01-RegisterPatient/connectathon-14-patient-fhirserver-01-register-server-id-json.xml +273 -0
  156. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/01-RegisterPatient/connectathon-14-patient-fhirserver-01-register-server-id-xml.xml +273 -0
  157. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/02-PatientUpdate/connectathon-14-patient-fhirserver-02-update-client-id-json.xml +290 -0
  158. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/02-PatientUpdate/connectathon-14-patient-fhirserver-02-update-client-id-xml.xml +290 -0
  159. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/02-PatientUpdate/connectathon-14-patient-fhirserver-02-update-server-id-json.xml +326 -0
  160. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/02-PatientUpdate/connectathon-14-patient-fhirserver-02-update-server-id-xml.xml +326 -0
  161. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/03-PatientRead/connectathon-14-patient-fhirserver-03-read-client-id-json.xml +247 -0
  162. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/03-PatientRead/connectathon-14-patient-fhirserver-03-read-client-id-xml.xml +247 -0
  163. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/03-PatientRead/connectathon-14-patient-fhirserver-03-read-server-id-json.xml +282 -0
  164. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/03-PatientRead/connectathon-14-patient-fhirserver-03-read-server-id-xml.xml +281 -0
  165. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/04-PatientHistory/connectathon-14-patient-fhirserver-04-history-client-id-json.xml +330 -0
  166. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/04-PatientHistory/connectathon-14-patient-fhirserver-04-history-client-id-xml.xml +330 -0
  167. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/04-PatientHistory/connectathon-14-patient-fhirserver-04-history-server-id-json.xml +366 -0
  168. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/04-PatientHistory/connectathon-14-patient-fhirserver-04-history-server-id-xml.xml +366 -0
  169. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/05-PatientVRead/connectathon-14-patient-fhirserver-05-vread-client-id-json.xml +527 -0
  170. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/05-PatientVRead/connectathon-14-patient-fhirserver-05-vread-client-id-xml.xml +527 -0
  171. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/05-PatientVRead/connectathon-14-patient-fhirserver-05-vread-server-id-json.xml +519 -0
  172. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/05-PatientVRead/connectathon-14-patient-fhirserver-05-vread-server-id-xml.xml +519 -0
  173. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/06-PatientSearching/connectathon-14-patient-fhirserver-06-search-client-id-json.xml +290 -0
  174. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/06-PatientSearching/connectathon-14-patient-fhirserver-06-search-client-id-xml.xml +290 -0
  175. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/06-PatientSearching/connectathon-14-patient-fhirserver-06-search-server-id-json.xml +288 -0
  176. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/06-PatientSearching/connectathon-14-patient-fhirserver-06-search-server-id-xml.xml +288 -0
  177. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/07-PatientDeletion/connectathon-14-patient-fhirserver-07-delete-client-id-json.xml +252 -0
  178. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/07-PatientDeletion/connectathon-14-patient-fhirserver-07-delete-client-id-xml.xml +252 -0
  179. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/07-PatientDeletion/connectathon-14-patient-fhirserver-07-delete-server-id-json.xml +284 -0
  180. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/07-PatientDeletion/connectathon-14-patient-fhirserver-07-delete-server-id-xml.xml +284 -0
  181. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/99-PatientAll/connectathon-14-patient-fhirserver-99-all-client-id-json.xml +897 -0
  182. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/99-PatientAll/connectathon-14-patient-fhirserver-99-all-client-id-xml.xml +897 -0
  183. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/99-PatientAll/connectathon-14-patient-fhirserver-99-all-server-id-json.xml +963 -0
  184. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/99-PatientAll/connectathon-14-patient-fhirserver-99-all-server-id-xml.xml +963 -0
  185. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/_reference/capabilities/PatientCapabilityStatement.json +50 -0
  186. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/_reference/capabilities/PatientCapabilityStatement.xml +42 -0
  187. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/_reference/resources/patient-create-client-id.json +86 -0
  188. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/_reference/resources/patient-create-client-id.xml +62 -0
  189. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/_reference/resources/patient-create-server-id.json +85 -0
  190. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/_reference/resources/patient-create-server-id.xml +61 -0
  191. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/_reference/resources/patient-update-client-id.json +86 -0
  192. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/_reference/resources/patient-update-client-id.xml +62 -0
  193. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/_reference/resources/patient-update-server-id.json +86 -0
  194. data/lib/tests/testscripts/scripts/connectathon/Patient-02-Formal/FHIRServer/_reference/resources/patient-update-server-id.xml +62 -0
  195. data/lib/tests/testscripts/scripts/spec/_reference/resources/patient-example-update.json +145 -0
  196. data/lib/tests/testscripts/scripts/spec/_reference/resources/patient-example.json +146 -0
  197. data/lib/tests/testscripts/scripts/spec/testscript-example-history.xml +191 -0
  198. data/lib/tests/testscripts/scripts/spec/testscript-example-multisystem.xml +190 -0
  199. data/lib/tests/testscripts/scripts/spec/testscript-example-readtest.xml +178 -0
  200. data/lib/tests/testscripts/scripts/spec/testscript-example-rule.xml +266 -0
  201. data/lib/tests/testscripts/scripts/spec/testscript-example-search.xml +177 -0
  202. data/lib/tests/testscripts/scripts/spec/testscript-example-update.xml +163 -0
  203. data/lib/tests/testscripts/scripts/spec/testscript-example.xml +228 -0
  204. data/lib/tests/testscripts/testscript_engine.rb +36 -22
  205. data/logs/.keep +0 -0
  206. data/plan_executor.gemspec +11 -3
  207. data/test/test_helper.rb +3 -3
  208. data/test/unit/fixtures_test.rb +24 -24
  209. data/test/unit/metadata_test.rb +19 -9
  210. data/test/unit/resource_generator_test.rb +20 -0
  211. metadata +244 -249
  212. data/fixtures/diagnostic_order/do-200.xml +0 -121
  213. data/fixtures/diagnostic_order/do-400.xml +0 -88
  214. data/fixtures/financial/claim-example-average.xml +0 -168
  215. data/fixtures/financial/claim-example-simple.xml +0 -67
  216. data/fixtures/order/order-100.xml +0 -61
  217. data/fixtures/order/order-200.xml +0 -61
  218. data/fixtures/order/order-300.xml +0 -61
  219. data/fixtures/order/order-400.xml +0 -61
  220. data/fixtures/order_response/ordresp-100.xml +0 -79
  221. data/fixtures/order_response/ordresp-110.xml +0 -79
  222. data/fixtures/order_response/ordresp-200.xml +0 -79
  223. data/fixtures/order_response/ordresp-210.xml +0 -79
  224. data/fixtures/order_response/ordresp-300.xml +0 -79
  225. data/fixtures/order_response/ordresp-310.xml +0 -79
  226. data/fixtures/order_response/ordresp-400.xml +0 -79
  227. data/fixtures/order_response/ordresp-410.xml +0 -79
  228. data/fixtures/patient/patient-example-us-extensions(us01).xml +0 -81
  229. data/fixtures/patient/patient-format-example.xml +0 -101
  230. data/fixtures/validation/observations/observation-example(example).xml +0 -50
  231. data/lib/tests/suites/argonaut_resprint_1_test.rb +0 -260
  232. data/lib/tests/suites/argonaut_resprint_2_test.rb +0 -369
  233. data/lib/tests/suites/argonaut_resprint_3_test.rb +0 -309
  234. data/lib/tests/suites/argonaut_sprint_1_test.rb +0 -187
  235. data/lib/tests/suites/argonaut_sprint_2_test.rb +0 -115
  236. data/lib/tests/suites/argonaut_sprint_3_test.rb +0 -208
  237. data/lib/tests/suites/argonaut_sprint_4_test.rb +0 -335
  238. data/lib/tests/suites/argonaut_sprint_5_test.rb +0 -196
  239. data/lib/tests/suites/argonaut_sprint_6_test.rb +0 -243
  240. data/lib/tests/suites/argonaut_sprint_7_test.rb +0 -161
  241. data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Client Assigned Id/track1-patient-base-client-id-json.xml +0 -348
  242. data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Client Assigned Id/track1-patient-base-client-id-xml.xml +0 -348
  243. data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Client Assigned Id/track1-patient-bonus-client-id-json.xml +0 -420
  244. data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Client Assigned Id/track1-patient-bonus-client-id-xml.xml +0 -420
  245. data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/README.html +0 -68
  246. data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Server Assigned Id/track1-patient-base-server-id-json.xml +0 -352
  247. data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Server Assigned Id/track1-patient-base-server-id-xml.xml +0 -352
  248. data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Server Assigned Id/track1-patient-bonus-server-id-json.xml +0 -421
  249. data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Server Assigned Id/track1-patient-bonus-server-id-xml.xml +0 -421
  250. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/C-CDA_R2-1_CCD-ussg.xml +0 -3414
  251. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-A1-empty-on-instance.xml +0 -9
  252. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-A2-empty-by-ref.xml +0 -15
  253. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-A3-empty-by-identifier.xml +0 -13
  254. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-A4-empty-by-contained.xml +0 -15
  255. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-B1-CCDA-on-instance.xml +0 -15
  256. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-B2-CCDA-by-ref.xml +0 -21
  257. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-B3-CCDA-by-identifier.xml +0 -19
  258. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-B4-CCDA-by-contained.xml +0 -21
  259. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/questionnaire-sdc-profile-example-ussg-fht.xml +0 -3905
  260. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/questionnaireresponse-expected-ussg-fht-CCDA.xml +0 -190
  261. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/questionnaireresponse-expected-ussg-fht-empty.xml +0 -177
  262. data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/track11-sdc-prepop-xml.xml +0 -142
  263. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Expand/Client Assigned Id/track2-ts-suite1-expand-client-id.xml +0 -925
  264. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Expand/Client Assigned Id/track2-ts-suite2-expand-filter-client-id.xml +0 -930
  265. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Expand/Server Assigned Id/track2-ts-suite1-expand-server-id.xml +0 -953
  266. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Expand/Server Assigned Id/track2-ts-suite2-expand-filter-server-id.xml +0 -958
  267. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Lookup/track2-ts-suite5-loinc-lookup-xml.xml +0 -224
  268. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Lookup/track2-ts-suite5-snomed-lookup-xml.xml +0 -224
  269. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/README.html +0 -85
  270. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Translate/track2-ts-suite6-translate-xml.xml +0 -224
  271. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Validate-code/Client Assigned Id/track2-ts-suite3-validate-code-client-id.xml +0 -1807
  272. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Validate-code/Client Assigned Id/track2-ts-suite4-validate-code-client-id.xml +0 -714
  273. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Validate-code/Server Assigned Id/track2-ts-suite3-validate-code-server-id.xml +0 -1835
  274. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Validate-code/Server Assigned Id/track2-ts-suite4-validate-code-server-id.xml +0 -742
  275. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/conformance/ConceptMapSuite6Conformance.xml +0 -11
  276. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/conformance/ValueSetSuite1Conformance.xml +0 -17
  277. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/conformance/ValueSetSuite2Conformance.xml +0 -17
  278. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/conformance/ValueSetSuite3Conformance.xml +0 -14
  279. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/conformance/ValueSetSuite4Conformance.xml +0 -14
  280. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/conformance/ValueSetSuite5Conformance.xml +0 -11
  281. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/extensional-case-1-input-4-2-a.xml +0 -11
  282. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/extensional-case-1-input-4-2-b.xml +0 -11
  283. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/extensional-case-1-input-4-3-a.xml +0 -13
  284. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/extensional-case-1-input-4-3-b.xml +0 -13
  285. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/extensional-case-1-input-4-4-a.xml +0 -15
  286. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/extensional-case-1-input-4-4-b.xml +0 -15
  287. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/lookup-loinc-input-5-2.xml +0 -10
  288. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/lookup-loinc-input-5-3.xml +0 -11
  289. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/lookup-snomed-input-5-2.xml +0 -10
  290. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/lookup-snomed-input-5-3.xml +0 -11
  291. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/translate-conceptmap-input-6-2.xml +0 -14
  292. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/translate-conceptmap-input-6-3.xml +0 -15
  293. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-1-expand-min.xml +0 -47
  294. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-1-filter-min.xml +0 -23
  295. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-2-expand-min.xml +0 -132
  296. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-2-filter-min.xml +0 -38
  297. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-3-expand-min.xml +0 -252
  298. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-3-filter-min.xml +0 -58
  299. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-4-expand-min.xml +0 -57
  300. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-4-filter-min.xml +0 -28
  301. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/intensional-case-1-expand-min.xml +0 -347
  302. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/intensional-case-1-filter-min.xml +0 -33
  303. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/intensional-case-2-expand-min.xml +0 -637
  304. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/intensional-case-2-filter-min.xml +0 -33
  305. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/intensional-case-3-filter-min.xml +0 -58
  306. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/lookup-loinc-min.xml +0 -11
  307. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/lookup-snomed-min.xml +0 -11
  308. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/suite3-invalid-min.xml +0 -10
  309. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/suite3-valid-min.xml +0 -7
  310. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/suite4-invalid-min.xml +0 -10
  311. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/suite4-valid-min.xml +0 -7
  312. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/translate-conceptmap-min.xml +0 -17
  313. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/extensional-case-1.xml +0 -55
  314. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/extensional-case-2.xml +0 -122
  315. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/extensional-case-3.xml +0 -222
  316. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/extensional-case-4.xml +0 -65
  317. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/intensional-case-1.xml +0 -31
  318. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/intensional-case-2.xml +0 -31
  319. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/intensional-case-3.xml +0 -31
  320. data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/translate-conceptmap-case-1.xml +0 -145
  321. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/conformance/DecisionSupportServiceModule-Evaluate.xml +0 -17
  322. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-incomplete-request-payload.xml +0 -26
  323. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-incomplete-response-min-payload.xml +0 -7
  324. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-incomplete-response-payload.xml +0 -332
  325. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-malformed-request-payload.xml +0 -28
  326. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-malformed-response-min-payload.xml +0 -7
  327. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-malformed-response-payload.xml +0 -20
  328. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-request-payload.xml +0 -28
  329. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-response-min-payload.xml +0 -7
  330. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-response-payload.xml +0 -332
  331. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-unauthorized-request-payload.xml +0 -28
  332. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-unauthorized-response-min-payload.xml +0 -7
  333. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-unauthorized-response-payload.xml +0 -8
  334. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/gao-assessment-request-payload.xml +0 -176
  335. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/gao-assessment-response-payload-min.xml +0 -32
  336. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/gao-assessment-response-payload.xml +0 -80
  337. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/track3-cds-evaluate-cdc-immunization.xml +0 -290
  338. data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/track3-cds-evaluate-gao-profile.xml +0 -110
  339. data/lib/tests/testscripts/xml/Connectathon11/Track6-FHIR-Genomics/Client_Assigned_Id/TestScript_FHIR-Genomics.xml +0 -170
  340. data/lib/tests/testscripts/xml/Connectathon11/Track6-FHIR-Genomics/_reference/resources/sequence-example-1.xml +0 -31
  341. data/lib/tests/testscripts/xml/Connectathon11/Track6-FHIR-Genomics/_reference/resources/sequence-example-2.xml +0 -31
  342. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Actors.png +0 -0
  343. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Client_Assigned_Id/track7-laborder100-xml.xml +0 -590
  344. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Client_Assigned_Id/track7-laborder200-xml.xml +0 -587
  345. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Client_Assigned_Id/track7-laborder300-xml.xml +0 -612
  346. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Client_Assigned_Id/track7-laborder400-xml.xml +0 -635
  347. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Peer-to-Peer/track7-laborder100-peer2peer-xml.xml +0 -752
  348. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Thumbs.db +0 -0
  349. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/conformance/LabOrderLabReport-CreateDeleteReadUpdate.xml +0 -187
  350. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/conformance/html.xslt +0 -45
  351. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-100-update.xml +0 -64
  352. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-100.xml +0 -64
  353. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-200-update.xml +0 -121
  354. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-200.xml +0 -121
  355. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-300-update.xml +0 -91
  356. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-300.xml +0 -91
  357. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-400-update.xml +0 -88
  358. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticReport/dr-100.xml +0 -96
  359. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticReport/dr-200.xml +0 -125
  360. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticReport/dr-300.xml +0 -132
  361. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticReport/dr-400.xml +0 -121
  362. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-100.xml +0 -58
  363. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-101.xml +0 -58
  364. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-200.xml +0 -125
  365. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-300.xml +0 -106
  366. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-301.xml +0 -106
  367. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-302.xml +0 -106
  368. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-303.xml +0 -106
  369. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-304.xml +0 -106
  370. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-400.xml +0 -87
  371. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-401.xml +0 -95
  372. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-402.xml +0 -95
  373. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-403.xml +0 -84
  374. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-404.xml +0 -84
  375. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-405.xml +0 -83
  376. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-406.xml +0 -83
  377. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-407.xml +0 -70
  378. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-408.xml +0 -84
  379. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-uslab-example5.xml +0 -102
  380. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Order/order-100.xml +0 -61
  381. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Order/order-200.xml +0 -61
  382. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Order/order-300.xml +0 -61
  383. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Order/order-400.xml +0 -61
  384. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-100.xml +0 -79
  385. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-110.xml +0 -79
  386. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-200.xml +0 -79
  387. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-210.xml +0 -79
  388. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-300.xml +0 -79
  389. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-310.xml +0 -79
  390. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-400.xml +0 -79
  391. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-410.xml +0 -79
  392. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Organization/org-uslab-example3.xml +0 -49
  393. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Patient/patient-uslab-example1.xml +0 -44
  394. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Practitioner/pract-uslab-example1.xml +0 -18
  395. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Practitioner/pract-uslab-example3.xml +0 -36
  396. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Specimen/Thumbs.db +0 -0
  397. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Specimen/spec-100.xml +0 -65
  398. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Specimen/spec-400.xml +0 -70
  399. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Specimen/spec-uslab-example1.xml +0 -82
  400. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Testscript 1 Document.txt +0 -122
  401. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Testscript 2 Document.txt +0 -103
  402. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Testscript 3 Document.txt +0 -201
  403. data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Testscript 4 Document.txt +0 -310
  404. data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/_reference/conformance/MedicationStatementCreate.xml +0 -11
  405. data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/_reference/conformance/PatientSearchType.xml +0 -15
  406. data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/_reference/resources/medicationstatement-create.json +0 -39
  407. data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/_reference/resources/medicationstatement-patch.json +0 -3
  408. data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/track9-patch-medicationstatement-json-if-match.xml +0 -321
  409. data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/track9-patch-medicationstatement-json.xml +0 -303
  410. data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/track9-patch-peer2peer-patient-json.xml +0 -235
  411. data/test/fixtures/testscript-example.xml +0 -202
  412. data/test/fixtures/testscript-history.xml +0 -143
  413. data/test/fixtures/testscript-readtest.xml +0 -272
  414. data/test/fixtures/testscript-search.xml +0 -282
  415. data/test/fixtures/testscript-update.xml +0 -147
  416. data/test/unit/argonaut_sprint6_test.rb +0 -31
  417. data/test/unit/argonaut_sprint7_test.rb +0 -21
  418. data/test/unit/basic_test.rb +0 -27
  419. data/test/unit/fetch_patient_record_test.rb +0 -357
  420. data/test/unit/financial_test.rb +0 -41
@@ -12,6 +12,7 @@ module Crucible
12
12
 
13
13
  def initialize(client1, client2=nil)
14
14
  super(client1, client2)
15
+ @tags.append('connectathon')
15
16
  @category = {id: 'connectathon', title: 'Connectathon'}
16
17
  end
17
18
 
@@ -19,11 +20,11 @@ module Crucible
19
20
  @resources = Crucible::Generator::Resources.new
20
21
 
21
22
  @patient = @resources.example_patient
22
- @patient.xmlId = nil # clear the identifier, in case the server checks for duplicates
23
+ @patient.id = nil # clear the identifier, in case the server checks for duplicates
23
24
  @patient.identifier = nil # clear the identifier, in case the server checks for duplicates
24
25
 
25
26
  @patient_us = @resources.example_patient_us
26
- @patient_us.xmlId = nil # clear the identifier, in case the server checks for duplicates
27
+ @patient_us.id = nil # clear the identifier, in case the server checks for duplicates
27
28
  @patient_us.identifier = nil # clear the identifier, in case the server checks for duplicates
28
29
  end
29
30
 
@@ -48,10 +49,10 @@ module Crucible
48
49
  assert_response_ok(reply)
49
50
 
50
51
  if !reply.resource.nil?
51
- temp = reply.resource.xmlId
52
- reply.resource.xmlId = nil
52
+ temp = reply.resource.id
53
+ reply.resource.id = nil
53
54
  warning { assert @patient.equals?(reply.resource), 'The server did not correctly preserve the Patient data.' }
54
- reply.resource.xmlId = temp
55
+ reply.resource.id = temp
55
56
  end
56
57
 
57
58
  warning { assert_valid_resource_content_type_present(reply) }
@@ -73,15 +74,15 @@ module Crucible
73
74
 
74
75
  reply = @client.create @patient_us
75
76
  @patient_us_id = reply.id
76
- @patient_us.xmlId = reply.resource.xmlId || reply.id
77
+ @patient_us.id = reply.resource.id || reply.id
77
78
 
78
79
  assert_response_ok(reply)
79
80
 
80
81
  if !reply.resource.nil?
81
- temp = reply.resource.xmlId
82
- reply.resource.xmlId = nil
82
+ temp = reply.resource.id
83
+ reply.resource.id = nil
83
84
  warning { assert @patient.equals?(reply.resource), 'The server did not correctly preserve the Patient data.' }
84
- reply.resource.xmlId = temp
85
+ reply.resource.id = temp
85
86
  end
86
87
 
87
88
  warning { assert_valid_resource_content_type_present(reply) }
@@ -101,7 +102,7 @@ module Crucible
101
102
  }
102
103
  skip unless @patient_id
103
104
 
104
- @patient.xmlId = @patient_id
105
+ @patient.id = @patient_id
105
106
  @patient.telecom[0].value='1-800-TOLL-FREE'
106
107
  @patient.telecom[0].system='phone'
107
108
  @patient.name[0].given = ['Crocodile','Pants']
@@ -111,10 +112,10 @@ module Crucible
111
112
  assert_response_ok(reply)
112
113
 
113
114
  if !reply.resource.nil?
114
- temp = reply.resource.xmlId
115
- reply.resource.xmlId = nil
115
+ temp = reply.resource.id
116
+ reply.resource.id = nil
116
117
  warning { assert @patient.equals?(reply.resource), 'The server did not correctly preserve the Patient data.' }
117
- reply.resource.xmlId = temp
118
+ reply.resource.id = temp
118
119
  end
119
120
 
120
121
  warning { assert_valid_resource_content_type_present(reply) }
@@ -135,18 +136,19 @@ module Crucible
135
136
  }
136
137
  skip unless @patient_us_id
137
138
 
138
- @patient_us.xmlId = @patient_us_id
139
- @patient_us.extension[0].value.value.coding[0].code = '1569-3'
140
- @patient_us.extension[1].value.value.coding[0].code = '2186-5'
139
+ @patient_us.id = @patient_us_id
140
+
141
+ @patient_us.extension[0].extension[0].valueCoding.code = '1569-3'
142
+ @patient_us.extension[1].extension[0].valueCoding.code = '2186-5'
141
143
 
142
144
  reply = @client.update @patient_us, @patient_us_id
143
145
  assert_response_ok(reply)
144
146
 
145
147
  if !reply.resource.nil?
146
- temp = reply.resource.xmlId
147
- reply.resource.xmlId = nil
148
- warning { assert @patient.equals?(reply.resource), 'The server did not correctly preserve the Patient data.' }
149
- reply.resource.xmlId = temp
148
+ temp = reply.resource.id
149
+ reply.resource.id = nil
150
+ warning { assert @patient_us.equals?(reply.resource), 'The server did not correctly preserve the Patient data.' }
151
+ reply.resource.id = temp
150
152
  end
151
153
 
152
154
  warning { assert_valid_resource_content_type_present(reply) }
@@ -167,10 +169,11 @@ module Crucible
167
169
  }
168
170
  skip unless @patient_us_id
169
171
 
170
- @patient_us.xmlId = @patient_us_id
172
+ @patient_us.id = @patient_us_id
173
+ @patient_us.modifierExtension ||= []
171
174
  @patient_us.modifierExtension << FHIR::Extension.new
172
175
  @patient_us.modifierExtension[0].url='http://projectcrucible.org/modifierExtension/foo'
173
- @patient_us.modifierExtension[0].value = FHIR::AnyType.new('Boolean',true)
176
+ @patient_us.modifierExtension[0].valueBoolean = true
174
177
 
175
178
  reply = @client.update @patient_us, @patient_us_id
176
179
 
@@ -179,10 +182,10 @@ module Crucible
179
182
  assert([200,201,422].include?(reply.code), 'The server should except a modifierExtension, or return 422 if it chooses to reject a modifierExtension it does not understand.',"Server response code: #{reply.code}\n#{reply.body}")
180
183
 
181
184
  if !reply.resource.nil?
182
- temp = reply.resource.xmlId
183
- reply.resource.xmlId = nil
185
+ temp = reply.resource.id
186
+ reply.resource.id = nil
184
187
  warning { assert @patient.equals?(reply.resource), 'The server did not correctly preserve the Patient data.' }
185
- reply.resource.xmlId = temp
188
+ reply.resource.id = temp
186
189
  end
187
190
 
188
191
  warning { assert_valid_resource_content_type_present(reply) }
@@ -192,41 +195,43 @@ module Crucible
192
195
 
193
196
  #
194
197
  # Test if we can update a patient with primitive extensions.
195
- #
196
- test 'C8T1_2D','Update a patient - BONUS: Primitive Extensions' do
197
- metadata {
198
- links "#{REST_SPEC_LINK}#update"
199
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_8#2._Update_a_patient'
200
- requires resource: 'Patient', methods: ['create','update']
201
- validates resource: 'Patient', methods: ['update']
202
- validates extensions: ['primitive extensions']
203
- }
204
- skip unless @patient_us_id
205
-
206
- @patient_us.xmlId = @patient_us_id
207
- @patient_us.gender = 'male'
208
- pe = FHIR::PrimitiveExtension.new
209
- pe.path='_gender'
210
- pe['extension'] = [ FHIR::Extension.new ]
211
- pe['extension'][0].url = 'http://hl7.org/test/gender'
212
- pe['extension'][0].value = FHIR::AnyType.new('String','Male')
213
- @patient_us.primitiveExtension << pe
214
-
215
- reply = @client.update @patient_us, @patient_us_id
216
-
217
- assert_response_ok(reply)
218
-
219
- if !reply.resource.nil?
220
- temp = reply.resource.xmlId
221
- reply.resource.xmlId = nil
222
- warning { assert @patient.equals?(reply.resource), 'The server did not correctly preserve the Patient data.' }
223
- reply.resource.xmlId = temp
224
- end
225
-
226
- warning { assert_valid_resource_content_type_present(reply) }
227
- warning { assert_last_modified_present(reply) }
228
- warning { assert_valid_content_location_present(reply) }
229
- end
198
+ # TODO: Currently primitive extensions are not supported
199
+ # test 'C8T1_2D','Update a patient - BONUS: Primitive Extensions' do
200
+ # metadata {
201
+ # links "#{REST_SPEC_LINK}#update"
202
+ # links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_8#2._Update_a_patient'
203
+ # requires resource: 'Patient', methods: ['create','update']
204
+ # validates resource: 'Patient', methods: ['update']
205
+ # validates extensions: ['primitive extensions']
206
+ # }
207
+ # skip unless @patient_us_id
208
+ # skip # Primitive Extensions are not supported in the STU3 models
209
+
210
+ # @patient_us.id = @patient_us_id
211
+ # @patient_us.gender = 'male'
212
+ # pe = FHIR::PrimitiveExtension.new
213
+ # pe.path='_gender'
214
+ # pe['extension'] = [ FHIR::Extension.new ]
215
+ # pe['extension'][0].url = 'http://hl7.org/test/gender'
216
+ # pe['extension'][0].valueString = 'Male'
217
+ # @patient_us.primitiveExtension ||= []
218
+ # @patient_us.primitiveExtension << pe
219
+
220
+ # reply = @client.update @patient_us, @patient_us_id
221
+
222
+ # assert_response_ok(reply)
223
+
224
+ # if !reply.resource.nil?
225
+ # temp = reply.resource.id
226
+ # reply.resource.id = nil
227
+ # warning { assert @patient.equals?(reply.resource), 'The server did not correctly preserve the Patient data.' }
228
+ # reply.resource.id = temp
229
+ # end
230
+
231
+ # warning { assert_valid_resource_content_type_present(reply) }
232
+ # warning { assert_last_modified_present(reply) }
233
+ # warning { assert_valid_content_location_present(reply) }
234
+ # end
230
235
 
231
236
  #
232
237
  # Test if we can update a patient with complex extensions.
@@ -241,7 +246,7 @@ module Crucible
241
246
  }
242
247
  skip unless @patient_us_id
243
248
 
244
- @patient_us.xmlId = @patient_us_id
249
+ @patient_us.id = @patient_us_id
245
250
  begin
246
251
  @patient_us.primitiveExtension.clear
247
252
  rescue Exception => e
@@ -249,9 +254,11 @@ module Crucible
249
254
  end
250
255
  ext = FHIR::Extension.new
251
256
  ext.url = 'http://hl7.org/complex/foo'
257
+ ext.extension ||= []
252
258
  ext.extension << FHIR::Extension.new
253
259
  ext.extension[0].url='http://complex/foo/bar'
254
- ext.extension[0].value=FHIR::AnyType.new('String','foobar')
260
+ ext.extension[0].valueString = 'foobar'
261
+ @patient.extension ||= []
255
262
  @patient.extension << ext
256
263
 
257
264
  reply = @client.update @patient_us, @patient_us_id
@@ -259,10 +266,10 @@ module Crucible
259
266
  assert_response_ok(reply)
260
267
 
261
268
  if !reply.resource.nil?
262
- temp = reply.resource.xmlId
263
- reply.resource.xmlId = nil
269
+ temp = reply.resource.id
270
+ reply.resource.id = nil
264
271
  warning { assert @patient.equals?(reply.resource), 'The server did not correctly preserve the Patient data.' }
265
- reply.resource.xmlId = temp
272
+ reply.resource.id = temp
266
273
  end
267
274
 
268
275
  warning { assert_valid_resource_content_type_present(reply) }
@@ -285,7 +292,7 @@ module Crucible
285
292
  result = @client.resource_instance_history(FHIR::Patient,@patient_id)
286
293
  assert_response_ok result
287
294
  assert_equal 2, result.resource.total, 'The number of returned versions is not correct'
288
- warning { assert_equal 'history', result.resource.fhirType, 'The bundle does not have the correct type: history' }
295
+ warning { assert_equal 'history', result.resource.type, 'The bundle does not have the correct type: history' }
289
296
  warning { check_sort_order(result.resource.entry) }
290
297
  end
291
298
 
@@ -347,8 +354,8 @@ module Crucible
347
354
 
348
355
  skip unless @patient_id
349
356
 
350
- reply = @client.destroy(FHIR::Patient,@patient_id)
351
- assert_response_code(reply,204)
357
+ reply = @client.destroy(FHIR::Patient, @patient_id)
358
+ assert_response_code(reply, 204)
352
359
 
353
360
  reply = @client.read(FHIR::Patient, @patient_id)
354
361
 
@@ -12,6 +12,7 @@ module Crucible
12
12
 
13
13
  def initialize(client1, client2=nil)
14
14
  super(client1, client2)
15
+ @tags.append('connectathon')
15
16
  @category = {id: 'connectathon', title: 'Connectathon'}
16
17
  end
17
18
 
@@ -19,13 +20,13 @@ module Crucible
19
20
  @resources = Crucible::Generator::Resources.new
20
21
 
21
22
  @profile = @resources.track3_profile
22
- @profile.xmlId = nil
23
+ @profile.id = nil
23
24
  @profile.identifier = nil # clear the identifiers, in case the server checks for duplicates
24
25
  reply = @client.create @profile
25
- @profile.xmlId = reply.id if !reply.id.nil?
26
+ @profile.id = reply.id if !reply.id.nil?
26
27
 
27
28
  options = {
28
- id: @profile.xmlId,
29
+ id: @profile.id,
29
30
  resource: @profile.class,
30
31
  format: nil
31
32
  }
@@ -34,16 +35,16 @@ module Crucible
34
35
 
35
36
  @obs = @resources.track3_observations
36
37
  @obs.each do |x|
37
- x.xmlId = nil
38
+ x.id = nil
38
39
  x.identifier = nil # clear the identifiers, in case the server checks for duplicates
39
40
  x.meta = nil
40
41
  end
41
42
  end
42
43
 
43
44
  def teardown
44
- @client.destroy(FHIR::StructureDefinition, @profile.xmlId) if !@profile.xmlId.nil?
45
+ @client.destroy(FHIR::StructureDefinition, @profile.id) if !@profile.id.nil?
45
46
  # @obs.each do |x|
46
- # @client.destroy(FHIR::Observation, x.xmlId) if !x.xmlId.nil?
47
+ # @client.destroy(FHIR::Observation, x.id) if !x.id.nil?
47
48
  # end
48
49
  end
49
50
 
@@ -83,10 +84,10 @@ module Crucible
83
84
  validates resource: 'Observation', methods: ['$validate']
84
85
  validates profiles: ['validate-profile']
85
86
  }
86
-
87
+ skip if @profile.id.nil?
87
88
  # @profile_url = "http://hl7.org/fhir/StructureDefinition/#{resource_class.name.demodulize}" # the profile to validate with
88
89
  @obs.each do |x|
89
- x.meta = FHIR::Resource::ResourceMetaComponent.new
90
+ x.meta = FHIR::Meta.new
90
91
  x.meta.profile = [ @profile_url ]
91
92
  reply = @client.validate(x,{profile_uri: @profile_url})
92
93
  assert_response_ok(reply)
@@ -12,6 +12,7 @@ module Crucible
12
12
 
13
13
  def initialize(client1, client2=nil)
14
14
  super(client1, client2)
15
+ @tags.append('connectathon')
15
16
  @category = {id: 'connectathon', title: 'Connectathon'}
16
17
  end
17
18
 
@@ -20,43 +21,43 @@ module Crucible
20
21
 
21
22
  # Create a patient
22
23
  @patient = @resources.minimal_patient
23
- @patient.xmlId = nil # clear the identifier, in case the server checks for duplicates
24
- reply = @client.create(@patient)
24
+ @patient.id = nil # clear the identifier, in case the server checks for duplicates
25
+ reply = @client.create(@patient)
25
26
  assert_response_ok(reply)
26
- @patient.xmlId = reply.id
27
+ @patient.id = reply.id
27
28
 
28
29
  # Create a practitioner
29
30
  @practitioner = @resources.scheduling_practitioner
30
- @practitioner.xmlId = nil # clear the identifier, in case the server checks for duplicates
31
- reply = @client.create(@practitioner)
31
+ @practitioner.id = nil # clear the identifier, in case the server checks for duplicates
32
+ reply = @client.create(@practitioner)
32
33
  assert_response_ok(reply)
33
- @practitioner.xmlId = reply.id
34
+ @practitioner.id = reply.id
34
35
 
35
36
  # Create a schedule
36
37
  @schedule = @resources.scheduling_schedule
37
- @schedule.xmlId = nil # clear the identifier, in case the server checks for duplicates
38
- @schedule.actor.reference = "Practitioner/#{@practitioner.xmlId}"
39
- reply = @client.create(@schedule)
38
+ @schedule.id = nil # clear the identifier, in case the server checks for duplicates
39
+ @schedule.actor.reference = "Practitioner/#{@practitioner.id}"
40
+ reply = @client.create(@schedule)
40
41
  assert_response_ok(reply)
41
- @schedule.xmlId = reply.id
42
+ @schedule.id = reply.id
42
43
 
43
44
  # Create a slot
44
45
  @slot = @resources.scheduling_slot
45
- @slot.xmlId = nil # clear the identifier, in case the server checks for duplicates
46
- @slot.schedule.reference = "Schedule/#{@schedule.xmlId}"
47
- reply = @client.create(@slot)
46
+ @slot.id = nil # clear the identifier, in case the server checks for duplicates
47
+ @slot.schedule.reference = "Schedule/#{@schedule.id}"
48
+ reply = @client.create(@slot)
48
49
  assert_response_ok(reply)
49
- @slot.xmlId = reply.id
50
+ @slot.id = reply.id
50
51
  end
51
52
 
52
53
  def teardown
53
- @client.destroy(FHIR::Patient, @patient.xmlId) if !@patient.xmlId.nil?
54
- @client.destroy(FHIR::Practitioner, @practitioner.xmlId) if !@practitioner.xmlId.nil?
55
- @client.destroy(FHIR::Schedule, @schedule.xmlId) if !@schedule.xmlId.nil?
56
- @client.destroy(FHIR::Slot, @slot.xmlId) if !@slot.xmlId.nil?
57
- @client.destroy(FHIR::Appointment, @appointment.xmlId) if @appointment && !@appointment.xmlId.nil?
58
- @client.destroy(FHIR::AppointmentResponse, @appointment_response_patient.xmlId) if @appointment_response_patient && !@appointment_response_patient.xmlId.nil?
59
- @client.destroy(FHIR::AppointmentResponse, @appointment_response_practitioner.xmlId) if @appointment_response_practitioner && !@appointment_response_practitioner.xmlId.nil?
54
+ @client.destroy(FHIR::Patient, @patient.id) if !@patient.id.nil?
55
+ @client.destroy(FHIR::Practitioner, @practitioner.id) if !@practitioner.try(:id).nil?
56
+ @client.destroy(FHIR::Schedule, @schedule.id) if !@schedule.try(:id).nil?
57
+ @client.destroy(FHIR::Slot, @slot.id) if !@slot.try(:id).nil?
58
+ @client.destroy(FHIR::Appointment, @appointment.id) if @appointment && !@appointment.id.nil?
59
+ @client.destroy(FHIR::AppointmentResponse, @appointment_response_patient.id) if @appointment_response_patient && !@appointment_response_patient.id.nil?
60
+ @client.destroy(FHIR::AppointmentResponse, @appointment_response_practitioner.id) if @appointment_response_practitioner && !@appointment_response_practitioner.id.nil?
60
61
  end
61
62
 
62
63
  # Find Practitioner's schedule
@@ -64,7 +65,7 @@ module Crucible
64
65
  metadata {
65
66
  links "#{REST_SPEC_LINK}#search"
66
67
  links "#{BASE_SPEC_LINK}/schedule.html"
67
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_10#Track_6_-_Scheduling'
68
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
68
69
  requires resource: 'Schedule', methods: ['search']
69
70
  validates resource: 'Schedule', methods: ['search']
70
71
  }
@@ -74,7 +75,7 @@ module Crucible
74
75
  :flag => false,
75
76
  :compartment => nil,
76
77
  :parameters => {
77
- 'actor' => "Practitioner/#{@practitioner.xmlId}"
78
+ 'actor' => "Practitioner/#{@practitioner.id}"
78
79
  }
79
80
  }
80
81
  }
@@ -82,7 +83,7 @@ module Crucible
82
83
  assert_response_ok(reply)
83
84
  assert_bundle_response(reply)
84
85
  assert_equal(1, reply.resource.entry.size, 'There should only be one Schedule for the test Practitioner currently in the system.', reply.body)
85
- assert_equal(@schedule.xmlId, reply.resource.entry[0].try(:resource).try(:xmlId), 'The correct Schedule was not returned.', reply.body)
86
+ assert_equal(@schedule.id, reply.resource.entry[0].try(:resource).try(:id), 'The correct Schedule was not returned.', reply.body)
86
87
  end
87
88
 
88
89
  # Find Slot in Practitioner's schedule
@@ -90,7 +91,7 @@ module Crucible
90
91
  metadata {
91
92
  links "#{REST_SPEC_LINK}#search"
92
93
  links "#{BASE_SPEC_LINK}/slot.html"
93
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_10#Track_6_-_Scheduling'
94
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
94
95
  requires resource: 'Slot', methods: ['search']
95
96
  validates resource: 'Slot', methods: ['search']
96
97
  }
@@ -100,7 +101,7 @@ module Crucible
100
101
  :flag => false,
101
102
  :compartment => nil,
102
103
  :parameters => {
103
- 'schedule' => "Schedule/#{@schedule.xmlId}"
104
+ 'schedule' => "Schedule/#{@schedule.id}"
104
105
  }
105
106
  }
106
107
  }
@@ -108,69 +109,70 @@ module Crucible
108
109
  assert_response_ok(reply)
109
110
  assert_bundle_response(reply)
110
111
  assert_equal(1, reply.resource.entry.size, 'There should only be one Slot for the test Practitioner\'s Schedule currently in the system.', reply.body)
111
- assert_equal(@slot.xmlId, reply.resource.entry[0].try(:resource).try(:xmlId), 'The correct Slot was not returned.', reply.body)
112
+ assert_equal(@slot.id, reply.resource.entry[0].try(:resource).try(:id), 'The correct Slot was not returned.', reply.body)
112
113
  end
113
114
 
114
- # Create appointment in slot (proposed)
115
+ # Create appointment in slot (proposed)
115
116
  test 'CST03','Create Proposed Appointment in Slot' do
116
117
  metadata {
117
118
  links "#{REST_SPEC_LINK}#create"
118
119
  links "#{BASE_SPEC_LINK}/appointment.html"
119
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_10#Track_6_-_Scheduling'
120
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
120
121
  requires resource: 'Appointment', methods: ['create']
121
122
  validates resource: 'Appointment', methods: ['create']
122
123
  }
123
124
  @appointment = @resources.scheduling_appointment
124
- @appointment.xmlId = nil # clear the identifier
125
- @appointment.participant[0].actor.reference = "Patient/#{@patient.xmlId}"
126
- @appointment.participant[1].actor.reference = "Practitioner/#{@practitioner.xmlId}"
127
- reply = @client.create(@appointment)
125
+ @appointment.id = nil # clear the identifier
126
+ @appointment.participant[0].actor.reference = "Patient/#{@patient.id}"
127
+ @appointment.participant[1].actor.reference = "Practitioner/#{@practitioner.id}"
128
+ reply = @client.create(@appointment)
128
129
  assert_response_ok(reply)
129
- @appointment.xmlId = reply.id
130
- end
130
+ @appointment.id = reply.id
131
+ end
131
132
 
132
133
  # Update slot status (busy-tentative)
133
134
  test 'CST04','Update Slot status to busy-tentative' do
134
135
  metadata {
135
136
  links "#{REST_SPEC_LINK}#update"
136
137
  links "#{BASE_SPEC_LINK}/slot.html"
137
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_10#Track_6_-_Scheduling'
138
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
138
139
  requires resource: 'Slot', methods: ['update']
139
140
  validates resource: 'Slot', methods: ['update']
140
141
  }
141
- @slot.freeBusyType = 'busy-tentative'
142
- reply = @client.update(@slot,@slot.xmlId)
142
+ @slot.status = 'busy-tentative'
143
+ reply = @client.update(@slot,@slot.id)
143
144
  assert_response_ok(reply)
144
- end
145
+ end
145
146
 
146
147
  # Create appointment response for patient (accepted)
147
148
  test 'CST05','Create AppointmentResponse for Patient (accepted)' do
148
149
  metadata {
149
150
  links "#{REST_SPEC_LINK}#create"
150
151
  links "#{BASE_SPEC_LINK}/appointmentresponse.html"
151
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_10#Track_6_-_Scheduling'
152
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
152
153
  requires resource: 'AppointmentResponse', methods: ['create']
153
154
  validates resource: 'AppointmentResponse', methods: ['create']
154
155
  }
155
156
  @appointment_response_patient = @resources.scheduling_response_patient
156
- @appointment_response_patient.xmlId = nil # clear the identifier
157
- @appointment_response_patient.appointment.reference = "Appointment/#{@appointment.xmlId}"
158
- reply = @client.create(@appointment_response_patient)
157
+ @appointment_response_patient.id = nil # clear the identifier
158
+ @appointment_response_patient.appointment = @appointment.to_reference
159
+ @appointment_response_patient.actor = @patient.to_reference
160
+ reply = @client.create(@appointment_response_patient)
159
161
  assert_response_ok(reply)
160
- @appointment_response_patient.xmlId = reply.id
161
- end
162
+ @appointment_response_patient.id = reply.id
163
+ end
162
164
 
163
165
  # Update appointment.participant.status for patient (accepted)
164
166
  test 'CST06','Update Appointment.participant.status for Patient (accepted)' do
165
167
  metadata {
166
168
  links "#{REST_SPEC_LINK}#update"
167
169
  links "#{BASE_SPEC_LINK}/appointment.html"
168
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_10#Track_6_-_Scheduling'
170
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
169
171
  requires resource: 'Appointment', methods: ['update']
170
172
  validates resource: 'Appointment', methods: ['update']
171
173
  }
172
174
  @appointment.participant[0].status = 'accepted'
173
- reply = @client.update(@appointment,@appointment.xmlId)
175
+ reply = @client.update(@appointment,@appointment.id)
174
176
  assert_response_ok(reply)
175
177
  end
176
178
 
@@ -179,87 +181,142 @@ module Crucible
179
181
  metadata {
180
182
  links "#{REST_SPEC_LINK}#create"
181
183
  links "#{BASE_SPEC_LINK}/appointmentresponse.html"
182
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_10#Track_6_-_Scheduling'
184
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
183
185
  requires resource: 'AppointmentResponse', methods: ['create']
184
186
  validates resource: 'AppointmentResponse', methods: ['create']
185
187
  }
186
188
  @appointment_response_practitioner = @resources.scheduling_response_practitioner
187
- @appointment_response_practitioner.xmlId = nil # clear the identifier
188
- @appointment_response_practitioner.appointment.reference = "Appointment/#{@appointment.xmlId}"
189
- reply = @client.create(@appointment_response_practitioner)
189
+ @appointment_response_practitioner.id = nil # clear the identifier
190
+ @appointment_response_practitioner.appointment = @appointment.to_reference
191
+ @appointment_response_practitioner.actor = @practitioner.to_reference
192
+ reply = @client.create(@appointment_response_practitioner)
190
193
  assert_response_ok(reply)
191
- @appointment_response_practitioner.xmlId = reply.id
192
- end
194
+ @appointment_response_practitioner.id = reply.id
195
+ end
193
196
 
194
197
  # Update appointment.participant.status for Practitioner (accepted)
195
198
  test 'CST08','Update Appointment.participant.status for Practitioner (accepted)' do
196
199
  metadata {
197
200
  links "#{REST_SPEC_LINK}#update"
198
201
  links "#{BASE_SPEC_LINK}/appointment.html"
199
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_10#Track_6_-_Scheduling'
202
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
200
203
  requires resource: 'Appointment', methods: ['update']
201
204
  validates resource: 'Appointment', methods: ['update']
202
205
  }
203
206
  @appointment.participant[1].status = 'accepted'
204
- reply = @client.update(@appointment,@appointment.xmlId)
207
+ reply = @client.update(@appointment,@appointment.id)
205
208
  assert_response_ok(reply)
206
209
  end
207
-
210
+
208
211
  # Update slot status (busy)
209
212
  test 'CST09','Update Slot status (busy)' do
210
213
  metadata {
211
214
  links "#{REST_SPEC_LINK}#update"
212
215
  links "#{BASE_SPEC_LINK}/slot.html"
213
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_10#Track_6_-_Scheduling'
216
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
214
217
  requires resource: 'Slot', methods: ['update']
215
218
  validates resource: 'Slot', methods: ['update']
216
219
  }
217
- @slot.freeBusyType = 'busy'
218
- reply = @client.update(@slot,@slot.xmlId)
220
+ @slot.status = 'busy'
221
+ reply = @client.update(@slot,@slot.id)
219
222
  assert_response_ok(reply)
220
- end
223
+ end
221
224
 
222
225
  # Update appointment status (booked)
223
226
  test 'CST10','Update Appointment status (booked)' do
224
227
  metadata {
225
228
  links "#{REST_SPEC_LINK}#update"
226
229
  links "#{BASE_SPEC_LINK}/appointment.html"
227
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_10#Track_6_-_Scheduling'
230
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
228
231
  requires resource: 'Appointment', methods: ['update']
229
232
  validates resource: 'Appointment', methods: ['update']
230
233
  }
231
234
  @appointment.status = 'booked'
232
- reply = @client.update(@appointment,@appointment.xmlId)
235
+ reply = @client.update(@appointment,@appointment.id)
233
236
  assert_response_ok(reply)
234
- end
237
+ end
235
238
 
236
239
  # Update appointment status (cancelled)
237
240
  test 'CST11','Update Appointment status (cancelled)' do
238
241
  metadata {
239
242
  links "#{REST_SPEC_LINK}#update"
240
243
  links "#{BASE_SPEC_LINK}/appointment.html"
241
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_10#Track_6_-_Scheduling'
244
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
242
245
  requires resource: 'Appointment', methods: ['update']
243
246
  validates resource: 'Appointment', methods: ['update']
244
247
  }
245
248
  @appointment.status = 'cancelled'
246
- reply = @client.update(@appointment,@appointment.xmlId)
249
+ reply = @client.update(@appointment,@appointment.id)
247
250
  assert_response_ok(reply)
248
- end
251
+ end
249
252
 
250
253
  # Update slot status (free)
251
254
  test 'CST12','Update Slot status (free)' do
252
255
  metadata {
253
256
  links "#{REST_SPEC_LINK}#update"
254
257
  links "#{BASE_SPEC_LINK}/slot.html"
255
- links 'http://wiki.hl7.org/index.php?title=FHIR_Connectathon_10#Track_6_-_Scheduling'
258
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
256
259
  requires resource: 'Slot', methods: ['update']
257
260
  validates resource: 'Slot', methods: ['update']
258
261
  }
259
- @slot.freeBusyType = 'free'
260
- reply = @client.update(@slot,@slot.xmlId)
262
+ @slot.status = 'free'
263
+ reply = @client.update(@slot,@slot.id)
264
+ assert_response_ok(reply)
265
+ end
266
+
267
+ test 'CT13', 'Search for Practitioner' do
268
+ metadata {
269
+ links "#{REST_SPEC_LINK}#read"
270
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
271
+ requires resource: 'Practitioner', methods: ['read']
272
+ validates resource: 'Practitioner', methods: ['read']
273
+ }
274
+
275
+ options = {
276
+ :search => {
277
+ :flag => true,
278
+ :compartment => nil,
279
+ :parameters => {
280
+ _count: 1
281
+ }
282
+ }
283
+ }
284
+
285
+ reply = @client.search(FHIR::Practitioner, options)
261
286
  assert_response_ok(reply)
262
- end
287
+
288
+ practitioner = reply.resource.entry.try(:first).try(:resource)
289
+
290
+ skip unless practitioner
291
+
292
+ end
293
+
294
+ test 'CT14', 'Search for HealthcareService' do
295
+ metadata {
296
+ links "#{REST_SPEC_LINK}#read"
297
+ links 'http://wiki.hl7.org/index.php?title=201605_ServicesDirectoryAndScheduling_Track'
298
+ requires resource: 'HealthcareService', methods: ['read']
299
+ validates resource: 'HealthcareService', methods: ['read']
300
+ }
301
+
302
+ options = {
303
+ :search => {
304
+ :flag => true,
305
+ :compartment => nil,
306
+ :parameters => {
307
+ _count: 1
308
+ }
309
+ }
310
+ }
311
+
312
+ reply = @client.search(FHIR::HealthcareService, options)
313
+ assert_response_ok(reply)
314
+
315
+ service = reply.resource.entry.try(:first).try(:resource)
316
+
317
+ skip unless service
318
+
319
+ end
263
320
 
264
321
  end
265
322
  end