Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

1. Dictionaries

  1. Додається новий класифікатор МКФ (НК 030:2022), що реалізується у вигляді довідників:

...

  • Content-Type:application/json

Приклад довідників

Expand
Code Block
languagejson
{

  "meta": {

    "code": 200,

    "url": "https://example.com/resource",

    "type": "object",

    "request_id": "6617aeec-15e2-4d6f-b9bd-53559c358f97#17810"

  },

  "data": [

    {

      "name": "eHealth/ICF/classifiers",

      "description": "Класифікатори МКФ",

      "values": [

        {

          "code": "b1142",

          "description": "Орієнтація в особі",

          "is_active": true,

          "child_values": [

            {

              "code": "b11429",

              "description": "Орієнтація в особі неуточнена",

              "is_active": true,

              "child_values": []

            }

          ]

        }

      ],

      "labels": [

        "SYSTEM",

        "EXTERNAL"

      ],

      "is_active": true

    },

    {

      "name": "eHealth/ICPC2/condition_codes",

      "description": "Коди станів за ICPC2",

      "values": [

        {

          "code": "D88",

          "description": "Апендицит",

          "is_active": true,

          "child_values": []

        }

      ],

      "labels": [

        "SYSTEM",

        "EXTERNAL"

      ],

      "is_active": true

    }

  ]

}

2. Episode of care

  1. Тип епізоду реабілітаційної допомоги фіксується у атрибуті Type == REHAB: "Реабілітація" (існуюче значення з довідника eHealth/episode_types) ;

3. Encounter 

  1. Додано новий атрибут period для послідовной заміни раніше використованого атрибута date з метою розширення моделі даних відповідно до FHIR v 4.3.0 із вимогою по обов’язковому заповненню period.start та period.end під час внесення даних сутності Encounter у складі ЕМЗ реабілітаційного цикла.  Для    існуючих у ЕСОЗ    записів    про    взаємодію    проводиться   міграція   даних з встановленням значень period.start == date та period.end == date;
    Увага ! Використання атрибута encounter.period відстрочено до введення в дію та до того часу заборонено до використання у інтерфейсі МІС-ів !

  2. Атрибут date тимчасово залишається у складі для забезпечення зворотньої сумісності, але в майбутньому буде виключений зі складу атрибутів Encounter;

  3. Поточна модель статусів сутності Encounter залишається без змін (finished | entered-in-error).

