Руководство к использованию стандарта FHIR в ЦИСЗ
0.2.6803 - ci-build

OperationDefinition: Операция изменения статусов

Официальный URL: https://fhir.by/OperationDefinition/set-status-service-request
Unknown as of 2026-06-25 Имя: set-status-service-request

Операция изменения статусов.

Операция предназначена для изменения статуса ресурсов ServiceRequest, Contract, Specimen, Task.

Операция выполняется в контексте организации.

Программные интерфейсы ЦИСЗ защищены сервером авторизации с использованием технологии OAuth 2.0 (Авторизация в ЦИСЗ). При каждом вызове операции клиентское приложение (МИС ОЗ) должно передавать токен доступа (токен организации) в заголовке запроса.

Для ресурсов ServiceRequest: изменение статуса ресурса возможно только организацией, в которой создано направление, или организацией, назначенной исполнителем направления.

Для ресурсов Contract: изменение статуса ресурса возможно только организацией, в которой создано закрепление.

Для ресурсов Specimen: изменение статуса ресурса возможно только для организаций, у которых есть доступ к получению данного ресурса.

Для ресурсов Task: езменение статуса ресурсов возможо либо пациентов, который формирует запрос, либо организацией, в которую направлен запрос

Диаграмма изменения статусов для ресурсов ServiceRequest:

Диаграмма изменения статусов для профиля ресурса ServiceRequest

приведена на рисунке ниже.

Операция применима только к ресурсам со статусами active, on-hold, draft.

            flowchart LR

classDef redCol fill:white
    B[active]
    E[completed]:::redCol
    F[revoked]:::redCol
    C[on-hold]
    G[entered-in-error]:::redCol
    A[draft]
    A --> C 
    A --> F
    A --> G
    B --> A 
    C --> G 
    C --> A 
    B --> F 
    C --> E

Диаграмма изменения статусов для профиля ресурса ServiceRequest:

приведена на рисунке ниже.

Операция применима только к ресурсам со статусом active, on-hold.

            flowchart LR

classDef redCol fill:white
    B[active]
    E[completed]:::redCol
    F[revoked]:::redCol
    C[on-hold]
    B --> C 
    C --> E 
    B --> F 

Диаграмма изменения статусов для профилей ресурса ServiceRequest:

приведена на рисунке ниже.

Операция применима только к ресурсам со статусом active.

            flowchart LR

classDef redCol fill:white
    A[active]
    B[completed]:::redCol
    C[revoked]:::redCol
    G[entered-in-error]:::redCol

    A --> B
    A --> C
    A --> G

Диаграмма изменения статусов для ресурсов Contract:

Статусы:

  • executable - используется;
  • cancelled - закрыто;
  • terminated - окончено;
  • rejected - отклонено.
            flowchart LR

classDef whiteCol fill:white
    A[executable]
    B[cancelled]:::whiteCol
    C[terminated]:::whiteCol
    G[rejected]:::whiteCol

    A --> B
    A --> C
    A --> G

Диаграмма изменения статусов для ресурсов Specimen:

Статусы:

  • available - присваивается при заборе биоматериала;
  • unsatisfactory - в процессе работы биоматериал признан непригодным;
  • unavailable - биоматериал был использован.
            flowchart LR

classDef whiteCol fill:white
    A[available]
    B[unsatisfactory]:::whiteCol
    C[unavailable]:::whiteCol

    A --> B
    A --> C

Диаграмма изменения статусов для ресурсов Task:

Статусы:

  • requested - присваивается при создании запроса;
  • in-progress - запрос взят в работу;
  • ready - запрос выполнен (выписка готова к выдаче);
  • rejected - запрос отменен пациентом лио организацией.
            flowchart LR

classDef whiteCol fill:white
    A[requested]
    B[in-progress]:::whiteCol
    C[rejected]:::whiteCol
    D[ready]:::whiteCol

    A --> B
    A --> C
    B --> D

Вызов операции осуществляется с помощью HTTP POST команды.

Для ресурсов ServiceRequest:

POST [FHIR_BASE]/Organization/[organization-id]/ServiceRequest/[serviceRequest-id]/$set-status

Для ресурсов Contract:

POST [FHIR_BASE]/Organization/[organization-id]/Contract/[contract-id]/$set-status

Для ресурсов Specimen:

POST [FHIR_BASE]/Organization/[organization-id]/Specimen/[specimen-id]/$set-status

Для ресурсов Task:

POST [FHIR_BASE]/Organization/[organization-id]/Task/[task-id]/$set-status

Тело запроса:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "status",
      "valueCode": "[status_code]
    }
  ]
}

Коды статусов:

В случае успешного выполнения операции система возвращает:

  • HTTP-статус “200 OK”;
  • ресурс OperationOutcome с информацией об успешном изменении статуса ресурса.

Пример тела ответа для ресурсов ServiceRequest:

issue
    severity = success
    code = success

    details 
        text = "Статус ресурса {ServiceRequset_Id} успешно изменен на {status_code}"

В случае, если обращение происходит к ресурсу со статусом, который изменять нельзя, система возвращает:

  • HTTP-статус “400 Bad Request”;
  • ресурс OperationOutcome с информацией об ошибке.

Пример тела ответа для ресурсов ServiceRequest:

issue
    severity = error
    code = code-invalid

    details 
        text = "Статус ресурса {ServiceRequset_Id} нельзя изменить с помощью данной операции. Проверьте id ресурса или его статус. Невозможно изменять ресурсы со статусами completed, revoked или entered-in-error"

В случае, если искомый ресурс не найден, система возвращает:

  • HTTP-статус “404 Not found”;
  • ресурс OperationOutcome с информацией об отсутствии ресурса с указанным в операции id.

Пример тела ответа для ресурсов ServiceRequest:

issue
    severity = error
    code = not-found

    details 
        text = "Ресурс {ServiceRequset_Id} не найден. Проверьте правильность указанного id."

В случае, если токен организации не соответствует правам, по которым возможно изменение статусов ресурсов, система возвращает:

  • HTTP-статус “403 forbidden”.

Пример тела ответа для ресурсов ServiceRequest:

issue
    severity = error
    code = forbidden 

    details 
        text = "Нет прав на изменение статуса {ServiceRequset_Id}."

URL: [base]/$set-status

Параметры

ИспользоватьНаименованиеСфера действияКардинальностьТипПривязкаДокументация
INstatus1..1code

Статус, который необходимо установить для выбранного ресурса.

OUTreturn1..1OperationOutcome

Операция возвращает ресурс OperationOutcome, который может содержать информацию об успешном выполнении операции или перечень ошибок, которые возникли при получении запроса на выполнение операции или в результате ее выполнения

Необходимо добавить дополнительную информацию!!!!!!

Для добавления дополнительной информации нужно добавить файл input/intro-notes/OperationDefinition-set-status-service-request-notes.md