plan_executor 1.0.2
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.
- checksums.yaml +7 -0
- data/.gitignore +44 -0
- data/.simplecov +16 -0
- data/.travis.yml +13 -0
- data/Gemfile +26 -0
- data/Gemfile.lock +197 -0
- data/LICENSE +201 -0
- data/README.md +126 -0
- data/Rakefile +25 -0
- data/fixtures/daf/conformance-daf-query-responder.xml +1471 -0
- data/fixtures/diagnostic_order/do-100.xml +64 -0
- data/fixtures/diagnostic_order/do-200.xml +121 -0
- data/fixtures/diagnostic_order/do-300.xml +91 -0
- data/fixtures/diagnostic_order/do-400.xml +88 -0
- data/fixtures/diagnostic_report/dr-100.xml +96 -0
- data/fixtures/diagnostic_report/dr-200.xml +125 -0
- data/fixtures/diagnostic_report/dr-300.xml +132 -0
- data/fixtures/diagnostic_report/dr-400.xml +121 -0
- data/fixtures/financial/claim-example-average.xml +168 -0
- data/fixtures/financial/claim-example-simple.xml +67 -0
- data/fixtures/observation/obs-100.xml +58 -0
- data/fixtures/observation/obs-101.xml +58 -0
- data/fixtures/observation/obs-200.xml +125 -0
- data/fixtures/observation/obs-300.xml +106 -0
- data/fixtures/observation/obs-301.xml +106 -0
- data/fixtures/observation/obs-302.xml +106 -0
- data/fixtures/observation/obs-303.xml +106 -0
- data/fixtures/observation/obs-304.xml +106 -0
- data/fixtures/observation/obs-400.xml +87 -0
- data/fixtures/observation/obs-401.xml +95 -0
- data/fixtures/observation/obs-402.xml +95 -0
- data/fixtures/observation/obs-403.xml +84 -0
- data/fixtures/observation/obs-404.xml +84 -0
- data/fixtures/observation/obs-405.xml +83 -0
- data/fixtures/observation/obs-406.xml +83 -0
- data/fixtures/observation/obs-407.xml +70 -0
- data/fixtures/observation/obs-408.xml +84 -0
- data/fixtures/observation/obs-uslab-example5.xml +102 -0
- data/fixtures/order/order-100.xml +61 -0
- data/fixtures/order/order-200.xml +61 -0
- data/fixtures/order/order-300.xml +61 -0
- data/fixtures/order/order-400.xml +61 -0
- data/fixtures/order_response/ordresp-100.xml +79 -0
- data/fixtures/order_response/ordresp-110.xml +79 -0
- data/fixtures/order_response/ordresp-200.xml +79 -0
- data/fixtures/order_response/ordresp-210.xml +79 -0
- data/fixtures/order_response/ordresp-300.xml +79 -0
- data/fixtures/order_response/ordresp-310.xml +79 -0
- data/fixtures/order_response/ordresp-400.xml +79 -0
- data/fixtures/order_response/ordresp-410.xml +79 -0
- data/fixtures/organization/org-uslab-example3.xml +49 -0
- data/fixtures/patient/patient-example-updated.xml +140 -0
- data/fixtures/patient/patient-example-us-extensions(us01).xml +81 -0
- data/fixtures/patient/patient-example.xml +132 -0
- data/fixtures/patient/patient-format-example.xml +101 -0
- data/fixtures/patient/patient-minimal.xml +9 -0
- data/fixtures/patient/patient-uslab-example1.xml +44 -0
- data/fixtures/practitioner/pract-uslab-example1.xml +18 -0
- data/fixtures/practitioner/pract-uslab-example3.xml +36 -0
- data/fixtures/record/condition-example-f201-fever.xml +63 -0
- data/fixtures/record/condition-example-f205-infection.xml +20 -0
- data/fixtures/record/diagnosticreport-example-f201-brainct.xml +18 -0
- data/fixtures/record/encounter-example-f201-20130404.xml +17 -0
- data/fixtures/record/encounter-example-f202-20130128.xml +17 -0
- data/fixtures/record/observation-example-f202-temperature.xml +60 -0
- data/fixtures/record/organization-example-f201-aumc.xml +5 -0
- data/fixtures/record/organization-example-f203-bumc.xml +5 -0
- data/fixtures/record/patient-example-f201-roel.xml +16 -0
- data/fixtures/record/practitioner-example-f201-ab.xml +14 -0
- data/fixtures/record/procedure-example-f201-tpf.xml +23 -0
- data/fixtures/scheduling/appointment-simple.xml +24 -0
- data/fixtures/scheduling/appointmentresponse-patient-simple.xml +12 -0
- data/fixtures/scheduling/appointmentresponse-practitioner-simple.xml +12 -0
- data/fixtures/scheduling/practitioner-simple.xml +10 -0
- data/fixtures/scheduling/schedule-simple.xml +12 -0
- data/fixtures/scheduling/slot-simple.xml +10 -0
- data/fixtures/specimen/spec-100.xml +65 -0
- data/fixtures/specimen/spec-400.xml +70 -0
- data/fixtures/specimen/spec-uslab-example1.xml +82 -0
- data/fixtures/validation/observation.profile.xml +2045 -0
- data/fixtures/validation/observations/observation-example(example).xml +50 -0
- data/lib/FHIR_structure.json +529 -0
- data/lib/daf_resource_generator.rb +94 -0
- data/lib/data/fhir_structure.rb +8 -0
- data/lib/data/resources.rb +138 -0
- data/lib/executor.rb +56 -0
- data/lib/ext/client.rb +27 -0
- data/lib/ext/client_reply.rb +19 -0
- data/lib/plan_executor.rb +31 -0
- data/lib/resource_generator.rb +656 -0
- data/lib/tasks/tasks.rake +329 -0
- data/lib/tasks/templates/summary.html.erb +163 -0
- data/lib/test_result.rb +69 -0
- data/lib/tests/assertions.rb +261 -0
- data/lib/tests/base_test.rb +117 -0
- data/lib/tests/suites/argonaut_resprint_1_test.rb +260 -0
- data/lib/tests/suites/argonaut_resprint_2_test.rb +369 -0
- data/lib/tests/suites/argonaut_resprint_3_test.rb +309 -0
- data/lib/tests/suites/argonaut_sprint_1_test.rb +187 -0
- data/lib/tests/suites/argonaut_sprint_2_test.rb +115 -0
- data/lib/tests/suites/argonaut_sprint_3_test.rb +208 -0
- data/lib/tests/suites/argonaut_sprint_4_test.rb +335 -0
- data/lib/tests/suites/argonaut_sprint_5_test.rb +196 -0
- data/lib/tests/suites/argonaut_sprint_6_test.rb +243 -0
- data/lib/tests/suites/argonaut_sprint_7_test.rb +161 -0
- data/lib/tests/suites/base_suite.rb +116 -0
- data/lib/tests/suites/connectathon_audit_track.rb +354 -0
- data/lib/tests/suites/connectathon_fetch_patient_record.rb +443 -0
- data/lib/tests/suites/connectathon_financial_track.rb +380 -0
- data/lib/tests/suites/connectathon_lab_order_track.rb +239 -0
- data/lib/tests/suites/connectathon_patient_track.rb +364 -0
- data/lib/tests/suites/connectathon_profile_validation.rb +101 -0
- data/lib/tests/suites/connectathon_scheduling_track.rb +266 -0
- data/lib/tests/suites/connectathon_terminology_track.rb +242 -0
- data/lib/tests/suites/daf_profiles_test.rb +431 -0
- data/lib/tests/suites/format_test.rb +453 -0
- data/lib/tests/suites/history_test.rb +311 -0
- data/lib/tests/suites/read_test.rb +104 -0
- data/lib/tests/suites/resource_test.rb +553 -0
- data/lib/tests/suites/search_test.rb +219 -0
- data/lib/tests/suites/search_test_robust.rb +172 -0
- data/lib/tests/suites/sprinkler_search_test.rb +660 -0
- data/lib/tests/suites/suite_engine.rb +114 -0
- data/lib/tests/suites/transaction_test.rb +571 -0
- data/lib/tests/testscripts/base_testscript.rb +480 -0
- data/lib/tests/testscripts/testscript_engine.rb +81 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Client Assigned Id/track1-patient-base-client-id-json.xml +348 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Client Assigned Id/track1-patient-base-client-id-xml.xml +348 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Client Assigned Id/track1-patient-bonus-client-id-json.xml +420 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Client Assigned Id/track1-patient-bonus-client-id-xml.xml +420 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/README.html +68 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Server Assigned Id/track1-patient-base-server-id-json.xml +352 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Server Assigned Id/track1-patient-base-server-id-xml.xml +352 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Server Assigned Id/track1-patient-bonus-server-id-json.xml +421 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/Server Assigned Id/track1-patient-bonus-server-id-xml.xml +421 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/conformance/PatientConformance.xml +34 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-create-PeterChalmers-min.json +45 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-create-PeterChalmers-min.xml +26 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-create-PeterChalmers.json +100 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-create-PeterChalmers.xml +102 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-create-bonus-PeterChalmers-min.json +53 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-create-bonus-PeterChalmers-min.xml +30 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-create-bonus-PeterChalmers.json +108 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-create-bonus-PeterChalmers.xml +108 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-update-PeterChalmers-min.json +45 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-update-PeterChalmers-min.xml +26 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-update-PeterChalmers.json +100 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-update-PeterChalmers.xml +102 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-update-bonus1-PeterChalmers-min.json +53 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-update-bonus1-PeterChalmers-min.xml +30 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-update-bonus1-PeterChalmers.json +108 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-update-bonus1-PeterChalmers.xml +107 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-update-bonus2-PeterChalmers-min.json +53 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-update-bonus2-PeterChalmers-min.xml +31 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-update-bonus2-PeterChalmers.json +108 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track1-Patient/_reference/resources/patient-update-bonus2-PeterChalmers.xml +106 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/C-CDA_R2-1_CCD-ussg.xml +3414 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-A1-empty-on-instance.xml +9 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-A2-empty-by-ref.xml +15 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-A3-empty-by-identifier.xml +13 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-A4-empty-by-contained.xml +15 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-B1-CCDA-on-instance.xml +15 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-B2-CCDA-by-ref.xml +21 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-B3-CCDA-by-identifier.xml +19 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/parameters-B4-CCDA-by-contained.xml +21 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/questionnaire-sdc-profile-example-ussg-fht.xml +3905 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/questionnaireresponse-expected-ussg-fht-CCDA.xml +190 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/_reference/resources/questionnaireresponse-expected-ussg-fht-empty.xml +177 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track11-SDC/track11-sdc-prepop-xml.xml +142 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Expand/Client Assigned Id/track2-ts-suite1-expand-client-id.xml +925 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Expand/Client Assigned Id/track2-ts-suite2-expand-filter-client-id.xml +930 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Expand/Server Assigned Id/track2-ts-suite1-expand-server-id.xml +953 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Expand/Server Assigned Id/track2-ts-suite2-expand-filter-server-id.xml +958 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Lookup/track2-ts-suite5-loinc-lookup-xml.xml +224 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Lookup/track2-ts-suite5-snomed-lookup-xml.xml +224 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/README.html +85 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Translate/track2-ts-suite6-translate-xml.xml +224 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Validate-code/Client Assigned Id/track2-ts-suite3-validate-code-client-id.xml +1807 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Validate-code/Client Assigned Id/track2-ts-suite4-validate-code-client-id.xml +714 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Validate-code/Server Assigned Id/track2-ts-suite3-validate-code-server-id.xml +1835 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/Validate-code/Server Assigned Id/track2-ts-suite4-validate-code-server-id.xml +742 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/conformance/ConceptMapSuite6Conformance.xml +11 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/conformance/ValueSetSuite1Conformance.xml +17 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/conformance/ValueSetSuite2Conformance.xml +17 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/conformance/ValueSetSuite3Conformance.xml +14 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/conformance/ValueSetSuite4Conformance.xml +14 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/conformance/ValueSetSuite5Conformance.xml +11 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/extensional-case-1-input-4-2-a.xml +11 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/extensional-case-1-input-4-2-b.xml +11 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/extensional-case-1-input-4-3-a.xml +13 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/extensional-case-1-input-4-3-b.xml +13 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/extensional-case-1-input-4-4-a.xml +15 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/extensional-case-1-input-4-4-b.xml +15 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/lookup-loinc-input-5-2.xml +10 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/lookup-loinc-input-5-3.xml +11 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/lookup-snomed-input-5-2.xml +10 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/lookup-snomed-input-5-3.xml +11 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/translate-conceptmap-input-6-2.xml +14 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/input/translate-conceptmap-input-6-3.xml +15 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-1-expand-min.xml +47 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-1-filter-min.xml +23 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-2-expand-min.xml +132 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-2-filter-min.xml +38 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-3-expand-min.xml +252 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-3-filter-min.xml +58 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-4-expand-min.xml +57 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/extensional-case-4-filter-min.xml +28 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/intensional-case-1-expand-min.xml +347 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/intensional-case-1-filter-min.xml +33 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/intensional-case-2-expand-min.xml +637 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/intensional-case-2-filter-min.xml +33 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/intensional-case-3-filter-min.xml +58 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/lookup-loinc-min.xml +11 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/lookup-snomed-min.xml +11 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/suite3-invalid-min.xml +10 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/suite3-valid-min.xml +7 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/suite4-invalid-min.xml +10 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/suite4-valid-min.xml +7 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/output/translate-conceptmap-min.xml +17 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/extensional-case-1.xml +55 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/extensional-case-2.xml +122 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/extensional-case-3.xml +222 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/extensional-case-4.xml +65 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/intensional-case-1.xml +31 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/intensional-case-2.xml +31 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/intensional-case-3.xml +31 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track2-Terminology/_reference/resources/translate-conceptmap-case-1.xml +145 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/conformance/DecisionSupportServiceModule-Evaluate.xml +17 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-incomplete-request-payload.xml +26 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-incomplete-response-min-payload.xml +7 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-incomplete-response-payload.xml +332 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-malformed-request-payload.xml +28 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-malformed-response-min-payload.xml +7 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-malformed-response-payload.xml +20 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-request-payload.xml +28 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-response-min-payload.xml +7 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-response-payload.xml +332 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-unauthorized-request-payload.xml +28 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-unauthorized-response-min-payload.xml +7 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/ecrs-fhir-cdc-immunizations-unauthorized-response-payload.xml +8 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/gao-assessment-request-payload.xml +176 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/gao-assessment-response-payload-min.xml +32 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/_reference/resources/gao-assessment-response-payload.xml +80 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/track3-cds-evaluate-cdc-immunization.xml +290 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track3-CDS-on-FHIR/track3-cds-evaluate-gao-profile.xml +110 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track6-FHIR-Genomics/Client_Assigned_Id/TestScript_FHIR-Genomics.xml +170 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track6-FHIR-Genomics/_reference/resources/sequence-example-1.xml +31 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track6-FHIR-Genomics/_reference/resources/sequence-example-2.xml +31 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Actors.png +0 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Client_Assigned_Id/track7-laborder100-xml.xml +590 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Client_Assigned_Id/track7-laborder200-xml.xml +587 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Client_Assigned_Id/track7-laborder300-xml.xml +612 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Client_Assigned_Id/track7-laborder400-xml.xml +635 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Peer-to-Peer/track7-laborder100-peer2peer-xml.xml +752 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/Thumbs.db +0 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/conformance/LabOrderLabReport-CreateDeleteReadUpdate.xml +187 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/conformance/html.xslt +45 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-100-update.xml +64 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-100.xml +64 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-200-update.xml +121 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-200.xml +121 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-300-update.xml +91 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-300.xml +91 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-400-update.xml +88 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticOrder/do-400.xml +88 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticReport/dr-100.xml +96 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticReport/dr-200.xml +125 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticReport/dr-300.xml +132 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/DiagnosticReport/dr-400.xml +121 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-100.xml +58 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-101.xml +58 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-200.xml +125 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-300.xml +106 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-301.xml +106 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-302.xml +106 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-303.xml +106 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-304.xml +106 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-400.xml +87 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-401.xml +95 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-402.xml +95 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-403.xml +84 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-404.xml +84 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-405.xml +83 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-406.xml +83 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-407.xml +70 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-408.xml +84 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Observation/obs-uslab-example5.xml +102 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Order/order-100.xml +61 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Order/order-200.xml +61 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Order/order-300.xml +61 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Order/order-400.xml +61 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-100.xml +79 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-110.xml +79 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-200.xml +79 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-210.xml +79 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-300.xml +79 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-310.xml +79 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-400.xml +79 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/OrderResponse/ordresp-410.xml +79 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Organization/org-uslab-example3.xml +49 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Patient/patient-uslab-example1.xml +44 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Practitioner/pract-uslab-example1.xml +18 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Practitioner/pract-uslab-example3.xml +36 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Specimen/Thumbs.db +0 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Specimen/spec-100.xml +65 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Specimen/spec-400.xml +70 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Specimen/spec-uslab-example1.xml +82 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Testscript 1 Document.txt +122 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Testscript 2 Document.txt +103 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Testscript 3 Document.txt +201 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track7-LabOrderLabReport/_reference/resources/Testscript 4 Document.txt +310 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/_reference/conformance/MedicationStatementCreate.xml +11 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/_reference/conformance/PatientSearchType.xml +15 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/_reference/resources/medicationstatement-create.json +39 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/_reference/resources/medicationstatement-patch.json +3 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/track9-patch-medicationstatement-json-if-match.xml +321 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/track9-patch-medicationstatement-json.xml +303 -0
- data/lib/tests/testscripts/xml/Connectathon11/Track9-Patch/track9-patch-peer2peer-patient-json.xml +235 -0
- data/plan_executor.gemspec +14 -0
- data/test/fixtures/diagnostic_bundle.xml +51 -0
- data/test/fixtures/lab_results_bundle.xml +49 -0
- data/test/fixtures/observation_bundle.json +61 -0
- data/test/fixtures/testscript-example.xml +202 -0
- data/test/fixtures/testscript-history.xml +143 -0
- data/test/fixtures/testscript-readtest.xml +272 -0
- data/test/fixtures/testscript-search.xml +282 -0
- data/test/fixtures/testscript-update.xml +147 -0
- data/test/fixtures/vital_signs_bundle.xml +117 -0
- data/test/test_helper.rb +8 -0
- data/test/unit/argonaut_sprint6_test.rb +31 -0
- data/test/unit/argonaut_sprint7_test.rb +21 -0
- data/test/unit/basic_test.rb +27 -0
- data/test/unit/fetch_patient_record_test.rb +357 -0
- data/test/unit/financial_test.rb +41 -0
- data/test/unit/fixtures_test.rb +45 -0
- data/test/unit/metadata_test.rb +33 -0
- metadata +394 -0
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
<TestScript xmlns="http://hl7.org/fhir">
|
|
2
|
+
<id value="SearchTestScript"/>
|
|
3
|
+
<url value="http://hl7.org/fhir/TestScript/search"/>
|
|
4
|
+
<name value="Read, Search and Conditional Create and Delete"/>
|
|
5
|
+
<status value="draft"/>
|
|
6
|
+
<description value="Test Script for testing search, read, and conditional create and delete"/>
|
|
7
|
+
<contained>
|
|
8
|
+
<Conformance xmlns="http://hl7.org/fhir">
|
|
9
|
+
<id value="conf1"/>
|
|
10
|
+
<date value="2012-01-04"/>
|
|
11
|
+
<kind value="instance"/>
|
|
12
|
+
<fhirVersion value="1.0.0"/>
|
|
13
|
+
<acceptUnknown value="both"/>
|
|
14
|
+
<format value="xml"/>
|
|
15
|
+
<format value="json"/>
|
|
16
|
+
<rest>
|
|
17
|
+
<mode value="server"/>
|
|
18
|
+
<resource>
|
|
19
|
+
<type value="Patient"/>
|
|
20
|
+
<interaction>
|
|
21
|
+
<code value="read"/>
|
|
22
|
+
</interaction>
|
|
23
|
+
</resource>
|
|
24
|
+
</rest>
|
|
25
|
+
</Conformance>
|
|
26
|
+
<Patient xmlns="http://hl7.org/fhir">
|
|
27
|
+
<id value="patient1"/>
|
|
28
|
+
<name>
|
|
29
|
+
<use value="official"/>
|
|
30
|
+
<family value="Doe"/>
|
|
31
|
+
<given value="John"/>
|
|
32
|
+
</name>
|
|
33
|
+
<birthDate value="1974-12-31" />
|
|
34
|
+
</Patient>
|
|
35
|
+
</contained>
|
|
36
|
+
<metadata>
|
|
37
|
+
<capability>
|
|
38
|
+
<required value="true"/>
|
|
39
|
+
<description value="Patient Create and Read Operations"/>
|
|
40
|
+
<link value="http://hl7.org/implement/standards/FHIR-Develop/http.html#create"/>
|
|
41
|
+
<link value="http://hl7.org/implement/standards/FHIR-Develop/http.html#read"/>
|
|
42
|
+
<conformance>
|
|
43
|
+
<reference value="#conf1"/>
|
|
44
|
+
</conformance>
|
|
45
|
+
</capability>
|
|
46
|
+
<capability>
|
|
47
|
+
<required value="true"/>
|
|
48
|
+
<description value="Patient Conditional Delete Operation"/>
|
|
49
|
+
<link value="http://hl7-fhir.github.io/http.html#2.1.0.12.1"/>
|
|
50
|
+
<conformance>
|
|
51
|
+
<reference value="#conf1"/>
|
|
52
|
+
</conformance>
|
|
53
|
+
</capability>
|
|
54
|
+
<capability>
|
|
55
|
+
<required value="true"/>
|
|
56
|
+
<description value="Patient Conditional Create Operation"/>
|
|
57
|
+
<link value="http://hl7-fhir.github.io/http.html#2.1.0.13.1"/>
|
|
58
|
+
<conformance>
|
|
59
|
+
<reference value="#conf1"/>
|
|
60
|
+
</conformance>
|
|
61
|
+
</capability>
|
|
62
|
+
</metadata>
|
|
63
|
+
<fixture id="example-patient">
|
|
64
|
+
<resource>
|
|
65
|
+
<reference value="#patient1"/>
|
|
66
|
+
</resource>
|
|
67
|
+
</fixture>
|
|
68
|
+
<variable>
|
|
69
|
+
<name value="V1"/>
|
|
70
|
+
<headerField value="Location"/>
|
|
71
|
+
<sourceId value="R1"/>
|
|
72
|
+
</variable>
|
|
73
|
+
<variable>
|
|
74
|
+
<name value="V2"/>
|
|
75
|
+
<path value="fhir:Bundle/fhir:entry/fhir:resource/fhir:Patient/fhir:id/@value"/>
|
|
76
|
+
<sourceId value="R3"/>
|
|
77
|
+
</variable>
|
|
78
|
+
<setup>
|
|
79
|
+
<!-- TODO: Conditional Delete -->
|
|
80
|
+
<!-- Conditional Delete -->
|
|
81
|
+
<action>
|
|
82
|
+
<operation>
|
|
83
|
+
<type>
|
|
84
|
+
<code value="delete"/>
|
|
85
|
+
</type>
|
|
86
|
+
<resource value="Patient"/>
|
|
87
|
+
<params value="given=John&family=Doe"/>
|
|
88
|
+
</operation>
|
|
89
|
+
</action>
|
|
90
|
+
</setup>
|
|
91
|
+
<test id="Test1">
|
|
92
|
+
<name value="Create"/>
|
|
93
|
+
<description value="Create, read, search, conditional create, conditional delete."/>
|
|
94
|
+
<metadata>
|
|
95
|
+
<link>
|
|
96
|
+
<url value="http://hl7.org/implement/standards/FHIR-Develop/patient.html"/>
|
|
97
|
+
<description value="FHIR Patient"/>
|
|
98
|
+
</link>
|
|
99
|
+
<capability>
|
|
100
|
+
<validated value="true"/>
|
|
101
|
+
<description value="Patient Search Operation"/>
|
|
102
|
+
<link value="http://hl7.org/implement/standards/FHIR-Develop/http.html#search"/>
|
|
103
|
+
<conformance>
|
|
104
|
+
<reference value="#conf1"/>
|
|
105
|
+
</conformance>
|
|
106
|
+
</capability>
|
|
107
|
+
</metadata>
|
|
108
|
+
<!-- Create the patient using fixture -->
|
|
109
|
+
<action>
|
|
110
|
+
<operation>
|
|
111
|
+
<type>
|
|
112
|
+
<code value="create"/>
|
|
113
|
+
</type>
|
|
114
|
+
<sourceId value="example-patient"/>
|
|
115
|
+
</operation>
|
|
116
|
+
</action>
|
|
117
|
+
<action>
|
|
118
|
+
<assert>
|
|
119
|
+
<responseCode value="201"/>
|
|
120
|
+
</assert>
|
|
121
|
+
</action>
|
|
122
|
+
<!-- Patient search by name. Save the responseBody in 'F1' fixture.
|
|
123
|
+
Save the responseHeader in H1 -->
|
|
124
|
+
<action>
|
|
125
|
+
<operation>
|
|
126
|
+
<type>
|
|
127
|
+
<code value="search"/>
|
|
128
|
+
</type>
|
|
129
|
+
<resource value="Patient"/>
|
|
130
|
+
<contentType value="json"/>
|
|
131
|
+
<params value="?given=John&family=Doe"/>
|
|
132
|
+
<responseId value="R1"/>
|
|
133
|
+
</operation>
|
|
134
|
+
</action>
|
|
135
|
+
<!-- Verify that the Location in response-header is valid -->
|
|
136
|
+
<!-- TODO: Should this be content-location? -->
|
|
137
|
+
<action>
|
|
138
|
+
<assert>
|
|
139
|
+
<headerField value="Location"/>
|
|
140
|
+
<operator value="notEmpty"/>
|
|
141
|
+
<warningOnly value="true"/>
|
|
142
|
+
</assert>
|
|
143
|
+
</action>
|
|
144
|
+
<!-- Verify that the birthdate got persisted and is being returned properly -->
|
|
145
|
+
<action>
|
|
146
|
+
<assert>
|
|
147
|
+
<operator value="equals"/>
|
|
148
|
+
<path value="fhir:Bundle/fhir:entry/fhir:resource/fhir:Patient/fhir:birthDate/@value"/>
|
|
149
|
+
<sourceId value="R1"/>
|
|
150
|
+
<value value="1974-12-31"/>
|
|
151
|
+
<warningOnly value="true"/>
|
|
152
|
+
</assert>
|
|
153
|
+
</action>
|
|
154
|
+
<!-- Verify that the navigation links are valid -->
|
|
155
|
+
<action>
|
|
156
|
+
<assert>
|
|
157
|
+
<navigationLinks value="true"/>
|
|
158
|
+
<warningOnly value="true"/>
|
|
159
|
+
</assert>
|
|
160
|
+
</action>
|
|
161
|
+
|
|
162
|
+
<!-- Use the Location returned earlier to grab the resource
|
|
163
|
+
to verify that Location was pointing to correct resource. -->
|
|
164
|
+
<!-- TODO: be able to pass in a direct url to client -->
|
|
165
|
+
<!-- <action> -->
|
|
166
|
+
<!-- <operation> -->
|
|
167
|
+
<!-- <type> -->
|
|
168
|
+
<!-- <code value="search"/> -->
|
|
169
|
+
<!-- </type> -->
|
|
170
|
+
<!-- <accept value="json"/> -->
|
|
171
|
+
<!-- <responseId value="R2"/> -->
|
|
172
|
+
<!-- <url value="${V1}"/> -->
|
|
173
|
+
<!-- </operation> -->
|
|
174
|
+
<!-- </action> -->
|
|
175
|
+
<!-- <action> -->
|
|
176
|
+
<!-- <assert> -->
|
|
177
|
+
<!-- <contentType value="json"/> -->
|
|
178
|
+
<!-- </assert> -->
|
|
179
|
+
<!-- </action> -->
|
|
180
|
+
<!-- <action> -->
|
|
181
|
+
<!-- <assert> -->
|
|
182
|
+
<!-- <response value="okay"/> -->
|
|
183
|
+
<!-- </assert> -->
|
|
184
|
+
<!-- </action> -->
|
|
185
|
+
|
|
186
|
+
<!-- Search for the resource but this time using the birthdate
|
|
187
|
+
as a search parameter to make sure search by birthDate works -->
|
|
188
|
+
<action>
|
|
189
|
+
<operation>
|
|
190
|
+
<type>
|
|
191
|
+
<code value="search"/>
|
|
192
|
+
</type>
|
|
193
|
+
<resource value="Patient"/>
|
|
194
|
+
<accept value="json"/>
|
|
195
|
+
<params value="?given=John&family=Doe&birthdate=1974-12-31"/>
|
|
196
|
+
<responseId value="R3"/>
|
|
197
|
+
</operation>
|
|
198
|
+
</action>
|
|
199
|
+
<action>
|
|
200
|
+
<assert>
|
|
201
|
+
<contentType value="json"/>
|
|
202
|
+
</assert>
|
|
203
|
+
</action>
|
|
204
|
+
<action>
|
|
205
|
+
<assert>
|
|
206
|
+
<response value="okay"/>
|
|
207
|
+
</assert>
|
|
208
|
+
</action>
|
|
209
|
+
|
|
210
|
+
<!-- Verify that the birthDate matches expectations -->
|
|
211
|
+
<!-- TODO: THIS RELIES ON THE R2 RESPONSE, which I have commented out until direct url grabs possible -->
|
|
212
|
+
<!-- <action> -->
|
|
213
|
+
<!-- <assert> -->
|
|
214
|
+
<!-- <compareToSourceId value="R2"/> -->
|
|
215
|
+
<!-- <compareToSourcePath value="fhir:Patient/fhir:birthDate/@value"/> -->
|
|
216
|
+
<!-- <path value="fhir:Patient/fhir:birthDate/@value"/> -->
|
|
217
|
+
<!-- <sourceId value="R3"/> -->
|
|
218
|
+
<!-- </assert> -->
|
|
219
|
+
<!-- </action> -->
|
|
220
|
+
<!-- <!-- Verify that the name matches expectations --> -->
|
|
221
|
+
<!-- <action> -->
|
|
222
|
+
<!-- <assert> -->
|
|
223
|
+
<!-- <path value="fhir:Patient/fhir:name/fhir:given/@value"/> -->
|
|
224
|
+
<!-- <sourceId value="R3"/> -->
|
|
225
|
+
<!-- <value value="John"/> -->
|
|
226
|
+
<!-- </assert> -->
|
|
227
|
+
<!-- </action> -->
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
<!-- TODO: Conditional Create -->
|
|
231
|
+
<!-- <!-- Conditional Create --> -->
|
|
232
|
+
<!-- <action> -->
|
|
233
|
+
<!-- <operation> -->
|
|
234
|
+
<!-- <type> -->
|
|
235
|
+
<!-- <code value="create"/> -->
|
|
236
|
+
<!-- </type> -->
|
|
237
|
+
<!-- <requestHeader> -->
|
|
238
|
+
<!-- <field value="If-None-Exist"/> -->
|
|
239
|
+
<!-- <value value="Patient?given=John&amp;Doe&amp;birthdate=1974-12-31"/> -->
|
|
240
|
+
<!-- </requestHeader> -->
|
|
241
|
+
<!-- <sourceId value="F1"/> -->
|
|
242
|
+
<!-- </operation> -->
|
|
243
|
+
<!-- </action> -->
|
|
244
|
+
<!-- <!-- The response code of 200 verifies that the resource -->
|
|
245
|
+
<!-- already exists and did not get created --> -->
|
|
246
|
+
<!-- <action> -->
|
|
247
|
+
<!-- <assert> -->
|
|
248
|
+
<!-- <responseCode value="200"/> -->
|
|
249
|
+
<!-- </assert> -->
|
|
250
|
+
<!-- </action> -->
|
|
251
|
+
<!-- -->
|
|
252
|
+
|
|
253
|
+
<!-- TODO: Conditional Delete -->
|
|
254
|
+
<!-- <!-- Conditional Delete --> -->
|
|
255
|
+
<!-- <action> -->
|
|
256
|
+
<!-- <operation> -->
|
|
257
|
+
<!-- <type> -->
|
|
258
|
+
<!-- <code value="delete"/> -->
|
|
259
|
+
<!-- </type> -->
|
|
260
|
+
<!-- <resource value="Patient"/> -->
|
|
261
|
+
<!-- <params value="?given=John&amp;family=Doe&amp;birthdate=1974-12-31"/> -->
|
|
262
|
+
<!-- </operation> -->
|
|
263
|
+
<!-- </action> -->
|
|
264
|
+
|
|
265
|
+
<!-- Search again and make sure the patient has been deleted.
|
|
266
|
+
This time perform read by id using variable -->
|
|
267
|
+
<action>
|
|
268
|
+
<operation>
|
|
269
|
+
<type>
|
|
270
|
+
<code value="read"/>
|
|
271
|
+
</type>
|
|
272
|
+
<resource value="Patient"/>
|
|
273
|
+
<params value="/${V2}"/>
|
|
274
|
+
</operation>
|
|
275
|
+
</action>
|
|
276
|
+
<action>
|
|
277
|
+
<assert>
|
|
278
|
+
<responseCode value="410"/>
|
|
279
|
+
</assert>
|
|
280
|
+
</action>
|
|
281
|
+
</test>
|
|
282
|
+
</TestScript>
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
<TestScript xmlns="http://hl7.org/fhir">
|
|
2
|
+
<id value="UpdateTestScript"/>
|
|
3
|
+
<url value="http://hl7.org/fhir/TestScript/update"/>
|
|
4
|
+
<name value="Update Test Script"/>
|
|
5
|
+
<status value="draft"/>
|
|
6
|
+
<description value="Test Script for update of the patient resource"/>
|
|
7
|
+
<contained>
|
|
8
|
+
<Conformance xmlns="http://hl7.org/fhir">
|
|
9
|
+
<id value="conf1"/>
|
|
10
|
+
<date value="2012-01-04"/>
|
|
11
|
+
<kind value="instance"/>
|
|
12
|
+
<fhirVersion value="1.0.0"/>
|
|
13
|
+
<acceptUnknown value="both"/>
|
|
14
|
+
<format value="xml"/>
|
|
15
|
+
<format value="json"/>
|
|
16
|
+
<rest>
|
|
17
|
+
<mode value="server"/>
|
|
18
|
+
<resource>
|
|
19
|
+
<type value="Patient"/>
|
|
20
|
+
<interaction>
|
|
21
|
+
<code value="create"/>
|
|
22
|
+
</interaction>
|
|
23
|
+
<interaction>
|
|
24
|
+
<code value="read"/>
|
|
25
|
+
</interaction>
|
|
26
|
+
<interaction>
|
|
27
|
+
<code value="update"/>
|
|
28
|
+
</interaction>
|
|
29
|
+
<interaction>
|
|
30
|
+
<code value="delete"/>
|
|
31
|
+
</interaction>
|
|
32
|
+
</resource>
|
|
33
|
+
</rest>
|
|
34
|
+
</Conformance>
|
|
35
|
+
<Patient xmlns="http://hl7.org/fhir">
|
|
36
|
+
<id value="patient"/>
|
|
37
|
+
<name>
|
|
38
|
+
<use value="official"/>
|
|
39
|
+
<family value="Doe"/>
|
|
40
|
+
<given value="John"/>
|
|
41
|
+
</name>
|
|
42
|
+
<birthDate value="1974-12-31" />
|
|
43
|
+
</Patient>
|
|
44
|
+
<Patient xmlns="http://hl7.org/fhir">
|
|
45
|
+
<id value="patient-updated"/>
|
|
46
|
+
<name>
|
|
47
|
+
<use value="official"/>
|
|
48
|
+
<family value="NotDoe"/>
|
|
49
|
+
<given value="John"/>
|
|
50
|
+
</name>
|
|
51
|
+
</Patient>
|
|
52
|
+
</contained>
|
|
53
|
+
<fixture id="example-patient">
|
|
54
|
+
<resource>
|
|
55
|
+
<reference value="#patient"/>
|
|
56
|
+
</resource>
|
|
57
|
+
</fixture>
|
|
58
|
+
<fixture id="example-patient-updated">
|
|
59
|
+
<resource>
|
|
60
|
+
<reference value="#patient-updated"/>
|
|
61
|
+
</resource>
|
|
62
|
+
</fixture>
|
|
63
|
+
<setup>
|
|
64
|
+
<action>
|
|
65
|
+
<operation>
|
|
66
|
+
<type>
|
|
67
|
+
<code value="create"/>
|
|
68
|
+
</type>
|
|
69
|
+
<sourceId value="example-patient"/>
|
|
70
|
+
</operation>
|
|
71
|
+
</action>
|
|
72
|
+
</setup>
|
|
73
|
+
<test id="UPDATE01">
|
|
74
|
+
<name value="Update Patient"/>
|
|
75
|
+
<description value="Update a patient and validate response."/>
|
|
76
|
+
<metadata>
|
|
77
|
+
<capability>
|
|
78
|
+
<required value="true"/>
|
|
79
|
+
<description value="Patient Create, Read, and Delete Operations"/>
|
|
80
|
+
<link value="http://hl7.org/implement/standards/FHIR-Develop/http.html#create"/>
|
|
81
|
+
<link value="http://hl7.org/implement/standards/FHIR-Develop/http.html#read"/>
|
|
82
|
+
<link value="http://hl7.org/implement/standards/FHIR-Develop/http.html#delete"/>
|
|
83
|
+
<conformance>
|
|
84
|
+
<reference value="#conf1"/>
|
|
85
|
+
</conformance>
|
|
86
|
+
</capability>
|
|
87
|
+
<capability>
|
|
88
|
+
<validated value="true"/>
|
|
89
|
+
<description value="Patient Update Operation"/>
|
|
90
|
+
<link value="http://hl7.org/implement/standards/FHIR-Develop/http.html#update"/>
|
|
91
|
+
<conformance>
|
|
92
|
+
<reference value="#conf1"/>
|
|
93
|
+
</conformance>
|
|
94
|
+
</capability>
|
|
95
|
+
</metadata>
|
|
96
|
+
<action>
|
|
97
|
+
<operation>
|
|
98
|
+
<type>
|
|
99
|
+
<code value="update"/>
|
|
100
|
+
</type>
|
|
101
|
+
<sourceId value="example-patient-updated"/>
|
|
102
|
+
<targetId value="example-patient"/>
|
|
103
|
+
</operation>
|
|
104
|
+
</action>
|
|
105
|
+
<action>
|
|
106
|
+
<assert>
|
|
107
|
+
<responseCode value="200"/>
|
|
108
|
+
</assert>
|
|
109
|
+
</action>
|
|
110
|
+
<action>
|
|
111
|
+
<assert>
|
|
112
|
+
<headerField value="Last-Modified"/>
|
|
113
|
+
<operator value="notEmpty"/>
|
|
114
|
+
</assert>
|
|
115
|
+
</action>
|
|
116
|
+
<action>
|
|
117
|
+
<operation>
|
|
118
|
+
<type>
|
|
119
|
+
<code value="read"/>
|
|
120
|
+
</type>
|
|
121
|
+
<targetId value="example-patient"/>
|
|
122
|
+
</operation>
|
|
123
|
+
</action>
|
|
124
|
+
<action>
|
|
125
|
+
<assert>
|
|
126
|
+
<response value="okay"/>
|
|
127
|
+
</assert>
|
|
128
|
+
</action>
|
|
129
|
+
<action>
|
|
130
|
+
<assert>
|
|
131
|
+
<operator value="equals"/>
|
|
132
|
+
<path value="fhir:Patient/fhir:name/fhir:family/@value"/>
|
|
133
|
+
<value value="NotDoe"/>
|
|
134
|
+
</assert>
|
|
135
|
+
</action>
|
|
136
|
+
</test>
|
|
137
|
+
<teardown>
|
|
138
|
+
<action>
|
|
139
|
+
<operation>
|
|
140
|
+
<type>
|
|
141
|
+
<code value="delete"/>
|
|
142
|
+
</type>
|
|
143
|
+
<targetId value="example-patient"/>
|
|
144
|
+
</operation>
|
|
145
|
+
</action>
|
|
146
|
+
</teardown>
|
|
147
|
+
</TestScript>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<Bundle xmlns="http://hl7.org/fhir">
|
|
2
|
+
<id value="urn:uuid:744443410ff447a2a11dc191b4e0ab9b" />
|
|
3
|
+
<meta>
|
|
4
|
+
<lastUpdated value="2016-03-14T19:45:15.953+00:00" />
|
|
5
|
+
</meta>
|
|
6
|
+
<type value="searchset" />
|
|
7
|
+
<total value="2" />
|
|
8
|
+
<entry>
|
|
9
|
+
<resource>
|
|
10
|
+
<Observation>
|
|
11
|
+
<id value="691-bp" />
|
|
12
|
+
<status value="final" />
|
|
13
|
+
<category>
|
|
14
|
+
<coding>
|
|
15
|
+
<system value="http://hl7.org/fhir/observation-category"/>
|
|
16
|
+
<code value="vital-signs"/>
|
|
17
|
+
<display value="Vital Signs"/>
|
|
18
|
+
</coding>
|
|
19
|
+
<text value="Vital Signs"
|
|
20
|
+
</category>
|
|
21
|
+
<code>
|
|
22
|
+
<coding>
|
|
23
|
+
<system value="http://loinc.org"/>
|
|
24
|
+
<code value="55284-4"/>
|
|
25
|
+
<display value="Blood pressure systolic and diastolic"/>
|
|
26
|
+
</coding>
|
|
27
|
+
<text value="Blood pressure systolic and diastolic"
|
|
28
|
+
</code>
|
|
29
|
+
<subject>
|
|
30
|
+
<reference value="Patient/1186747" />
|
|
31
|
+
</subject>
|
|
32
|
+
<encounter>
|
|
33
|
+
<reference value="Encounter/691" />
|
|
34
|
+
</encounter>
|
|
35
|
+
<effectiveDateTime value="1999-07-02"/>
|
|
36
|
+
<component>
|
|
37
|
+
<code>
|
|
38
|
+
<coding>
|
|
39
|
+
<system value="http://loinc.org"/>
|
|
40
|
+
<code value="8480-6"/>
|
|
41
|
+
<display value="Systolic blood pressure"/>
|
|
42
|
+
</coding>
|
|
43
|
+
<text value="Systolic blood pressure"
|
|
44
|
+
</code>
|
|
45
|
+
<valueQuantity>
|
|
46
|
+
<value value="109" />
|
|
47
|
+
<unit value="mmHg" />
|
|
48
|
+
<system value="http://unitsofmeasure.org" />
|
|
49
|
+
<code value="mm[Hg]"/>
|
|
50
|
+
</valueQuantity>
|
|
51
|
+
</component>
|
|
52
|
+
<component>
|
|
53
|
+
<code>
|
|
54
|
+
<coding>
|
|
55
|
+
<system value="http://loinc.org"/>
|
|
56
|
+
<code value="8462-4"/>
|
|
57
|
+
<display value="Diastolic blood pressure"/>
|
|
58
|
+
</coding>
|
|
59
|
+
<text value="Diastolic blood pressure"
|
|
60
|
+
</code>
|
|
61
|
+
<valueQuantity>
|
|
62
|
+
<value value="44" />
|
|
63
|
+
<unit value="mmHg" />
|
|
64
|
+
<system value="http://unitsofmeasure.org" />
|
|
65
|
+
<code value="mm[Hg]"/>
|
|
66
|
+
</valueQuantity>
|
|
67
|
+
</component>
|
|
68
|
+
|
|
69
|
+
</Observation>
|
|
70
|
+
</resource>
|
|
71
|
+
<request>
|
|
72
|
+
<method value="POST" />
|
|
73
|
+
<url value="Observation/7c9f231034214f4bab08293c6deb1c60/_history/1" />
|
|
74
|
+
</request>
|
|
75
|
+
</entry>
|
|
76
|
+
<entry>
|
|
77
|
+
<resource>
|
|
78
|
+
<Observation>
|
|
79
|
+
<id value="692-bp" />
|
|
80
|
+
<status value="final" />
|
|
81
|
+
<category>
|
|
82
|
+
<coding>
|
|
83
|
+
<system value="http://hl7.org/fhir/observation-category"/>
|
|
84
|
+
<code value="vital-signs"/>
|
|
85
|
+
<display value="Vital Signs"/>
|
|
86
|
+
</coding>
|
|
87
|
+
<text value="Vital Signs"
|
|
88
|
+
</category>
|
|
89
|
+
<code>
|
|
90
|
+
<coding>
|
|
91
|
+
<system value="http://loinc.org"/>
|
|
92
|
+
<code value="8302-2"/>
|
|
93
|
+
<display value="body height"/>
|
|
94
|
+
</coding>
|
|
95
|
+
<text value="body height"
|
|
96
|
+
</code>
|
|
97
|
+
<subject>
|
|
98
|
+
<reference value="Patient/1186747" />
|
|
99
|
+
</subject>
|
|
100
|
+
<encounter>
|
|
101
|
+
<reference value="Encounter/691" />
|
|
102
|
+
</encounter>
|
|
103
|
+
<effectiveDateTime value="1999-07-02"/>
|
|
104
|
+
<valueQuantity>
|
|
105
|
+
<value value="109" />
|
|
106
|
+
<unit value="cm" />
|
|
107
|
+
<system value="http://unitsofmeasure.org" />
|
|
108
|
+
<code value="cm"/>
|
|
109
|
+
</valueQuantity>
|
|
110
|
+
</Observation>
|
|
111
|
+
</resource>
|
|
112
|
+
<request>
|
|
113
|
+
<method value="POST" />
|
|
114
|
+
<url value="Observation/7c9f231034214f4bab08293c6deb1c60/_history/1" />
|
|
115
|
+
</request>
|
|
116
|
+
</entry>
|
|
117
|
+
</Bundle>
|
data/test/test_helper.rb
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require_relative '../test_helper'
|
|
2
|
+
|
|
3
|
+
class ArgonautSprint6Test < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@fixtures = File.absolute_path(File.join(File.absolute_path(__FILE__),'..','..','fixtures'))
|
|
7
|
+
@labs = FHIR::Bundle.from_xml File.read(File.join(@fixtures, 'lab_results_bundle.xml'))
|
|
8
|
+
@reports = FHIR::Bundle.from_xml File.read(File.join(@fixtures, 'diagnostic_bundle.xml'))
|
|
9
|
+
@test = Crucible::Tests::ArgonautSprint6Test.new nil
|
|
10
|
+
@test.instance_variable_set(:@warnings, [])
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def test_validate_observation
|
|
14
|
+
reply = FHIR::ClientReply.new nil, nil
|
|
15
|
+
reply.resource = @labs
|
|
16
|
+
|
|
17
|
+
reply.response = Struct.new(:code).new(200)
|
|
18
|
+
|
|
19
|
+
@test.send(:validate_observation_reply, reply)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_validate_diagnostic_report
|
|
23
|
+
reply = FHIR::ClientReply.new nil, nil
|
|
24
|
+
reply.resource = @reports
|
|
25
|
+
|
|
26
|
+
reply.response = Struct.new(:code).new(200)
|
|
27
|
+
|
|
28
|
+
@test.send(:validate_diagnostic_report_reply, reply)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require_relative '../test_helper'
|
|
2
|
+
|
|
3
|
+
class ArgonautSprint7Test < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@fixtures = File.absolute_path(File.join(File.absolute_path(__FILE__),'..','..','fixtures'))
|
|
7
|
+
@bp_observation = FHIR::Bundle.from_xml File.read(File.join(@fixtures, 'vital_signs_bundle.xml'))
|
|
8
|
+
@test = Crucible::Tests::ArgonautSprint7Test.new nil
|
|
9
|
+
@test.instance_variable_set(:@warnings, [])
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_validate_observation
|
|
13
|
+
reply = FHIR::ClientReply.new nil, nil
|
|
14
|
+
reply.resource = @bp_observation
|
|
15
|
+
|
|
16
|
+
reply.response = Struct.new(:code).new(200)
|
|
17
|
+
|
|
18
|
+
@test.send(:validate_observation_reply, reply)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require_relative '../test_helper'
|
|
2
|
+
|
|
3
|
+
class BasicTest < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
TESTING_ENDPOINT = 'http://fhir.healthintersections.com.au/open'
|
|
6
|
+
|
|
7
|
+
def test_suite_list
|
|
8
|
+
tests = Crucible::Tests::Executor.list_all
|
|
9
|
+
puts tests.keys.count
|
|
10
|
+
assert !tests.blank?, "Failed to list tests."
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def test_testscript_list
|
|
14
|
+
skip
|
|
15
|
+
tests = Crucible::Tests::TestScriptEngine.list_all
|
|
16
|
+
assert !tests.blank?, "Failed to list testscripts."
|
|
17
|
+
|
|
18
|
+
testscript_engine = Crucible::Tests::TestScriptEngine.new(nil)
|
|
19
|
+
|
|
20
|
+
keyed_test = testscript_engine.find_test('example')
|
|
21
|
+
assert !keyed_test.nil?, "Failed to find testscript by key"
|
|
22
|
+
|
|
23
|
+
results = keyed_test.execute
|
|
24
|
+
assert !results.nil? && !results.blank?, "Failed to execute testscript"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|