4. Observation 

  1. Сутність Observation використовується у складі Encounter data package первісного, проміжного та заключного обстеження пацієнта для фіксації значень категорійного профіля стану пацієнта відповідно до стандартів класифікації МКФ (НК 030:2022 Класифікатор функціонування, обмеження життєдіяльності та здоров'я);

  2. Для фіксації кожного значення кода МКФ у складі Encounter data package створюється окремий екземпляр сутності Observation для можливості адресного посилання під час планування майбутніх реабілітаційних процедур з відповідних сутностей Activity та Service Request.

  3. Визначений реабілітаційний стан формується парою значень “Категорія з довідника НК 030-2022” (що фіксується у атрибуті code, значення з довідника eHealth/ICF/classifiers), та “Кваліфікатор стану з довідника НК 030-2022” (що фіксується у атрибуті component, значеннями з довідника eHealth/ICF/qualifiers);

  4. Додаткова інформація щодо проведеного обстеження, яка може бути потрібна для формування опису стану пацієнта та рекомендацій по плануванню його реабілітаційного цикла, розміщується у атрибуті comment кожного екземпляра сутності Observation.

Приклад запиту

Expand
Code Block
languagejson
{
   "encounter":{
      "id":"dbf6a3fe-56e7-4805-a650-1a68f86d189b",
      "status":"finished",
      "date":"2023-02-24T10:45:16.000Z",
      "action_references":[
         {
            "identifier":{
               "type":{
                  "coding":[
                     {
                        "system":"eHealth/resources",
                        "code":"service"
                     }
                  ]
               },
               "value":"041d4447-7bcd-4c91-b116-dc8667dac4cf"
            }
         }
      ],
      "visit":{
         "identifier":{
            "type":{
               "coding":[
                  {
                     "system":"eHealth/resources",
                     "code":"visit"
                  }
               ]
            },
            "value":"dbf6a3fe-56e7-4805-a650-1a68f86d189b"
         }
      },
      "episode":{
         "identifier":{
            "type":{
               "coding":[
                  {
                     "system":"eHealth/resources",
                     "code":"episode"
                  }
               ]
            },
            "value":"95627cb7-20f1-498a-a5f3-d986eedf7a60"
         }
      },
      "class":{
         "system":"eHealth/encounter_classes",
         "code":"AMB"
      },
      "type":{
         "coding":[
            {
               "system":"eHealth/encounter_types",
               "code":"service_delivery_location"
            }
         ]
      },
      "performer":{
         "identifier":{
            "type":{
               "coding":[
                  {
                     "system":"eHealth/resources",
                     "code":"employee"
                  }
               ]
            },
            "value":"9dd528dd-29ed-407c-b807-9190b34aece7"
         }
      },
      "reasons":[
         {
            "coding":[
               {
                  "system":"eHealth/ICPC2/reasons",
                  "code":"A72"
               }
            ]
         }
      ],
      "diagnoses":[
         {
            "condition":{
               "identifier":{
                  "type":{
                     "coding":[
                        {
                           "system":"eHealth/resources",
                           "code":"condition"
                        }
                     ]
                  },
                  "value":"dbf6a3fe-56e7-4805-a650-1a68f86d189b"
               }
            },
            "role":{
               "coding":[
                  {
                     "system":"eHealth/diagnosis_roles",
                     "code":"primary"
                  }
               ]
            },
            "rank":1
         }
      ],
      "division":{
         "identifier":{
            "type":{
               "coding":[
                  {
                     "system":"eHealth/resources",
                     "code":"division"
                  }
               ]
            },
            "value":"87efefe5-0580-48b1-898b-c28edd8215d0"
         }
      }
   },
   "conditions":[
      {
         "id":"dbf6a3fe-56e7-4805-a650-1a68f86d189b",
         "primary_source":true,
         "asserter":{
            "identifier":{
               "type":{
                  "coding":[
                     {
                        "system":"eHealth/resources",
                        "code":"employee"
                     }
                  ],
                  "text":""
               },
               "value":"9dd528dd-29ed-407c-b807-9190b34aece7"
            }
         },
         "context":{
            "identifier":{
               "type":{
                  "coding":[
                     {
                        "system":"eHealth/resources",
                        "code":"encounter"
                     }
                  ]
               },
               "value":"dbf6a3fe-56e7-4805-a650-1a68f86d189b"
            }
         },
         "code":{
            "coding":[
               {
                  "system":"eHealth/ICD10_AM/condition_codes",
                  "code":"A83.1"
               }
            ]
         },
         "clinical_status":"active",
         "verification_status":"provisional",
         "onset_date":"2021-11-11T09:46:37.694Z",
         "asserted_date":"2021-11-11T09:46:37.694Z"
      }
   ],
   "observations":[
      {
         "id":"dbf6a3fe-56e7-4805-a650-1a68f86d189b",
         "status":"valid",
         "categories":[
            {
               "coding":[
                  {
                     "system":"eHealth/ICF/observation_categories",
                     "code":"activities"
                  }
               ]
            }
         ],
         "code":{
            "coding":[
               {
                  "system":"eHealth/ICF/classifiers",
                  "code":"d110"
               }
            ]
         },
         "effective_date_time":"2023-02-22T10:45:16.000Z",
         "issued":"2023-02-22T10:45:16.000Z",
         "primary_source":true,
         "performer":{
            "identifier":{
               "type":{
                  "coding":[
                     {
                        "system":"eHealth/resources",
                        "code":"employee"
                     }
                  ]
               },
               "value":"9dd528dd-29ed-407c-b807-9190b34aece7"
            }
         },
         "value_quantity":{
            "value":0,
            "comparator":">",
            "unit":"kg",
            "system":"eHealth/ucum/units",
            "code":"kg"
         },
         "components":[
            {
               "code":{
                  "coding":[
                     {
                        "system":"eHealth/ICF/qualifiers",
                        "code":"capacity"
                     }
                  ]
               },
               "value_codeable_concept":{
                  "coding":[
                     {
                        "system":"eHealth/ICF/qualifiers/capacity",
                        "code":"1"
                     }
                  ]
               }
            },
            {
               "code":{
                  "coding":[
                     {
                        "system":"eHealth/ICF/qualifiers",
                        "code":"performance"
                     }
                  ]
               },
               "value_codeable_concept":{
                  "coding":[
                     {
                        "system":"eHealth/ICF/qualifiers/performance",
                        "code":"0"
                     }
                  ]
               }
            }
         ],
         "context":{
            "identifier":{
               "type":{
                  "coding":[
                     {
                        "system":"eHealth/resources",
                        "code":"encounter"
                     }
                  ]
               },
               "value":"dbf6a3fe-56e7-4805-a650-1a68f86d189b"
            }
         }
      }
   ]
}

5. Care_plan

  1. Care Plan  в стаціонарі створюється без СМС-інформування про це пацієнта;

  2. Cтворення Care Plan для амбулаторного виконання реабілітаційних процедур супроводжується стандартним процесом отримання СМС-повідомлення;

  3. Для спрощення механізма отримання доступа до ЕМЗ реабілітаційного цикла сутності Care Plan та Activity додано до переліку сутностей, на які розповсюджується правило доступа “ABAC Rule: @rule_2” - “Співробітник може читати сутність, створену в MSP працівника”;  

  4. При створенні Care Plan під час реабілітації у стаціонарі (з "terms_of_service" = "inpatient") прибрано необхідність отримувати підтвердження від пацієнта на таке створення;

  5. Лікар ФРМ може зробити посилання на попередній CarePlan лише у випадку, якщо попередній  CarePlan має один із статусів: COMPLETED, ACTIVE, TERMINATED;

  6. Текстова інформація щодо планування поточного реабілітаційного цикла, яка може бути потрібна для формування опису стану пацієнта та рекомендацій по плануванню його реабілітаційного цикла, розміщується у атрибуті note сутності Care Plan. 

  7. Інформація по необхідності використання допоміжних засобів реабілітації в межах реабілітаційного цикла додається у якості текстового опису. В описі використовуються значення з нового довідника ISO 9999:2016 без можливості деталізації номенклатури допоміжних засобів. В разі відсутності потреби у ДЗР, вони не зазначаються у CarePlan.note. Якщо потреба в фіксації такої інформації виникає під час планування активностей плана лікування, то можливо внесення текстового опису безпосередньо у атрибут activity.description ;

  8. Зазначення фактично використаних допоміжних засобів при наданні реабілітаційних послуг виконується в рамках формування звітного Encounter data package у атрибуті Procedure.usedCode, який дозволяє використання масиву значень. В разі відсутності факту використання ДЗР, користувач не формує масив Procedure.usedCode;

  9. До складу атрибутів додано обов’язковий атрибут managing_organization для фіксації MSP, який відповідальний за ведення реабілітаційного цикла.

6. Care_plan_activity

  1. Для спрощення механізма отримання доступа до ЕМЗ реабілітаційного цикла сутності Care Plan та Activity додано до переліку сутностей, на які розповсюджується правило доступа “ABAC Rule: @rule_2” - “Співробітник може читати сутність, створену в MSP працівника”; 

  2. Реєстрація усіх реабілітаційних послуг виконується у хвилинах— одиницях виміру часу наданої послуги. Це стосується атрибутів quantity, daily_amount та remaining_quantity. Валідація по відповідності одиниці виміру відпрацьовується по правилам:If $.detail.kind=service_request:

    1. Check that $.detail.quantity.system field’s value is SERVICE_UNIT.

      • Return 422 ('value is not allowed in enum')

    2. Check the $.detail.quantity.code = MINUTE If care plan category is class_23, class_24 or class_25

      • Return 422 ('Code field of quantity object should be in MINUTE for care plan’s category <category code>')

  3. Запити  на створення активності обов’язково пов’язуються з відповідними Observations у первісному, так і у проміжному/заключному обстеженні реабілітаційного цикла, при чому активність наступного цикла може пов’язуватися з обстеженнями попереднього цикла поточного епізода ІРП.  У запиті на створення активності користувач передає посилання на масив observation (з code.system =ICF) в параметрі  activity.reason_reference, у ньому зазначаються ті посилання на реабілітаційні стани МКФ, по яких планується надання реабілітаційних послуг за створюваною активністю;

  4. Встановлено алгоритм фіксації значення activity.remaining_quantity для можливості автоматичного розрахунку залишкової кількості (об’єму) реабілітаційних послуг із наступними вимогами:

    1. при створенні активності activity.remaining_quantity = activity.quantity

    2. при створенні в Системі ServiceRequest, у якого фіксується атрибут based_on посилання на поточну активність, Система автоматично зменшує activity.remaining_quantity на кількість, що вказана у параметрі ServiceRequest.quantity.value;

  5. Запланувати активність може лише employee з того  MSP, у якому створено поточний Care Plan реабілітаційного циклу (контроль відбувається по атрибуту care_plan.managing_organization);

7. Service Request

  1. Створення Service Request в стаціонарі відбувається без зазначення медичної програми;

  2. Зміни в Service Request Status Model:
    використання статусу In_QUEUE в моделі Program Processing statuses стає не обов’язковим. З часом цей статус буде видалено, замінено на IN_PROGRESS.

  3. До Service Request data model додається новий атрибут quantity, Тип — Simple.quantity, у якому вказується кількість реабілітаційних процедур, що повинна бути надана за направленням. Для послуг реабілітації service_request.quantity  повинен  мати  одиницю  виміру  “хвилини” (див. вимоги до атрибуту activity.quantity).

  4. До Service Request data model додається новий атрибут remaining_quantity, Тип — Simple.quantity, В якому автоматично розраховується поточний залишок кількість реабілітаційних процедур, що повинна бути надана за направленням. Для послуг реабілітації service_request.remaining_quantity  має  одиницю  виміру  “хвилини”.

  5. До Service Request data model додаються нові атрибути used_by_legal_entity_history та used_by_employee_history, що заповнюються на боці ЕСОЗ автоматично. 

8. Procedure

  1. До Procedure data model додається новий атрибут performed_period, Тип — Period, у якому вказується дата-час початку та кінця періоду надання реабілітаційної процедури (по яких автоматично фіксується звітний обсяг проведеної процедури у хвилинах), що повинна бути надана за направленням. По наданим даним коригується значення відповідного service_request.remaining_quantity;

  2. До Procedure data model додається новий атрибут used_code, Тип — масив кодів, у якому вказується масив кодів допоміжних засобів реабілітації з довідника ДЗР (eHealth/assistive_products), які були використані під час надання реабілітаційної процедури.

Приклад запиту

Expand

{
"conditions": [{
"id": "6cf1fbb5-812d-4b01-9e11-ed0ba8622542",
"primary_source": true,
"asserter": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "employee"
}],
"text": ""
},
"value": "9dd528dd-29ed-407c-b807-9190b34aece7"
}
},
"context": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "encounter"
}]
},
"value": "6cf1fbb5-812d-4b01-9e11-ed0ba8622542"
}
},
"code": {
"coding": [{
"system": "eHealth/ICD10_AM/condition_codes",
"code": "H92.2"
}]
},
"clinical_status": "active",
"verification_status": "provisional",
"onset_date": "2021-11-11T09:46:37.694Z",
"asserted_date": "2021-11-11T09:46:37.694Z"
}],
"procedures": [{
"id": "6cf1fbb5-812d-4b01-9e11-ed0ba8622542",
"based_on": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "service_request"
}]
},
"value": "63a9e15b-b71b-4caf-8f2e-ff247e8a5636"
}
},
"status": "completed",
"code": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "service"
}]
},
"value": "9fa85910-1eb4-4f59-927a-0a13ab210b47"
}
},
"encounter": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "encounter"
}]
},
"value": "6cf1fbb5-812d-4b01-9e11-ed0ba8622542"
}
},
"performed_period": {
"start": "2023-03-02T10:45:16.000Z",
"end": "2023-03-02T10:47:30.000Z"
},
"recorded_by": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "employee"
}]
},
"value": "9dd528dd-29ed-407c-b807-9190b34aece7"
}
},
"primary_source": true,
"performer": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "employee"
}],
"text": "Галина Олександрівна"
},
"value": "9dd528dd-29ed-407c-b807-9190b34aece7"
}
},
"division": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "division"
}]
},
"value": "87efefe5-0580-48b1-898b-c28edd8215d0"
}
},
"managing_organization": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "legal_entity"
}]
},
"value": "169a548f-0d13-4c04-904f-f507380bd9dd"
}
},
"reason_references": [{
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "condition"
}]
},
"value": "6cf1fbb5-812d-4b01-9e11-ed0ba8622542"
}
}],
"note": "Додаткова інформація по процедурі",
"category": {
"coding": [{
"system": "eHealth/procedure_categories",
"code": "procedure"
}]
},
"used_codes": [{
"coding": [{
"system": "eHealth/assistive_products",
"code": "05 27"
},
{
"system": "eHealth/assistive_products",
"code": "22 27 18"
},
{
"system": "eHealth/assistive_products",
"code": "09 33 06"
}
]
}]
}],
"encounter": {
"id": "6cf1fbb5-812d-4b01-9e11-ed0ba8622542",
"status": "finished",
"period": {
"end": "2023-02-24T10:45:16.000Z",
"start": "2023-02-03T10:45:16.000Z"
},
"action_references": [{
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "service"
}]
},
"value": "9fa85910-1eb4-4f59-927a-0a13ab210b47"
}
}],
"visit": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "visit"
}]
},
"value": "6cf1fbb5-812d-4b01-9e11-ed0ba8622542"
}
},
"episode": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "episode"
}]
},
"value": "2ceaa7ad-f959-4e52-ac0f-d53c43fbb829"
}
},
"class": {
"system": "eHealth/encounter_classes",
"code": "AMB"
},
"type": {
"coding": [{
"system": "eHealth/encounter_types",
"code": "service_delivery_location"
}]
},
"performer": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "employee"
}]
},
"value": "9dd528dd-29ed-407c-b807-9190b34aece7"
}
},
"reasons": [{
"coding": [{
"system": "eHealth/ICPC2/reasons",
"code": "A72"
}]
}],
"diagnoses": [{
"condition": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "condition"
}]
},
"value": "6cf1fbb5-812d-4b01-9e11-ed0ba8622542"
}
},
"role": {
"coding": [{
"system": "eHealth/diagnosis_roles",
"code": "primary"
}]
},
"rank": 1
}],
"division": {
"identifier": {
"type": {
"coding": [{
"system": "eHealth/resources",
"code": "division"
}]
},
"value": "87efefe5-0580-48b1-898b-c28edd8215d0"
}
}
}
}

...