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

Архив медицинских изображений

Кейсы

Кейс Передаваемые ресурсы Примечания
1 Создание направлений на методы визуализации (исполнители - врач, медицинская сестра)
- поиск пациента в ЦИСЗ
-поиск направлений на визуальные методы исследования
-формирование в МИС диагноза
-формирование в МИС направления на рентгенологическое исследование
-формирование в МИС направления на рентген компьютерное томографическое (РКТ) исследование
-импорт пакета медицинской информации в ЦИСЗ
-отмена направления на исследование с указание причины отмены
ServiceRequestImaging
FinalDiagnosis
EncounterGeneral
В составе MedicationDocument
2 Регистрация DICOM- устройства в ЦИСЗ (исполнитель - инженер УЗ)
-поиск в контексте организации DICOM-устройств, зарегистрированных в ЦИСЗ
-формирование ресурса “DICOM-устройство” и импорт в ЦИСЗ
-поиск устройств в контексте организации по AETitle
-изменение статуса ресурса
DeviceImagingStudy В составе пакета OrganizationBundle
3 Сохранение в ЕАМИ изображений в формате DICOM (исполнитель - рентгенлаборант):
-поиск пациента в ЦИСЗ
-поиск в ЦИСЗ всех активных направлений на визуальные матоды исследования, созданных на этого пациента
-выбор направления на РКТ
-проведение исследования, отправка результатов в PACS ЦИСЗ
-получение списка загруженных исследований
-получение метаданных переданных медицинских изображений пациента
-формирование в МИС набора изображений исследования
-импорт пакета медицинской информации в ЦИСЗ
ImagingStudyBy  
4 Сохранение в ЕАМИ изображений в других форматах, таких как: jpg, tiff, png и др. (исполнитель - рентгенлаборант):
-поиск пациента в ЦИСЗ
-поиск в ЦИСЗ всех активных направлений на визуальные методы исследования, созданных на этого пациента
-выбор направления на рентгенологическое исследование
-проведение исследования, отправка результатов в PACS ЦИСЗ
-формирование в МИС набора изображений исследования
-импорт пакета медицинской информации в ЦИСЗ
ImagingStudyBy  
5 Формирование заключения предварительного исследования (исполнитель - врач лучевой диагностики):
-получение списка наборов изображений исследований в статусе registered (в контексте организации)
-выбор и получение одного из наборов
-просмотр изображений в Dicom-Viewer
-формирование в МИС заключения диагностического исследования со статусом preliminary
-импорт пакета медицинской информации в ЦИСЗ
ImagingDiagnosticReport  
6 Формирование заключения РКТ исследования (второго мнения) (исполнитель - врач лучевой диагностики):
-получение заключений (status=preliminary), по которым необходимо сформировать второе мнение (в контексте организации)
-получение набора изображений, по которому надо сформировать второе мнение
-просмотр изображений в Dicom-Viewer
-формирование в МИС заключения диагностического исследования со статусом final
-импорт пакета медицинской информации в ЦИСЗ
ImagingDiagnosticReport
ServiceRequestImaging.status → completed
ImagingStudyBy.status → available
 
7 Формирование заключения рентгенологического исследования (исполнитель - врач лучевой диагностики)
-получение списка наборов изображений исследований в статусе registered
-выбор и получение необходимого набора изображений
-просмотр изображений в Dicom-Viewer
-формирование в МИС заключения диагностического исследования со статусом final
-импорт пакета медицинской информации в ЦИСЗ
ImagingDiagnosticReport  
8 Формирование заключения профилактической рентгенографии грудной клетки (исполнитель - врач лучевой диагностики)
-формирование в МИС заключения диагностического исследования со статусом final
-импорт пакета медицинской информации в ЦИСЗ
DiagnosticReportFluorography Рентгенфлюорография - устаревшее названия исследования
9 Просмотр заключений и изображений (исполнитель - врач-специалист любого профиля)
-поиск пациента в ЦИСЗ
-поиск в контексте пациента заключений диагностических исследований
-выбор исследования
-получение набора изображений
-просмотр изображений в Dicom-Viewer
   

Диаграммы последовательности

Создание направления на исследование


sequenceDiagram
autonumber
actor   Doc as Врач
participant     Foo as МИС
participant    Foo1 as ЦИСЗ
Doc ->> Foo : Поиск пациента в ЦИСЗ
Foo ->> Foo1 : GET [FHIR_BASE]/Patient?identifier=[идентификационный номер]
Foo1 -->> Foo : 200 OK/total: 1/Patient.identifier.value=[идентификационный номер]
Foo -->> Doc : Отображение информации о пациенте

