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

Лабораторные исследования. Взаимодействие МИС – ЦИСЗ

Кейсы

Кейсы в контексте создания направлений (врач, медицинская сестра)

Кейс Последовательность действий Передаваемые ресурсы
1 Создать направление на исследование Найти пациента
Создать и отправить направление на лабораторное исследование в ЦИСЗ
Получить статус импорта пакета медицинской информации
Patient (любого профиля)
FinalDiagnosis
Encounter
ServiceRequest
2 Отменить направление на лабораторное исследование, если оно было создано по ошибке или потеряло актуальность Найти пациента
Найти направления на лабораторные исследования
Выполнить отмену направления, статус “revoked”
Проверить статус направления
Операция изменения статусов: $set-status

Кейсы в контексте медработника производящего забор материала для исследования (процедурная медицинская сестра, врач)

Кейс Последовательность действий Передаваемые ресурсы
1 Произвести забор биологического материала для исследования Найти пациента
Найти направления пациента
Получить из ЦИСЗ идентификатор образца биологического материала
Создать и отправить сведения об образце для исследования
Получить статус импорта пакета медицинской информации
На основе полученного идентификатора, сгенерировать штрихкод, напечатать и наклеить на контейнер с биоматериалом
Patient (любого профиля)
Specimen
2 Отметить образец непригодным к дальнейшему исследованию  Найти направления в статусе active
Найти нужный образец материала для лабораторного исследования
Изменить статус образца  ”unsatisfactory” - непригодный
Проверить статус образца
Уведомить врача, который назначил исследование
Операция изменения статусов: $set-status

Кейсы в контексте получения результатов и истории исследований пациента

Кейс Последовательность действий
1 Получить результаты исследования для конкретного направления Найти пациента
Найти направления пациента (если статус comleted выполнить следующие шаги)
Получить результаты в виде DiagnosticReport для конкретного направления
Получить результаты в виде Observation для конкретного направления
2 Получить все образцы в рамках одной организации со статусом ”unsatisfactory” - непригодный Найти все id образцов  в рамках одной организации со статусом “unsatisfactory” - непригодный
3 Получить историю результатов лабораторных исследований пациента Найти пациента
Найти заключения лабораторных исследований 

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


sequenceDiagram

  autonumber
  actor doc as Лечащий врач
  actor nurse as Процедурная сестра
  participant mis as МИС
  participant fhir as ЦИСЗ
  
  %% doc ->> mis: Дай мне информацию о пациенте
  %% mis ->> fhir: GET [FHIR BASE]/Patient?name=[полное_ФИО]&birthdate=[дата_рождения]
  %% fhir -->> mis: 200 OK/Bundle/[Patient]
  %% mis -->> doc: Представление информации о пациенте
  doc ->> doc: Осмотр пациента
  doc ->> mis: Покажи мне форму направления на лабораторное исследование
  mis ->> mis: Создание формы направления
