Versions Compared

Key

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

Purpose

This WS allows to get a single Specimen by its identifier.

Specification

Link

 Apiary

Resource

 api/patients/patient_id/specimens

Scope

 specimen:read

Components

 Specimen

Microservices

 ABAC

Protocol type

 REST

Request type

 GET

Sync/Async

 Async

Public/Private/Internal

 Public

Key points

  1. Only authenticated and authorized employee with appropriate scope can get a Specimen.

  2. Method returns a single Specimen that belongs to the specified patient.

  3. ABAC rules are used here

Specification

Logic

https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/17629118915/RC.#%D0%9E%D1%82%D1%80%D0%B8%D0%BC%D0%B0%D0%BD%D0%BD%D1%8F-%D1%96%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D1%96%D1%97-%D0%97%D1%80%D0%B0%D0%B7%D0%BA%D0%B0-%D0%BF%D1%80%D0%B8-%D0%B2%D0%B7%D0%B0%D1%94%D0%BC%D0%BE%D0%B4%D1%96%D1%97-%D0%B7-%D0%BF%D0%B0%D1%86%D1%96%D1%94%D0%BD%D1%82%D0%BE%D0%BC

Service returns specified Specimen related to the patient:

  • Get Specimen by ID from specimens collection (MongoDB)

  • Render a response according to specification

Filters

Filter

Values

Type

Description

Example

patient_id

 

String

Unique patient identifier

7075e0e2-6b57-47fd-aff7-324806efa7e5

id

 

String

Unique specimen identifier

7075e0e2-6b57-47fd-aff7-324806efa7e5

Request structure

See on Apiary

Authorization

  • Verify the validity of access token

    • in case of error - 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 and client scopes in order to perform this action (scope = 'specimen:read')

    • return 403 “Your scope does not allow to access this resource. Missing allowances: specimen:read” in case of invalid scope(s)

  • Access to the resource is also managed by ABAC module

Headers

  • Content-Type:application/json

  • Authorization:Bearer mF_9.B5f-4.1JqM

  • api-key:aFBLVTZ6Z2dON1V

  • X-Custom-PSK:a2aa05c76f3f2d91870f923a53cc8aa8f23bbc01a8238d1c2c26d4299715a7e4

Request data validation

Validate Patient

  • Get Patient identifier from the URL

  • Check it exists in DB

    • Return 404 ('not found') in case of error

Validate Specimen

  • Get Specimen identifier from the URL

  • Check it exists in DB

    • Return 404 ('not found') in case of error

  • Check Specimen belongs to patient

    • Return 404 ('not found') in case of error

Service logic

Service returns specified Specimen related to the patient:

...

Get Specimen by ID from specimens collection (MongoDB)

...

Response structure

See on Apiary

 

HTTP status codes

HTTP status code

Message

What caused the error

200

 

 

401

Invalid access token

 

403

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

 

404

not found