note over Doc,Foo1: Проверка наличия у пациента уже созданных направлений на исследование
Doc ->> Foo: Поиск активных направлений на исследования
Foo ->> Foo1 : GET [FHIR_BASE]/Patient/[patient_id]/ServiceRequest?_profile=https://fhir.by/StructureDefinition/ServiceRequestImaging&status=active&_sort=_lastUpdated
Foo1-->>Foo: 200 OK/total:n/[ServiceRequestImaging[0], ..., ServiceRequestImaging[n-1]]
Foo -->> Doc : Отображение списка направлений пациента
Doc ->> Doc : Проверка наличия у пациента созданного направления на запланированное исследование

alt направление уже было создано
  Doc ->> Foo : Переход к другим разделам работы с медицинскими данными пациента
else необходимого направления нет
note over Doc,Foo1: Создание направления
  Doc ->> Foo : Создание направления на исследование
  Foo ->>Foo: 200 Create ServiceReqiestImaging
  Foo ->> Foo1 : POST [FHIR_BASE]/Bundle/$import /MedicationDocument.entry[ServiseRquestImaging.status=active]
  Foo1 -->> Foo : 200 OK/Bundle status 'successed
end

Порядок действий:

  1. Медицинский работник ищет в ЦИСЗ информацию о пациенте;
  2. Запрос на получение информации о пациенте по идентификационному номеру;
  3. Получение информации о пациенте;
  4. Информация о пациенте отображается медицинскому работнику;
  5. Медицинский работник ищет информацию о выписанных пациенту активных направлениях на визуальные исследования;
  6. Запрос на получение активных направлений на визуальные исследования в контексте пациента;
  7. Получение активных направлений;
  8. Активные направления отображаются медицинскому работнику;
  9. Медицинский работник проверяет наличие в полученном списке направления на запланированное исследование;
  10. Если направление уже было создано ранее, медицинский работник переходит к работе с другими разделами медицинской информации пациента;
  11. Если направление не было создано ранее, медицинский работник создает направление;
  12. МИС формирует ресурс “Направление на визуальное исследование”;
  13. Импорт пакета медицинской информации в ЦИСЗ;
  14. Получение статуса импорта.

Регистрация DICOM-устройства в ЦИСЗ


sequenceDiagram
autonumber

actor    Admin as Администратор УЗ
participant             Foo as МИС
participant            Foo1 as ЦИСЗ
note over Admin,Foo1: Проверка перечня DICOM-устройств организации, которые уже зарегистрированы в ЦИСЗ
Admin ->> Foo : Поиск зарегистрированных в ЦИСЗ DICOM-устройств
Foo ->> Foo1 : GET [FHIR_BASE]/Organization/[organizationId]/Device?_profile=https://fhir.by/StructureDefinition/DeviceImagingStudy&organization=Organization/[oragnizationId]
Foo1 -->> Foo : 200 OK/total:n /[DeviceImagingStudy[0], ..., DeviceImagingStudy[n-1]]
Foo -->> Admin : Отображение списка зарегистрированных DICOM-устройств
Admin ->> Admin : Проверка наличия в списке искомого устройства
alt DICOM-устрйство уже было зарегистрировано ранее
  Admin ->> Admin : Регистрация устройства не требуется
else DICOM-устрйство не зарегистрировано в ЦИСЗ
  note over Admin,Foo1: Регистрация устройства
  Admin ->> Foo : Заполнение регистрационной формы
  Foo ->>Foo: 200 Create DeviceImagingStudy
  Foo ->> Foo1 : POST [FHIR_BASE]/Bundle/$import /OrganizationBundle.entry[ServiceRquestImaging.status=active]
  Foo1 -->> Foo : 200 OK/Bundle status 'successed'
end
note over Admin,Foo1: Изменение статуса зарегистрированного в ЦИСЗ DICOM-устройства
Admin ->> Foo : Запрашивает информацию о DICOM-устройстве по AETitle
Foo ->> Foo1 : GET [FHIR_BASE]/Organization/[organizationId]/Device?_profile=https://fhir.by/StructureDefinition/DeviceImagingStudy&aetitle=[Название DICOM Application Entity]
Foo -->> Admin : Отображение информации о  DICOM-устройстве

