Table of Contents
minLevel1
maxLevel3

Required parameters are marked with "*"

Якщо інформації по відповідному параметру немає, потрібно зазначити: “APIparagraph not found”.

Purpose*

This WS allows to generate Printout form by $contract_id. Printout form is generated only for contract requests in status 'PENDING_NHS_SIGN'. Also, it is available for contract requests s in statuses 'NHS_SIGNED' and  'SIGNED'  through Get Contract request details

...

Page Properties

Project Name

COVID-certificate

Project abreviation

SVC

Developer

Розробник методу API. Наприклад, Edenlab

Project Manager

Mykhailo Zhushman (Unlicensed)

Tech Lead

Product Owner

Yevhen Batura NHSU

Вusiness analyst

Taras Khometa (Unlicensed)

Status

Status
colourGreen
titleAPPROVED

Version

1.0

Date of release

Link

https://ehealthmisapi1.docs.apiary.io/#reference/public.-contracts/contract-request/public.-get-contract-request-printout-content

Resource

/api/contract_requests/contract_type/{id}/printout_content

Scope

Зазначається потрібний scope

Components

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

Microservices

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

Protocol type

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

Request type

GET

Sync/Async

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

Logic*

This method is designed to get printout content by contract request id. In order to sign contract it's need to invoke Get Contract Request Details and Get Contract Request Printout Content and sign whole data.

Input parameters

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

Input parameter

Values

Type

Description

Example

id

String

contract request identifier

d290f1ee-6c54-4b01-90e6-d701748f0851

Request structure*

See on Apiary пример кода удалять или нет ?

Example:

...

titleRequest example

...

API paragraph not found

Authorize*

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

Request to process the request using a token in the headers

Headers*

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer c2778f3064753ea70de870a53795f5c9

Validate request*

Наприклад:

  1. Validate request using JSON schema

    1. In case validation failed - generate 422 error

Expand
titleJSON schema
Code Block
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "verification_code": {
      "type": "string"
    }
  },
  "required": [
    "verification_code"
  ],
  "additionalProperties": false
}

пример кода удалять или нет ?API paragraph not found

Request data validation*

Validate token

...

  • Validate contract request id. Check contract_requests.id = $.id

    • in case error return 404 ("Contract request with id=$id doesn't exist")

Processing*

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

1. Using global parameters

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

Generate Printout form 

  1. Validate contract request status

    1. If contract_request in statuses 'PENDING_NHS_SIGN' - generate printout form.

      1. set nhs_signed_date=now()::date

        1. In case of error (status in 'NEW', 'IN_PROCESS', 'APPROVED', 'DECLINED', 'TERMINATED', 'NHS_SIGNED' ,'SIGNED') return 409 Error ('Incorrect status of contract_request to generate printout form')

    2. In case status was changed either to  'NHS_SIGNED' or 'SIGNED', printout form could be taken through Get Contract request details

  2. if contract_type=REIMBURSEMENT - Choose correct print out form, for different medical programs in contract request. Use config file to determine correct template form. 

...

Post-processing processes*

Що має відбутися в ЦБД після опрацювання та відправлення відповіді, тощо

HTTP status codes

HTTP status code

Message

What caused the error

 200

 

 

...