Note right of mis: identifier
status
intent
subject
encounter
authordeOn
requester mis -->> doc: Представление формы направления на лабораторное исследование alt Забор биоматериала будет выполняться в том же УЗ doc ->> mis: Заполняет форму Note right of doc: priority
code
orderDetail
accurence
reason
note %% nurse ->> mis: Дай мне информацию о пациенте %% mis ->> fhir: GET [FHIR BASE]/Patient?name=[полное_ФИО]&birthdate=[дата_рождения] %% fhir -->> mis: 200 OK/Bundle/[Patient] %% mis -->> nurse: Представление информации о пациенте nurse ->> mis: Покажи мне направление на лабораторное исследование пациента mis -->> nurse: Представляет предзаполненную форму направления, сохраненного в МИС nurse ->> mis: Добавляет информацию о лаборатории, в которую будет направлен материал Note right of nurse: performer
location nurse ->> nurse: Забор биоматериала nurse ->> mis: Покажи мне форму образца метериала для лабораторного исследования mis->>mis: Проверка наличия невыданных идентификаторов в БД alt Идентификаторы отсутствуют mis->>fhir: POST [FHIR BASE]/$get-specimen-id/[count=n] fhir->>fhir: Create identifiers fhir-->>mis: 200 OK/[Parameters] mis->>mis: Сохранение идентификаторов в БД else Идентификаторы найдены Note right of mis: Нет необходимости обращения в ЦИСЗ
за получением новых идентификаторов end mis->>mis: Извлечение невыданного идентификатора из БД mis -->> nurse: Форма образца материала для лабораторного исследования с предзаполненным выданным идентификатором nurse ->> mis: Заполняет форму "Образец метериала для лабораторного исследования" nurse ->> mis: Отправляет сведения в ЦИСЗ и распечатывает штрихкод mis ->> mis: Create ServiceRequestLab mis ->> mis: Create SpecimenLab mis ->> fhir: POST [FHIR_BASE]/Bundle/$import [MedicationDocument + ServiceRequestLab + SpecimenLab] fhir ->> fhir: Проверка контрольной суммы идентификатора fhir ->> fhir: Проверка уникальности идентификатора fhir -->> mis: 200 OK/Bundle status 'Successed' mis -->> nurse: Печать штрихкода nurse ->> nurse: Наклеивает штрихкод на пробирку else Забор биоматериала и исследование будут выполняться в другом УЗ doc ->> mis: Заполняет форму Note right of doc: performer
location
priority
code
orderDetail
accurence
reason
note doc ->> mis: Отправляет в ЦИСЗ mis ->> mis: Create ServiceRequestLab mis ->> fhir: POST [FHIR_BASE]/Bundle/$import [MedicationDocument + ServiceRequestLab] fhir -->> mis: 200 OK/Bundle status 'Successed' nurse ->> mis: Покажи мне направление на лабораторное исследование пациента mis ->> fhir: GET [FHIR BASE]/Patient/[patietnId]/ServiceRequest?{search-params} fhir -->> mis: 200 OK/Bundle/[ServiceRequestLab] mis -->> nurse: Представляет направление на исследование пациента nurse ->> nurse: Забор биоматериала nurse ->> mis: Покажи мне форму образца материала для лабораторного исследования mis->>mis: Проверка наличия невыданных идентификаторов в БД alt Идентификаторы отсутствуют mis->>fhir: POST [FHIR BASE]/$get-specimen-id/[count=n] fhir->>fhir: Create identifiers fhir-->>mis: 200 OK/[Parameters] mis->>mis: Сохранение идентификаторов в БД else Идентификаторы найдены Note right of mis: Нет необходимости обращения в ЦИСЗ
за получением новых идентификаторов end mis->>mis: Извлечение невыданного идентификатора из БД mis -->> nurse: Форма образца материала для лабораторного исследования с предзаполненным выданным идентификатором nurse ->> mis: Заполняет форму "Образец метериала для лабораторного исследования" nurse ->> mis: Отправляет сведения в ЦИСЗ и распечатывает штрихкод mis ->> mis: Create SpecimenLab mis ->> fhir: POST [FHIR_BASE]/Bundle/$import [MedicationDocument + SpecimenLab] fhir ->> fhir: Проверка контрольной суммы идентификатора fhir ->> fhir: Проверка уникальности идентификатора fhir -->> mis: 200 OK/Bundle status 'Successed' mis -->> nurse: Печать штрихкода nurse ->> nurse: Наклеивает штрихкод на пробирку end

Процесс лабораторного исследования.

  1. Медицинский работник осматривает пациента и принимает решение о назначении лабораторных исследований.
  2. Медицинский работник запрашивает в МИС форму для формирования направления на лабораторное исследование.
  3. МИС формирует форму направления, при этом автоматически заполняются следующие элементы:
    • identifier;
    • status;
    • intent;
    • subject;
    • encounter;
    • authoredOn;
    • requester.
  4. МИС представляет форму направления медицинскому работнику.
  5. Если забор биологического материала будет проводиться в том же УЗ, медицинский работник вносит в форму направления значения следующих элементов:
    • priority;
    • code;
    • orderDetail;
    • occurrence;
    • reason;
    • note.
  6. В процедурном кабинете медицинская сестра запрашивает в МИС направление на лабораторное исследование пациента.
  7. МИС представляет предзаполненную и сохраненную форму направления.
  8. Процедурная медицинская сестра добавляет в форму направления сведения о лаборатории, в которую будет направлен материал.
  9. Процедурная медицинская сестра выполняет забор биологического материала.
  10. Процедурная медицинская сестра запрашивает в МИС форму образца материала для лабораторного исследования.
  11. МИС выполняет проверку в своей  БД: существуют ли невыданные идентификаторы для образцов лабораторных исследований.
  12. В случае, если идентификаторы отсутствуют - МИС отправляет запрос в ЦИСЗ на получение идентификаторов для образцов биологического материала.
  13. ЦИСЗ генерирует новые уникальные идентификаторы для образцов биологического материала.
  14. МИС получает массив идентификаторов.
  15. МИС сохраняет полученный массив идентификаторов в своей БД.
  16. В случае, если идентификаторы найдены - МИС извлекает невыданный идентификатор из БД.
  17. МИС представляет форму образца материала с уже предзаполненным значением идентификатора.
  18. Процедурная медицинская сестра заполняет форму.
  19. Процедурная медицинская сестра проверяет внесенные данные и оправляет сведения в ЦИСЗ.
  20. МИС формирует ресурс ServiceRequestLab.
  21. МИС формирует ресурс SpecimenLab.
  22. Импорт пакета медицинских данных в ЦИСЗ.
  23. Проверка контрольной суммы идентификатора.
  24. Проверка уникальности идентификатора.
  25. Получение статуса успешного импорта.
  26. Печать штрихкода.
  27. Процедурная медицинская сестра наклеивает штрихкод на пробирку с биологическим материалом.
  28. Если забор биологического материала и исследование будут проводиться в другом УЗ, медицинский работник вносит значения следующих элементов:
    • performer;
    • location;
    • priority;
    • code;
    • orderDetail;
    • accurence;
    • reason;
    • note.
  29. Медицинский работник проверяет внесенные данные и отправляет сведения в ЦИСЗ.
  30. МИС формирует ресурс ServiceRequestLab.
  31. Импорт пакета медицинских данных в ЦИСЗ.
  32. Получение статуса успешного импорта.
  33. Процедурная медицинская сестра запрашивает в МИС направление на лабораторное исследование пациента.
  34. МИС отправляет запрос в ЦИСЗ на получение направления.
  35. Получение направления.
  36. МИС представляет направление процедурной сестре.
  37. Процедурная медицинская сестра выполняет забор биологического материала.
  38. Процедурная медицинская сестра запрашивает в МИС форму образца материала для лабораторного исследования.
  39. МИС выполняет проверку в своей  БД: существуют ли невыданные идентификаторы для образцов лабораторных исследований.
  40. В случае, если идентификаторы отсутствуют - МИС отправляет запрос в ЦИСЗ на получение идентификаторов для образцов биологического материала.
  41. ЦИСЗ генерирует новые уникальные идентификаторы для образцов биологического материала.
  42. МИС получает массив идентификаторов.
  43. МИС сохраняет полученный массив идентификаторов в своей БД.
  44. В случае, если идентификаторы найдены - МИС извлекает невыданный идентификатор из БД.
  45. МИС представляет форму образца материала с уже предзаполненным значением идентификатора.
  46. Процедурная медицинская сестра заполняет форму.
  47. Процедурная медицинская сестра проверяет внесенные данные и оправляет сведения в ЦИСЗ.
  48. МИС формирует ресурс SpecimenLab.
  49. Импорт пакета медицинских данных в ЦИСЗ.
  50. Проверка контрольной суммы идентификатора.
  51. Проверка уникальности идентификатора.
  52. Получение статуса успешного импорта.
  53. Печать штрихкода.
  54. Процедурная медицинская сестра наклеивает шрихкод на пробирку с биологическим материалом.

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

