Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
REST API method / Метод REST API (настанова)
Info
Note

Сторінка знаходиться в процесі розробки. Інформація на ній може бути застарілою.

Info

/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] REST API getAsyncJobStatus [API-006-001-001-0209]

Guideline ID

GUI-0011

Author

@

Document version

1

Document status

DRAFT

Date of creation

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

Date of update

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

Method API ID

API-001006-001-001-00010209

Microservices (namespace)

MC

Component

Compositions

Component ID

COM-006-001

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

https://app.swaggerhub.com/apis/ehealthua/compositions/Prod#/async/getAsyncJobStatus

Resource

{{host}}//api.ehealth.gov.ua/api/patients/id/encounter_packagepatients/composition/job/{{asyncJobId}}

Scope

composition:read

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private

Public

Purpose

The method is designed to get the execution task status of an asynchronous job: it returns the composition creation asynchronous job status after the signComposition request has been executed.

...

RC_6. Refinement (preperson -> person) for MVTN

RC_7. Creating "a replacement" composition

Logic

Creation of composition: Asynchronous tasks

...

Expand
titleSequence:
  1. MIS/Medical employee->Compositions: Creating or updating compositions POST patients/composition/

  2. Compositions->Compositions: AsyncJob planning

  3. Compositions->MIS/Medical employee: AsyncJob scheduled (eta)

  4. MIS/Medical employee->MIS/Medical employee: asynJob.data.eta timer on

  5. MIS/Medical employee-->Compositions: GET /patients/composition/job/{asyncJobId}

  6. Compositions-->MIS/Medical employee: AsincJob pending (eta)

  7. MIS/Medical employee-->MIS/Medical employee: asynJob.data.eta timer on

  8. Compositions->Compositions: AsyncJob completed

  9. MIS/Medical employee->Compositions: GET /patients/composition/job/{asyncJobId}

  10. Compositions->MIS/Medical employee: AsincJob completed (compositionAsyncJobStateData.links)

  11. MIS/Medical employee->Compositions: GET /patients/{patientId}/encounter/{encounterId}/composition/{compositionId}

  12. Compositions->MIS/Medical employee: The composition is received

Configuration parameters

Description of the configuration parameters that are used when processing a request in the system

Dictionaries

Provides a list of links to dictionaries that are available in ConfluenceN/A

Dictionaries

N/A

Input parameters

Description of input parameters

Input parameter

Mandatory

Type

Description

Example

1

asyncJobId

 

String

Async Job Object ID

89678f60-4cdc-4fe3-ae83-e8b3ebd35c59

Request structure

See on SwaggerHub

Description of the REST API request structure, example

Expand
titleGET
Code Block
/patients/composition/job/{asyncJobId}

Headers

...

Key

...

Value

...

Mandatory

...

Description

...

Example

...

Content-Type:

...

application/json

...

Тип контенту

...

Content-Type: application/json

...

Authorization

...

Bearer {token}

...

Перевірка користувача

...

Authorization: Bearer {token}

...

api-key

...

{secret}

...

Секретний ключ

...

api-key: {secret}

Request data validation

Authorize

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

...

Headers

Request data validation

Parameters validation:

  • asyncJobId (correct composition ID needed)

    • 404 - in case of error

Processing

A list of processes related to receiving, changing or transmitting data according to the logic defined in the REST APIN/A

Response structure examples

See on SwaggerHub

Expand
titleSchema

compositionAsyncJobStateResponse{

description:

Стан планування/виконання асинхронної задачі

data*

compositionAsyncJobStateData{

eta* string($datetime)
example: 2022-10-24T12:35:49.956Z

id* string($uuid)
example: 89678f60-4cdc-4fe3-ae83-e8b3ebd35c59

links* [compositionAsyncJobListItem{

entity*string
example: eHealth/resources 

}]

status* string

Enum:
[ PENDING, FAILED, DONE ] }

}

Example:

Expand
titleExample Value
Code Block
languagejson
{
  "data": {
    "eta": "2022-10-24T12:35:49.956Z",
    "id": "89678f60-4cdc-4fe3-ae83-e8b3ebd35c59",
    "links": [
      {
        "entity": "eHealth/resources"
      }
    ],
    "status": "PENDING"
  }
}

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

200

Task found

Correct answer with one of the possible statuses: PENDING, FAILED, DONE

3

400

Invalid request format

Error in query syntax or other error

4

404

Task not found

The task with the specified ID does not exist or was not found

5

Специфічні

6

Post-processing processes

Description of actions performed on data after processing

Technical modules where the method is used

List of pages describing technical N/A

Technical modules where the method is used

Page Properties Report
headingsID ТМ, Статус
cqllabel = "tr-mis"

...