...
...
- if invalid - return 409 eror (message: "Participant should be active!")
Logic WS
- Verify the validity of access token
- Check user scopes in order to perform this action (scope = 'program_medications:read')
Search Program_medications by filters in payload
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_medicationspr
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
...
AND (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
)
...
- pr.
id
=$.
id
Prepare & return response data structure
...