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.
197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 |
# File 'lib/oddb2xml/fhir_support.rb', line 197 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.
195 196 197 |
# File 'lib/oddb2xml/fhir_support.rb', line 195 def atc_code @atc_code end |
#classification ⇒ Object (readonly)
Returns the value of attribute classification.
195 196 197 |
# File 'lib/oddb2xml/fhir_support.rb', line 195 def classification @classification end |
#it_codes ⇒ Object (readonly)
Returns the value of attribute it_codes.
195 196 197 |
# File 'lib/oddb2xml/fhir_support.rb', line 195 def it_codes @it_codes end |
#names ⇒ Object (readonly)
Returns the value of attribute names.
195 196 197 |
# File 'lib/oddb2xml/fhir_support.rb', line 195 def names @names end |
Instance Method Details
#it_code ⇒ Object
235 236 237 238 |
# File 'lib/oddb2xml/fhir_support.rb', line 235 def it_code # Return first IT code (primary), formatted like "08.03.00" @it_codes.first end |
#name_de ⇒ Object
223 224 225 |
# File 'lib/oddb2xml/fhir_support.rb', line 223 def name_de @names["de-CH"] || @names["de"] end |
#name_fr ⇒ Object
227 228 229 |
# File 'lib/oddb2xml/fhir_support.rb', line 227 def name_fr @names["fr-CH"] || @names["fr"] end |
#name_it ⇒ Object
231 232 233 |
# File 'lib/oddb2xml/fhir_support.rb', line 231 def name_it @names["it-CH"] || @names["it"] end |