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
@@ -23,24 +23,21 @@ module Crucible
23
23
  def self.list_all(metadata=false)
24
24
  list = {}
25
25
  # FIXME: Organize defaults between instance & class methods
26
- @fhir_classes ||= Mongoid.models.select {|c| c.name.include? 'FHIR'}
27
26
  SuiteEngine.new.tests.each do |test|
28
27
  test_class = test.class.name.demodulize
29
28
  #if t can set class
30
29
  if test.respond_to? 'resource_class='
31
- @fhir_classes.each do |klass|
32
- if !klass.included_modules.find_index(FHIR::Resource).nil?
33
- test.resource_class = klass
34
- list["#{test_class}#{klass.name.demodulize}"] = {}
35
- list["#{test_class}#{klass.name.demodulize}"]['resource_class'] = klass
36
- BaseTest::JSON_FIELDS.each {|field| list["#{test_class}#{klass.name.demodulize}"][field] = test.send(field)}
37
- if metadata
38
- test_metadata = test.collect_metadata(true)
39
- BaseTest::METADATA_FIELDS.each do |field|
40
- field_hash = {}
41
- test_metadata.each { |tm| field_hash[tm[:test_method]] = tm[field] }
42
- list["#{test_class}#{klass.name.demodulize}"][field] = field_hash
43
- end
30
+ Crucible::Tests::BaseSuite.fhir_resources.each do |klass|
31
+ test.resource_class = Module.const_get("FHIR::#{klass}")
32
+ list["#{test_class}#{klass}"] = {}
33
+ list["#{test_class}#{klass}"]['resource_class'] = klass
34
+ BaseTest::JSON_FIELDS.each {|field| list["#{test_class}#{klass}"][field] = test.send(field)}
35
+ if metadata
36
+ test_metadata = test.collect_metadata(true)
37
+ BaseTest::METADATA_FIELDS.each do |field|
38
+ field_hash = {}
39
+ test_metadata.each { |tm| field_hash[tm[:test_method]] = tm[field] }
40
+ list["#{test_class}#{klass}"][field] = field_hash
44
41
  end
45
42
  end
46
43
  end
@@ -79,7 +76,6 @@ module Crucible
79
76
  end
80
77
 
81
78
  def self.generate_metadata
82
- @fhir_classes ||= Mongoid.models.select {|c| c.name.include? 'FHIR'}
83
79
  metadata = {}
84
80
  puts "---"
85
81
  puts "BUILDING METADATA"
@@ -87,14 +83,12 @@ module Crucible
87
83
  SuiteEngine.new.tests.each do |test|
88
84
  test_file = Crucible::Tests.const_get(test).new(nil)
89
85
  if test_file.respond_to? 'resource_class='
90
- @fhir_classes.each do |klass|
91
- if !klass.included_modules.find_index(FHIR::Resource).nil?
92
- test_file.resource_class = klass
93
- puts "---"
94
- puts "BUILDING METADATA - #{test}#{klass.name.demodulize}"
95
- puts "---"
96
- metadata["#{test}#{klass.name.demodulize}"] = test_file.collect_metadata(true)
97
- end
86
+ Crucible::Tests::BaseSuite.fhir_resources.each do |klass|
87
+ test_file.resource_class = Module.const_get("FHIR::#{klass}")
88
+ puts "---"
89
+ puts "BUILDING METADATA - #{test}#{klass}"
90
+ puts "---"
91
+ metadata["#{test}#{klass}"] = test_file.collect_metadata(true)
98
92
  end
99
93
  else
100
94
  puts "---"
@@ -16,36 +16,32 @@ module Crucible
16
16
  end
17
17
 
18
18
  def setup
19
- @transferIds = {}
19
+ # nothing
20
20
  end
21
21
 
22
22
  def teardown
23
23
  # delete resources
24
- @client.destroy(FHIR::Observation, @obs4.xmlId) if @obs4 && !@obs4.xmlId.nil?
25
- @client.destroy(FHIR::Observation, @obs3.xmlId) if @obs3 && !@obs3.xmlId.nil?
26
- @client.destroy(FHIR::Observation, @obs2.xmlId) if @obs2 && !@obs2.xmlId.nil?
27
- @client.destroy(FHIR::Observation, @obs1.xmlId) if @obs1 && !@obs1.xmlId.nil?
28
- @client.destroy(FHIR::Observation, @obs0a.xmlId) if @obs0a && !@obs0a.xmlId.nil?
29
- @client.destroy(FHIR::Observation, @obs0b.xmlId) if @obs0b && !@obs0b.xmlId.nil?
30
- @client.destroy(FHIR::Condition, @condition0.xmlId) if @condition0 && !@condition0.xmlId.nil?
24
+ @client.destroy(FHIR::Observation, @obs4.id) if @obs4 && !@obs4.id.nil?
25
+ @client.destroy(FHIR::Observation, @obs3.id) if @obs3 && !@obs3.id.nil?
26
+ @client.destroy(FHIR::Observation, @obs2.id) if @obs2 && !@obs2.id.nil?
27
+ @client.destroy(FHIR::Observation, @obs1.id) if @obs1 && !@obs1.id.nil?
28
+ @client.destroy(FHIR::Observation, @obs0a.id) if @obs0a && !@obs0a.id.nil?
29
+ @client.destroy(FHIR::Observation, @obs0b.id) if @obs0b && !@obs0b.id.nil?
30
+ @client.destroy(FHIR::Condition, @condition0.id) if @condition0 && !@condition0.id.nil?
31
31
  @client.destroy(FHIR::Condition, @conditionId) if @conditionId
