Class: HQMF::Parser::V2Parser

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeV2Parser

Returns a new instance of V2Parser.



8
9
# File 'lib/hqmf-parser/parser.rb', line 8

def initialize
end

Class Method Details

.valid?(xml_contents) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
38
# File 'lib/hqmf-parser/parser.rb', line 35

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_MT000001UV03']").nil?
end

Instance Method Details

#parse(xml_contents, codes = nil) ⇒ Object



11
12
13
14
# File 'lib/hqmf-parser/parser.rb', line 11

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

#parse_fileds(xml_contents) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/hqmf-parser/parser.rb', line 16

def parse_fileds(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

#versionObject



31
32
33
# File 'lib/hqmf-parser/parser.rb', line 31

def version
  HQMF_VERSION_2
end