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

Get Service Requests by search params

Purpose

Service returns all Service requests related to the person filtered by submitted parameters.

 

Specification

Link

https://medicaleventsmisapi.docs.apiary.io/#reference/service-requests/manage-service-requests-in-patient-context/get-service-requests-by-search-params

Resource

/api/patients/{{patient_id}}/service_requests

Scope

service_request:read

Components

Service request

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private/Internal

Public

 

Filters

Filter

Values

Type

Description

Example

Filter

Values

Type

Description

Example

patient_id

 

String

Unique patient identifier

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

episode_id

 

String

Unique episode identifier

ef30f210-5328-4f48-bfe6-c7150d4737a6

status

 

String

 

active

requester_legal_entity

 

String

 

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

used_by_legal_entity

 

String

 

8075e0e2-6b57-47fd-aff7-324806efa7e6

code

 

String

 

9075e0e2-6b57-47fd-aff7-324806efa7e6

care_plan_id

 

String

Unique care plan identifier

8075e0e2-6b57-47fd-aff7-324806efa7e6

 

Request structure

See on Apiary

 

Authorize

  • Verify the validity of access token

    • Return (401, 'unauthorized') in case of validation fails

  • Verify that token is not expired

    • in case of error - return (401, 'unauthorized')

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

    1. Return (403, 'invalid scopes') in case of invalid scope(s)

Request to process the request using a token in the headers

 

Headers

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer {{access_token}}

  • API-key:{{secret}}

 

Request data validation

API paragraph not found

 

Processing

  1. Get all Service requests by person_id from service_request (MongoDB)

  2. Validate data consistency:

    • Ensure that requested Service requests have ABAC context

      • Return 403 ('Access denied') in case of error

  3. Filter list above by submitted search parameters

  4. Render a response according to specification with found Service requests entities.

 

Response structure

See on Apiary

Example:

{ "meta": { "code": 200, "url": "http://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" }, "data": [ { "id": "90a9e15b-b71b-4caf-8f2e-ff247e8a5600", "requisition": "AX654654T", "status": "active", "program": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "medical_program" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "program_processing_status": "new", "status_history": [ { "status": "closed", "status_reason": { "coding": [ { "system": "eHealth/service_request_recall_reasons", "code": "cured" } ] }, "inserted_at": "2018-08-02T10:45:16.000Z" } ], "program_processing_status_history": [ { "program_processing_status": "new", "inserted_at": "2018-08-02T10:45:16.000Z", "inserted_by": "f7bdce4c-9d6e-4b08-913c-97c4b972f9be" } ], "program_service": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "program_service" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "intent": "order", "priority": "routine", "based_on": [ { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "care_plan" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } }, { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "activity" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } } ], "category": { "coding": [ { "system": "eHealth/SNOMED/service_request_categories", "code": "409063005" } ] }, "code": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "service" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "subject": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "patient" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "context": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "encounter" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "occurrence_period": { "start": "2018-08-02T10:45:16.000Z", "end": "2018-08-02T11:00:00.000Z" }, "requester_employee": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "employee" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "requester_legal_entity": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "legal_entity" } ] }, "value": "75a6d991-0bf7-476f-b3cf-bec83f044b2a" }, "display_value": "null" }, "reason_references": [ { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "condition" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" } ], "supporting_info": [ { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "episode_of_care" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" } ], "note": "Some notes", "patient_instruction": "Some patient instructions", "expiration_date": "2018-08-02T10:45:16.000Z", "permitted_resources": [ { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "episode_of_care" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" } ], "used_by_employee": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "legal_entity" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "inserted_at": "2018-08-02T10:45:16.000Z", "updated_at": "2018-08-02T10:45:16.000Z", "completed_with": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "diagnostic_report" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "used_by_legal_entity": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "legal_entity" } ] }, "value": "c5a6d991-0bf7-476f-b3cf-bec83f044b2a" }, "display_value": "null" }, "performer": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "legal_entity" } ] }, "value": "c5a6d991-0bf7-476f-b3cf-bec83f044b2a" }, "display_value": "Опанасенко Олексій Володимирович" }, "location_reference": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "division" } ] }, "value": "c5a6d991-0bf7-476f-b3cf-bec83f044b2a" }, "display_value": "null" }, "performer_type": { "coding": [ { "system": "SPECIALITY_TYPE", "code": "DIETETICS" } ] } } ], "paging": { "page": 2, "page_size": 50, "total_entries": 1000, "total_pages": 20 } }

 

{ "meta": { "code": 404, "url": "http://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" }, "error": { "type": "NOT_FOUND", "message": "Patient not found" } }

 

Post-processing processes

API paragraph not found

 

HTTP status codes

HTTP status code

Message

What caused the error

HTTP status code

Message

What caused the error

 200

 

 

401

 

Unauthorized

403

 

Invalid scopes

404

 

Episode or patient not found

 

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