32
- @client.destroy(FHIR::Patient, @patient0.xmlId) if @patient0 && !@patient0.xmlId.nil?
33
- @client.destroy(FHIR::Patient, @patient1.xmlId) if @patient1 && !@patient1.xmlId.nil?
32
+ @client.destroy(FHIR::Patient, @patient0.id) if @patient0 && !@patient0.id.nil?
33
+ @client.destroy(FHIR::Patient, @patient1.id) if @patient1 && !@patient1.id.nil?
34
34
  @client.destroy(FHIR::Patient, @badPatientId) if @badPatientId
35
35
  @transferIds.each do |klass,list|
36
36
  list.each do |id|
37
37
  @client.destroy(klass, id) if(!id.nil? && !id.strip.empty?)
38
38
  end
39
- end
40
- @client.destroy(FHIR::Observation, @batch_obs.xmlId) if @batch_obs && !@batch_obs.xmlId.nil?
41
- @client.destroy(FHIR::Patient, @batch_patient.xmlId) if @batch_patient && !@batch_patient.xmlId.nil?
42
- @client.destroy(FHIR::Observation, @batch_obs_2.xmlId) if @batch_obs_2 && !@batch_obs_2.xmlId.nil?
43
- @client.destroy(FHIR::Observation, @batch_obs_3.xmlId) if @batch_obs_3 && !@batch_obs_3.xmlId.nil?
44
- @client.destroy(FHIR::Patient, @batch_patient_2.xmlId) if @batch_patient_2 && !@batch_patient_2.xmlId.nil?
45
- @client.destroy(FHIR::Observation, @obs0a_B.xmlId) if @obs0a_B && !@obs0a_B.xmlId.nil?
46
- @client.destroy(FHIR::Observation, @obs0b_B.xmlId) if @obs0b_B && !@obs0b_B.xmlId.nil?
47
- @client.destroy(FHIR::Condition, @condition0_B.xmlId) if @condition0_B && !@condition0_B.xmlId.nil?
48
- @client.destroy(FHIR::Patient, @patient0_B.xmlId) if @patient0_B && !@patient0_B.xmlId.nil?
39
+ end unless @transferIds.nil?
40
+ @client.destroy(FHIR::Observation, @batch_obs.id) if @batch_obs && !@batch_obs.id.nil?
41
+ @client.destroy(FHIR::Patient, @batch_patient.id) if @batch_patient && !@batch_patient.id.nil?
42
+ @client.destroy(FHIR::Observation, @batch_obs_2.id) if @batch_obs_2 && !@batch_obs_2.id.nil?
43
+ @client.destroy(FHIR::Observation, @batch_obs_3.id) if @batch_obs_3 && !@batch_obs_3.id.nil?
44
+ @client.destroy(FHIR::Patient, @batch_patient_2.id) if @batch_patient_2 && !@batch_patient_2.id.nil?
49
45
  end
50
46
 
51
47
  # Create a Patient Record as a transaction
@@ -66,84 +62,24 @@ module Crucible
66
62
  }
67
63
 
68
64
  @patient0 = ResourceGenerator.minimal_patient("#{Time.now.to_i}",'Transaction')
69
- @patient0.xmlId = 'foo' # assign an id so related resources can reference the patient
70
- # height
71
- @obs0a = ResourceGenerator.minimal_observation('http://loinc.org','8302-2',170,'cm',@patient0.xmlId)
72
- # weight
73
- @obs0b = ResourceGenerator.minimal_observation('http://loinc.org','3141-9',200,'kg',@patient0.xmlId)
74
- # obesity
75
- @condition0 = ResourceGenerator.minimal_condition('http://snomed.info/sct','414915002',@patient0.xmlId)
76
-
77
- @client.begin_transaction
78
- @client.add_transaction_request('POST',nil,@patient0)
79
- @client.add_transaction_request('POST',nil,@obs0a)
80
- @client.add_transaction_request('POST',nil,@obs0b)
81
- @client.add_transaction_request('POST',nil,@condition0)
82
- reply = @client.end_transaction
83
-
84
- # set the patient id as nil, until we know that the transaction was successful, so teardown doesn't try
85
- # to delete something that wasn't created
86
- @patient0.xmlId = nil
87
-
88
- assert( ((200..299).include?(reply.code)), "Unexpected status code: #{reply.code}" )
89
- warning{ assert_response_ok(reply) }
90
- assert_bundle_response(reply)
91
- assert_bundle_transactions_okay(reply)
92
- @created_patient_record = true
93
-
94
- # set the IDs to whatever the server created
95
- @patient0.xmlId = FHIR::ResourceAddress.pull_out_id('Patient',reply.resource.entry[0].try(:response).try(:location))
96
- @patient0.xmlId = reply.resource.entry[0].try(:resource).try(:xmlId) if @patient0.xmlId.nil?
97
-
98
- @obs0a.xmlId = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[1].try(:response).try(:location))
99
- @obs0a.xmlId = reply.resource.entry[1].try(:resource).try(:xmlId) if @obs0a.xmlId.nil?
100
-
101
- @obs0b.xmlId = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[2].try(:response).try(:location))
102
- @obs0b.xmlId = reply.resource.entry[2].try(:resource).try(:xmlId) if @obs0b.xmlId.nil?
103
-
104
- @condition0.xmlId = FHIR::ResourceAddress.pull_out_id('Condition',reply.resource.entry[3].try(:response).try(:location))
105
- @condition0.xmlId = reply.resource.entry[3].try(:resource).try(:xmlId) if @condition0.xmlId.nil?
106
-
107
- # check that the Observations and Condition reference the correct Patient.id
108
- assert( (reply.resource.entry[1].resource.subject.reference.ends_with?(@patient0.xmlId) rescue false), "Observation doesn't correctly reference Patient/#{@patient0.xmlId}")
109
- assert( (reply.resource.entry[2].resource.subject.reference.ends_with?(@patient0.xmlId) rescue false), "Observation doesn't correctly reference Patient/#{@patient0.xmlId}")
110
- assert( (reply.resource.entry[3].resource.patient.reference.ends_with?(@patient0.xmlId) rescue false), "Condition doesn't correctly reference Patient/#{@patient0.xmlId}")
111
- end
112
-
113
- # Create a Patient record that uses Bundle.entry.fullUrl to link/reference, rather than Bundle.entry.resource.id
114
- test 'XFER0B','Create a Patient Record as Transaction (with references using fullUrl rather than IDs)' do
115
- metadata {
116
- links "#{REST_SPEC_LINK}#transaction"
117
- links "#{BASE_SPEC_LINK}/patient.html"
118
- links "#{BASE_SPEC_LINK}/observation.html"
119
- links "#{BASE_SPEC_LINK}/condition.html"
120
- requires resource: 'Patient', methods: ['create']
121
- requires resource: 'Observation', methods: ['create']
122
- requires resource: 'Condition', methods: ['create']
123
- requires resource: nil, methods: ['transaction-system']
124
- validates resource: 'Patient', methods: ['create']
125
- validates resource: 'Observation', methods: ['create']
126
- validates resource: 'Condition', methods: ['create']
127
- validates resource: nil, methods: ['transaction-system']
128
- }
129
-
130
- @patient0_B = ResourceGenerator.minimal_patient("#{Time.now.to_i}",'Transaction')
131
- patient0_B_id = SecureRandom.uuid
132
- patient0_B_uri = "urn:uuid:#{patient0_B_id}"
65
+ patient0_id = SecureRandom.uuid
66
+ patient0_uri = "urn:uuid:#{patient0_id}"
133
67
 
