Page tree
Skip to end of metadata
Go to start of metadata

Процес інтерконекту можливий лише за умови наявності хоча б двох ДМІС: MIS_A – ініціалізує запит на інтерконект та MIS_B – отримує запит інтерконекту, їх автентифікації в Централь103 та постійного надсилання запитів HeartBeat до системи.

Ініціалізація міжрегіональної взаємодії в MIS_A:

Для ініціалізації процесу інтерконекту з MIS_B, MIS_A необхідно додати до POST або PUT запиту картки виклику (CallCard) розділ intercall з такими параметрами:

Параметри запити:

#

Поле

Опис

1

mis_to

Ідентифікаційний код ОДС, що отримує запит від Централь103, MIS_B

2

mis_from

Ідентифікаційний код ОДС, що надсилає запит в Централь103, MIS_A

3

Related_cc

Ідентифікаційний код картки виклику, зареєстрованої в MIS_B

Приклад запиту для ініціалізації інтерконекту:
POST https://central103.org/api/callcard/
{
 "CallCard": [
  {
   "operator_id": "10S2",
   "mis_call_card_id": "CARD-2018-09-09-9809",
   "caller_number": "+380639115151",
   "call_station": "Оператор103",
   "start_datetime": "2018-09-09T21:14:45.775298",
   "end_datetime": "2018-09-09T21:15:05.775298",
   "patient": {
    "name": "Свирид Опанасович",
    "first_name": "Свирид",
    "middle_name": "Опанасович",
    "family_name": "Щур"
   },
   "call_comment": "Це коментарі до CallCard виклику",
   "call_priority": "Екстрений",
   "call_address": {
    "city": "Маліновка",
    "street": "02211, вул.Малінова",
    "building": "14",
    "location_type": "село",
    "address_type": "будинок"
   },
   "complain": {
    "complain1": "Нудить аж погано",
    "complain2": "Дихає важко. Свідомість запаморочена",
    "complain3": "Спасите-пАмАгите!",
    "complain4": "Обставини події жахливі!"
   },
   "intercall": {
    "mis_to": 30,                 # MIS_B
    "mis_from": 31,               # MIS_A
    "related_cc": null
   }
  }
 ]
}

Після надходження такого запиту в Централь103 створюється картка виклику для MIS_B, яка точно копіює інформацію з оригінальної картки виклику з MIS_A, та надсилається відповідь до MIS_B з параметрами, що відповідають параметрам картки виклику, описаним в пункті 7.1 цього документа.

Приклад відповіді до MIS_B про передану картку виклику:
{
 "CallCard": [
  {
   "call_card_id": "ER-2019-04-04-000191",
   "operator_id": "NG31S1",
   "mis_call_card_id": "NG-2019-04-04-000017",
   "call_priority": "Екстрений",
…
….
…
   },
   "intercall": {
    "mis_to": 30,
    "mis_from": 31,
    "related_cc": "ER-2019-04-04-000192"              # Call_card_id in MIS_B authority
   },
   "call_comment": null,
   "date_modified": "2019-04-04T17:35:51.261053",
   "timestamp": "2019-04-04T17:35:51.261061"
  }
 ]
}

Отримання та обробка запиту інтерконекту MIS_B

Після ініціалізації інтерконекту MIS_A, MIS_B у відповідь на наступний HeartBeat запит отримує додатково intercall-повідомлення.

