Purpose
This WS is designed to update medication by ID (post).
APIary
Input parameters
- id
- name
- start_at
- route
- container_dosage info
- package_qty
- package_min_qty
- code_ATX
- manufacturer_name_country info
- certificate
- expired_certificate_date
- ingridients info
- innm_id
- dosage info
- is_active_substance
Authorize
- Verify the validity of access token
- Check user scope (scope = 'medication:write') in order to perform this action
- In case error - generate 401 response
Validate request (JSON schema)
Validate request using JSON schema (link !!! TBD)
Validate Medication
Purpose validation: Check on existing Medication record
Check exist Medication by $.id.
if invalid - return 422 error (message: "Medication not found!")
Validate Innm
Purpose validation: Check on existing Innm in ingridients
Check exist Innm by $.ingridients[].innm_id.
if invalid - return 422 error (message: "Innm in ingridients not found!")
Validate Dosage & Container dosage
Purpose validation: Denum unit from Dosage must be is equal Denum unit from Container dosage. See examples: Medications model
Check exist any Denum unit from Dosage ($.ingridients[].dosage.denumerator_unit) with Denum unit Container dosage ($.container_dosage.denumerator_unit).
if invalid - return 422 error (message: "Denum unit from Dosage ingridients must be is equal Denum unit from Container dosage medication!")
Create new Medication
- Update (set values) new record in Medications
- Fill data
Destination | Source |
---|---|
name | $.name |
is_active | TRUE |
start_at | $.start_at |
route | $.route |
container_dosage | $.container_dosage |
package_qty | $.package_qty |
package_min_qty | $.package_min_qty |
code_ATX | $.code_ATX |
manufacturer_name_country | $.manufacturer_name_country |
certificate | $.certificate |
expired_certificate_date | $.expired_certificate_date |
inserted_at | :timestamp |
inserted_by | user_id |
updated_at | :timestamp |
updated_by | user_id |
- Delete all child records in Ingridients by $.id (it is medication id )
- Create new records in Ingridients (array)
Destination | Source |
---|---|
id | |
medication_id | $.id |
innm_id | $.ingridients[].innm_id |
is_active_substance | $.ingridients[].is_active_substance |
dosage | $.ingridients[].dosage |
inserted_at | :timestamp |
inserted_by | user_id |
updated_at | :timestamp |
updated_by | user_id |
Return data structure
- Fill response data structure (Similar input parametrs)
- Additional
- id
- container_dosage.description
- ingridients.dosage.description
- ingridients.innm info