Module: USCoreTestKit::ReadTest
- Included in:
- USCoreV311::AllergyIntoleranceReadTest, USCoreV311::BodyheightReadTest, USCoreV311::BodytempReadTest, USCoreV311::BodyweightReadTest, USCoreV311::BpReadTest, USCoreV311::CarePlanReadTest, USCoreV311::CareTeamReadTest, USCoreV311::ConditionReadTest, USCoreV311::DeviceReadTest, USCoreV311::DiagnosticReportLabReadTest, USCoreV311::DiagnosticReportNoteReadTest, USCoreV311::DocumentReferenceReadTest, USCoreV311::EncounterReadTest, USCoreV311::GoalReadTest, USCoreV311::HeadCircumferenceReadTest, USCoreV311::HeartrateReadTest, USCoreV311::ImmunizationReadTest, USCoreV311::MedicationRequestReadTest, USCoreV311::ObservationLabReadTest, USCoreV311::OrganizationReadTest, USCoreV311::PatientReadTest, USCoreV311::PediatricBmiForAgeReadTest, USCoreV311::PediatricWeightForHeightReadTest, USCoreV311::PractitionerReadTest, USCoreV311::ProcedureReadTest, USCoreV311::ProvenanceReadTest, USCoreV311::PulseOximetryReadTest, USCoreV311::ResprateReadTest, USCoreV311::SmokingstatusReadTest, USCoreV400::AllergyIntoleranceReadTest, USCoreV400::BloodPressureReadTest, USCoreV400::BmiReadTest, USCoreV400::BodyHeightReadTest, USCoreV400::BodyTemperatureReadTest, USCoreV400::BodyWeightReadTest, USCoreV400::CarePlanReadTest, USCoreV400::CareTeamReadTest, USCoreV400::ConditionReadTest, USCoreV400::DeviceReadTest, USCoreV400::DiagnosticReportLabReadTest, USCoreV400::DiagnosticReportNoteReadTest, USCoreV400::DocumentReferenceReadTest, USCoreV400::EncounterReadTest, USCoreV400::GoalReadTest, USCoreV400::HeadCircumferencePercentileReadTest, USCoreV400::HeadCircumferenceReadTest, USCoreV400::HeartRateReadTest, USCoreV400::ImmunizationReadTest, USCoreV400::MedicationRequestReadTest, USCoreV400::ObservationLabReadTest, USCoreV400::OrganizationReadTest, USCoreV400::PatientReadTest, USCoreV400::PediatricBmiForAgeReadTest, USCoreV400::PediatricWeightForHeightReadTest, USCoreV400::PractitionerReadTest, USCoreV400::ProcedureReadTest, USCoreV400::ProvenanceReadTest, USCoreV400::PulseOximetryReadTest, USCoreV400::RespiratoryRateReadTest, USCoreV400::SmokingstatusReadTest, USCoreV501::AllergyIntoleranceReadTest, USCoreV501::BloodPressureReadTest, USCoreV501::BmiReadTest, USCoreV501::BodyHeightReadTest, USCoreV501::BodyTemperatureReadTest, USCoreV501::BodyWeightReadTest, USCoreV501::CarePlanReadTest, USCoreV501::CareTeamReadTest, USCoreV501::ConditionEncounterDiagnosisReadTest, USCoreV501::ConditionProblemsHealthConcernsReadTest, USCoreV501::DeviceReadTest, USCoreV501::DiagnosticReportLabReadTest, USCoreV501::DiagnosticReportNoteReadTest, USCoreV501::DocumentReferenceReadTest, USCoreV501::EncounterReadTest, USCoreV501::GoalReadTest, USCoreV501::HeadCircumferencePercentileReadTest, USCoreV501::HeadCircumferenceReadTest, USCoreV501::HeartRateReadTest, USCoreV501::ImmunizationReadTest, USCoreV501::MedicationRequestReadTest, USCoreV501::ObservationClinicalTestReadTest, USCoreV501::ObservationImagingReadTest, USCoreV501::ObservationLabReadTest, USCoreV501::ObservationSdohAssessmentReadTest, USCoreV501::ObservationSexualOrientationReadTest, USCoreV501::ObservationSocialHistoryReadTest, USCoreV501::OrganizationReadTest, USCoreV501::PatientReadTest, USCoreV501::PediatricBmiForAgeReadTest, USCoreV501::PediatricWeightForHeightReadTest, USCoreV501::PractitionerReadTest, USCoreV501::ProcedureReadTest, USCoreV501::ProvenanceReadTest, USCoreV501::PulseOximetryReadTest, USCoreV501::QuestionnaireResponseReadTest, USCoreV501::RelatedPersonReadTest, USCoreV501::RespiratoryRateReadTest, USCoreV501::ServiceRequestReadTest, USCoreV501::SmokingstatusReadTest
- Defined in:
- lib/us_core_test_kit/read_test.rb
Instance Method Summary collapse
- #all_scratch_resources ⇒ Object
- #bad_resource_id_message(expected_id) ⇒ Object
- #no_resources_skip_message ⇒ Object
- #perform_read_test(resources, reply_handler = nil) ⇒ Object
- #read_and_validate(resource_to_read) ⇒ Object
- #readable_resources(resources) ⇒ Object
- #resource_class ⇒ Object
- #resource_id(resource) ⇒ Object
Instance Method Details
#all_scratch_resources ⇒ Object
3 4 5 |
# File 'lib/us_core_test_kit/read_test.rb', line 3 def all_scratch_resources scratch_resources[:all] ||= [] end |
#bad_resource_id_message(expected_id) ⇒ Object
54 55 56 |
# File 'lib/us_core_test_kit/read_test.rb', line 54 def (expected_id) "Expected resource to have id: `#{expected_id.inspect}`, but found `#{resource.id.inspect}`" end |
#no_resources_skip_message ⇒ Object
49 50 51 52 |
# File 'lib/us_core_test_kit/read_test.rb', line 49 def "No #{resource_type} resources appear to be available. " \ 'Please use patients with more information.' end |
#perform_read_test(resources, reply_handler = nil) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/us_core_test_kit/read_test.rb', line 7 def perform_read_test(resources, reply_handler = nil) skip_if resources.blank?, resources_to_read = readable_resources(resources) assert resources_to_read.present?, "No #{resource_type} id found." if config.[:read_all_resources] resources_to_read.each do |resource| read_and_validate(resource) end else read_and_validate(resources_to_read.first) end end |
#read_and_validate(resource_to_read) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/us_core_test_kit/read_test.rb', line 31 def read_and_validate(resource_to_read) id = resource_id(resource_to_read) fhir_read resource_type, id assert_response_status(200) assert_resource_type(resource_type) assert resource.id.present? && resource.id == id, (id) if resource_to_read.is_a? FHIR::Reference all_scratch_resources << resource end end |
#readable_resources(resources) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/us_core_test_kit/read_test.rb', line 23 def readable_resources(resources) resources .select { |resource| resource.is_a?(resource_class) || resource.is_a?(FHIR::Reference) } .select { |resource| (resource.is_a?(FHIR::Reference) ? resource.reference.split('/').last : resource.id).present? } .compact .uniq { |resource| resource.is_a?(FHIR::Reference) ? resource.reference.split('/').last : resource.id } end |
#resource_class ⇒ Object
58 59 60 |
# File 'lib/us_core_test_kit/read_test.rb', line 58 def resource_class FHIR.const_get(resource_type) end |
#resource_id(resource) ⇒ Object
45 46 47 |
# File 'lib/us_core_test_kit/read_test.rb', line 45 def resource_id(resource) resource.is_a?(FHIR::Reference) ? resource.reference.split('/').last : resource.id end |