Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel3

...

Page Properties

Link

https://medicaleventsmisapi.docs.apiary.io/#reference/medical-events/episode-of-care/update-episode

Resource

/api/patients/{{patient_id}}/episodes/{{episode_id}}

Scope

episode:write

Components

Episode of Care

Microservices

API paragraph not found

Protocol type

REST

Request type

PATCH

Sync/Async

Async

Public/Private/Internal

Public

Logic

...

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

Global and configurable parameters

https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/583402009/Medical+Events+Dictionaries+and+configurations#ALLOWED_EPISODE_CARE_MANAGER_EMPLOYEE_TYPES

Input parameters

Input parameter

Values

Type

Description

Example

patient_id

String

Patient identifier

70a9e15b-b71b-4caf-8f2e-ff247e8a5677

episode_id

String

Episode identifier

a10aeafb-0df2-4091-bc83-f07e92a100ae

...

Request to process the request using a token in the headers

Headers

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer mF_9.B5f-4.1JqM

Request data 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 

  • Check user scopes in order to perform this action (scope = 'episode:write')

    • Return 403 in case invalid scope(s)

Headers

  • Content-Type:application/json

  • Authorization:Bearer {{access_token}}

  • API-key:{{secret}}

Request data validation

Validate token

  • check value of ALLOW_OTHER_LE_EMPLOYEES_TO_MANAGE_EPISODE variable in charts configuration

    • if its value is equal to false, verify that user’s employees from care_manager belongs to one of the user_id from token

      • in case of error - return 422 ('User is not allowed to perform this action')

    • otherwise, verify that user’s employees from care_manager belongs to the same Legal Entity as author of the episode

      • in case of error - return 422 ('User is not allowed to perfom this action')

Validate scopes

  • Check user scopes in order to perform
      • this action

    (scope = 'episode:write
      • '

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

...

  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 = value from list of employee_types in configuration:
        ALLOWED_EPISODE_CARE_MANAGER_EMPLOYEE_TYPES

        1. in case of error return 409 "Employee submitted as a care_manager is not a not in the list of allowed employee types"

      2. PRM.employee.status= "active"

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

      3. PRM.employee.legal_entity = token.client_id=ME.episode.care_manager.identifier.value

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

...