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

Returns information about the user whose ID is in the token.

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

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

Input parameters

See onApiary

Filters

See onApiary

Dictionaries

  • GENDER

  • +DOCUMENT_TYPE

  • +ADDRESS_TYPE

  • COUNTRY

  • SETTLEMENT_TYPE

  • STREET_TYPE

  • PHONE_TYPE

  • +AUTHENTICATION_METHOD

  • +DOCUMENT_RELATIONSHIP_TYPE

Request structure

See onApiary

Authorize

Request to process the request using a token in the headers

Headers

  • Content-Type:application/json

  • Authorization:Bearer {{access_token}}

Request data validation

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": [
        {
          "type": "MOBILE",
          "number": "+380503410870"
        }
      ]
    },
    "confidant_person": [
      {
        "relation_type": "PRIMARY",
        "first_name": "Петро",
        "last_name": "Іванов",
        "second_name": "Миколайович",
        "birth_date": "1991-08-19",
        "birth_country": "Україна",
        "birth_settlement": "Вінниця",
        "gender": "MALE",
        "email": "confidant_person@example.com",
        "tax_id": "3126509816",
        "secret": "secret",
        "unzr": "19900101-00099",
        "systempreferred_way_communication": "eHealth/composition_categoriesemail",
        "codedocuments_person": "LIVE_BIRTH" [
          {
 }     ]   },   "type": { "PASSPORT",
            "codingnumber": [
  "АА120518",
   {         "systemexpiration_date": "eHealth/composition_types2021-02-28",
            "codeissued_by": "NEWBORN"Рокитнянським РВ ГУ МВС Київської області",
 }     ]   },   "eventissued_at": ["2017-02-28"
    {      }
"code": {         "coding": [],
        "documents_relationship": [
 {             "system": "eHealth/composition_events",{
            "codetype": "COMPOSITIONBIRTH_VALIDITY_PERIODCERTIFICATE",
          }    "number": "АА120518",
    ]       },       "period"issued_by": {"Рокитнянським РВ ГУ       "start": "2020-06-26T15:22:53.403Z",МВС Київської області",
            "endissued_at": "20202017-07-26T15:22:53.403Z02-28"
          }
    }    ],
        "subjectphones": { [
         "type": {
      "coding": [       "type": "MOBILE",
 {           "systemnumber": "eHealth/composition",+380503410870"
          }
   "code": "string"    ]
    }  }
    ],
      "textconfident_persons": "string"
 [
      {
   },     "valuefirst_name": "e49abc30-6d17-11ea-b83c-673680173afa"
  }"Петро",
  "encounter": {     "typelast_name": "Іванов",
 {       "codingsecond_name": ["Миколайович",
        {
 "birth_date": "1991-08-19",
        "systembirth_country": "eHealth/compositionУкраїна",

         "codebirth_settlement": "stringВінниця",
        }
      ],"gender": "MALE",
        "textemail": "stringemail@example.com",
    },     "valuetax_id": "e49abc30-6d17-11ea-b83c-673680173afa"
  }3126509816",
  "author": {     "typesecret": "secret",
 {       "codingdocuments": [
          {
            "systemtype": "eHealth/compositionPASSPORT",
            "codenumber": "stringАА120518",
          }
  "expiration_date": "2021-02-28",
     ],       "textissued_by": "string" "Рокитнянським РВ ГУ МВС Київської області",
       },     "valueissued_at": "e49abc302017-6d17-11ea-b83c-673680173afa02-28"
  },   "section": {     "focus":}
{       "type": { ],
        "codingaddresses": [
          {
            "systemtype": "eHealth/compositionRESIDENCE",
            "codecountry": "stringUA",
          }     "area": "Житомирська",
   ],         "textregion": "stringБердичівський",
      },       "valuesettlement": "e49abc30-6d17-11ea-b83c-673680173afa"Київ",
      }   },   "extensionsettlement_type": ["CITY",
     {       "valueCodesettlement_id": "AUTHORIZE_WITH",b075f148",
            "valueUuidstreet_type": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    },STREET",
     {       "valueCodestreet": "IS_ACCIDENTвул. Ніжинська",
      "valueBoolean": true     },"building": "15",
     {       "valueCodeapartment": "TREATMENT_VIOLATION23",
            "valueStringzip": "late_arrival02090"
     },     }
{       "valueCode": "TREATMENT_VIOLATION_DATE", ],
        "valueDatephones": "2020-12-12" [
     },     {
     
"valueCode": "IS_INTOXICATED",
      "valueBoolean": true     },"type": "MOBILE",
     {       "valueCodenumber": "IS_FOREIGN_TREATMENT",+380503410870"
          "valueBoolean":}
true     },   ],
 {       "valueCodeauthentication_methods": "IS_FORCE_RENEW", [
          {
"valueBoolean": 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"   "type": "OTP",
            "phone_number": "+38093*****85"
          }
        ],
    "status    "preferred_way_communication": "PENDING",email"
      }
  "eta": "string"  ],
    "doneAt": "string"is_active": true,
    "linksmerged_ids": [
      {
        "entityid": "eHealth/composition",7bca069f-21e4-4546-90cf-b65e3f39d93d"
        "href": "composition/0daaad78-6cfb-11ea-9cd6-afab698838bc",}
    ],
    "errorinserted_at": "string"2017-03-02T10:45:16.000Z",
      }"updated_at": "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

...