Порядок действий:

  1. Ищет DICOM-устройства, уже зарегистрированные в ЦИСЗ;
  2. Запрос на получение списка DICOM-устройств, владельцем которых является организация;
  3. Получение зарегистрированных в ЦИСЗ устройств;
  4. Полученная информация отображается администратору;
  5. Администратор проверяет наличие в полученном списке DICOM-устройства, которое он собирается зарегистрировать;
  6. Если устройство найдено, регистрация не требуется;
  7. Если устройство не найдено, администратор заполняет регистрационную форму;
  8. МИС формирует ресурс “DICOM-устройство”;
  9. Импорт пакета информации в контексте организации;
  10. Получение статуса импорта.

Сохранение в ЕАМИ изображений в формате DICOM


sequenceDiagram

autonumber
actor   Doc as Рентгенлаборант
participant     Foo as МИС
participant    Foo1 as ЦИСЗ
Doc ->> Foo: Поиск пациента в ЦИСЗ
Foo ->> Foo1: GET [FHIR_BASE]/Patient?identifier=[идентификационный номер]
Foo1 -->> Foo: 200 OK/total: 1/Patient.identifier.valie=[идентификационный номер]
Foo -->> Doc: Отображение информации о пациенте
note over Doc,Foo1: Проверка наличия у пациента направления на исследование
Doc ->> Foo: Поиск активных направлений на исследования
Foo ->> Foo1: GET [FHIR_BASE]/Patient/[patient_id]/ServiceRequest?_profile=https://fhir.by/StructureDefinition/ServiceRequestImaging&status=active&_sort=_lastUpdated
Foo1-->>Foo: 200 OK/total:n/[ServiceRequestImaging[0], ..., ServiceRequestImaging[n-1]]
Foo -->> Doc: Отображение списка направлений пациента
Doc ->> Doc: Проверка наличия у пациента направления на запланированное исследование
note over Doc,Foo1: Проведение исследования и сохранение результатов
Doc ->> Foo1: Проведение исследования. Загрузка результатов исследования в PACS-ЦИСЗ
Foo1 ->> Foo1: Create ImagingStudyBasic
Doc ->> Foo: Запрашивает загруженное исследование пациента
Foo ->> Foo1: GET [FHIR_BASE]/Organization/[organization_id]/Basic?_profile=https://fhir.by/StructureDefinition/ImagingStudyBasic&assigner=[organization_id]&patient-id=[patientId на диагностическом аппарате]
Foo1-->> Foo: 200 OK/total:1 /[ImagingStudyBasic]
Foo -->> Doc: Отображение информации об исследовании
Doc ->> Foo: Выбирает исследование
Foo ->> Foo: Create ImagingStudyBy
Foo ->> Foo1: POST [FHIR_BASE]/Bundle/$import /MedicationDocument.entry[ImagingStudyBy.status=registered]
Foo1 ->> Foo1: Изменение ServiceRequestImaging.status=on-hold
Foo1 -->> Foo: 200 OK/Bundle status 'successed'

Порядок действий:

  1. Медицинский работник ищет в ЦИСЗ информацию о пациенте;
  2. Запрос на получение информации о пациенте по идентификационному номеру;
  3. Получение информации о пациенте;
  4. Информация о пациенте отображается медицинскому работнику;
  5. Медицинский работник ищет информацию о выписанных пациенту активных направлениях на визуальные исследования;
  6. Запрос на получение активных направлений на визуальные исследования в контексте пациента;
  7. Получение активных направлений;
  8. Активные направления отображаются медицинскому работнику;
  9. Медицинский работник проверяет наличие в полученном списке направления на запланированное исследование;
  10. Медицинский работник проводит исследование и загружает результаты в PACS-ЦИСЗ;
  11. Сохранение метаданных исследования в ресурс ImagingStudyBasic;
  12. Медицинский работник запрашивает загруженное исследование пациента;
  13. Запрос на получение метаданных исследования по организации и идентификационному номеру пациента, присвоенному во время исследования;
  14. Получение информации об исследовании;
  15. Отображение результата запроса медицинскому работнику;
  16. Медицинский работник выбирает исследование;
  17. МИС формирует ресурс “Набор изображений исследования”;
  18. Импорт пакета медицинской информации о пациенте;
  19. Изменение статуса ресурса “Направление на визуальное исследование”;
  20. Получение статуса импорта.

Сохранение в ЕАМИ изображений в других форматах, таких как: jpg, tiff, png


