Sha256: d965b0e9c26642e3b226197a2ca205d437d0f2156a1b1064f7454fdcce55e67c

Contents?: true

Size: 1.43 KB

Versions: 16

Compression:

Stored size: 1.43 KB

Contents

module HealthDataStandards
  module Import
    module CDA
      class AllergyImporter < SectionImporter
    
        def initialize(entry_finder=EntryFinder.new("//cda:observation[cda:templateId/@root='2.16.840.1.113883.10.20.1.18']"))
          @entry_finder = entry_finder
          @code_xpath = "./cda:participant/cda:participantRole/cda:playingEntity/cda:code"
          @description_xpath = "./cda:code/cda:originalText/cda:reference[@value] | ./cda:text/cda:reference[@value]"
          @type_xpath = "./cda:code"
          @reaction_xpath = "./cda:entryRelationship[@typeCode='MFST']/cda:observation[cda:templateId/@root='2.16.840.1.113883.10.20.1.54']/cda:value"
          @severity_xpath = "./cda:entryRelationship[@typeCode='SUBJ']/cda:observation[cda:templateId/@root='2.16.840.1.113883.10.20.1.55']/cda:value"
          @status_xpath   = "./cda:entryRelationship[@typeCode='REFR']/cda:observation[cda:templateId/@root='2.16.840.1.113883.10.20.1.39']/cda:value"
          @entry_class = Allergy
        end
    
        def create_entry(entry_element, nrh = NarrativeReferenceHandler.new)
          allergy = super
          extract_reason_or_negation(entry_element, allergy)
          allergy.type = extract_code(entry_element, @type_xpath)
          allergy.reaction = extract_code(entry_element, @reaction_xpath)
          allergy.severity = extract_code(entry_element, @severity_xpath)

          allergy
        end
        
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
health-data-standards-4.3.5 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.3.4 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.3.3 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.3.2 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.3.1 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.3.0 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.2.0 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.1.0 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.0.6 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.0.5 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.0.4 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.0.3 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.0.2 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.0.1 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-4.0.0 lib/health-data-standards/import/cda/allergy_importer.rb
health-data-standards-3.7.0 lib/health-data-standards/import/cda/allergy_importer.rb