Versions Compared

Key

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

...

Page Properties
idpage_properties_method_REST API

Document type

Метод REST API

Document title

[DRAFT] Get Observation by id (Patient Summary) [API-007-008-011-0297]

Guideline ID

GUI-0011

Author

@Mykhaylo Khapchyk (SoE eHealth)

Document version

1

Document status

DRAFT

Date of creation

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

Date of update

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

Method API ID

API-007-008-011-0297

Microservices (namespace)

ME

Component

Patient Summary

Component ID

COM-007-008

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

https://medicaleventsmisapi.docs.apiary.io/#reference/medical-events/patient-summary/get-observation-by-id

Resource

{{host}}/api/patients/{{patient_id}}/summary/observations/{{id}}

Scope

patient_summary:read

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private

Public

Purpose

N/AThis web service is designed to return detailed information of the patient’s observation.

Logic

N/A (Not applicable)

Configuration parameters

N/A (Not applicable)

Dictionaries

  1. eHealth/resources - patient (parameter “patient_id“ in request)

  2. eHealth/resources - observation (parameter “id“ in request)

  3. eHealth/observation_statuses(parameter “status“ in response)

  4. eHealth/resources - diagnostic_report (parameter “diagnostic_report“ in response)

  5. eHealth/resources - encounter (parameter “context“ in response)

  6. eHealth/observation_categories(parameter “categories“ in response)

  7. eHealth/LOINC/observation_codes (parameter “code“ in request/response)

  8. eHealth/resources - employee (parameter “performer“ in response)

  9. eHealth/report_origins (parameter “report_origin“ in response)

  10. eHealth/observation_interpretations (parameter “interpretation“ in response)

  11. eHealth/body_sites (parameter “body_site“ in response)

  12. eHealth/observation_methods (parameter “method“ in response)

  13. eHealth/ucum/units (parameter “reference_ranges:low; reference_ranges:high;“ in response)

  14. eHealth/reference_range_types (parameter “type“ in response)

  15. eHealth/reference_range_applications (parameter “applies_to“ in response)

  16. eHealth/ucum/units (parameter “age:low; age:high;“ in response)

  17. eHealth/resources - specimen (parameter “specimen“ in response)

  18. eHealth/resources - equipment (parameter “device“ in response)

...

See on API-specification

...

titleExample

...

Headers

See on Headers

...

Authorize

Request to process the request using a token in the headers

Processing

N/A

Response structure examples

See on API-specification

...

titleExample

...

languagejson

...

Request data validation

Validate token

  • Verify the validity of access token

    • Return 401 in case validation fails

  • Verify token is not expired

    • in case error return 401 

Validate scopes

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

    1. Return 403 in case invalid scope(s)

Access to the resource is also managed by ABAC module.

Validate patient

  • Validate patient exists in MongoDB

    • In case of error return 404 not found

Validate observation

  • Validate observation exists in MongoDB

    • In case of error return 404 not found

  • Check observation belongs to patient

    • In case of error return 404 not found

Processing

  1. Get observation by ID

  2. Ensure that requested observation relates to requested Patient

  3. Filter using configuration param SUMMARY_OBSERVATIONS_ALLOWEDin order to return only allowed codes

  4. Render a response according to specification

Response structure examples

See on API-specification

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

 

 

200

 

Response

 Response

 

3

 

401

 

Access token validation failed

 

4

 

401

 

Access token expired

 

5

 

403

Your scope does not allow to access this resource. Missing allowances: patient_summary:read 

Forbiden

 

Invalid scope
6

 

403

Access denied

Forbiden

 

6
7

 

404

 

Patient not

Not found

 

7
8

Специфічні

Post-processing processes

N/A (Not applicable)

Technical modules where the method is used

N/A (Not applicable)