Versions Compared

Key

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

Purpose*

Необхідно зазначити призначення методу, а також посилання на бізнес процеси, в яких він задіяний

Наприклад: This method allows to receive active person declarations issued by the current legal entity (based on access_token)

...

Specification*

...

idAPI_Specification

...

Link

...

Посилання на Apiary або Swagger

...

Resource

...

Посилання на ресурс, наприклад: /api/persons/create

...

Scope

...

Scope для доступу

...

Components

...

Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: ePrescription

...

Microservices

...

Перелік мікросервісів, які використовує метод API, наприклад: Auth, ABAC

...

Protocol type

...

Тип протоколу, який використовується запитом, наприклад: SOAP | REST

...

Request type

...

Тип запиту API, наприклад: GET, POST, PATCH…

...

Sync/Async

...

Метод є синхронним чи асинхронним?

...

Public/Private/Internal

...

Потрібно зазначити тип методу за ступенем доступності

Preconditions

Які передумови мають бути виконані системою/користувачем. Наприклад:

  • створений запис в MedicationRequest;

  • рецепт відпущений (COMPLETED)

Logic*

Потрібно по пунктах описати логіку методу API або додати діаграму

Global and configurable parameters

Потрібно вказати посилання на сторінки з описом глобальних та конфігураційних параметрів

Input parameters

Потрібно вказати вхідні параметри запиту. Наприклад, для GET /patients/composition/job/{{asyncJobId}} вхідний параметр:

...

Input parameter

...

Values

...

Type

...

Description

...

Example

...

asyncJobId

...

String

...

Async Job Object ID

Filters

Потрібно вказати фільтри. Наприклад, для GET /api/medication_requests/{{id}}/dispenses?status=PROCESSED фільтр:

...

Filter

...

Values

...

Type

...

Description

...

Example

...

status

...

String

...

Optional

...

PROCESSED

Dictionaries

Потрібно вказати посилання на сторінки довідників, які використовує метод API

Request structure*

See on Apiary

Example:

...

titleRequest example

...

Table of Contents
minLevel1
maxLevel3

Purpose

Specification

Page Properties
idAPI_Specification

Link

https://uaehealthapi.docs.apiary.io/#reference/internal.-master-patients-index/persons/get-patient-by-id

Посилання на Apiary або Swagger

Resource

/persons/{{id}}

Посилання на ресурс, наприклад: /api/persons/create

Scope

Scope для доступу

Components

Master Patient Index

Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: ePrescription

Microservices

mpi/api

il/api (rpc)

fe/admin-web

Перелік мікросервісів, які використовує метод API, наприклад: Auth, ABAC

Protocol type

REST

Тип протоколу, який використовується запитом, наприклад: SOAP | REST

Request type

GET

Тип запиту API, наприклад: GET, POST, PATCH…

Sync/Async

Sync

Метод є синхронним чи асинхронним?

Public/Private/Internal

Private

Потрібно зазначити тип методу за ступенем доступності

Preconditions

Logic

Global and configurable parameters

Input parameters

See onApiary

Filters

See onApiary

Dictionaries

GENDER https://e-health-ua.atlassian.net/wiki/spaces/EBT/pages/1287192636/DOCUMENT+TYPE /wiki/spaces/EBT/pages/1191149607 COUNTRY https://e-health-ua.atlassian.net/wiki/spaces/EBT/pages/1199734785/SETTLEMENT+TYPE https://e-health-ua.atlassian.net/wiki/spaces/EBT/pages/1199898644/STREET+TYPE https://e-health-ua.atlassian.net/wiki/spaces/EBT/pages/1321533446/PHONE+TYPE /wiki/spaces/EBT/pages/1190985773 https://e-health-ua.atlassian.net/wiki/spaces/EBT/pages/1295941643/DOCUMENT+RELATIONSHIP+TYPE

Authorize

Request to process the request using a token in the headers

Headers

  • Content-Type:application/json

  • Authorization:Bearer {{access_token}}

Request data validation

Processing

Response structure

See onApiary

Example:

