Table of Contents |
---|
Specification
...
Apiary
...
...
JSON Schema response
...
Status | ||||
---|---|---|---|---|
|
Purpose
This WS is design to update flags "is_active" for Medical Program.
...
Table of Contents |
---|
Purpose
This WS allows deactivating existing medical programs.
Key points
This is a graphQl method used in the Administration panel only.
Only authenticated and authorized NHS employee with an appropriate scope can deactivate a Medical program.
Specification
Page Properties | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Logic
For the medical program entity set:
is_active = false
updated_by = current user (from token)
updated_at = current date and time.
Preconditions
API paragraph not found
Global and configurable parameters
API paragraph not found
Input parameters
API paragraph not found
Filters
API paragraph not found
Dictionaries
API paragraph not found
GraphQL Specification
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Authorize
Verify the validity of access token
In case error - generate 401 response
...
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 = 'medical_program:
...
write')
return 403 (“Your scope does not allow to access this resource. Missing allowances: medical_program:write”) in case of invalid scope(s).
Headers
Request data validation
Validate legal entity
Extract client_id from token.
Check client scopes in order to perform this action
...
In case error - generate 403 response
Validate FKs
Purpose validation: Check on active program medication. Only medical program without active program medication can be deactivated. In case on existing active program medication linked with medical program error must be shown.
Check exist `program_medication` by $.medical_program_id=$.id & `is_active`= false
if invalid - return 409 error (message: "This program has active participants. Only medical programs without participants can be deactivated.")
Validate PK Program Medications
Purpose validation: Check on existing record for Medical program
Check exist `Medical_program` by $.id.
if invalid - return 404 error (message: "Medical program with id={$.id} doesn't exist.")
Validate status
Purpose validation: Medical program should be active (is_active == TRUE)
...
Validate `is_active` == TRUE
if invalid - return 409 error (message: "Medical program is not active and can't be deactivated")
Deactivate Program Medications
Update medical program record by $.id set values:
...
Destination
...
Source
...
is_active
...
FALSE
...
updated_at
...
:timestamp
...
updated_by
...
user_id
Deactivate Medical Program Provision
For MEDICATION medical program type (according to link).
Deactivate all related active medical program provision entities:
set is_active = false
set deactivate_reason = AUTO_MEDICAL_PROGRAM_DEACTIVATION
set updated_at, updated by(scope = 'medical_program:write')
in case of error - return 403 (“Your scope does not allow to access this resource. Missing allowances: medical_program:write”).
Check type = NHS
in case of error - return 403 ('You don’t have permission to access this resource').
Validate medical program ID
Check id exists in DB
in case of error - return 404 ('not_found').
Validate related program medications
For each related program medication:
Check it has is_active=true
in case of error - return 409 ('This program has active participants. Only medical programs without participants can be deactivated').
Processing
API paragraph not found
Response structure
API paragraph not found
Post-processing processes
API paragraph not found
HTTP status codes
Page Properties | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Backward compatibility
API paragraph not found