В статье я делюсь опытом настройки в медицинской информационной системе (МИС) структурированного электронного медицинского документа (СЭМД) «Выписка из протокола врачебной комиссии» (код 347) в формате CDA (Редакция 1). Материал будет полезен специалистам, которые внедряют электронное оформление решений врачебных комиссий, включая случаи направления на специализированную (СМП) и высокотехнологичную (ВМП) медицинскую помощь.
1. Зачем нужна выписка из протокола врачебной комиссии
Документ (код 347 по классификатору «Виды медицинской документации») предназначен для фиксации решения врачебной комиссии (ВК) и передачи его в РЭМД. В отличие от многих других СЭМД, выписка из протокола ВК имеет три варианта:
- Обычная выписка – фиксирует решение ВК, номер протокола, социальную группу, выявленное при экспертизе.
- Выписка по СМП – добавляет сведения о профиле специализированной медицинской помощи, этапе СМП, уведомлении направляющей организации.
- Выписка по ВМП – вместо профиля СМП содержит данные о виде высокотехнологичной помощи, модели пациента, виде лечения, методе лечения, а также этапе ВМП.
Руководство по реализации CDA имеет OID шаблона 1.2.643.5.1.13.13.14.347.9.1 (Редакция 1). Мы настроили один тип действия, который в зависимости от заполненных свойств автоматически определяет, какой вариант формировать.
2. Настройка типа действия в МИС
2.1. Основные атрибуты
Мы создали тип действия с плоским кодом PROTOCOL_VK (название условное). Основные настройки:
- Код для отчётов –
OtherDocuments. - Вид услуги –
Прочее. - Идентификация по справочнику CDA –
1.2.643.2.69.1.1.1.195.Cdaс идентификатором 114 (уточните в своём классификаторе). - Идентификация по справочнику МИС –
n3.medDocumentType.Cdaиn3.medDocumentType.Pdf.
Счётчик идентификатора документа – стандартный CDA_ID, создаётся в разделе «Настройки – Счётчики».
2.2. Свойства типа действия (секции CDA)
В типе действия мы добавили следующие свойства (каждому указали параметр «Секция CDA» согласно таблице из руководства). Обязательные поля отмечены penalty > 0.
| Название свойства | Код секции CDA | Обязательность | Тип | Примечание |
|---|---|---|---|---|
| Идентификатор документа | – | 0 | Счётчик | |
| Номер протокола врачебной комиссии | PROTNUMBER | 1 | Text/String/Integer | |
| Решение врачебной комиссии | RESULT | 1 | Text/String/Constructor | Может быть несколько свойств с одинаковой секцией |
| Решение врачебной комиссии о госпитализации | GOSPRESULT | 0 | String | Справочник 1.2.643.5.1.13.13.11.1512 («Госпитализировать», «Изменить дату госпитализации», «Отказать в госпитализации») |
| Дата планируемой госпитализации | GOSPDATE | 0 | Date | |
| Причина отказа от госпитализации | GOSPDENIAL | 0 | String | Справочник 1.2.643.5.1.13.13.11.1497 |
| Выявлено при экспертизе | EXPERTISE | 0 | Text/String/Constructor | |
| Профиль медицинской помощи | SMP | 0* | rbHospitalBedProfile | *Обязателен для выписки по СМП |
| Сведения об этапе (СМП/ВМП) | STAGE | 0* | String | *Обязателен для СМП/ВМП. Справочник 1.2.643.5.1.13.13.11.1554 (этапы 1–6) |
| Способ уведомления направляющей МО | NOTIF | 0* | String | *Обязателен для СМП/ВМП. Справочник 1.2.643.5.1.13.13.99.2.719 («почта», «телефон», «электронная почта») |
| Дата уведомления направляющей МО | NOTIFDATE | 0* | Date | *Обязателен для СМП/ВМП |
Важно: свойства SMP, STAGE, NOTIF, NOTIFDATE используются только при формировании выписки по СМП или ВМП. Для обычной выписки они не нужны. Однако в типе действия они могут быть опциональными, а логика их заполнения регулируется в шаблоне.
2.3. Оформление выписки в МИС
Врач должен зарегистрировать мероприятие (тип действия) в случае обслуживания пациента, заполнить обязательные поля (номер протокола, решение комиссии), при необходимости – поля госпитализации, этапа, уведомления. Для выписки по СМП дополнительно заполняется профиль медицинской помощи. Для выписки по ВМП – в событии на вкладке «Примечания» указываются «Модель пациента», «Вид лечения», «Метод лечения», а на вкладке «Стат.учет» – заключительный диагноз (диагноз должен соответствовать модели пациента).
После внесения данных врач нажимает «Печать», подписывает PDF, и автоматически генерируется XML для отправки в РЭМД.
3. Особенности для выписки по СМП
Для корректного формирования выписки по СМП в типе действия должны быть заполнены:
SMP– профиль медицинской помощи. При этом важно, чтобы у выбранного профиля была настроена идентификация по справочникам:- Для стационарной помощи –
urn:oid:1.2.643.5.1.13.13.99.2.706.Hosp - Для дневного стационара –
urn:oid:1.2.643.5.1.13.13.99.2.706.DayHosp STAGE– этап СМП (1–6).NOTIFиNOTIFDATE– способ и дата уведомления направляющей МО.
В XML-шаблоне в секции SPECMEDCARE код профиля СМП подставляется в зависимости от условия оказания помощи (стационар/дневной стационар). Для стационара используется идентификатор из 1.2.643.5.1.13.13.99.2.706.Hosp, для дневного стационара – из 1.2.643.5.1.13.13.99.2.706.DayHosp.
4. Особенности для выписки по ВМП
Для выписки по ВМП:
- В событии (случае обслуживания) на вкладке «Примечания» должны быть заполнены поля:
- Модель пациента (текст или справочник)
- Вид лечения
- Метод лечения
- В событии на вкладке «Стат.учет» должен быть указан заключительный диагноз (тип
1или2). Диагноз должен соответствовать модели пациента. - В типе действия заполняются
STAGE,NOTIF,NOTIFDATE(как и для СМП), ноSMPне используется.
В XML-шаблоне в секции HIGHTECHMEDCARE выполняется поиск кода ВМП по комбинации «Модель пациента – Вид лечения – Метод лечения – Код МКБ основного диагноза» в справочнике rbCureKind. Если код не найден, пользователю показывается предупреждение, что документ не пройдёт валидацию.
Важно: для ВМП в секции documentationOf в элементе medService:serviceType должен быть указан код 8 (Высокотехнологичная специализированная медицинская помощь), а в medService:serviceCond – код 1 (Стационарно) или 2 (Амбулаторно) в зависимости от условий.
5. Настройка справочников и идентификаций
5.1. Справочник «Организации»
У текущей медицинской организации должна быть настроена идентификация по справочнику MDR308 (OID 1.2.643.5.1.13.2.1.1.178). При наличии структурного подразделения (например, отделение, где работает председатель ВК) указываем его OID из справочника «ФРМО. Справочник структурных подразделений» (OID 1.2.643.5.1.13.13.99.2.114).
5.2. Идентификация профилей медицинской помощи (для СМП)
В справочнике «Профили медицинской помощи» необходимо добавить идентификацию по двум внешним системам:
- СМП. Справочник видов работ и услуг для стационара – OID
1.2.643.5.1.13.13.99.2.706.Hosp - СМП. Справочник видов работ и услуг для дневного стационара – OID
1.2.643.5.1.13.13.99.2.706.DayHosp
Для упрощения задачи мы подготовили SQL-скрипты, которые создают временные таблицы с соответствиями «код – название профиля» и затем заполняют таблицу rbMedicalAidProfile_Identification. Скрипты прилагаются к документации. Пример фрагмента:
INSERT INTO rbMedicalAidProfile_Identification
(createDatetime, createPerson_id, modifyDatetime, modifyPerson_id, master_id, system_id, value)
SELECT NOW(), 1, NOW(), 1, map.id,
(SELECT ras.id FROM rbAccountingSystem ras WHERE ras.urn = 'urn:oid:1.2.643.5.1.13.13.99.2.706.Hosp'),
t.id
FROM `1.2.643.5.1.13.13.99.2.706.Hosp` t
INNER JOIN rbMedicalAidProfile map ON t.name=map.name;
После выполнения скриптов временные таблицы удаляются. Для некоторых профилей, названия которых не совпадают один в один (например, «Ортопедия» → «Травматология и ортопедия»), добавлены отдельные ручные вставки.
5.3. Тип действия – идентификация
Тип действия должен иметь идентификацию по справочнику с кодом n3.medDocumentType.Cda.
5.4. Справочник «Типы документов» (ДУЛ пациента)
Для документа, удостоверяющего личность, необходима двойная идентификация:
- OID
1.2.643.5.1.13.13.99.2.48– идентификатор типа документа; - OID
1.2.643.5.1.13.13.99.2.48*– наименование типа документа.
Версия справочника – не ниже 6.2.
5.5. Справочник «Должности»
У должности исполнителя (председателя врачебной комиссии) должна быть настроена идентификация по справочнику «Должности работников организаций здравоохранения» с OID 1.2.643.5.1.13.13.11.1002. Версия справочника – 7.1 или выше.
6. Проверки заполнения в HTML-шаблоне
Мы добавили в шаблон печати (HTML) блок проверок. Критические ошибки (без них документ не может быть сформирован):
- СНИЛС пациента – обязателен.
- Дата выдачи документа, удостоверяющего личность – обязательна.
- Адрес регистрации – обязателен.
- СНИЛС исполнителя (председателя ВК) – обязателен.
- Состояние документа – должно быть «Закончено».
- Обязательные свойства (
PROTNUMBER,RESULT) – проверяем на пустоту.
Для выписки по СМП/ВМП дополнительно проверяем наличие STAGE, NOTIF, NOTIFDATE. Для СМП – наличие SMP. Для ВМП – наличие модели пациента, вида лечения, метода лечения и заключительного диагноза.
Если какая-то из критических проверок не проходит, пользователь видит диалоговое окно с перечнем ошибок, формирование прерывается.
7. Формирование регионального идентификатора пациента (MPI)
Как и для всех CDA, нам нужен глобальный идентификатор пациента. В HTML-шаблоне мы добавили вызов:
{: from library.Utils import forceString}
{: clientGlobalIdNetrika = readUrl("http://"+forceString(dbServerName)+"/extendedmse/api?fromtemplate=1&clientid="+forceString(client.id), timeout=50)}
В XML-шаблоне для Санкт-Петербурга (код КЛАДР 78 или 08) используем особое правило: идентификатор строится как {OID_MDR308[26:]}.17.1.{client.id}, для остальных регионов – через вызов сервиса.
Не забудьте проверить, что в глобальных настройках есть ExtendedMseUrl и в конфигурации ИЭМК прописаны gDefaultMpiUrl и gMpiToken.
8. Вызов генерации XML
В HTML-шаблоне после всех проверок и перед закрывающими тегами мы добавили:
{: addSupplement('xml', formatByTemplate('CDA_COMISSION_STATEMENT_RED1', 'CDA')) }
Шаблон CDA_COMISSION_STATEMENT_RED1 содержит XML-код, который мы привели в примерах (обычная выписка, выписка по СМП, выписка по ВМП). В зависимости от заполненных свойств XML-шаблон автоматически включает секции SPECMEDCARE или HIGHTECHMEDCARE.
9. Примеры XML-документов
В пакете спецификации приведены три примера:
- Обычная выписка (
Выписка из протокола врачебной комиссии.xml) – содержит решение ВК о продлении листка нетрудоспособности, номер протокола, социальную группу, выявленное при экспертизе. Секции СМП и ВМП отсутствуют. - Выписка по СМП (
Выписка из протокола врачебной комиссии СМП.xml) – добавляет секциюSPECMEDCAREс профилем «онкологии» (код 16287), этапом 3, уведомлением по электронной почте. - Выписка по ВМП (
Выписка из протокола врачебной комиссии ВМП.xml) – добавляет секциюHIGHTECHMEDCAREс кодом ВМП 10969, этапом 3, уведомлением.
Эти примеры хорошо показывают, как должны быть заполнены поля и как формируются секции.
10. Что важно помнить при эксплуатации
- Социальная группа – берётся из социального статуса пациента (класс «Социальный статус») с идентификацией по справочнику
1.2.643.5.1.13.13.11.1038. Если статус не заполнен, секция не выводится, но документ всё равно формируется. - Решение о госпитализации и причина отказа – заполняются только если принято соответствующее решение. В XML они оформляются в виде вложенных
entryRelationship. - Для ВМП – обязательно проверяйте, что комбинация «Модель пациента – Вид лечения – Метод лечения – Код МКБ» существует в справочнике
rbCureKind. Иначе документ не пройдёт валидацию. Мы добавили в шаблон запрос к БД и предупреждение. - Вид медицинской помощи – в
documentationOfдля обычной выписки может быть любым, для СМП/ВМП – должен соответствовать. - Дата уведомления – указывается без времени, только дата. В XML используется
effectiveTimeбез часов.
Настройка CDA «Выписка из протокола врачебной комиссии» оказалась не самой простой из-за трёх вариантов документа (обычная, СМП, ВМП). Однако общий тип действия с условной логикой в XML-шаблоне позволяет покрыть все три случая. Особое внимание стоит уделить идентификации профилей медицинской помощи (SQL-скрипты) и проверке наличия кода ВМП для выписок по ВМП. Надеюсь, наш опыт поможет вам быстрее внедрить этот документ и избежать типичных ошибок.


