...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Table of Contents |
---|
Specification
...
...
Purpose
This WS is design to update flags "is_active" for Medical Program.
WS logic
Authorize
...
- In case error - generate 401 response
...
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
Input parameter | Values | Type | Description | Example |
---|---|---|---|---|
medical_program_id |
Dictionaries
PROVIDING_CONDITION
eHealth/clinical_impression_patient_categories
LICENSE_TYPE
FUNDING_SOURCE
MEDICAL_PROGRAM_TYPE
MR_BLANK_TYPES
API paragraph not found
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 = '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
- 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
...
FALSE
...
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
...
(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