Table of Contents | ||||
---|---|---|---|---|
|
Required parameters are marked with "*"
...
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
Specification*
...
Project Name
...
COVID-certificate
...
Project abreviation
...
SVC
...
Developer
...
Розробник методу API. Наприклад, Edenlab
...
Project Manager
...
Tech Lead
...
Product Owner
...
Вusiness analyst
...
Status
Status | ||||
---|---|---|---|---|
|
...
Version
...
1.0
...
Date of release
...
...
Link
...
...
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.
Global and configurable parameters
Потрібно вказати глобальні та конфігураційні параметри.
Наприклад:
...
Variable
...
Values
...
Description
...
CARE_PLAN_<category>_ICD10_AM_CONDITIONS_ALLOWED
...
Values that matches with dictionaryeHealth/ICD10_AM/condition_codes
Example: “E10.32, E11.92”
...
(Example: CARE_PLAN_CLASS_1_ICD10_AM_CONDITIONS_ALLOWED)
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
Request structure*
See on Apiary
Example:
...
title | Request example |
---|
...
Table of Contents | ||||
---|---|---|---|---|
|
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
Specification*
Page Properties | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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 |
|
Request structure*
See on Apiary пример кода удалять или нет ?
Example:
Expand | ||
---|---|---|
| ||
|
Authorize*
Вимоги до авторизації: яким чином надається доступ до використання методу
Request to process the request using a token in the headers
Headers*
Наприклад:
Content-Type:application/json
Authorization:Bearer c2778f3064753ea70de870a53795f5c9
api-key:uXhEczJ56adsfh3Ri9SUkc4en
Validate request*
Наприклад:
Validate request using JSON schema
In case validation failed - generate 422 error
Expand | ||
---|---|---|
| ||
|
Request data validation*
Валідація даних
Parameters that are used when processing the request
Configuration parameters
Наприклад: Доступ до методу визначається скоупом covid_certificate:get . Дозвіл на даний скоуп визначається адміністратором Системи шляхом конфігурування скоупів в контексті клієнтів і ролей.
Dictionaries
Потрібно вказати довідники, які використовує метод API
Processing*
Потрібно описати процеси, які відбуваються з даними
1. Using global parameters
Потрібно викликати глобальні параметри (Global parameters), щоб отримати наведені нижче параметри
Response structure*
See on Apiary
Example:
Expand | ||
---|---|---|
| ||
|
Post-processing processes*
Що має відбутися в ЦБД після опрацювання та відправлення відповіді, тощо
HTTP status codes
...
HTTP status code
...
Message
...
What caused the error
...
...
...
...
...
...
Validation
Validate token
Verify the validity of access token
Return 401 in case validation fails
token is not expired
in case error return 401
Validate scopes
Check user scopes in order to perform this action (scope = 'contract_request:read')
Return 403 in case invalid scope(s) -"Your scope does not allow to access this resource. Missing allowances: contract_requests:read"
Validate employee
extract user_id from token
extract client_id from token
Check if user is active
in case error return 403 - "user is not active"
Check nhs_legal_entity is active
in case error return 403 - "Client is not active"
Validate context
extract client_id from token. LE employee can see only this legal entities contract requests. NHS employee can see any contract request.
if TOKENS_TYPES_PERSONAL
Check client_id = contract_request.contractor_legal_entity_id
in case error return 403 "User is not allowed to perform this action"
Validate data
Validate contract request id. Check contract_requests.id = $.id
in case error return 404 ("Contract request with id=$id doesn't exist")
Generate Printout form
Validate contract request status
If contract_request in statuses 'PENDING_NHS_SIGN' - generate printout form.
set nhs_signed_date=now()::date
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')
In case status was changed either to 'NHS_SIGNED' or 'SIGNED', printout form could be taken through Get Contract request details
if contract_type=REIMBURSEMENT - Choose correct print out form, for different medical programs in contract request. Use config file to determine correct template form.
...
medical program name
...
MAN
template
...
MAN
template for contract update
...
"Доступні ліки"
...
Dostupni_liky
...
Dostupni_liky appendix
...
"Інсуліни"
...
Insulin
...
Insulin appendix
...
"Нецукровий діабет"
...
Netsukrovyy_diabet
...
Netsukrovyy_diabet appendix
Invoke MAN to render printout form.
Request mapping:
...
Parameter
...
Source
...
id
...
CONTRACT_REQUEST
...
|
Authorize*
Вимоги до авторизації: яким чином надається доступ до використання методу
Request to process the request using a token in the headers
Headers*
Наприклад:
Content-Type:application/json
Authorization:Bearer c2778f3064753ea70de870a53795f5c9
Validate request*
Наприклад:
Validate request using JSON schema
In case validation failed - generate 422 error
Expand | ||
---|---|---|
| ||
|
пример кода удалять или нет ?
Request data validation*
Validate token
Verify the validity of access token
Return 401 in case validation fails
token is not expired
in case error return 401
Validate scopes
Check user scopes in order to perform this action (scope = 'contract_request:read')
Return 403 in case invalid scope(s) -"Your scope does not allow to access this resource. Missing allowances: contract_requests:read"
Validate employee
extract user_id from token
extract client_id from token
Check if user is active
in case error return 403 - "user is not active"
Check nhs_legal_entity is active
in case error return 403 - "Client is not active"
Validate context
extract client_id from token. LE employee can see only this legal entities contract requests. NHS employee can see any contract request.
if TOKENS_TYPES_PERSONAL
Check client_id = contract_request.contractor_legal_entity_id
in case error return 403 "User is not allowed to perform this action"
Validate data
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
Validate contract request status
If contract_request in statuses 'PENDING_NHS_SIGN' - generate printout form.
set nhs_signed_date=now()::date
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')
In case status was changed either to 'NHS_SIGNED' or 'SIGNED', printout form could be taken through Get Contract request details
if contract_type=REIMBURSEMENT - Choose correct print out form, for different medical programs in contract request. Use config file to determine correct template form.
medical program name |
|
| |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
"Доступні ліки" | Dostupni_liky | Dostupni_liky appendix | |||||||||
"Інсуліни" | Insulin | Insulin appendix | |||||||||
"Нецукровий діабет" | Netsukrovyy_diabet | Netsukrovyy_diabet appendix |
Invoke MAN to render printout form.
Request mapping:
Parameter | Source |
---|---|
id | CONTRACT_REQUEST |
|
Response structure*
See on Apiary
Example:
Expand | ||
---|---|---|
| ||
|
Post-processing processes*
Що має відбутися в ЦБД після опрацювання та відправлення відповіді, тощо
HTTP status codes
HTTP status code | Message | What caused the error |
---|---|---|
200 |
|
|