134
68
  # height
135
- @obs0a_B = ResourceGenerator.minimal_observation('http://loinc.org','8302-2',170,'cm',patient0_B_id)
69
+ @obs0a = ResourceGenerator.minimal_observation('http://loinc.org','8302-2',170,'cm',patient0_id)
70
+ @obs0a.subject.reference = patient0_uri
136
71
  # weight
137
- @obs0b_B = ResourceGenerator.minimal_observation('http://loinc.org','3141-9',200,'kg',patient0_B_id)
72
+ @obs0b = ResourceGenerator.minimal_observation('http://loinc.org','3141-9',200,'kg',patient0_id)
73
+ @obs0b.subject.reference = patient0_uri
138
74
  # obesity
139
- @condition0_B = ResourceGenerator.minimal_condition('http://snomed.info/sct','414915002',patient0_B_id)
75
+ @condition0 = ResourceGenerator.minimal_condition('http://snomed.info/sct','414915002',patient0_id)
76
+ @condition0.subject.reference = patient0_uri
140
77
 
141
78
  @client.begin_transaction
142
- @client.add_transaction_request('POST',nil,@patient0_B)
143
- @client.transaction_bundle.entry.first.fullUrl = patient0_B_id
144
- @client.add_transaction_request('POST',nil,@obs0a_B)
145
- @client.add_transaction_request('POST',nil,@obs0b_B)
146
- @client.add_transaction_request('POST',nil,@condition0_B)
79
+ @client.add_transaction_request('POST',nil,@patient0).fullUrl = patient0_uri
80
+ @client.add_transaction_request('POST',nil,@obs0a).fullUrl = "urn:uuid:#{SecureRandom.uuid}"
81
+ @client.add_transaction_request('POST',nil,@obs0b).fullUrl = "urn:uuid:#{SecureRandom.uuid}"
82
+ @client.add_transaction_request('POST',nil,@condition0).fullUrl = "urn:uuid:#{SecureRandom.uuid}"
147
83
  reply = @client.end_transaction
148
84
 
149
85
  assert( ((200..299).include?(reply.code)), "Unexpected status code: #{reply.code}" )
@@ -152,22 +88,27 @@ module Crucible
152
88
  assert_bundle_transactions_okay(reply)
153
89
 
154
90
  # set the IDs to whatever the server created
155
- @patient0_B.xmlId = FHIR::ResourceAddress.pull_out_id('Patient',reply.resource.entry[0].try(:response).try(:location))
156
- @patient0_B.xmlId = reply.resource.entry[0].try(:resource).try(:xmlId) if @patient0_B.xmlId.nil?
91
+ @patient0.id = FHIR::ResourceAddress.pull_out_id('Patient',reply.resource.entry[0].try(:response).try(:location))
92
+ @patient0.id = reply.resource.entry[0].try(:resource).try(:id) if @patient0.id.nil?
157
93
 
158
- @obs0a_B.xmlId = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[1].try(:response).try(:location))
159
- @obs0a_B.xmlId = reply.resource.entry[1].try(:resource).try(:xmlId) if @obs0a_B.xmlId.nil?
94
+ @obs0a.id = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[1].try(:response).try(:location))
95
+ @obs0a.id = reply.resource.entry[1].try(:resource).try(:id) if @obs0a.id.nil?
160
96
 
161
- @obs0b_B.xmlId = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[2].try(:response).try(:location))
162
- @obs0b_B.xmlId = reply.resource.entry[2].try(:resource).try(:xmlId) if @obs0b_B.xmlId.nil?
97
+ @obs0b.id = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[2].try(:response).try(:location))
98
+ @obs0b.id = reply.resource.entry[2].try(:resource).try(:id) if @obs0b.id.nil?
163
99
 
164
- @condition0_B.xmlId = FHIR::ResourceAddress.pull_out_id('Condition',reply.resource.entry[3].try(:response).try(:location))
165
- @condition0_B.xmlId = reply.resource.entry[3].try(:resource).try(:xmlId) if @condition0_B.xmlId.nil?
100
+ @condition0.id = FHIR::ResourceAddress.pull_out_id('Condition',reply.resource.entry[3].try(:response).try(:location))
101
+ @condition0.id = reply.resource.entry[3].try(:resource).try(:id) if @condition0.id.nil?
166
102
 
