Versions Compared

Key

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

Purpose

This WS gives the opportunity to create an unidentified person in eHealth. It means that person can be created w/o any information about it.

Specification

Page Properties
idAPI_Specification

Link

https://ehealthmisapi1.docs.apiary.io/#reference/public.-medical-service-provider-integration-layer/preperson/create-preperson

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

Resource

/api/prepersons

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

Scope

preperson:write

Scope для доступу

Components

Patient registry

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

Microservices

API paragraph not foundmpi/api

il/api (rpc)

fe/admin-web

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

Protocol type

REST

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

Request type

POST

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

Sync/Async

Sync

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

Public/Private/Internal

Public

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

Logic

  1. Only authenticated and authorized SPECIALIST, ASSISTANT, RECEPTIONIST employees can register prepersons.

  2. Prepersons can be registered in OUTPATIENT and EMERGENCY legal entities.

  3. Prepersons shoul be registered only with external_id as a required field. Other are optional

  4. Preperson registers as separate record in MPI.prepersons table. On create ID of preperson sholdn’t match with ID of existent person.

  5. Service should return preperson_id.

  6. Preperson has been created without using digital sign.

Request structure

See on Apiary

...

Expand
titleRequest example
Code Block
{
  "external_id": "#1234-FDS-aa",
  "first_name": "Петро",
  "last_name": "Іванов",
  "second_name": "Миколайович",
  "gender": "MALE",
  "birth_date": "1980-01-01",
  "emergency_contact": {
    "first_name": "Петро",
    "last_name": "Іванов",
    "second_name": "Миколайович",
    "phones": [
      {
        "type": "MOBILE",
        "number": "+380503410870"
      }
    ]
  },
  "note": "Registered in SmartMed clinic at 01.01.2019 16:40. Male, 40 years old approximately, tatoo with sport motorcycle on the right forearm"
}

Dictionaries

  • GENDER

  • PHONE_TYPE

Authorize

  1. Verify the validity of access token

    1. Return 401 in case validation fails

  2. Check user scopes in order to perform this action (scope = 'preperson:write')

    1. Return 403 in case invalid scope(s)

Headers

Наприклад:

Content-Type:application/json

Authorization:Bearer c2778f3064753ea70de870a53795f5c9{{access_token}}

api-key:uXhEczJ56adsfh3Ri9SUkc4en{{secret}}

Request data validation

Validate legal entity

...

Expand
titleResponse example
Code Block
{
  "meta": {
    "code": 201,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "6617aeec-15e2-4d6f-b9bd-53559c358f97#17810"
  },
  "data": {
    "id": "7c3da506-804d-4550-8993-bf17f9ee0402",
    "external_id": "#1234-FDS-aa",
    "first_name": "Петро",
    "last_name": "Іванов",
    "second_name": "Миколайович",
    "gender": "MALE",
    "birth_date": "1980-01-01",
    "emergency_contact": {
      "first_name": "Петро",
      "last_name": "Іванов",
      "second_name": "Миколайович",
      "phones": [
        {
          "type": "MOBILE",
          "number": "+380503410870"
        }
      ]
    },
    "note": "Registered in SmartMed clinic at 01.01.2019 16:40. Male, 40 years old approximately, tatoo with sport motorcycle on the right forearm",
    "status": "ACTIVE",
    "death_date": "2018-11-11",
    "inserted_at": "2017-04-20T19:14:13Z",
    "inserted_by": "e1453f4c-1077-4e85-8c98-c13ffca0063e",
    "updated_at": "2017-04-20T19:14:13Z",
    "updated_by": "2922a240-63db-404e-b730-09222bfeb2dd"
  }
}

...

API paragraph not found

HTTP status codes

Page Properties
idAPI_HTTP status codes

HTTP status code

Message

What caused the error

201

 Response

 

401

 

Access token validation failed

403

Invalid scope(s)

409

Legal entity must be ACTIVE

Legal entity does not have appropriate healthcare services

Validation failed

422

Birth date can't be in the future

External_id should not be empty

Validation failed