Sha256: 882e4a83c6b1e09565dfc955cdb6f859837fd0dd9f4c93c75b18030782ca712e
Contents?: true
Size: 1.33 KB
Versions: 2
Compression:
Stored size: 1.33 KB
Contents
module HealthDataStandards module Import module CDA class MedicalEquipmentImporter < SectionImporter def initialize(entry_finder=EntryFinder.new("//cda:section[cda:templateId/@root='2.16.840.1.113883.3.88.11.83.128']/cda:entry/cda:supply")) super(entry_finder) @code_xpath = "./cda:participant/cda:participantRole/cda:playingDevice/cda:code" @anatomical_xpath = "./cda:targetSiteCode" @entry_class = MedicalEquipment end def create_entry(entry_element, nrh = NarrativeReferenceHandler.new) medical_equipment = super extract_manufacturer(entry_element, medical_equipment) extract_anatomical_structure(entry_element, medical_equipment) medical_equipment end def extract_manufacturer(entry_element, entry) manufacturer = entry_element.at_xpath("./cda:participant/cda:participantRole/cda:scopingEntity/cda:desc").try(:inner_text) entry.manufacturer = manufacturer.strip if manufacturer end def extract_anatomical_structure(entry_element, entry) site = entry_element.at_xpath(@anatomical_xpath) if site entry.anatomical_structure = {CodeSystemHelper.code_system_for(site['codeSystem']) => [site['code']]} end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems