Overview
This web service allows to create a new episode of care for a patient.
...
Validation
Validate token
- Verify the validity of access token
- Return 401 in case validation fails
- Verify token is not expired
- in case of error return 401
Validate scopes
- Check user scopes in order to perform this action (scope = 'episode:write')
- Return 403 in case invalid scope(s)
...
- Validate patient status
- Medical_data status for this patient must be in "active" status
- in case of error return 409 - "Patient is not active"
- Medical_data status for this patient must be in "active" status
- Validate episode id is unique
- $.id is unique
in case of error return 422 - "Episode with such id already exists"
- $.id is unique
Validate that episode number is unique$.number is uniquein case of error return 409 - "Episode with such number already exists. Episode number must be unique"
- Validate request according to JSON Schema LINK
- in case of error return 422
- Validate type according to legal entity type - use config for this validation "primary_care_episode_types, outpatient_episode_types, emergency_episode_types"
- Primary_Care - PHC
- OUTPATIENT - AMB, ACUTE, NONAC, SS
- EMERGENCY - EMER
Validate status= "active"- resolved by JSON schema- Validate managing_organization
- Only one item is allowed in coding array
- in case of error return 422 "Only one item is allowed in "coding" array "
- $.managing_organization.identifier.type.coding.[0].code = "legal_entity"
- in case of error return 422 "Only legal_entity could be submitted as a managing_organization"
- $.managing_organization.identifier.value = token.client_id
- in case of error return 422 "Managing_organization does not correspond to user`s legal_entity"
- $.managing_organization.identifier.type.coding.[0].system = "eHealth/resources"
- in case of error return 422 "Submitted system is not allowed for this field"
- Only one item is allowed in coding array
- Validate period
- $.period.start <= current_date
- in case of error return 422 - "Start date of episode must be in past"
- $.period.end is absent
- in case of error return 422 - "End date of episode could not be submitted on creation"
- $.period.start <= current_date
- Validate care_manager
- $.care_manager.identifier.type.coding.[0].code = "employee"
- in case of error return 422 "Only employee could be submitted as a care_manager"
- $.care_manager.identifier.type.coding.[0].system = "eHealth/resources"
- in case of error return 422 "Submitted system is not allowed for this field"
- $.care_manager.identifier.value must meet the following requirements
- PRM.employee.type = "DOCTOR"
- in case of error return 409 "Employee submitted as a care_manager is not a doctor "
- PRM.employee.status= "active"
- in case of error return 409 "Doctor submitted as a care_manager is not active "
- PRM.employee.legal_entity = token.client_id
- in case of error return 409 "User can create an episode only for the doctor that works for the same legal_entity"
- PRM.employee.type = "DOCTOR"
- $.care_manager.identifier.type.coding.[0].code = "employee"
...