Руководство к использованию стандарта FHIR в ЦИСЗ
0.2.6803 - ci-build
Основные положения:
Ресурсы PrescriptionList, MedicationPrescriptionDP и MedicationStatementCISZ разработаны для передачи информации о выписанных и отоваренных рецептах;
МИС формирует только ресурс PrescriptionList, в котором передается информация об id рецептов, выписанных пациенту в АИС “Электронный рецепт”;
Ресурсы MedicationPrescriptionDP формируются на стороне ЦИСЗ по триггеру - появление в ЦИСЗ PrescriptionList;
Ресурсы MedicationStatementCISZ формируются по запросу МИС и в ЦИСЗ не сохраняются.
| № | Кейс | Перечень основных передаваемых ресурсов | Примечания |
|---|---|---|---|
| 1 | Во время амбулаторного приема врач выписал пациенту рецепты (льготный и нельготный) | EncounterGeneral FinalDiagnosis PrescriptionList |
В составе MedicationDocument |
| 2 | Получение всех активных выписанных рецептов пациента |
| № кейса | Пример запроса | Примечания |
|---|---|---|
| 1 | Поиск ресурса DrugComponent | |
| 1.1 | GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructureDefinition/DrugComponent&_id=[id компонента] |
Поиск компонента лекарственного средства по его логическому идентификатору |
| 1.2 | GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructureDefinition/DrugComponent&ingredient=[код МНН]&doseForm[код МНН действующего вещества],[код МНН действующего вещества] |
Поиск компонента лекарственного средства в конкретной лекарственной форме по коду МНН действующего вещества |
| 1.3 | GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructureDefinition/DrugComponent&ingredient=[код МНН],[код МНН],[код МНН]&status=active |
Результат: Хотя бы одно из действующих веществ присутствует в компоненте |
| 1.4 | GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructureDefinition/DrugComponent&ingredient=[код МНН]&drugDispensingRules=without-prescription |
Поиск компонента лекарственного средства, которое отпускается без рецепта |
| 1.5 | GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructuerDefinition/DrugComponent&cide=[код АТХ],[код АТХ] |
Результат: Полное совпадение по коду АТХ |
| 1.6 | GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructureDefinition/DrugComponent&typeOfMedicine=[код вида ЛС] |
Поиск компонента лекарственного средства по его виду |
| 1.7 | GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructureDefinition/DrugComponent&psychotropicOrNarcotic=narcotic&status=active |
Поиск наркотических компонентов лекарственных средств, регистрация которых не аннулирована |
| 1.8 | GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructucrDefinition/DrugComponent&storageListA=true |
Поиск компонентов лекарственных средств, относящихся к списку хранения А |
| 2 | Поиск ресурса MedicationBy | |
| 2.1 | GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructureDefinition/MedicationBy&name=[торговое наименование]&status=active |
Поиск по торговому наименованию (полное совпадение строки) лекарственного средства, регистрация которого не аннулирована |
| 2.2 | GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructureDefinition/MedicationBy&name=[фрагмент]&status=active |
Поиск по торговому наименованию (частичное совпадение строки) лекарственного средства, регистрация которого не аннулирована |
| 2.3 | GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructureDefinition/MedicationBy&name=[фрагмент]&name=[фрагмент]&status=active |
Результат: Хотя бы один из фрагментов присутствует в названии |
| 2.4 | GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructureDefinition/MedicationBy&component=[id компонента]&code=original |
Поиск по логическому идентификатору компонента оригинального лекарственного средства |
Основные положения:
Ресурсы MedicationOrder и CancelOrder разработаны для передачи информации о безрецептурных назначениях лекарственных средств как в амбулаторных условиях, так и в стационаре;
В ЦИСЗ реализована возможность назначать лекарственные средства как по торговому наименованию, так и по международному непатентованному наименованию (далее - МНН) лекарственного средства;
Поиск и получение ресурсов лекарственных средств реализованы посредством обращения к единому справочнику лекарственных средств по API;
Изменение ранее сделанного назначения реализуется путем его отмены и создания нового.
| № | Кейс | Передаваемые ресурсы | Примечания |
|---|---|---|---|
| 1 | Во время амбулаторного приема врач реализовал три варианта безрецептурного назначения лекарственных средств: Купировал высокое артериальное давление пациента (по торговому наименованию лекарственного средства); Назначил краткосрочный курс антибактериальной терапии (по МНН лекарственного средства); Назначил гипотензивные лекарственные средства для длительного применения (по МНН лекарственного средства). | EncounterGeneral FinalDiagnosis MedicationOrder |
В составе MedicationDocument |
| 2 | Врач во время амбулаторного приема произвел коррекцию терапии: Отменил сделанные ранее назначения; Сформировал новые назначения. | Encounter GeneralFinalDiagnosis MedicationOrder CancelOrder |
В составе MedicationDocument |
| 3 | Врач формирует окончание госпитализации: При передаче информации о проведенном и назначенном медикаментозном лечении врач выполняет следующие действия: Передает информацию о назначениях, выполненных во время стационарного лечения (по торговому наименованию лекарственного средства); Отменяет назначение, которое было создано до госпитализации другим врачом; Формирует назначение лекарственного средства для продолжения лечения после выписки из стационара (по МНН лекарственного средства). | Hospitalisation FinalDiagnosis MedicationOrder CancelOrder |
В составе MedicationDocument |
| 4 | Назначение лекарственных средств в условиях дневного стационара: Назначен краткосрочный курс медикаментозной терапии (по МНН лекарственного средства); | DayCare MedicationOrder |
В составе MedicationDocument |
| 5 | Получение всех активных назначений пациента |
sequenceDiagram
autonumber
participant EP as "Эл. рецепт"
participant MIS as МИС
participant CISZ as ЦИСЗ
note over EP,MIS: Выписка электронных рецептов в АИС "Электронный рецепт"
loop количество рецептов
MIS ->> MIS: Врач создает электронный рецепт
MIS ->> EP: Отправка электронного рецепта
EP -->> MIS: 200 Ok/id электронного рецепта
end
note over MIS,CISZ: Отправка в ЦИСЗ списка идентификаторов электронных рецептов
MIS ->> MIS: Формирование ресурса PrescriptionList
MIS ->> CISZ : POST [FHIR-BASE]/Bundle/$import/MedicationDocument + PrescriptionList
CISZ -->> MIS : 200 OK/Bundle status 'successed'
note over MIS, CISZ: Получение активных электронных рецептов пациента из ЦИСЗ
loop количество рецептов
CISZ ->> EP: Запрос на получение электронного рецепта по id
EP -->> CISZ: 200 OK/рецепт
CISZ ->> CISZ: Формирование ресурса MedicationPrescriptionDR
end
MIS ->> CISZ: GET [FHIR_BASE]/Patient/MedicationRequest?_profile=https://fhir.by/StructureDefinition/MedicationPresctiptionDP&status=active
CISZ -->> MIS: 200 OK/total:x/[MedicationPresctiptionDP_1, ..., MedicationPrescriptionDR_x]
Порядок действий при обмене информацией:
sequenceDiagram
autonumber
participant MIS as МИС
participant CISZ as ЦИСЗ
note over MIS,CISZ: Поиск активных назначений пациента
MIS ->> CISZ : GET [FHIR-BASE]/Patient/MedicationRequest?_profile=https://fhir.by/StructureDefinition/MedicationOrder&status=active
CISZ -->> MIS : 200 OK/total:n/[MedicationOrder_1 ... MedicationOrder_n]
note over MIS,CISZ: Отмена назначения
loop количество отмен = n
MIS ->> MIS: Create CancelOdrer
end
note over MIS,CISZ: Создание назначений лекарственных средств
loop количество назначаемых лекарственных средств = m
alt поиск по МНН
MIS ->> CISZ: GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructureDefinition/DrugComponent&ingredient={code}
CISZ -->> MIS: 200 OK/total:x/[DrugComponent_1...DrugComponent_x]
else поиск по торговому наименованию
MIS ->> CISZ: GET [FHIR_BASE]/Medication?_profile=https://fhir.by/StructureDefinition/MedicationBy&name={name}
CISZ -->> MIS: 200 OK/total:y/[MedicationBy_1...MedicationBy_y]
end
MIS ->> MIS : Create MedicationOrder
end
MIS ->> CISZ : POST [FHIR_BASE]/Bundle/$import/MedicationDocument + [CancelOrder_1 ... CancelOrder_n] + [MedicationOrder_1 ... MedicationOrder_m]
CISZ -->> MIS : 200 OK/Bundle status 'successed'
Порядок действий при обмене информацией:
| № п/п | Ситуация | Текст сообщения об ошибке для технических специалистов | Текст сообщения об ошибке в человекочитаемом формате | error/warning |
|---|---|---|---|---|
| Безрецептурное назначение лекарственных средств | ||||
| 1 | При попытке отменить назначение, которое находится в статусе cancelled, будет возвращена следующая ошибка: | Невозможно отменить ресурс MedicationRequest.status = cancelled. | Назначение уже было отменено. | error |
| 2 | При попытке отменить назначение, которое находится в статусе completed, будет возвращена следующая ошибка: | Невозможно отменить ресурс MedicationRequest.status = completed. | Нельзя отменить уже выполненное назначение. | error |
| Рецептурное назначение лекарственных средств | ||||
| 1 | MedicationRequest по идентификатору List.entry[x].item.identifier уже существует | MedicationRequest с идентификатором {identifier} уже существует. MedicationRequest.id = {medicationRequestId}. | Рецепт был создан ранее в ЦИСЗ. | warning |
| 2 | Ресурс не найден в сервисе электронных рецептов | Указан несуществующий идентификатор электронного рецепта ({identifier}). | Электронный рецепт не найден в АИС “Электронный рецепт”. | warning |
| 3 | Не удалось десериализовать электронный рецепт (например, отсутствует обязательное поле name) | Полученный рецепт ({identifier}) из АИС “Электронный рецепт” не валиден. | Не удалось получить электронный рецепт из АИС “Электронный рецепт”. | warning |
| 4 | Полученный результат из сервиса электронных рецептов вернул не валидный результат | Полученный рецепт ({identifier}) из АИС “Электронный рецепт” не валиден. | Не удалось получить электронный рецепт из АИС “Электронный рецепт”. | warning |
| 5 | Не обработанная ошибка от сервиса электронных рецептов | Ошибка доступа к АИС “Электронный рецепт”. | Не удалось получить электронный рецепт из АИС “Электронный рецепт”. | warning |