fhir-crucible / testscript-engine

Ruby FHIR TestScript execution engine
Apache License 2.0
5 stars 2 forks source link

Add validateProfileId using native validator #59

Closed jhlee-mitre closed 1 year ago

jhlee-mitre commented 2 years ago

Summary

Implemented validateProfileId handling in Assertion

New behavior

  1. Profile If a TestScript contains profile information, the engine requests the profile with reference URL (assuming it is an open URL). The engine transforms returned XML into FHIR StructureDefintion and stores. Once created, a profile can be reused by multiple asserts.

  2. validateProfileId If a TestScript contains an assert with validateProfileId, the engine runs FHIR profile validator to examine whether the response conforms the profile. At this point, this PR only covers the native validator provided by Ruby FHIR model. Later, it will be integrated with external validator along with necessary configurations.

Code changes

Change assertion.rb testscript_runnable.rb validate_profile_id_spec.rb basic_testreport.json example_patient_uscore.json structuredefinition-us-core-patient.json

Testing guidance

Run a TestScript containing profile and validateProfileId

jhlee-mitre commented 2 years ago

I need to figure out which http library performs best, they behaves differently when running pulling profiles from remote

jhlee-mitre commented 2 years ago

Resolved all conflicts

jhlee-mitre commented 1 year ago

Close by outdated code, change of scope, and too much rebase needs. Creating a new branch is considered productive.