Class: HQMF::Parser::V2CQLParser

Inherits:
V2Parser
  • Object
show all
Defined in:
lib/hqmf-parser/parser.rb

Overview

HQMF v2 Parser for measures that use CQL for measure logic

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from V2Parser

#initialize, #parse_fields, #version

Constructor Details

This class inherits a constructor from HQMF::Parser::V2Parser

Class Method Details

.valid?(xml_contents) ⇒ Boolean

Returns:

  • (Boolean)


51
52
53
54
55
56
57
58
59
60
# File 'lib/hqmf-parser/parser.rb', line 51

def self.valid?(xml_contents)
  doc = HQMF2::Document.parse(xml_contents)
  hqmf2 = !doc.at_xpath("/cda:QualityMeasureDocument/cda:typeId[@root='2.16.840.1.113883.1.3' and @extension='POQM_HD000001UV02']").nil?
  cql = !doc.at_xpath("/cda:QualityMeasureDocument/cda:relatedDocument/cda:expressionDocument/cda:text[@mediaType='application/cql']").nil?
  if !cql
    # The media type changed for MAT version 5.3
    cql = !doc.at_xpath("/cda:QualityMeasureDocument/cda:relatedDocument/cda:expressionDocument/cda:text[@mediaType='text/cql']").nil?
  end
  hqmf2 && cql
end

Instance Method Details

#parse(xml_contents, codes = nil) ⇒ Object



46
47
48
49
# File 'lib/hqmf-parser/parser.rb', line 46

def parse(xml_contents, codes=nil)
  HQMF::Counter.instance.reset()
  HQMF2CQL::Document.new(xml_contents).to_model
end