167
103
  # check that the Observations and Condition reference the correct Patient.id
168
- assert( (reply.resource.entry[1].resource.subject.reference.ends_with?(@patient0_B.xmlId) rescue false), "Observation doesn't correctly reference Patient/#{@patient0_B.xmlId}")
169
- assert( (reply.resource.entry[2].resource.subject.reference.ends_with?(@patient0_B.xmlId) rescue false), "Observation doesn't correctly reference Patient/#{@patient0_B.xmlId}")
170
- assert( (reply.resource.entry[3].resource.patient.reference.ends_with?(@patient0_B.xmlId) rescue false), "Condition doesn't correctly reference Patient/#{@patient0_B.xmlId}")
104
+ reply = @client.read(FHIR::Observation, @obs0a.id)
105
+ assert( (reply.resource.subject.reference.ends_with?(@patient0.id) rescue false), "Observation doesn't correctly reference Patient/#{@patient0.id}")
106
+ reply = @client.read(FHIR::Observation, @obs0b.id)
107
+ assert( (reply.resource.subject.reference.ends_with?(@patient0.id) rescue false), "Observation doesn't correctly reference Patient/#{@patient0.id}")
108
+ reply = @client.read(FHIR::Condition, @condition0.id)
109
+ assert( (reply.resource.subject.reference.ends_with?(@patient0.id) rescue false), "Condition doesn't correctly reference Patient/#{@patient0.id}")
110
+
111
+ @created_patient_record = true
171
112
  end
172
113
 
173
114
  # Update a Patient Record as a transaction
@@ -188,11 +129,11 @@ module Crucible
188
129
  skip unless @created_patient_record
189
130
 
190
131
  # patient has gained weight
191
- @obs1 = ResourceGenerator.minimal_observation('http://loinc.org','3141-9',250,'kg',@patient0.xmlId)
132
+ @obs1 = ResourceGenerator.minimal_observation('http://loinc.org','3141-9',250,'kg',@patient0.id)
192
133
 
193
134
  @client.begin_transaction
194
- @client.add_transaction_request('POST',nil,@patient0,"identifier=#{@patient0.identifier.first.system}|#{@patient0.identifier.first.value}")
195
- @client.add_transaction_request('POST',nil,@obs1)
135
+ @client.add_transaction_request('POST',nil,@patient0,"identifier=#{@patient0.identifier.first.system}|#{@patient0.identifier.first.value}").fullUrl = "urn:uuid:#{SecureRandom.uuid}"
136
+ @client.add_transaction_request('POST',nil,@obs1).fullUrl = "urn:uuid:#{SecureRandom.uuid}"
196
137
  reply = @client.end_transaction
197
138
 
198
139
  assert( ((200..299).include?(reply.code)), "Unexpected status code: #{reply.code}" )
@@ -201,9 +142,9 @@ module Crucible
201
142
  assert_bundle_transactions_okay(reply)
202
143
 
203
144
  # set the IDs to whatever the server created
204
- # @patient0.xmlId = FHIR::ResourceAddress.pull_out_id('Patient',reply.resource.entry[0].try(:response).try(:location))
205
- @obs1.xmlId = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[1].try(:response).try(:location))
206
- @obs1.xmlId = reply.resource.entry[1].try(:resource).try(:xmlId) if @obs1.xmlId.nil?
145
+ # @patient0.id = FHIR::ResourceAddress.pull_out_id('Patient',reply.resource.entry[0].try(:response).try(:location))
146
+ @obs1.id = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[1].try(:response).try(:location))
147
+ @obs1.id = reply.resource.entry[1].try(:resource).try(:id) if @obs1.id.nil?
207
148
  end
208
149
 
209
150
  # Conditionally Update entire patient record
@@ -224,18 +165,18 @@ module Crucible
224
165
  skip unless @created_patient_record
225
166
 
226
167
  # weight
227
- @obs2 = ResourceGenerator.minimal_observation('http://loinc.org','3141-9',100,'kg',@patient0.xmlId)
168
+ @obs2 = ResourceGenerator.minimal_observation('http://loinc.org','3141-9',100,'kg',@patient0.id)
228
169
  # obesity has been refuted
229
- @condition0.patient.reference = "Patient/#{@patient0.xmlId}"
170
+ @condition0.subject.reference = "Patient/#{@patient0.id}"
230
171
  @condition0.clinicalStatus = 'resolved'
231
172
  @condition0.verificationStatus = 'refuted'
232
173
  @condition0.abatementBoolean = true
233
174
 
234
175
  @client.begin_transaction
235
- @client.add_transaction_request('DELETE',"Observation/#{@obs0b.xmlId}") if @obs0b && !@obs0b.xmlId.nil? # delete first weight
236
- @client.add_transaction_request('DELETE',"Observation/#{@obs1.xmlId}") if @obs1 && !@obs1.xmlId.nil? # delete second weight
237
- @client.add_transaction_request('POST',nil,@obs2) # create new weight observation
238
- @client.add_transaction_request('PUT',"Condition?code=#{@condition0.code.coding.first.system}|#{@condition0.code.coding.first.code}&patient=Patient/#{@patient0.xmlId}",@condition0)
176
+ @client.add_transaction_request('DELETE',"Observation/#{@obs0b.id}") if @obs0b && !@obs0b.id.nil? # delete first weight
177
+ @client.add_transaction_request('DELETE',"Observation/#{@obs1.id}") if @obs1 && !@obs1.id.nil? # delete second weight
178
+ @client.add_transaction_request('POST',nil,@obs2).fullUrl = "urn:uuid:#{SecureRandom.uuid}" # create new weight observation
179
+ @client.add_transaction_request('PUT',"Condition?code=#{@condition0.code.coding.first.system}|#{@condition0.code.coding.first.code}&patient=Patient/#{@patient0.id}",@condition0).fullUrl = "urn:uuid:#{SecureRandom.uuid}"
239
180
  reply = @client.end_transaction
