Руководство к использованию стандарта FHIR в ЦИСЗ
0.2.6803 - ci-build
| № п/п | Описание кейса | Перечень основных передаваемых ресурсов | Примечания |
|---|---|---|---|
| 1 | Назначение изделия медицинского назначения (слухового аппарата), созданное амбулаторно | DeviceOrder EncounterGeneral FinalDiagnosis |
В составе MedicationDocument |
| 2 | Отмена назначения медицинского изделия и назначение нового изделия | CancelOrder EncounterGeneral DeviceOrder |
В составе MedicationDocument |
| 3 | Факт обеспечения пациента изделием медицинского назначения | DevicePatientDispenseBy DeviceForPatient |
В составе MedicationDocument |
| 4 | Обеспечение изделием медицинского назначения (сустав), созданное в условиях стационара | DeviceForPatient SurgicalProcedure |
В составе MedicationDocument |
sequenceDiagram
autonumber
participant Foo as МИС
participant Foo1 as ЦИСЗ
note over Foo,Foo1: Получение информации о пациенте
alt у пациента есть ИН
note over Foo,Foo1: Поиск пациента по ИН
Foo ->> Foo1 : GET [FHIR-BASE]/Patient?identifier=778838387A893OE7
alt пациент найден
Foo1 -->> Foo : 200 OK/total:1/Patient.identifier.value=778838387A893OE7
else пациент не найден
Foo1 -->> Foo : 200 OK/total:0
Foo ->> Foo : Create PatientWithIdentificationNumber
end
else у пациента нет ИН (иностранец)
note over Foo,Foo1: Поиск пациента по документу, удостоверяющему личность
Foo ->> Foo1 : GET [FHIR-BASE]/Patient?identifier:of-type=https://fhir.by/ValueSet/PersonalDocumentType|FDN|123321
alt пациент найден
Foo1 -->> Foo : 200 OK/total:1/PatientWithoutIdentifierNumber
else пациент не найден
Foo1 -->> Foo : 200 OK/total:0
Foo ->> Foo : Create PatientWithoutIdentificationNumber
note right of Foo: Заполнить identifier:UnspecifiedMedicalDocumentNumber, PersonIdentifier или RefugeeCertificateNumber
end
end
note over Foo,Foo1: Назначение изделия медицинского назначения
Foo ->> Foo : Create Encounter + FinalDiagnosis + DeviceOrder
Foo ->> Foo1 : POST [FHIR_BASE]/Bundle/$import Body: MedicationDocument + Patient + Encounter + FinalDiagnosis + DeviceOrder
Foo1 -->> Foo : 200 OK/Bundle status 'successed'
sequenceDiagram
autonumber
participant MIS as МИС
participant CISZ as ЦИСЗ
note over MIS,CISZ: Поиск активных назначений медицинских изделий
MIS ->> CISZ : GET [FHIR-BASE]/Patient/DeviceRequest?_profile=https://fhir.by/StructureDefinition/DeviceOrder&status=active
CISZ -->> MIS : 200 OK/total:n/[DeviceOrder_1 ... DeviceOrder_n]
note over MIS,CISZ: Отмена назначения
loop количество отмен = n
MIS ->> MIS: Create CancelOdrer
end
note over MIS,CISZ: Создание нового назначения медицинского изделия
MIS ->> MIS : Create Encounter_2 + DeviceOrder_2
MIS ->> CISZ : POST [FHIR_BASE]/Bundle/$import Body: MedicationDocument + Patient + Encounter_2 + DeviceOrder_2 + CancelOrder
CISZ -->> MIS : 200 OK/Bundle status 'successed'
sequenceDiagram autonumber participant MIS as МИС participant CISZ as ЦИСЗ note right of MIS: Получение созданного ранее ресурса\nDeviceOrder_2.status=active MIS ->> CISZ : GET [FHIR_BASE]/Patient/[patient_id]/DeviceRequest?_profile=https://fhir.by/StructureDefinition/DeviceOrder&status=active CISZ-->> MIS: 200 OK/total: 1/DeviceOrder_2 MIS ->> MIS : Create DevicePatientDispenseBy + DeviceForPatient note right of MIS: необходимо разместить ссылку на полученный ресурс DeviceOrder_2 в элементе DevicePatientDispenseBy.basedOn MIS ->> CISZ : POST [FHIR_BASE]/Bundle/$import Body: MedicationDocument + DevicePatientDispenseBy + DeviceForPatient CISZ -->> MIS : 200 OK/Bundle status 'successed'
Скачать пример - Отмена назначения изделия медицинского назначения
Скачать пример - Факт обеспечения пациента изделием медицинского назначения
| №п/п | Ситуация | Текст сообщения об ошибке для технических специалистов | Текст сообщения об ошибке в человеко-читаемом формате | error/warning |
|---|---|---|---|---|
| 1 | При отправке Fhir-ресурса DeviceDispense “Факт обеспечения пациента изделием медицинского назначения”, в котором ссылка на изделие медицинского назначения внешняя, будет возвращена ошибка. | Нельзя обращаться внешней ссылкой на Device (Device и DeviceDispense должны быть в Bundle). | Факт обеспечения пациента изделием медицинского назначения или медицинской техникой и изделие медицинского назначения, которым был обеспечен пациент, должны передаваться вместе. | error |
| 2 | При отправке Fhir-ресурса DeviceDispense в поле DeviceDispense.performer должно быть указано значение, соответствующее значению, указанному в DeviceRequest.performer. | DeviceDispense.performer(function = ‘health-care-organization’).actor.reference = DeviceRequest.performer(concept.coding.code = ‘health-care-organization’).reference. | Организация здравоохранения, которая обеспечила пациента медицинским изделием, должна соответствовать организации здравоохранения, указанной в назначении. | warning |
| 3 | При отправке Fhir-ресурса DeviceDispense в поле DeviceDispense.basedOn должна быть указана ссылка на активное назначение изделия медицинского назначения и медицинской техники. | В DeviceDispense.basedOn должна быть указана ссылка на DeviceRequest со статусом ’active’. | В факте обеспечения пациента изделием медицинского назначения или медицинской техникой указана ссылка на неактивное назначение. | error |
| 4 | При отправке Fhir-ресурса DeviceDispense в поле DeviceDispense.device.concept.coding.code должно быть указано значение, соответствующее значению, указанному в DeviceRequest.code.concept.coding.code. | Код DeviceDispense.device.concept.coding.code должен соответствовать DeviceRequest.code.concept.coding.code. | Медицинское изделие, которым обеспечен пациент, не соответствует назначенному медицинскому изделию. | warning |
| 5 | Попытка отменить отмененное назначение. | Невозможно отменить ресурс DeviceRequest.status = cancelled. | Назначение уже было отменено. | error |
| 6 | Это проверка уникальности девайса у каждого факта в пределах одного бандла, если в нем переданы несколько фактов. | На ресурс Device может ссылаться только один DeviceDispense.device.reference. | Указана ссылка на изделие медицинского назначения, которым уже был обеспечен пациент. | error |