ЕСОЗ - публічна документація

[DRAFT] Change Service request status to In progress [API-007-010-001-0318]

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

https://e-health-ua.atlassian.net/wiki/spaces/EN/pages/17591304241 (remove the link block before publishing the document)

Properties of a REST API method document

Document type

Метод REST API

Document title

[DRAFT] Change Service request status to In progress [API-007-010-001-0318]

Guideline ID

GUI-0011

Author

@

Document version

1

Document status

DRAFT

Date of creation

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

Date of update

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

Method API ID

API-007-010-001-0318

Microservices (namespace)

ME

Component

Service request

Component ID

COM-007-010

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

https://medicaleventsmisapi.docs.apiary.io/#reference/service-requests/manage-service-requests/change-service-request-status-to-in-progress

Resource

{{host}}/api/service_requests/{{service_request_id}}/actions/process

Scope

service_request:makeinprogress

Protocol type

REST

Request type

PATCH

Sync/Async

Async

Public/Private

Public

Purpose

N/A

Logic

N/A

Configuration parameters

N/A

Dictionaries

N/A

Input parameters

Input parameter

Mandatory

Type

Description

Example

Input parameter

Mandatory

Type

Description

Example

1

service_request_id

 

String

Unique service request identifier

aff00bf6-68bf-4b49-b66d-f031d48922b3

2

 

 

 

 

 

Request structure

See on API-specification

Headers

Headers

Request data validation

Authorize

Request to process the request using a token in the headers

  • Verify the validity of access token

    • Return 401 in case validation fails

  • Verify token is not expired

    • in case of error return 401 

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

    1. Return 403 in case invalid scope(s)

Validate legal entity

  • Check legal entity type: it has to be in me_allowed_transactions_le_types config parameter, has status = active

    • in case of error return 409 "Action is not allowed for the leagal entity"

Validate transition

  1. Service request must be active

    1. ME.service_request.status  == "active"

      1. in case of error return 409 "Invalid service request status"

  2. Program processing status should be in_queue

    1. ME.service_request.program_processing_status  == "in_queue"

      1. in case of error return 409 "Invalid  program processing status status"

Validate program

  1. Validate program according to Pre-Qualify rules.

    1. it is an existing service program (type=service)

      1. in case not found or is_active==false return 422  "Program not found"

      2. in case type!= service return 422 "Invalid program type"

    2.  service(or service_group) is an active member of the program

      1. Select request_allowed, is_active from PRM.program_services where service_id(or group_id) == $.signed_content.code.identifier.value and program_id=$.program.identifier.value

        1. if not found or is_active==false return 422 "Service is not included in the program"

Qualify service request

  1. invoke qualify

Validate used_by_legal_entity

  1. Service request must be used by the same legal entity that current user is from 

    1. ME.service_request.used_by_legal_entity=token.legal_entity_id

Processing

  1. Change service_request.program_processing_status to "in_progress"

Response structure examples

See on API-specification

{ "data": { "status": "pending", "eta": "2018-08-02T10:45:16.000Z", "links": [ { "entity": "job", "href": "/Jobs/NBXk9EyErUZv1RhXgyvgg" } ] }, "meta": { "code": 202, "url": "http://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" } }

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

 

401

Unauthorized

 

Помилка підтвердження

3

 

403

Invalid scope(s)

 

 

4

 

409

Action is not allowed for the leagal entity

 

 

5

 

409

Invalid  program processing status status

 

 

6

 

409

Invalid service request statu

 

 

7

 

422

Invalid program type

 

 

8

 

422

Program not found

 

 

9

 

422

Service is not included in the program

 

 

10

Специфічні

11

 

 

 

 

 

Post-processing processes

N/A

Technical modules where the method is used

List of pages describing technical modules where the method is used

 

ЕСОЗ - публічна документація