Purpose
...
This WS is designed to create new innm dosage (post).
Specification
...
Page Properties |
---|
Link | API paragraph not found | Resource | /innm_dosages | Scope | innm_dosage:write | Components | Drugs and Program medications | Microservices | API paragraph not found | Protocol type | REST | Request type | POST | Sync/Async | Sync | Public/Private/Internal | Internal. NHS Admin |
|
Logic
...
This method is used to create INNM Dosage. Fields descriptions are listed in request Example view.
Request structure
...
See on Apiary
Example:
Expand |
---|
|
Code Block |
---|
{
"name": "Амідарон",
"form": "PILL",
"ingredients": [
{
"id": "1349a693-4db1-4a3f-9ac6-8c2f9e541982",
"dosage": {
"numerator_unit": "MG",
"numerator_value": 200,
"denumerator_unit": "PILL",
"denumerator_value": 1
},
"is_primary": true
}
]
} |
|
Authorize
...
Verify the validity of access token
Check user scope (scope = 'innm_dosage:write') in order to perform this action
In case error - generate 401 response
Request to process the request using a token in the headers
...
Наприклад:
Content-Type:application/json
Authorization:Bearer c2778f3064753ea70de870a53795f5c9
Request data validation
...
Validate FK
Purpose validation: Check on existing Inmm/Innm dosage in ingredients
...
Validate request using JSON schemas (new_medication_type_innm_dosage_schema.json):
Return 422 with list of validation errors in case validation fails (422 EView)
Processing
...
Create new Medication
Create new record in Medications
Fill data
...
Destination | Source |
id | |
dosage | Ing.dosage |
parent_id | med_id |
innm_id | Ing.innm_id |
medication_id | NULL |
is_primary | Ing.is_primary |
inserted_at | :timestamp |
inserted_by | user_id |
updated_at | :timestamp |
updated_by | user_id |
Response structure
...
See on Apiary
Example:
Expand |
---|
|
Code Block |
---|
{
"meta": {
"code": 201,
"url": "https://example.com/resource",
"type": "object",
"request_id": "req-adasdoijasdojsda"
},
"data": {
"id": "09b2bffb-699a-43c0-bc9a-5066d9b9b5a8",
"name": "Амідарон",
"form": "PILL",
"ingredients": [
{
"id": "1349a693-4db1-4a3f-9ac6-8c2f9e541982",
"name": "Амідарон",
"dosage": {
"numerator_unit": "MG",
"numerator_value": 200,
"denumerator_unit": "PILL",
"denumerator_value": 1
},
"is_primary": true
}
],
"is_active": true,
"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"
}
} |
|
Expand |
---|
|
Code Block |
---|
{
"meta": {
"code": "422",
"url": "https://example.com/resource",
"type": "object",
"request_id": "req-adasdoijasdojsda"
},
"error": {
"type": "unverified",
"message": "Property \"is_active\" has not been defined and the schema does not allow additional properties!"
}
} |
|
Post-processing processes
...
API paragraph not found
HTTP status codes
...
Page Properties |
---|
HTTP status code | Message | What caused the error |
---|
201 | | | 422 | | |
|
...