Class: Oddb2xml::FHIR::MedicinalProduct
- Inherits:
-
Object
- Object
- Oddb2xml::FHIR::MedicinalProduct
- Defined in:
- lib/oddb2xml/fhir_support.rb
Instance Attribute Summary collapse
-
#atc_code ⇒ Object
readonly
Returns the value of attribute atc_code.
-
#classification ⇒ Object
readonly
Returns the value of attribute classification.
-
#it_codes ⇒ Object
readonly
Returns the value of attribute it_codes.
-
#names ⇒ Object
readonly
Returns the value of attribute names.
Instance Method Summary collapse
-
#initialize(resource) ⇒ MedicinalProduct
constructor
A new instance of MedicinalProduct.
- #it_code ⇒ Object
- #name_de ⇒ Object
- #name_fr ⇒ Object
- #name_it ⇒ Object
Constructor Details
#initialize(resource) ⇒ MedicinalProduct
Returns a new instance of MedicinalProduct.
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 |
# File 'lib/oddb2xml/fhir_support.rb', line 244 def initialize(resource) @names = {} resource["name"]&.each do |name| lang = name.dig("usage", 0, "language", "coding", 0, "code") @names[lang] = name["productName"] end # Get ATC code (classification[0]) @atc_code = resource.dig("classification", 0, "coding", 0, "code") # Get product classification (generic/reference) (classification[1]) @classification = resource.dig("classification", 1, "coding", 0, "code") # Get IT codes (Index Therapeuticus) from classification with correct system @it_codes = [] resource["classification"]&.each do |cls| cls["coding"]&.each do |coding| if coding["system"]&.include?("index-therapeuticus") # Format IT code from "080300" to "08.03.00" or "08.03." it_code = format_it_code(coding["code"]) @it_codes << it_code if it_code end end end end |
Instance Attribute Details
#atc_code ⇒ Object (readonly)
Returns the value of attribute atc_code.
242 243 244 |
# File 'lib/oddb2xml/fhir_support.rb', line 242 def atc_code @atc_code end |
#classification ⇒ Object (readonly)
Returns the value of attribute classification.
242 243 244 |
# File 'lib/oddb2xml/fhir_support.rb', line 242 def classification @classification end |
#it_codes ⇒ Object (readonly)
Returns the value of attribute it_codes.
242 243 244 |
# File 'lib/oddb2xml/fhir_support.rb', line 242 def it_codes @it_codes end |
#names ⇒ Object (readonly)
Returns the value of attribute names.
242 243 244 |
# File 'lib/oddb2xml/fhir_support.rb', line 242 def names @names end |
Instance Method Details
#it_code ⇒ Object
282 283 284 285 |
# File 'lib/oddb2xml/fhir_support.rb', line 282 def it_code # Return first IT code (primary), formatted like "08.03.00" @it_codes.first end |
#name_de ⇒ Object
270 271 272 |
# File 'lib/oddb2xml/fhir_support.rb', line 270 def name_de @names["de-CH"] || @names["de"] end |
#name_fr ⇒ Object
274 275 276 |
# File 'lib/oddb2xml/fhir_support.rb', line 274 def name_fr @names["fr-CH"] || @names["fr"] end |
#name_it ⇒ Object
278 279 280 |
# File 'lib/oddb2xml/fhir_support.rb', line 278 def name_it @names["it-CH"] || @names["it"] end |