Status
...
DONE
...
DONE
...
ABSENT
...
Purpose
This WS is designed to return Program_medications detail.
APIary
Input parameters (filters)
- id
Logic WS
...
Table of Contents |
---|
Purpose
This WS allows to get single medication program participant.
Specification
Page Properties | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Logic
Get program medication by id.
Render detailed program medication data according to schema.
Key points
This is a graphQl method used in Administration panel only
Only authenticated and authorized NHS employee with an appropriate scope can get a Program medication.
Input parameters
Parameter | Value | Type | Description | Example |
---|---|---|---|---|
id | String |
|
GraphQl Specification
Expand | ||
---|---|---|
|
Authorize
Verify the validity of access token
in case of error - return 401 (“Invalid access token”) in case of validation fails.
Verify that token is not expired
in case of error - return 401 (“Invalid access token”).
Check user scopes in order to perform this action (scope = 'program_
...
medication:read')
Validate PK Medication
Purpose validation: Check on existing record for the participant (Medication within the Medical program)
Check exist participant "Program_medications" by $.id
- if invalid - return 404 error (message: "ID for Medication linked with the Medical program is not found!")
Validate status
Purpose validation: Participant (medication within the program) should be active (is_active == TRUE)
- Validate `is_active` == TRUE
- if invalid - return 409 eror (message: "Participant should be active!")
Logic WS
...
return 403 (“Your scope does not allow to access this resource. Missing allowances: program_medication:read”) in case of invalid scope(s).
Headers
Content-Type:application/json
Authorization:Bearer c2778f3064753ea70de870a53795f5c9
Request data validation
Validate legal entity
Extract client_id from token.
Check client scopes in order to perform this action (scope = 'program_
...
SELECT
pr.id
,mp.name as medical_program_name
,med.name as medication_name
,med.form
,med.manufacturer
,INNM.name as innm_name
,pr.reimbursement
,
pr.medication_id
,pr.medical_program_id
,pr.is_active
,
pr.medical_request_allowed
,INNM.id as innm_id
,innm.dosage
,innm.form
,med.dosage
FROM
program_medications pr
INNER JOIN medical_programs mp
ON pr.medical_program_id = mp.id
AND mp.is_active = TRUE
INNER JOIN medications med
ON pr.medication_id = MED.id
AND MED.is_active =
TRUE
AND
MED
.type = 'MEDICATION'
AND
MED.ingredients.is_active_substance =
TRUE
INNER
JOIN
medications INNM
AND
INNM.is_active =
TRUE
AND INNM
.type = 'INNM'
WHERE
1=1AND (PR.medical_program_id = $.medical_program_id
OR
$.medical_program_id
IS
NULL)
AND
(mp.
name
LIKE
`%$.medical_program_name
%`
OR
$.
name
IS
NULL
)
AND
(INNM.id = $.innm_id
OR
$.innm_id
IS
NULL
)
AND
(INNM.
name
LIKE
`%$.innm_name%`
OR
$.innm_name
IS
NULL)
AND
(PR.medication_id
= $.id
OR
$.id
IS
NULL
)
AND
(med.name LIKE
`%$.
medication_name%`
OR
$.medication_name
IS
NULL
)
Prepare & return response data structure
...
medication:read')
Search Program_medications by filters in payload
in case of error - return 403 (“Your scope does not allow to access this resource. Missing allowances: program_medication:read”).
Validate params
Validate program medication id exists in DB
in case of error - return 404 ('not_found').
Response structure
See on Apiary
Expand | ||
---|---|---|
| ||
|
HTTP status codes
Page Properties | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|