Module: Inferno::DSL::FHIRResourceValidation::ClassMethods
- Defined in:
- lib/inferno/dsl/fhir_resource_validation.rb
Instance Method Summary collapse
-
#fhir_resource_validator(name = :default, required_suite_options: nil) ⇒ Object
Define a validator.
- #fhir_validators ⇒ Object
- #find_ig_and_profile(profile_url, validator_name) ⇒ Object
Instance Method Details
#fhir_resource_validator(name = :default, required_suite_options: nil) ⇒ Object
Define a validator
432 433 434 435 436 437 438 439 440 441 |
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 432 def fhir_resource_validator(name = :default, required_suite_options: nil, &) current_validators = fhir_validators[name] || [] new_validator = Inferno::DSL::FHIRResourceValidation::Validator.new(name, id, , &) current_validators.reject! { |validator| validator.requirements == } current_validators << new_validator fhir_validators[name] = current_validators end |
#fhir_validators ⇒ Object
410 411 412 |
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 410 def fhir_validators @fhir_validators ||= {} end |
#find_ig_and_profile(profile_url, validator_name) ⇒ Object
444 445 446 447 448 449 450 451 452 453 454 455 |
# File 'lib/inferno/dsl/fhir_resource_validation.rb', line 444 def find_ig_and_profile(profile_url, validator_name) validator = find_validator(validator_name) if validator.is_a? Inferno::DSL::FHIRResourceValidation::Validator validator.igs.each do |ig_id| ig = Inferno::Repositories::IGs.new.find_or_load(ig_id) profile = ig.profile_by_url(profile_url) return ig, profile if profile end end raise "Unable to find profile #{profile_url} in any IG defined for validator #{validator_name}" end |