Expand
titleResponse example
Code Block
{
  "meta": {
    "code": 200,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "6617aeec-15e2-4d6f-b9bd-53559c358f97#17810"
  },
  "data": {
    "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
    "first_name": "Петро",
    "last_name": "Іванов",
    "second_name": "Миколайович",
    "birth_date": "1991-08-19",
    "birth_country": "Україна",
    "birth_settlement": "Вінниця",
    "gender": "MALE",
    "email": "email@example.com",
    "tax_id": "3126509816",
    "secret": "secret",
    "documents": [
      {
        "type": "PASSPORT",
        "number": "АА120518",
        "expiration_date": "2021-02-28",
        "issued_by": "Рокитнянським РВ ГУ МВС Київської області",
        "issued_at": "2017-02-28"
      }
    ],
    "addresses": [
      {
        "type": "RESIDENCE",
        "country": "UA",
        "area": "Житомирська",
        "region": "Бердичівський",
        "settlement": "Київ",
        "settlement_type": "CITY",
        "settlement_id": "b075f148",
        "street_type": "STREET",
        "street": "вул. Ніжинська",
        "building": "15",
        "apartment": "23",
        "zip": "02090"
      }
    ],
    "phones": [
      {
        "type": "MOBILE",
        "number": "+380503410870"
      }
    ],
    "authentication_methods": [
      {
        "type": "OTP",
        "phone_number": "+38093*****85"
      }
    ],
    "preferred_way_communication": "email",
    "emergency_contact": {
      "first_name": "Петро",
      "last_name": "Іванов",
      "second_name": "Миколайович",
      "phones": [
        {
          "systemtype": "eHealth/composition_categoriesMOBILE",
          "codenumber": "LIVE_BIRTH"+380503410870"
        }
    ]  ]
},   "type": { },
    "codingconfidant_person": [
      {
        "systemrelation_type": "eHealth/composition_typesPRIMARY",
        "codefirst_name": "NEWBORNПетро",
      }
   "last_name": "Іванов",
  ]   },   "eventsecond_name": ["Миколайович",
    {       "code"birth_date": {"1991-08-19",
        "codingbirth_country": ["Україна",
          {
   "birth_settlement": "Вінниця",
        "systemgender": "eHealth/composition_eventsMALE",
   
        "codeemail": "COMPOSITION_VALIDITY_PERIOD"confidant_person@example.com",
        "tax_id": "3126509816",
}         ]
   "secret": "secret",
  },       "periodunzr": {"19900101-00099",
        "startpreferred_way_communication": "2020-06-26T15:22:53.403Zemail",
        "enddocuments_person": "2020-07-26T15:22:53.403Z" [
       }   {
 }   ],   "subject": {     "type": {"PASSPORT",
      "coding": [      "number": "АА120518",
 {           "systemexpiration_date": "eHealth/composition2021-02-28",
            "codeissued_by": "string"Рокитнянським РВ ГУ МВС Київської області",
   }       ],       "text"issued_at": "string2017-02-28"
    },     "value": "e49abc30-6d17-11ea-b83c-673680173afa" }
  },   "encounter": {     "type": {],
        "codingdocuments_relationship": [
          {
            "systemtype": "eHealth/compositionBIRTH_CERTIFICATE",
            "codenumber": "stringАА120518",
        }    "issued_by": "Рокитнянським РВ ],ГУ МВС Київської  області",
  "text": "string"     },
    "valueissued_at": "e49abc302017-6d17-11ea-b83c-673680173afa02-28"
  },   "author": {     }
        "type": {],
        "codingphones": [
          {
            "systemtype": "eHealth/compositionMOBILE",
            "codenumber": "string+380503410870"
          }
        ],
      "text": "string"}
    }],
    "valueconfident_persons": "e49abc30-6d17-11ea-b83c-673680173afa"[
   },   "section": {

   "focus": {       "type"first_name": {"Петро",
        "codinglast_name": ["Іванов",
          {"second_name": "Миколайович",
            "system"birth_date": "eHealth/composition1991-08-19",
   
        "codebirth_country": "stringУкраїна",
        "birth_settlement": "Вінниця",
}         ]"gender": "MALE",
        "textemail": "string"
 email@example.com",
    },       "value"tax_id": "e49abc30-6d17-11ea-b83c-673680173afa"3126509816",
    }   },   "extensionsecret": ["secret",
    {
      "valueCodedocuments": "AUTHORIZE_WITH",[
      "valueUuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"    {
},     {       "valueCodetype": "IS_ACCIDENTPASSPORT",
      "valueBoolean": true     },"number": "АА120518",
     {       "valueCodeexpiration_date": "TREATMENT_VIOLATION2021-02-28",
            "valueStringissued_by": "late_arrival"Рокитнянським РВ ГУ МВС Київської }області",
    {        "valueCodeissued_at": "TREATMENT_VIOLATION_DATE",2017-02-28"
          "valueDate": "2020-12-12"}
     },   ],
 {       "valueCodeaddresses": "IS_INTOXICATED",[
      "valueBoolean": true    {
},     {       "valueCodetype": "IS_FOREIGN_TREATMENTRESIDENCE",
      "valueBoolean": true      "country": "UA",
            },"area": "Житомирська",
     {       "valueCoderegion": "IS_FORCE_RENEWБердичівський",
            "valueBooleansettlement": true "Київ",
       }   ]
}

Authorize*

Вимоги до авторизації: яким чином надається доступ до використання методу

Request to process the request using a token in the headers

Headers*

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer c2778f3064753ea70de870a53795f5c9

  • api-key:uXhEczJ56adsfh3Ri9SUkc4en

Request data validation*

Валідація даних

Наприклад:

  1. Validate request using JSON schema

    1. In case validation failed - generate 422 error

Processing*

Потрібно описати процеси, які відбуваються з даними

1. Using global parameters

Потрібно викликати глобальні параметри (Global parameters), щоб отримати наведені нижче параметри

Response structure*

See on Apiary

Example:

Expand
titleResponse example
Code Block
{
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "PENDING",
    "eta": "string",
    "doneAt": "string",
    "links  "settlement_type": "CITY",
            "settlement_id": "b075f148",
            "street_type": "STREET",
            "street": "вул. Ніжинська",
            "building": "15",
            "apartment": "23",
            "zip": "02090"
          }
        ],
        "phones": [
          {
            "type": "MOBILE",
            "number": "+380503410870"
          }
        ],
        "authentication_methods": [
          {
            "type": "OTP",
            "phone_number": "+38093*****85"
          }
        ],
        "preferred_way_communication": "email"
      }
    ],
    "is_active": true,
    "merged_ids": [
      {
        "entityid": "eHealth/composition",7bca069f-21e4-4546-90cf-b65e3f39d93d"
      }
    ],
    "hrefinserted_at": "composition/0daaad78-6cfb-11ea-9cd6-afab698838bc",
 2017-03-02T10:45:16.000Z",
      "errorupdated_at": "string"
   2017-03-02T10:45:16.000Z"
  }
   
]
  }
}

Post-processing processes

...

HTTP status codes

...

Page Properties
idAPI_HTTP status codes

HTTP status code

Message

What caused the error

  200

 

 

 

 

 

Backward compatibility

Сумісність з попередніми версіями методу