Versions Compared

Key

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

Purpose

This method allows to get contexts of Observation in order to create approval on episode and receive access to other medical events.

Specification

Apiary

...

Page Properties
idAPI_Specification

Link

https://ehealthmedicaleventsapi.docs.apiary.io/#reference/medical-events/observation/get-observation-contexts

Resource

/api/patients/{{patient_id}}/observations/{{observation_id}}/context

Scope

medical_event_context:read

Components

EDP

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private/Internal

Public

Logic

Service returns contexts (episode and diagnostic_report), observation based on:

  • Get Observation object by observation_id from conditions (MongoDB)

  • Get observation.context_episode_id from Observation object

  • Get observation.diagnostic_report from Observation object

  • Render a response according to specification

Input parameters

Input parameter

Values

Type

Description

Example

patient_id

String

Patient identifier

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

observation_id

String

Observation identifier

a10aeafb-0df2-4091-bc83-f07e92a100ae

Request structure

See on Apiary

Authorize

  • Verify the validity of access token

    • 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_event_context:read')

    • Return (403, 'Your scope does not allow to access this resource. Missing allowances: medical_event_context:read') in case of invalid scope(s)

...

Headers

  • Content-Type:application/json

  • Authorization:Bearer mF_9.B5f-4.1JqM

Request data validation

Validate Person

  • Get Person identifier from the URL

  • Check it exists in DB

    • Return 404 ('not_found') in case of error

Validate Encounter

  • Get Observation identifier from the URL

    • Check it exists in DB

      • Return 404 ('not_found') in case of error

    • Check Observation belongs to patient

      • Return 404 ('not_found') in case of error

Service logic

Service returns contexts (episode and diagnostic_report), observation based on:

  • Get Observation object by observation_id from conditions (MongoDB)

  • Get observation.context_episode_id from Observation object

  • Get observation.diagnostic_report from Observation object

  • Render a response according to specification

Processing

API paragraph not found

Response structure*

See on Apiary

Expand
titleResponse example
Code Block
{
  "data": {
    "episode": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "episode"
            }
          ]
        },
        "value": "7c3da506-804d-4550-8993-bf17f9ee0403"
      },
      "display_value": "null"
    },
    "diagnostic_report": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "diagnostic_report"
            }
          ]
        },
        "value": "7c3da506-804d-4550-8993-bf17f9ee0403"
      },
      "display_value": "null"
    }
  },
  "meta": {
    "code": 200,
    "url": "http://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  }
}

Post-processing processes

API paragraph not found

HTTP status codes

Page Properties
idAPI_HTTP status codes

HTTP status code

Message

What caused the error

 200