sequenceDiagram
autonumber
actor   Doc as Рентгенлаборант
participant     Foo as  МИС
participant    Foo1  as ЦИСЗ
Doc ->> Foo: Поиск пациента в ЦИСЗ
Foo ->> Foo1: GET [FHIR_BASE]/Patient?identifier=[идентификационный номер]
Foo1 -->> Foo: 200 OK/total: 1/Patient.identifier.value=[идентификационный номер]
Foo -->> Doc: Отображение информации о пациенте
note over Doc,Foo1: Проверка наличия у пациента направления на исследование
Doc ->> Foo: Поиск активных направлений на исследования
Foo ->> Foo1: GET [FHIR_BASE]/Patient/[patient_id]/ServiceRequest?_profile=https://fhir.by/StructureDefinition/ServiceRequestImaging&status=active&_sort=_lastUpdated
Foo1-->>Foo: 200 OK/total:n/[ServiceRequestImaging[0], ..., ServiceRequestImaging[n-1]]
Foo -->> Doc: Отображение списка направлений пациента
Doc ->> Doc: Проверка наличия у пациента созданного направления на запланированное исследование
note over Doc,Foo1: Проведение исследования и сохранение результатов
Doc ->> Foo1: Проведение исследования. Загрузка результатов исследования в PACS-ЦИСЗ
Foo ->> Foo: Create ImagingStudyBy
Foo ->> Foo1: POST [FHIR_BASE]/Bundle/$import /MedicationDocument.entry[ImagingStudyBy.status=registered]
Foo1 ->> Foo1: Изменение ServiceRequestImaging.status=on-hold
Foo1 -->> Foo: 200 OK/Bundle status 'successed'

Порядок действий:

  1. Медицинский работник ищет в ЦИСЗ информацию о пациенте;
  2. Запрос на получение информации о пациенте по идентификационному номеру;
  3. Получение информации о пациенте;
  4. Информация о пациенте отображается медицинскому работнику;
  5. Медицинский работник ищет информацию о выписанных пациенту активных направлениях на визуальные исследования;
  6. Запрос на получение активных направлений на визуальные исследования в контексте пациента;
  7. Получение активных направлений;
  8. Активные направления отображаются медицинскому работнику;
  9. Медицинский работник проверяет наличие в полученном списке направления на запланированное исследование;
  10. Медицинский работник проводит исследование и загружает результаты в PACS-ЦИСЗ;
  11. МИС формирует ресурс “Набор изображений исследования”;
  12. Импорт пакета медицинской информации о пациенте;
  13. Изменение статуса ресурса “Направление на визуальное исследование”;
  14. Получение статуса импорта.

Формирование заключения исследования


sequenceDiagram
autonumber

actor   Doc2 as "Врач лучевой диагностики 2"
actor   Doc1 as "Врач лучевой диагностики 1"
participant     Foo as МИС
participant    Foo1 as ЦИСЗ
participant "DICOM-viewer" as Viewer
note over Doc1,Foo1: Получение списка исследований в контексте организации
Doc1 ->> Foo: Открывает список исследований
Foo ->> Foo1: GET [FHIR_BASE]/Organization/[organization_id]/ImagingStudy?_profile=https://fhir.by/StructureDefinition/ImagingStudyBy&status=available
Foo1 -->> Foo: 200 OK/total:n/[ImagingStudyBy[0], ..., ImagingStudyBy[n-1]]
Foo -->> Doc1: Отображение полученной информации
note over Doc1,Foo1: Просмотр изображений и формирование заключений
Doc1 ->> Foo: Выбирает исследование для просмотра изображений и формирования заключения
Foo ->> Viewer: Открывает DICOM-viewer: /web/umia?id=[StudyInstanceUID]
Doc1 ->> Viewer: Просматривает и анализирует изображения
Doc1 ->> Foo: Оформляет заключение
Foo ->> Foo: Create ImagingDiagnosticReport

alt Второе мнение не запрошено

  Foo ->> Foo1: POST [FHIR_BASE]/Bundle/$import /MedicationDocument.entry[ImagingDiagnosticReport.status=final]
else Второе мнение запрошено
  Foo ->> Foo1: POST [FHIR_BASE]/Bundle/$import /MedicationDocument.entry[ImagingDiagnosticReport.status=preliminary]
  Doc1 ->> Doc2: Запрашивает второе мнение
  Doc2 ->> Foo: Открывает список заключений, по которым был запрос второго мнения
  Foo ->> Foo1: GET /Organization/[organization_id]/DiagnosticReport?_profile=https://fhir.by/StructureDefinition/ImagingDiagnosticReport&status=preliminary
  Foo1 -->> Foo: 200 OK/total:n /[ImagingDiagnosticReport[0], ..., ImagingDiagnosticReport[n-1]]
  Foo -->> Doc2: Отображение полученной информации
  Doc2 ->> Foo: Выбирает заключение
  Foo ->> Foo1: GET /Patient/[patinet_id]/ImagingStudy?_profile=https://fhir.by/StructureDefinition/ImagingStudyBy&_id=[imagingStudy_id]
  Foo1 -->> Foo: 200 OK/total:1 / [ImagingStudyBy]
  Foo ->> Viewer: Открывает DICOM-viewer: /web/umia?id=[StudyInstanceUID]
  Doc2 ->> Viewer: Просматривает и анализирует изображения
  Doc2 ->> Foo: Оформляет заключение
  Foo ->> Foo: Create ImagingDiagnosticReport
  Foo ->> Foo1: POST [FHIR_BASE]/Bundle/$import /MedicationDocument.entry[ImagingDiagnosticReport.status=final]

