Class: HealthDataStandards::Validate::MeasureValidator
- Inherits:
-
Object
- Object
- HealthDataStandards::Validate::MeasureValidator
show all
- Includes:
- BaseValidator
- Defined in:
- lib/health-data-standards/validate/measure_validator.rb
Instance Method Summary
collapse
#build_error, #get_document
Constructor Details
6
7
8
9
|
# File 'lib/health-data-standards/validate/measure_validator.rb', line 6
def initialize(template_oid)
@template_oid = template_oid
end
|
Instance Method Details
#validate(file, data = {}) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/health-data-standards/validate/measure_validator.rb', line 11
def validate(file, data={})
@errors = []
@doc = get_document(file)
@doc.root.add_namespace_definition('cda', 'urn:hl7-org:v3')
measure_ids = HealthDataStandards::CQM::Measure.all.map(&:hqmf_id)
doc_measure_ids = @doc.xpath(measure_selector).map(&:value).map(&:upcase)
doc_neutral_ids = @doc.xpath(neutral_measure_selector).map(&:value).map(&:upcase).sort
bundle_neutral_ids = HealthDataStandards::CQM::Measure.distinct(:hqmf_set_id)
doc_bundle_neutral_ids = doc_neutral_ids - (doc_neutral_ids - bundle_neutral_ids)
validate_measure_ids(doc_measure_ids, measure_ids, data)
validate_set_ids(doc_neutral_ids, doc_bundle_neutral_ids, data)
if validate_no_repeating_measure_population_ids(data)
validate_measure_ids_set_ids_usage(doc_bundle_neutral_ids, doc_measure_ids, data)
end
@errors
end
|