Приклад запиту HeartBeat з подальшою відповіддю з intercall-повідомленням:
# Heartbeat POST
{
 "Heartbeat": [
  {
   "mis_heartbeat": "2019-04-04T17:47:56.728183"
  }
 ]
}
# Heartbeat відповідь
Response: 201
{
 "Heartbeat": [
  {
   "mis_id": 31,
   "mis_heartbeat": "2019-04-04T17:47:56.728183",
   "timestamp": "2019-04-04T17:47:56.950530"
  }
 ],
 "Intercall": [
  {
   "mis_to": 31,
   "mis_from": 30,
   "related_cc": "ER-2019-04-04-000189",
   "callcard": {
    "call_card_id": "ER-2019-04-04-000190",
    "operator_id": "SYSTEM",
    "mis_call_card_id": "-2",
    "caller_number": "+380672207667",
    "start_datetime": "2019-04-04T17:35:50.401715",
    "end_datetime": "2019-04-04T17:37:02.461756",
    "call_priority": "Екстрений",
    "call_result": "Виклик бригади",
    "call_station": "Архів",
    "complain": {
     "complain1": "Дорожньо-транспортні пригоди",
     "complain2": "Дихання порушене, Свідомість порушена",
     "complain3": "Політравма",
     "complain4": "Землетруси",
     "code_complain": "16-2b2c-4",
     "patient_state": 154,
     "code_sit": "19"
    },
    "patient": {
     "name": "Даніла Галіцький",
     "first_name": "Даніла",
     "family_name": "Галіцький",
     "middle_name": null,
     "age": "45р.",
     "sex": "Ч",
     "phone": null
    },
    "call_address": {
     "city": "Київ",
     "street": "Грушевського",
     "building": "7",
     "location_type": "місто",
     "address_type": "будинок",
     "longitude": "50.4475",
     "latitude": "30.54",
     "date_modified": "2019-04-04T17:35:51.010001"
    },
    "intercall": {
     "mis_to": 30,
     "mis_from": 31,
     "related_cc": "ER-2019-04-04-000189"
    },
    "crew_id": null,
    "call_comment": null,
    "date_modified": "2019-04-04T17:37:02.507858",
    "timestamp": "2019-04-04T17:35:51.014702"
   },
   "date_modified": "2019-04-04T17:36:16.829083",
   "timestamp": "2019-04-04T17:36:16.829096"
   }
  }
 ]
}

Після отримання відповіді від Централь103 MIS_B повинна обробляти цей екстрений інтерконект-виклик за тими самими правилами, що й власні, тобто оновлення інформації про цю картку виклику відбувається способом, описаним у розділі (про callcard).

Централь103 дублюватиме всю отриману від MIS_B інформацію та надсилатиме її, використовуючи інтерконект-повідомлення, до MIS_A.

Процес міжрегіональної взаємодії буде завершено одразу після того, як MIS_B завершить обробку цього екстреного виклику та призначить картку виклику «в Архів».

Приклад запиту HeartBeat з додаванням intercall-повідомлення:
Response: 201
{
 "Heartbeat": [
  {
   "mis_id": 31,
   "mis_heartbeat": "2019-04-04T17:58:45.734519",
   "timestamp": "2019-04-04T17:58:45.753668"
  }
 ],
 "Intercall": [
  {
   "mis_to": 31,
   "mis_from": 30,
   "related_cc": "ER-2019-04-04-000193",
   "callcard": {
    "call_card_id": "ER-2019-04-04-000194",
    "operator_id": "SYSTEM",
    "mis_call_card_id": "-2",
    "caller_number": "+380672207667",
    "start_datetime": "2019-04-04T17:57:03.280656",
    "end_datetime": "2019-04-04T17:58:42.294859",
    "call_priority": "Екстрений",
    "call_result": "Виклик бригади",
    "call_station": "Архів",
    "complain": {
     "complain1": "Дорожньо-транспортні пригоди",
     "complain2": "Дихання порушене, Свідомість порушена",
     "complain3": "Політравма",
     "complain4": "Землетруси",
     "code_complain": "16-2b2c-4",
     "patient_state": 154,
     "code_sit": "19"
    },
    "patient": {
     "name": "Даніла Галіцький",
     "first_name": "Даніла",
     "family_name": "Галіцький",
     "middle_name": null,
     "age": "45р.",
     "sex": "Ч",
     "phone": null
    },
    "call_address": {
     "city": "Київ",
     "street": "Грушевського",
     "building": "7",
     "location_type": "місто",
     "address_type": "будинок",
     "longitude": "50.4475",
     "latitude": "30.54",
     "date_modified": "2019-04-04T17:57:03.638424"
    },
    "intercall": {
     "mis_to": 30,
     "mis_from": 31,
     "related_cc": "ER-2019-04-04-000193"
    },
    "crew_id": null,
    "call_comment": null,
    "date_modified": "2019-04-04T17:58:42.340694",
    "timestamp": "2019-04-04T17:57:03.642251"
   },
   "date_modified": "2019-04-04T17:58:42.434546",
   "timestamp": "2019-04-04T17:58:42.434558"
  }
 ]
}



  • No labels
Write a comment…