end
Foo1 ->> Foo1: Изменение ImagingStudyBy.status=available
Foo1 ->> Foo1: Изменение SreviceRequestImaging.status=completed

Foo1 -->> Foo: 200 OK/Bundle status 'successed'

Порядок действий:

  1. Врач-диагност открывает список исследований, проведенных в организации;
  2. Запрос на получение исследований, проведенных в организации;
  3. Получение информации о проведенных исследованиях;
  4. Отображение полученной информации;
  5. Врач-диагност выбирает исследование для формирования заключения;
  6. Для этого он открывает DICOM-viewer;
  7. Просматривает и анализирует изображения;
  8. Заполняет форму заключения в МИС;
  9. МИС формирует ресурс “Заключение диагностического исследования”;
  10. Если нет необходимости в получении мнения второго специалиста, ресурс “Заключение диагностического исследования” импортируется со статусом final (следующие шаги: 25-27);
  11. Если необходимо получение второго мнения, ресурс “Заключение диагностического исследования” импортируется со статусом preliminary;
  12. И врач-диагност запрашивает второе мнение врача-диагноста-консультанта;
  13. Врач-диагност-консультант открывает список заключений, по которым был запрос второго мнения;
  14. Запрос на получение ресурсов “Заключение диагностического исследования” со статусом preliminary;
  15. Получение информации об исследованиях, по которым требуется второе мнение;
  16. Отображение полученной информации;
  17. Врач-диагност-консультант выбирает заключение на исследование из списка;
  18. Запрос на получение ресурса “Набор изображений исследования”, соответствующего выбранному заключению;
  19. Получение информации о наборе изображений;
  20. Открывает DICOM-viewer;
  21. Врач-диагност-консультант просматривает и анализирует изображения;
  22. Заполняет форму заключения в МИС;
  23. МИС формирует ресурс “Заключение диагностического исследования”;
  24. Импорт пакета медицинской информации, содержащего ресурс “Заключение диагностического исследования” со статусом final;
  25. Изменение статуса ресурса “Набор изображений исследования” на available;
  26. Изменение статуса ресурса “Направление на визуальное исследование” на completed;
  27. Получение статуса импорта.

Дополнительные алгоритмы

Алгоритм просмотра изображений в Dicom-Viewer:

  1. Загрузить изображние в PACS и из ответа взять значение StudyInstanceUID;
  2. Создать ресурс ImagingStudyBy;
  3. Для просмотра изображений в Dicom-Viewer нужно открыть браузер с GET запрос https:///web/unia/studies?id= (понадобится авторизация в ЦИСЗ);
  4. После авторизации, изображение откроется в Dicom-viewer.

Алгоритм скачивания архива изображений:

  1. Загрузить изображение в PACS и из ответа взять значения BucketId и StudyInstanceUID;
  2. Создать ресурс ImagingStudyBy;
  3. Отправить Get запрос https:///api/umia/export-dicom/export/dcm?bucket=&study=;
  4. В ответе получаем ссылку на скачивание (пример: {“url”:”20260112/dcm/99906.42989.74352.28469.50300.77468/3057131e-4dea-4a68-ba83-ec7d52f119fb.zip”});
  5. Отправить Get запрос для скачивания архива пример: https:///api/umia/image-api/.

Postam-коллекция

Скачать коллекцию

Скачать окружение

Логические проверки

№ п/п Ситуация Текст сообщения об ошибке для технических специалистов Текст сообщения об ошибке в человекочитаемом формате
1 При попытке в составе ресурса “Набор изображений исследования” в поле basedOn передать ссылку на ресурс “Направление на визуальное исследование” в статусе completed , будет возвращена ошибка: В ресурсе {0} профиля {1} в секции basedOn не может быть указана ссылка на ресурс {2}, у которого статус равен ‘completed’. Набор изображений исследования не может ссылаться на выполненное направление на визуальное исследование.
▲ Вверх