Table of Contents |
---|
Purpose
This WS allows to create Care plan with activities for a single patient.
...
Get patient_id from URL
Validate person\preperson status is active
in case of error - return 409 ('Person is not active')
Validate person'sverification_status is not equal to NOT_VERIFIED.
in case of error return 409, "Patient is not verified"
Hash patient_id and store into the field $.subject
...
Check the value is valid reference on encounter resource
Check encounter is active (status is not entered_in_error)
in case of error - return 422 ('Encounter in "entered_in_error" status can not be referenced')
Check encounter belongs to patient ($.subject)
in case of error - return 422 ('Encounter with such id is not found')
Check that encounter diagnosis is not empty in $.encounter.diagnosis
in case of error - return 422 ('Encounter without diagnosis can not be referenced')
Validate primary diagnosis Condition in the Encounter:
Check condition codes is in allowed condition code list for the care plan’s category (chart variables in config)
in case of error - return 422 ('Primary diagnosis condition code and care plan category mismatch')
Check the condition system/codes has strict match with the value in the Addresses field
in case of error - return 422 ('Primary diagnosis condition codes do not match with codes in addresses') in case condition code in addresses is not the same as in the encounter diagnosis.
Validate Episode related to the Encounter:
exists
in case of error - return 422 ('Encounter refers to episode that does not exist')
is active
in case of error - return 422 ('Encounter refers to episode that is not active')
it’s managing organization matches with author’s legal entity (client_id)
in case of error - return 422 ('Encounter is from another legal entity')
...