class HQMF::Parser::V2Parser

HQMF v2 Parser for measures that use QDM for measure logic

Public Class Methods

new() click to toggle source
# File lib/hqmf-parser/parser.rb, line 9
def initialize
end
valid?(xml_contents) click to toggle source
# File lib/hqmf-parser/parser.rb, line 36
def self.valid?(xml_contents)
   doc = HQMF2::Document.parse(xml_contents)
  !doc.at_xpath("/cda:QualityMeasureDocument/cda:typeId[@root='2.16.840.1.113883.1.3' and @extension='POQM_HD000001UV02']").nil?
end

Public Instance Methods

parse(xml_contents, codes=nil) click to toggle source
# File lib/hqmf-parser/parser.rb, line 12
def parse(xml_contents, codes=nil)
  HQMF::Counter.instance.reset()
  HQMF2::Document.new(xml_contents).to_model
end
parse_fields(xml_contents) click to toggle source
# File lib/hqmf-parser/parser.rb, line 17
def parse_fields(xml_contents)
  result = {}
  doc = HQMF2::Document.parse(xml_contents)
  type = doc.at_xpath('/cda:QualityMeasureDocument/cda:code/@code').value
  if type == '57024-2'
    id = doc.at_xpath('cda:QualityMeasureDocument/cda:id/@extension', HQMF2::Document::NAMESPACES).value.upcase
    set_id = doc.at_xpath('cda:QualityMeasureDocument/cda:setId/@extension').value.upcase
    version_number = doc.at_xpath('cda:QualityMeasureDocument/cda:versionNumber/@value').value.to_i
    title = doc.at_xpath('cda:QualityMeasureDocument/cda:title/@value').inner_text
    description = doc.at_xpath('cda:QualityMeasureDocument/cda:text/@value').inner_text
    result=  {'id' => id, 'set_id' => set_id, 'version' => version_number, 'title' => title, 'description' => description}
  end
  result
end
version() click to toggle source
# File lib/hqmf-parser/parser.rb, line 32
def version
  HQMF_VERSION_2
end