240
181
 
241
182
  assert( ((200..299).include?(reply.code)), "Unexpected status code: #{reply.code}" )
@@ -244,11 +185,11 @@ module Crucible
244
185
  assert_bundle_transactions_okay(reply)
245
186
 
246
187
  # set the IDs to whatever the server created
247
- @obs2.xmlId = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[-2].try(:response).try(:location))
248
- @obs2.xmlId = reply.resource.entry[-2].try(:resource).try(:xmlId) if @obs2.xmlId.nil?
188
+ @obs2.id = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[-2].try(:response).try(:location))
189
+ @obs2.id = reply.resource.entry[-2].try(:resource).try(:id) if @obs2.id.nil?
249
190
 
250
191
  @conditionId = FHIR::ResourceAddress.pull_out_id('Condition',reply.resource.entry[-1].try(:response).try(:location))
251
- @conditionId = reply.resource.entry[-1].try(:resource).try(:xmlId) if @conditionId.nil?
192
+ @conditionId = reply.resource.entry[-1].try(:resource).try(:id) if @conditionId.nil?
252
193
  end
253
194
 
254
195
  # Create Patients with same identifier, THEN conditionally create patient as part of transaction -- transaction should fail with OperationOutcome
@@ -266,16 +207,16 @@ module Crucible
266
207
  @patient1 = ResourceGenerator.minimal_patient(@patient0.identifier.first.value,@patient0.name.first.given.first)
267
208
  reply = @client.create @patient1
268
209
  assert_response_ok(reply)
269
- @patient1.xmlId = (reply.resource.try(:xmlId) || reply.id)
210
+ @patient1.id = (reply.resource.try(:id) || reply.id)
270
211
 
271
212
  @client.begin_transaction
272
- @client.add_transaction_request('POST',nil,@patient1,"identifier=#{@patient0.identifier.first.system}|#{@patient0.identifier.first.value}")
213
+ @client.add_transaction_request('POST',nil,@patient1,"identifier=#{@patient0.identifier.first.system}|#{@patient0.identifier.first.value}").fullUrl = "urn:uuid:#{SecureRandom.uuid}"
273
214
  reply = @client.end_transaction
274
215
 
275
216
  # These IDs should not exist, but if they do, then we should delete this Patient during teardown.
276
217
  if reply.resource.is_a?(FHIR::Bundle)
277
218
  @badPatientId = FHIR::ResourceAddress.pull_out_id('Patient',reply.resource.entry[0].try(:response).try(:location))
278
- @badPatientId = reply.resource.entry[0].try(:resource).try(:xmlId) if @badPatientId.nil?
219
+ @badPatientId = reply.resource.entry[0].try(:resource).try(:id) if @badPatientId.nil?
279
220
  end
280
221
 
281
222
  assert((reply.code >= 400 && reply.code < 500), "Failed Transactions should return an HTTP 400 range response, found: #{reply.code}.", reply.body)
@@ -295,21 +236,21 @@ module Crucible
295
236
  skip unless @created_patient_record
296
237
 
297
238
  # height observation
298
- @obs3 = ResourceGenerator.minimal_observation('http://loinc.org','8302-2',177,'cm',@patient0.xmlId)
239
+ @obs3 = ResourceGenerator.minimal_observation('http://loinc.org','8302-2',177,'cm',@patient0.id)
299
240
  # weight observation
300
- @obs4 = ResourceGenerator.minimal_observation('http://loinc.org','3141-9',105,'kg',@patient0.xmlId)
241
+ @obs4 = ResourceGenerator.minimal_observation('http://loinc.org','3141-9',105,'kg',@patient0.id)
301
242
  # give this *weight* observation the ID of the *height* observation created in XFER1
302
- @obs4.xmlId = @obs0a.xmlId
243
+ @obs4.id = @obs0a.id
303
244
 
304
245
  @client.begin_transaction
305
246
  # read the all the Patient's weight observations. This should happen last (fourth) and return 1 result.
306
- @client.add_transaction_request('GET',"Observation?code=#{@obs0b.code.coding.first.system}|#{@obs0b.code.coding.first.code}&patient=Patient/#{@patient0.xmlId}")
247
+ @client.add_transaction_request('GET',"Observation?code=#{@obs0b.code.coding.first.system}|#{@obs0b.code.coding.first.code}&patient=Patient/#{@patient0.id}")
307
248
  # update the old height observation to be a weight... this should happen third.
308
- @client.add_transaction_request('PUT',"Observation/#{@obs4.xmlId}",@obs4)
249
+ @client.add_transaction_request('PUT',"Observation/#{@obs4.id}",@obs4).fullUrl = @client.full_resource_url({resource: FHIR::Observation, id: @obs4.id})
309
250
  # create a new height observation... this should happen second.
310
- @client.add_transaction_request('POST',nil,@obs3)
251
+ @client.add_transaction_request('POST',nil,@obs3).fullUrl = "urn:uuid:#{SecureRandom.uuid}"
311
252
  # delete the Patient's existing weight observation... this should happen first.
312
- @client.add_transaction_request('DELETE',"Observation/#{@obs2.xmlId}") if @obs2 && !@obs2.xmlId.nil?
253
+ @client.add_transaction_request('DELETE',"Observation/#{@obs2.id}") if @obs2 && !@obs2.id.nil?
313
254
  reply = @client.end_transaction
