Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

/wiki/spaces/EN/pages/17591304241 (remove the link block before publishing the document)

Table of Contents

Properties of a REST API method document

Page Properties
idpage_properties_method_REST API

Document type

Метод REST API

Document title

[DRAFT] Get Immunization context [API-007-004-005-0262]

Guideline ID

GUI-0011

Author

@

Document version

1

Document status

DRAFT

Date of creation

ХХ.ХХ.ХХХХ (дата фінальної версії документа – RC або PROD)

Date of update

ХХ.ХХ.ХХХХ (дата зміни версії)

Method API ID

API-007-004-005-0262

Microservices (namespace)

ME

Component

Episode

Component ID

COM-007-006

Link на API-специфікацію

https://medicaleventsmisapi.docs.apiary.io/#reference/medical-events/immunization/get-immunization-context

Resource

{{host}}/api/patients/{{patient_id}}/immunizations/{{immunization_id}}/context

Scope

medical_event_context:read

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private

Public

Purpose

This method allows to get the context of Immunization in order to create approval on episode and receive access to other medical events.

Logic

Service returns context (episode), immunization based on:

  • Get Immunization object byimmunization_id from immunizations (MongoDB)

  • Get immunization.context.identifier from Immunization object

  • Call Get Encounter context :

    • Get Encounter objectby immunization.context.identifier (immunization.context.identifier = encounter._id)
      AFTER

    • Get encounter.episode from Encounter object

  • Render a response according to specification

Configuration parameters

N/A

Dictionaries

N/A

Input parameters

Input parameter

Mandatory

Type

Description

Example

1

patient_id

 

String

Patient identifier

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

2

immunization_id

 

String

Immunization identifier

a10aeafb-0df2-4091-bc83-f07e92a100ae

Request structure

See on API-specification

Expand
titleExample
Code Block
languagejson

Headers

Headers

Request data validation

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)

Validate Person

  • Get Person identifier from the URL

  • Check it exists in DB

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

Validate Encounter

  • Get Immunization identifier from the URL

    • Check it exists in DB

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

    • Check Immunization belongs to patient

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

Processing

N/A

Response structure examples

See on API-specification

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

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

200

3

4

Специфічні

5

Post-processing processes

N/A

Technical modules where the method is used