Module: DaVinciCRDTestKit::RequestsLogicalModelValidation

Includes:
LogicalModelsOverrideHelper
Included in:
HookRequestFieldValidation, V221::HookRequestConformanceTest
Defined in:
lib/davinci_crd_test_kit/cross_suite/requests_logical_model_validation.rb

Constant Summary collapse

CRD_CDS_HOOK_REQUEST_MODEL_URL =
'http://hl7.org/fhir/us/davinci-crd/StructureDefinition/CRDHooksRequest'.freeze
USER_ID_ALLOWED_RESOURCE_TYPES =
[
  'Practitioner', 'PractitionerRole', 'Patient', 'RelatedPerson'
].freeze
PERFORMER_ALLOWED_RESOURCE_TYPES =
[
  'Practitioner', 'PractitionerRole'
].freeze

Instance Method Summary collapse

Methods included from LogicalModelsOverrideHelper

#allowed_resource_type?, #check_appointment_conformance, #check_order_like_resource_conformance, #check_resource_conformance_to_coverage_profile, #check_resource_conformance_to_order_or_encounter_profile, #check_resource_conformance_to_order_profile, #check_resource_conformance_to_questionnaire_task_profile, #check_resource_type_and_validate, #local_reference?, #manually_check_appointment_validation_errors, #parse_action_resource, #primary_performer_type?, #referenced_resource_present_in_bundle?, #reject_resource_issues, #resolved_participant_patient_slice_issue?, #resolved_participant_primary_performer_slice_issue?

Instance Method Details

#validate_request_against_logical_model(request_body, request_index, ig_semver) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'lib/davinci_crd_test_kit/cross_suite/requests_logical_model_validation.rb', line 16

def validate_request_against_logical_model(request_body, request_index, ig_semver)
  if ig_semver == '2.2.1'
    check_logical_model_conformance_no_resource_checks(request_body, request_index, ig_semver)
  else
    conforms_to_logical_model?(request_body, "#{CRD_CDS_HOOK_REQUEST_MODEL_URL}|#{ig_semver}",
                               message_prefix: "(Request #{request_index + 1}) ")
  end

  perform_version_specific_additional_verification(request_body, request_index, ig_semver)
end