Sha256: 11f19e017d8791b94e95fd3a442d195fe9f61e7ae78b5ef5125385c87a72fd96

Contents?: true

Size: 771 Bytes

Versions: 2

Compression:

Stored size: 771 Bytes

Contents

module FHIR
  class Expansions

    attr_accessor :expansions

    def initialize    
      defns = File.expand_path '../../definitions',File.dirname(File.absolute_path(__FILE__))

      # load the types
      filename = File.join(defns,'valuesets','expansions.json')
      raw = File.open(filename,'r:UTF-8',&:read)
      @expansions = JSON.parse(raw)['entry'].map{|e|e['resource']}
    end

    def get_codes(uri)
      codes = nil
      valueset = @expansions.select{|x|x['url']==uri}.first
      if !valueset.nil?
        codes = {}
        keys = valueset['expansion']['contains'].map{|x|x['system']}.uniq
        keys.each{|x| codes[x]=[]}
        valueset['expansion']['contains'].each{|x| codes[x['system']] << x['code']}
      end
      codes
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fhir_models-0.3.1 lib/bootstrap/expansions.rb
fhir_models-0.3.0 lib/bootstrap/expansions.rb