Versions Compared

Key

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

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Table of Contents
 

Data file

File

...

...

07-26"


Upload steps & logic


Step 0- Prepare & clean original data

  1. Copy table from original PDF file (http://www.moz.gov.ua/docfiles/dn_20170728_875_dod..pdf) and paste into Google tables file.
  2. Del separate rows (between page, head of document, etc)
  3. Add 0-column `Status`
  4. Add 17- column `Мінімальна кратність відпуску`
  5. Replace symbol `,` on `.` into all amount & digital column (5,6,11-16)
  6. Replace Cyrillic symbol `А`, `В`, `С` on Latin symbol `A`, `B`, `C` into column 7
  7. Replace text `необмеженний`(etc) on `31.12.3000` into column 10


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