ЕСОЗ - публічна документація

Update Episode V2

Overview

This web service is designed to update existing episode of care for the patient.

Specification

Apiary

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')

    1. Return 403 in case invalid scope(s)

Validate legal entity

  • Validate episode belongs to the legal entity where the current user works

    • ME.episode.managing_organization==token.client_id

      • in case of error return 422 "Managing_organization in the episode does not correspond to user`s legal_entity"

Request validation

  1. ME.episode.status == "active"

    1. in case of error "Episode in status {episode_status} can not be updated"

  2. Validate care_manager

    1. $.care_manager.identifier.type.coding.[0].code = "employee"

      1. in case of error return 422 "Submitted code is not allowed for this field"

    2. $.care_manager.identifier.type.coding.[0].system = "eHealth/resources"

      1. in case of error return 422 "Submitted system is not allowed for this field"

    3. $.care_manager.identifier.value must meet the following requirements

      1. PRM.employee.type = "DOCTOR"

        1. in case of error return 409 "Employee submitted as a care_manager is not a doctor " 

      2. PRM.employee.status= "active"

        1. in case of error return 409 "Doctor submitted as a care_manager is not active "

      3. PRM.employee.legal_entity = token.client_id

        1. in case of error return 409 "User doesn`t have permitions to set the employee as a care_manager of the episode" 

Validate referral_requests (service requests)

Service requests must relates to the same patient as episode of care

You can reference only active and used service request

Service request must be used in the same legal entity

  1. $.referral_requests.identifier.type.coding.[0].code = "service_request"

    1. in case of error return 422 "Only service_request could be submitted as a referral_request"

  2. $.referral_requests.identifier.type.coding.[0].system = "eHealth/resources"

    1. in case of error return 422 "Submitted system is not allowed for this field"

  3. $.referral_requests.identifier.value must meet the following requirements

    1. ME_DB.service_request.status == "active"

    2. ME_DB.service_request.used_by is not empty

      1. in case of error return 422 "Service request must be active"

    3. ME_DB.service_request.used_by relates to the same legal entity as user

      1. in case of error return 422 "Service request must relates to the same legal entity"

Request processing

  1. Set patients.episodes.#{id}.care_manager.display_value= ((PRM.parties.first_name + PRM.parties.second_name  + PRM.parties.last_name) where PRM.parties.id == PRM.employees.party_id) where PRM.employees.id== $.care_manager.identifier.value

  2. Set episodes.managing_organization.display_value = PRM.legal_entities.public_name where ( PRM.legal_entities.id == $.managing_organization.identifier.value) 

ЕСОЗ - публічна документація