Sha256: ea47c2e83441deebd6ed2ddd80f80249796088c0badbac1fed85a48c05daa57e
Contents?: true
Size: 1.39 KB
Versions: 7
Compression:
Stored size: 1.39 KB
Contents
module HealthDataStandards module Import module Cat1 class ProcedureOrderImporter < CDA::SectionImporter def initialize(entry_finder=CDA::EntryFinder.new("./cda:entry/cda:procedure[cda:templateId/@root = '2.16.840.1.113883.10.20.24.3.63']")) super(entry_finder) @entry_class = Procedure end def create_entry(entry_element, nrh = CDA::NarrativeReferenceHandler.new) procedure = super procedure.status_code = {'HL7 ActStatus' => ['ordered']} extract_performer(entry_element, procedure) extract_site(entry_element, procedure) extract_negation(entry_element, procedure) procedure end private def extract_dates(parent_element, entry, element_name="author") if parent_element.at_xpath("cda:#{element_name}/cda:time/@value") entry.time = HL7Helper.timestamp_to_integer(parent_element.at_xpath("cda:#{element_name}/cda:time")['value']) end end def extract_performer(parent_element, procedure) performer_element = parent_element.at_xpath("./cda:performer") procedure.performer = import_actor(performer_element) if performer_element end def extract_site(parent_element, procedure) procedure.site = extract_code(parent_element, "./cda:targetSiteCode") end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems