Module: USCoreTestKit::ValidationTest
- Included in:
- USCoreV311::AllergyIntoleranceValidationTest, USCoreV311::BodyheightValidationTest, USCoreV311::BodytempValidationTest, USCoreV311::BodyweightValidationTest, USCoreV311::BpValidationTest, USCoreV311::CarePlanValidationTest, USCoreV311::CareTeamValidationTest, USCoreV311::ConditionValidationTest, USCoreV311::DeviceValidationTest, USCoreV311::DiagnosticReportLabValidationTest, USCoreV311::DiagnosticReportNoteValidationTest, USCoreV311::DocumentReferenceValidationTest, USCoreV311::EncounterValidationTest, USCoreV311::GoalValidationTest, USCoreV311::HeadCircumferenceValidationTest, USCoreV311::HeartrateValidationTest, USCoreV311::ImmunizationValidationTest, USCoreV311::MedicationRequestValidationTest, USCoreV311::MedicationValidationTest, USCoreV311::ObservationLabValidationTest, USCoreV311::OrganizationValidationTest, USCoreV311::PatientValidationTest, USCoreV311::PediatricBmiForAgeValidationTest, USCoreV311::PediatricWeightForHeightValidationTest, USCoreV311::PractitionerValidationTest, USCoreV311::ProcedureValidationTest, USCoreV311::ProvenanceValidationTest, USCoreV311::PulseOximetryValidationTest, USCoreV311::ResprateValidationTest, USCoreV311::SmokingstatusValidationTest, USCoreV400::AllergyIntoleranceValidationTest, USCoreV400::BloodPressureValidationTest, USCoreV400::BmiValidationTest, USCoreV400::BodyHeightValidationTest, USCoreV400::BodyTemperatureValidationTest, USCoreV400::BodyWeightValidationTest, USCoreV400::CarePlanValidationTest, USCoreV400::CareTeamValidationTest, USCoreV400::ConditionValidationTest, USCoreV400::DeviceValidationTest, USCoreV400::DiagnosticReportLabValidationTest, USCoreV400::DiagnosticReportNoteValidationTest, USCoreV400::DocumentReferenceValidationTest, USCoreV400::EncounterValidationTest, USCoreV400::GoalValidationTest, USCoreV400::HeadCircumferencePercentileValidationTest, USCoreV400::HeadCircumferenceValidationTest, USCoreV400::HeartRateValidationTest, USCoreV400::ImmunizationValidationTest, USCoreV400::MedicationRequestValidationTest, USCoreV400::MedicationValidationTest, USCoreV400::ObservationLabValidationTest, USCoreV400::OrganizationValidationTest, USCoreV400::PatientValidationTest, USCoreV400::PediatricBmiForAgeValidationTest, USCoreV400::PediatricWeightForHeightValidationTest, USCoreV400::PractitionerValidationTest, USCoreV400::ProcedureValidationTest, USCoreV400::ProvenanceValidationTest, USCoreV400::PulseOximetryValidationTest, USCoreV400::RespiratoryRateValidationTest, USCoreV400::SmokingstatusValidationTest, USCoreV501::AllergyIntoleranceValidationTest, USCoreV501::BloodPressureValidationTest, USCoreV501::BmiValidationTest, USCoreV501::BodyHeightValidationTest, USCoreV501::BodyTemperatureValidationTest, USCoreV501::BodyWeightValidationTest, USCoreV501::CarePlanValidationTest, USCoreV501::CareTeamValidationTest, USCoreV501::ConditionEncounterDiagnosisValidationTest, USCoreV501::ConditionProblemsHealthConcernsValidationTest, USCoreV501::DeviceValidationTest, USCoreV501::DiagnosticReportLabValidationTest, USCoreV501::DiagnosticReportNoteValidationTest, USCoreV501::DocumentReferenceValidationTest, USCoreV501::EncounterValidationTest, USCoreV501::GoalValidationTest, USCoreV501::HeadCircumferencePercentileValidationTest, USCoreV501::HeadCircumferenceValidationTest, USCoreV501::HeartRateValidationTest, USCoreV501::ImmunizationValidationTest, USCoreV501::MedicationRequestValidationTest, USCoreV501::MedicationValidationTest, USCoreV501::ObservationClinicalTestValidationTest, USCoreV501::ObservationImagingValidationTest, USCoreV501::ObservationLabValidationTest, USCoreV501::ObservationSdohAssessmentValidationTest, USCoreV501::ObservationSexualOrientationValidationTest, USCoreV501::ObservationSocialHistoryValidationTest, USCoreV501::OrganizationValidationTest, USCoreV501::PatientValidationTest, USCoreV501::PediatricBmiForAgeValidationTest, USCoreV501::PediatricWeightForHeightValidationTest, USCoreV501::PractitionerRoleValidationTest, USCoreV501::PractitionerValidationTest, USCoreV501::ProcedureValidationTest, USCoreV501::ProvenanceValidationTest, USCoreV501::PulseOximetryValidationTest, USCoreV501::QuestionnaireResponseValidationTest, USCoreV501::RelatedPersonValidationTest, USCoreV501::RespiratoryRateValidationTest, USCoreV501::ServiceRequestValidationTest, USCoreV501::SmokingstatusValidationTest, USCoreV610::AllergyIntoleranceValidationTest, USCoreV610::BloodPressureValidationTest, USCoreV610::BmiValidationTest, USCoreV610::BodyHeightValidationTest, USCoreV610::BodyTemperatureValidationTest, USCoreV610::BodyWeightValidationTest, USCoreV610::CarePlanValidationTest, USCoreV610::CareTeamValidationTest, USCoreV610::ConditionEncounterDiagnosisValidationTest, USCoreV610::ConditionProblemsHealthConcernsValidationTest, USCoreV610::CoverageValidationTest, USCoreV610::DeviceValidationTest, USCoreV610::DiagnosticReportLabValidationTest, USCoreV610::DiagnosticReportNoteValidationTest, USCoreV610::DocumentReferenceValidationTest, USCoreV610::EncounterValidationTest, USCoreV610::GoalValidationTest, USCoreV610::HeadCircumferencePercentileValidationTest, USCoreV610::HeadCircumferenceValidationTest, USCoreV610::HeartRateValidationTest, USCoreV610::ImmunizationValidationTest, USCoreV610::MedicationDispenseValidationTest, USCoreV610::MedicationRequestValidationTest, USCoreV610::MedicationValidationTest, USCoreV610::ObservationClinicalResultValidationTest, USCoreV610::ObservationLabValidationTest, USCoreV610::ObservationOccupationValidationTest, USCoreV610::ObservationPregnancyintentValidationTest, USCoreV610::ObservationPregnancystatusValidationTest, USCoreV610::ObservationScreeningAssessmentValidationTest, USCoreV610::ObservationSexualOrientationValidationTest, USCoreV610::OrganizationValidationTest, USCoreV610::PatientValidationTest, USCoreV610::PediatricBmiForAgeValidationTest, USCoreV610::PediatricWeightForHeightValidationTest, USCoreV610::PractitionerRoleValidationTest, USCoreV610::PractitionerValidationTest, USCoreV610::ProcedureValidationTest, USCoreV610::ProvenanceValidationTest, USCoreV610::PulseOximetryValidationTest, USCoreV610::QuestionnaireResponseValidationTest, USCoreV610::RelatedPersonValidationTest, USCoreV610::RespiratoryRateValidationTest, USCoreV610::ServiceRequestValidationTest, USCoreV610::SimpleObservationValidationTest, USCoreV610::SmokingstatusValidationTest, USCoreV610::SpecimenValidationTest, USCoreV700_BALLOT::AllergyIntoleranceValidationTest, USCoreV700_BALLOT::AverageBloodPressureValidationTest, USCoreV700_BALLOT::BloodPressureValidationTest, USCoreV700_BALLOT::BmiValidationTest, USCoreV700_BALLOT::BodyHeightValidationTest, USCoreV700_BALLOT::BodyTemperatureValidationTest, USCoreV700_BALLOT::BodyWeightValidationTest, USCoreV700_BALLOT::CareExperiencePreferenceValidationTest, USCoreV700_BALLOT::CarePlanValidationTest, USCoreV700_BALLOT::CareTeamValidationTest, USCoreV700_BALLOT::ConditionEncounterDiagnosisValidationTest, USCoreV700_BALLOT::ConditionProblemsHealthConcernsValidationTest, USCoreV700_BALLOT::CoverageValidationTest, USCoreV700_BALLOT::DeviceValidationTest, USCoreV700_BALLOT::DiagnosticReportLabValidationTest, USCoreV700_BALLOT::DiagnosticReportNoteValidationTest, USCoreV700_BALLOT::DocumentReferenceValidationTest, USCoreV700_BALLOT::EncounterValidationTest, USCoreV700_BALLOT::GoalValidationTest, USCoreV700_BALLOT::HeadCircumferencePercentileValidationTest, USCoreV700_BALLOT::HeadCircumferenceValidationTest, USCoreV700_BALLOT::HeartRateValidationTest, USCoreV700_BALLOT::ImmunizationValidationTest, USCoreV700_BALLOT::LocationValidationTest, USCoreV700_BALLOT::MedicationDispenseValidationTest, USCoreV700_BALLOT::MedicationRequestValidationTest, USCoreV700_BALLOT::MedicationValidationTest, USCoreV700_BALLOT::ObservationClinicalResultValidationTest, USCoreV700_BALLOT::ObservationLabValidationTest, USCoreV700_BALLOT::ObservationOccupationValidationTest, USCoreV700_BALLOT::ObservationPregnancyintentValidationTest, USCoreV700_BALLOT::ObservationPregnancystatusValidationTest, USCoreV700_BALLOT::ObservationScreeningAssessmentValidationTest, USCoreV700_BALLOT::ObservationSexualOrientationValidationTest, USCoreV700_BALLOT::OrganizationValidationTest, USCoreV700_BALLOT::PatientValidationTest, USCoreV700_BALLOT::PediatricBmiForAgeValidationTest, USCoreV700_BALLOT::PediatricWeightForHeightValidationTest, USCoreV700_BALLOT::PractitionerRoleValidationTest, USCoreV700_BALLOT::PractitionerValidationTest, USCoreV700_BALLOT::ProcedureValidationTest, USCoreV700_BALLOT::ProvenanceValidationTest, USCoreV700_BALLOT::PulseOximetryValidationTest, USCoreV700_BALLOT::QuestionnaireResponseValidationTest, USCoreV700_BALLOT::RelatedPersonValidationTest, USCoreV700_BALLOT::RespiratoryRateValidationTest, USCoreV700_BALLOT::ServiceRequestValidationTest, USCoreV700_BALLOT::SimpleObservationValidationTest, USCoreV700_BALLOT::SmokingstatusValidationTest, USCoreV700_BALLOT::SpecimenValidationTest, USCoreV700_BALLOT::TreatmentInterventionPreferenceValidationTest
- Defined in:
- lib/us_core_test_kit/validation_test.rb
Constant Summary collapse
- DAR_CODE_SYSTEM_URL =
'http://terminology.hl7.org/CodeSystem/data-absent-reason'.freeze
- DAR_EXTENSION_URL =
'http://hl7.org/fhir/StructureDefinition/data-absent-reason'.freeze
Instance Method Summary collapse
- #check_for_dar(resource) ⇒ Object
- #check_for_dar_code(coding) ⇒ Object
- #check_for_dar_extension(resource) ⇒ Object
- #perform_validation_test(resources, profile_url, profile_version, skip_if_empty: true) ⇒ Object
Instance Method Details
#check_for_dar(resource) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/us_core_test_kit/validation_test.rb', line 28 def check_for_dar(resource) unless scratch[:dar_code_found] resource.each_element do |element, , _path| next unless element.is_a?(FHIR::Coding) check_for_dar_code(element) end end unless scratch[:dar_extension_found] check_for_dar_extension(resource) end end |
#check_for_dar_code(coding) ⇒ Object
42 43 44 45 46 47 |
# File 'lib/us_core_test_kit/validation_test.rb', line 42 def check_for_dar_code(coding) return unless coding.code == 'unknown' && coding.system == DAR_CODE_SYSTEM_URL scratch[:dar_code_found] = true output dar_code_found: 'true' end |
#check_for_dar_extension(resource) ⇒ Object
49 50 51 52 53 54 |
# File 'lib/us_core_test_kit/validation_test.rb', line 49 def check_for_dar_extension(resource) return unless resource.source_contents&.include? DAR_EXTENSION_URL scratch[:dar_extension_found] = true output dar_extension_found: 'true' end |
#perform_validation_test(resources, profile_url, profile_version, skip_if_empty: true) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/us_core_test_kit/validation_test.rb', line 6 def perform_validation_test(resources, profile_url, profile_version, skip_if_empty: true) skip_if skip_if_empty && resources.blank?, "No #{resource_type} resources conforming to the #{profile_url} profile were returned" omit_if resources.blank?, "No #{resource_type} resources provided so the #{profile_url} profile does not apply" profile_with_version = "#{profile_url}|#{profile_version}" resources.each do |resource| resource_is_valid?(resource: resource, profile_url: profile_with_version) check_for_dar(resource) end errors_found = .any? { || [:type] == 'error' } assert !errors_found, "Resource does not conform to the profile #{profile_with_version}" end |