Руководство к использованию стандарта 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 | При попытке отправить ресурс 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 - неизвестный |