Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Data file

File: Medications&Innm2Load

Page: "Original-2017-08-26"

Upload steps & logic


Step 1- Load Innms

  1. Source page "innm"
  2. Mapping:
    1. innm_identifier = column `C`
    2. name = column `A`
  3. Check exist by `innm_identifier`
    1. If not exist - Insert new.
      1. status=INACTIVE (DICTIONARY: innm_status)
      2. is_active=TRUE

Step 2 - Load Routes

  1. Source page: "Dic: route"
  2. Mapping:
    1. name = column `A`
  3. Check exist by `value`
    1. If not exist - Insert new.

...

Step 4 - Load Medications

  1. Source page: "Original-2017-07-26"
  2. Delete * from medications (delete old data)
  3. Mapping:
    1. name = column `C`(3)
    2. is_active = TRUE

    3. start_at = `2017/07/26`
    4. end_at `3000/01/01`
    5. route = column `D`(4) + search in Dictionary `medication_route` by name
    6. container_dosage =  Mapping procedure Container Dosage
    7. package_qty column `G`(6)
    8. package_min_qty column `G`(6)
    9. code_ATX column `H`(7)
    10. manufacturer_name_country =column `I`(8) + Parsing procedure Manufacturer & Country
    11. certificate column `J`(9)
    12. expired_certificate_date column `K`(10) + format `DD.MM.YYYY`
  4. Cascade load ingredients (see Step 5)

Step 5 - Load Ingredients

  1. Source page: "Original-2017-07-26"
  2. Delete * from ingredients where medications_id (delete old data)
  3. Mapping:
    1. medication_id = parent
    2. innm_id = Search by innm.name
    3. is_active_substance = TRUE
    4.  dosage
      1. numerator_value column `E`(5) + Mapping procedure Dosage

Mapping procedure Dosage

  • numerator_unit = mapping by medications.route
    • аерозоль для інгаляцій = dose
    • Аерозоль для інгаляцій, дозований = dose 
    • інгаляція під тиском dose
    • Порошок для інгаляцій = dose
    • Суспензія для розпилення = ml
    • таблетки = pill
    • таблетки з модифікованим вивільненням = pill
    • таблетки сублінгвальні = pill
    • таблетки, вкриті оболонкою = pill
    • таблетки, вкриті плівковою = pill
    • таблетки, вкриті плівковою оболонкою = pill
    • таблетки,вкриті оболонкою = pill
  • numerator_value column `E`(5)
  • denumerator_unit mapping by numerator_unit
    • pill = pill
    • container = ml
    • aerosol = dose
  • denumerator_value = `1`

Mapping procedure Container Dosage

  • numerator_unit = mapping by medications.route
    • аерозоль для інгаляцій = aerosol
    • Аерозоль для інгаляцій, дозований = aerosol 
    • інгаляція під тиском = aerosol
    • Порошок для інгаляцій = aerosol
    • Суспензія для розпилення = container
    • таблетки = pill
    • таблетки з модифікованим вивільненням = pill
    • таблетки сублінгвальні = pill
    • таблетки, вкриті оболонкою = pill
    • таблетки, вкриті плівковою = pill
    • таблетки, вкриті плівковою оболонкою = pill
    • таблетки,вкриті оболонкою = pill
  • numerator_value = `1`
  • denumerator_unit mapping by numerator_unit
    • pill = pill
    • container = ml
    • aerosol = dose
  • denumerator_value = `1`

Parsing procedure Manufacturer & Country

  1. Parsing string by format: `manufacturer_name`,`country_name` 
  2. Examples: 
    1. Юнікем Лабораторіз Лімітед , Індія;
    2. Асіно Фарма АГ , Швейцарія
  3. Mapping for structure Manufacturer_info
    1. name = `manufacturer_name`
    2. country = `country_name` search in Dictionary `Country` by name