314
255
 
315
256
  assert( ((200..299).include?(reply.code)), "Unexpected status code: #{reply.code}" )
@@ -319,19 +260,19 @@ module Crucible
319
260
 
320
261
  count = (reply.resource.entry.first.resource.total rescue 0)
321
262
  assert(count==1,"In a transaction, GET should execute last and in this case only return 1 result; found #{count}",reply.body)
322
- searchResultId = (reply.resource.entry.first.resource.entry.first.resource.xmlId rescue nil)
323
- assert(searchResultId==@obs2.xmlId,"The GET search returned the wrong result. Expected Observation/#{@obs2.xmlId} but found Observation/#{searchResultId}.",reply.body)
263
+ searchResultId = (reply.resource.entry.first.resource.entry.first.resource.id rescue nil)
264
+ assert(searchResultId==@obs2.id,"The GET search returned the wrong result. Expected Observation/#{@obs2.id} but found Observation/#{searchResultId}.",reply.body)
324
265
 
325
266
  # set the IDs to whatever the server created
326
- @obs3.xmlId = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[2].try(:response).try(:location))
327
- @obs3.xmlId = reply.resource.entry[2].try(:resource).try(:xmlId) if @obs3.xmlId.nil?
267
+ @obs3.id = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[2].try(:response).try(:location))
268
+ @obs3.id = reply.resource.entry[2].try(:resource).try(:id) if @obs3.id.nil?
328
269
 
329
- @obs4.xmlId = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[1].try(:response).try(:location))
330
- @obs4.xmlId = reply.resource.entry[1].try(:resource).try(:xmlId) if @obs4.xmlId.nil?
270
+ @obs4.id = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[1].try(:response).try(:location))
271
+ @obs4.id = reply.resource.entry[1].try(:resource).try(:id) if @obs4.id.nil?
331
272
  end
332
273
 
333
274
  # If $everything operation, fetch patient record, and then use that bundle to update the record in a transaction
334
- test 'XFER5','Fetch patient record and then present the record as an update transaction' do
275
+ test 'XFER5','Fetch patient record and then present the unaltered record as an update transaction' do
335
276
  metadata {
336
277
  links "#{REST_SPEC_LINK}#transaction"
337
278
  links "#{REST_SPEC_LINK}#other-bundles"
@@ -344,7 +285,7 @@ module Crucible
344
285
  }
345
286
  skip unless @created_patient_record
346
287
 
347
- reply = @client.fetch_patient_record(@patient0.xmlId, nil, nil, 'GET')
288
+ reply = @client.fetch_patient_record(@patient0.id, nil, nil, 'GET')
348
289
  assert_response_ok(reply)
349
290
  assert_bundle_response(reply)
350
291
 
@@ -361,10 +302,11 @@ module Crucible
361
302
 
362
303
  # get the new IDs
363
304
  @transferPatientId = nil
305
+ @transferIds = {}
364
306
  reply.resource.entry.each do |entry|
365
307
  klass = entry.resource.class
366
308
  entry_id = FHIR::ResourceAddress.pull_out_id(klass.name.demodulize, entry.try(:response).try(:location))
367
- entry_id = entry.resource.xmlId if entry_id.nil?
309
+ entry_id = entry.resource.id if entry_id.nil?
368
310
  @transferIds[klass] = [] if @transferIds[klass].nil?
369
311
  @transferIds[klass] << entry_id
370
312
  @transferPatientId = entry_id if(entry.resource.class == FHIR::Patient)
@@ -373,16 +315,16 @@ module Crucible
373
315
  # check that the IDs and references were rewritten
374
316
  everything.entry.each_with_index do |entry,index|
375
317
  klass_name = entry.resource.class.name.demodulize
376
- original_id = entry.resource.xmlId
318
+ original_id = entry.resource.id
377
319
  transfer_location = (reply.resource.entry[index].response.location rescue nil)
378
320
  transfer_id = FHIR::ResourceAddress.pull_out_id( klass_name, transfer_location) if !transfer_location.nil?
379
- transfer_id = (reply.resource.entry[index].resource.xmlId rescue nil) if transfer_id.nil?
321
+ transfer_id = (reply.resource.entry[index].resource.id rescue nil) if transfer_id.nil?
380
322
  assert((original_id != transfer_id), "Resource ID was not rewritten: #{original_id}")
381
323
 
382
324
  # if class is Observation check subject
383
325
  assert( (reply.resource.entry[index].resource.subject==@transferPatientId), "Observation.subject Patient reference was not rewritten." ) if reply.resource.entry[index].resource.class==FHIR::Observation
384
326
  # if class is Condition check patient
385
- assert( (reply.resource.entry[index].resource.patient==@transferPatientId), "Condition.patient reference was not rewritten." ) if reply.resource.entry[index].resource.class==FHIR::Condition
327
+ assert( (reply.resource.entry[index].resource.subject==@transferPatientId), "Condition.patient reference was not rewritten." ) if reply.resource.entry[index].resource.class==FHIR::Condition
386
328
  end
387
329
  end
388
330
 
@@ -405,12 +347,12 @@ module Crucible
405
347
  skip unless @created_patient_record
406
348
 
407
349
  @client.begin_transaction
408
- @client.add_transaction_request('DELETE', "Patient/#{@patient0.xmlId}") if @patient0 && !@patient0.xmlId.nil?
409
- @client.add_transaction_request('DELETE', "Condition/#{@condition0.xmlId}") if @condition0 && !@condition0.xmlId.nil?
350
+ @client.add_transaction_request('DELETE', "Patient/#{@patient0.id}") if @patient0 && !@patient0.id.nil?
351
+ @client.add_transaction_request('DELETE', "Condition/#{@condition0.id}") if @condition0 && !@condition0.id.nil?
410
352
  @client.add_transaction_request('DELETE', "Condition/#{@conditionId}") if @conditionId
