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
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
Input parameter | Values | Type | Description | Example |
---|---|---|---|---|
medical_program_id |
Filters
PROVIDING_CONDITION
eHealth/clinical_impression_patient_categories
LICENSE_TYPE
FUNDING_SOURCE
MEDICAL_PROGRAM_TYPE
MR_BLANK_TYPES
Dictionaries
API paragraph not found
GraphQL Specification
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 = '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).
Request data validation
Validate legal entity
Extract client_id from token.
Check client scopes in order to perform this action (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
Backward compatibility
API paragraph not found