№ п/п Ситуация Текст сообщения об ошибке для технических специалистов Текст сообщения об ошибке в человеко-читаемом формате
1 При попытке отправить ресурс ServiceRequest, в котором значение authoredOn больше текущей даты, будет возвращена ошибка: Значение ServiceRequest.authoredOn не может быть больше текущей даты. Дата создания направления не может быть позднее текущей даты.
2 При попытке отправить ресурс ServiceRequest, в котором значение occurrenceDateTime меньше значения authoredOn, будет возвращена ошибка: Значение ServiceRequest.occurrenceDateTime не может быть меньше значения ServiceRequest.authoredOn. Дата выполнения услуги не может быть раньше даты создания направления.
3 При попытке отправить ресурс ServiceRequest, в котором значение location не относится к организации, указанной в performer, будет возвращена ошибка: Значение ServiceRequest.location должно соответствовать организации, указанной в ServiceRequest.performer. Указанное место оказания услуги не принадлежит указанной организации. Указанное подразделение оказания услуги не относится к организации, выбранной в качестве исполнителя.
4 Проверяют существует ли Location в контексте Organization Структурное подразделение в ServiceRequest.identifier.assigner.extension(‘https://fhir.by/StructureDefinition/LocationReference’).reference не принадлежит организации ServiceRequest.identifier.assigner.reference. Cтруктурное подразделение оказания услуги не принадлежит организации, присвоившей идентификатор.
5 Ресурс не найден (при обновлении ресурса) Ресурс {resourceType}/{id} не найден. Варианты:
Направление на исследование, выполняемое в лаборатории не найдено.
Образец материала для лабораторного исследования не найден.
Заключение лабораторного исследования не найдено.
Данные показателя лабораторного исследования не найдены
Ресурс не найден.
6 При обновлении статуса в ресурсе ServiceRequest Нельзя перевести ресурс {referenceId} с статусом “{oldStatus}” в статус “{newStatus}”. Нельзя перевести направление на исследования, выполняемые в лаборатории со статусом “{oldStatus}” в статус “{newStatus}”.
{oldStatus}/{newStatus}:
active - создано в МИС
draft - получено ЛИС
on-hold - в работе в ЛИС
revoked - отозвано МИС
completed - выполнено
entered-in-error - отменено ЛИС
unknown - неизвестный
7 При обновлении статуса в ресурсе Specimen Перевод статуса Specimen возможет только в статус ‘unsatisfactory’. Перевод статуса образца возможен только в статус ‘имеются проблемы, требуется повторить забор биоматериала’.
8 При изменении ServiceRequest с статусом (в бд) != active or != draft Нельзя изменять ресурс {resourceId} с статусом “{status}”. Нельзя изменять направление на исследования, выполняемые в лаборатории со статусом “{status}”.
{status}:
on-hold - в работе в ЛИС
revoked - отозвано МИС
completed - выполнено
entered-in-error - отменено ЛИС
unknown - неизвестный
9 При попытке удаления ServiceRequest с статусом != active or != draft ServiceRequest со статусом - “{status}” не может быть удалён. Направление со статусом “{status}” не может быть удалён.
{status}:
on-hold - в работе в ЛИС
revoked - отозвано МИС
completed - выполнено
entered-in-error - отменено ЛИС
unknown - неизвестный
▲ Вверх