411
- @client.add_transaction_request('DELETE', "Observation/#{@obs4.xmlId}") if @obs4 && !@obs4.xmlId.nil?
412
- @client.add_transaction_request('DELETE', "Observation/#{@obs3.xmlId}") if @obs3 && !@obs3.xmlId.nil?
413
- @client.add_transaction_request('DELETE', "Observation/#{@obs0a.xmlId}") if @obs0a && !@obs0a.xmlId.nil?
353
+ @client.add_transaction_request('DELETE', "Observation/#{@obs4.id}") if @obs4 && !@obs4.id.nil?
354
+ @client.add_transaction_request('DELETE', "Observation/#{@obs3.id}") if @obs3 && !@obs3.id.nil?
355
+ @client.add_transaction_request('DELETE', "Observation/#{@obs0a.id}") if @obs0a && !@obs0a.id.nil?
414
356
  reply = @client.end_transaction
415
357
 
416
358
  assert( ((200..299).include?(reply.code)), "Unexpected status code: #{reply.code}" )
@@ -438,12 +380,12 @@ module Crucible
438
380
  skip unless @created_patient_record
439
381
 
440
382
  @client.begin_transaction
441
- @client.add_transaction_request('DELETE', "Observation/#{@obs4.xmlId}") if @obs4 && !@obs4.xmlId.nil?
442
- @client.add_transaction_request('DELETE', "Observation/#{@obs3.xmlId}") if @obs3 && !@obs3.xmlId.nil?
443
- @client.add_transaction_request('DELETE', "Observation/#{@obs0a.xmlId}") if @obs0a && !@obs0a.xmlId.nil?
444
- @client.add_transaction_request('DELETE', "Condition/#{@condition0.xmlId}") if @condition0 && !@condition0.xmlId.nil?
383
+ @client.add_transaction_request('DELETE', "Observation/#{@obs4.id}") if @obs4 && !@obs4.id.nil?
384
+ @client.add_transaction_request('DELETE', "Observation/#{@obs3.id}") if @obs3 && !@obs3.id.nil?
385
+ @client.add_transaction_request('DELETE', "Observation/#{@obs0a.id}") if @obs0a && !@obs0a.id.nil?
386
+ @client.add_transaction_request('DELETE', "Condition/#{@condition0.id}") if @condition0 && !@condition0.id.nil?
445
387
  @client.add_transaction_request('DELETE', "Condition/#{@conditionId}") if @conditionId
446
- @client.add_transaction_request('DELETE', "Patient/#{@patient0.xmlId}") if @patient0 && !@patient0.xmlId.nil?
388
+ @client.add_transaction_request('DELETE', "Patient/#{@patient0.id}") if @patient0 && !@patient0.id.nil?
447
389
  reply = @client.end_transaction
448
390
 
449
391
  assert( ((200..299).include?(reply.code)), "Unexpected status code: #{reply.code}" )
@@ -468,13 +410,14 @@ module Crucible
468
410
  }
469
411
 
470
412
  @batch_patient = ResourceGenerator.minimal_patient("#{Time.now.to_i}",'Batch')
471
- @batch_patient.xmlId = 'batchfoo' # assign an id so related resources can reference the patient
413
+ @batch_patient_id = "urn:uuid:#{SecureRandom.uuid}" # assign an id so related resources can reference the patient
472
414
  # height
473
- @batch_obs = ResourceGenerator.minimal_observation('http://loinc.org','8302-2',900,'cm',@batch_patient.xmlId)
415
+ @batch_obs = ResourceGenerator.minimal_observation('http://loinc.org','8302-2',900,'cm',@batch_patient_id)
416
+ @batch_obs.subject.reference = @batch_patient_id
474
417
 
475
418
  @client.begin_batch
476
- @client.add_batch_request('POST',nil,@batch_patient)
477
- @client.add_batch_request('POST',nil,@batch_obs)
419
+ @client.add_batch_request('POST',nil,@batch_patient).fullUrl = @batch_patient_id
420
+ @client.add_batch_request('POST',nil,@batch_obs).fullUrl = "urn:uuid:#{SecureRandom.uuid}"
478
421
  reply = @client.end_batch
479
422
 
480
423
  assert_bundle_response(reply)
@@ -483,13 +426,13 @@ module Crucible
483
426
  patientCode = reply.resource.entry[0].try(:response).try(:status).try(:split).try(:first).try(:to_i)
484
427
  assert((!patientCode.nil? && patientCode >= 200 && patientCode < 300), "The batch should have created a Patient.", reply.body)
485
428
  # set the IDs to whatever the server created
486
- @batch_patient.xmlId = FHIR::ResourceAddress.pull_out_id('Patient',reply.resource.entry[0].try(:response).try(:location))
487
- @batch_patient.xmlId = (reply.resource.entry[0].resource.xmlId rescue nil) if @batch_patient.xmlId.nil?
429
+ @batch_patient.id = FHIR::ResourceAddress.pull_out_id('Patient',reply.resource.entry[0].try(:response).try(:location))
430
+ @batch_patient.id = (reply.resource.entry[0].resource.id rescue nil) if @batch_patient.id.nil?
488
431
 
489
432
  obsCode = reply.resource.entry[1].try(:response).try(:status).try(:split).try(:first).try(:to_i)
490
433
  # set the IDs to whatever the server created
