class HQMF::Parser::V2CQLParser

HQMF v2 Parser for measures that use CQL for measure logic

Public Class Methods

valid?(xml_contents) click to toggle source
# 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

Public Instance Methods

parse(xml_contents, codes=nil) click to toggle source
# 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