491
- @batch_obs.xmlId = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[1].try(:response).try(:location))
492
- @batch_obs.xmlId = (reply.resource.entry[1].resource.xmlId rescue nil) if @batch_obs.xmlId.nil?
434
+ @batch_obs.id = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[1].try(:response).try(:location))
435
+ @batch_obs.id = (reply.resource.entry[1].resource.id rescue nil) if @batch_obs.id.nil?
493
436
  assert((!obsCode.nil? && obsCode >= 400 && obsCode < 500), "The batch should have failed to create the Observation with a dependency on the Patient.", reply.body)
494
437
  end
495
438
 
@@ -510,17 +453,17 @@ module Crucible
510
453
  @batch_patient_2 = ResourceGenerator.minimal_patient("#{Time.now.to_i}",'Batch')
511
454
  reply = @client.create @batch_patient_2
512
455
  assert_response_ok(reply)
513
- @batch_patient_2.xmlId = (reply.resource.try(:xmlId) || reply.id)
456
+ @batch_patient_2.id = (reply.resource.try(:id) || reply.id)
514
457
 
515
458
  # height
516
- @batch_obs_2 = ResourceGenerator.minimal_observation('http://loinc.org','8302-2',300,'cm',@batch_patient_2.xmlId)
459
+ @batch_obs_2 = ResourceGenerator.minimal_observation('http://loinc.org','8302-2',300,'cm',@batch_patient_2.id)
517
460
  # weight
518
- @batch_obs_3 = ResourceGenerator.minimal_observation('http://loinc.org','3141-9',500,'kg',@batch_patient_2.xmlId)
461
+ @batch_obs_3 = ResourceGenerator.minimal_observation('http://loinc.org','3141-9',500,'kg',@batch_patient_2.id)
519
462
 
520
463
  @client.begin_batch
521
- @client.add_batch_request('POST',nil,@batch_obs_2)
522
- @client.add_batch_request('POST',nil,@batch_obs_3)
523
- @client.add_transaction_request('GET',"Observation?patient=Patient/#{@batch_patient_2.xmlId}")
464
+ @client.add_batch_request('POST',nil,@batch_obs_2).fullUrl = "urn:uuid:#{SecureRandom.uuid}"
465
+ @client.add_batch_request('POST',nil,@batch_obs_3).fullUrl = "urn:uuid:#{SecureRandom.uuid}"
466
+ @client.add_transaction_request('GET',"Observation?patient=Patient/#{@batch_patient_2.id}")
524
467
  reply = @client.end_batch
525
468
 
526
469
  assert( ((200..299).include?(reply.code)), "Unexpected status code: #{reply.code}" )
@@ -528,10 +471,10 @@ module Crucible
528
471
  assert_bundle_response(reply)
529
472
 
530
473
  # set the IDs to whatever the server created
531
- @batch_obs_2.xmlId = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[0].try(:response).try(:location))
532
- @batch_obs_2.xmlId = (reply.resource.entry[0].resource.xmlId rescue nil) if @batch_obs_2.xmlId.nil?
533
- @batch_obs_3.xmlId = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[1].try(:response).try(:location))
534
- @batch_obs_3.xmlId = (reply.resource.entry[1].resource.xmlId rescue nil) if @batch_obs_3.xmlId.nil?
474
+ @batch_obs_2.id = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[0].try(:response).try(:location))
475
+ @batch_obs_2.id = (reply.resource.entry[0].resource.id rescue nil) if @batch_obs_2.id.nil?
476
+ @batch_obs_3.id = FHIR::ResourceAddress.pull_out_id('Observation',reply.resource.entry[1].try(:response).try(:location))
477
+ @batch_obs_3.id = (reply.resource.entry[1].resource.id rescue nil) if @batch_obs_3.id.nil?
535
478
 
536
479
  assert_equal(3, reply.resource.entry.length, "Expected 3 Bundle entries but found #{reply.resource.entry.length}", reply.body)
537
480
  assert_bundle_transactions_okay(reply)
@@ -551,14 +494,14 @@ module Crucible
551
494
  validates resource: 'Observation', methods: ['delete']
552
495
  validates resource: nil, methods: ['batch-system']
553
496
  }
554
- skip unless ((@batch_patient_2 && !@batch_patient_2.xmlId.nil?) ||
555
- (@batch_obs_2 && !@batch_obs_2.xmlId.nil?) ||
556
- (@batch_obs_3 && !@batch_obs_3.xmlId.nil? ))
497
+ skip unless ((@batch_patient_2 && !@batch_patient_2.id.nil?) ||
498
+ (@batch_obs_2 && !@batch_obs_2.id.nil?) ||
499
+ (@batch_obs_3 && !@batch_obs_3.id.nil? ))
557
500
 
558
501
  @client.begin_batch
559
- @client.add_batch_request('DELETE', "Observation/#{@batch_obs_3.xmlId}") if @batch_obs_3 && !@batch_obs_3.xmlId.nil?
560
- @client.add_batch_request('DELETE', "Observation/#{@batch_obs_2.xmlId}") if @batch_obs_2 && !@batch_obs_2.xmlId.nil?
561
- @client.add_batch_request('DELETE', "Patient/#{@batch_patient_2.xmlId}") if @batch_patient_2 && !@batch_patient_2.xmlId.nil?
502
+ @client.add_batch_request('DELETE', "Observation/#{@batch_obs_3.id}") if @batch_obs_3 && !@batch_obs_3.id.nil?
503
+ @client.add_batch_request('DELETE', "Observation/#{@batch_obs_2.id}") if @batch_obs_2 && !@batch_obs_2.id.nil?
504
+ @client.add_batch_request('DELETE', "Patient/#{@batch_patient_2.id}") if @batch_patient_2 && !@batch_patient_2.id.nil?
562
505
  reply = @client.end_batch
563
506
 
564
507
  assert( ((200..299).include?(reply.code)), "Unexpected status code: #{reply.code}" )