Коллеги, продолжаем серию по региональным интеграциям Санкт-Петербурга. Сегодня разбираем настройку выгрузки протокола осмотра врача-онколога в подсистему ВИМИС Онко. Документ формируется на основе приёма (осмотра) врача-специалиста (код 341) и передаётся в РЭМД как СЭМД-beta с идентификатором формата CDA 159. В отличие от ВИМИС АкиНео, здесь есть свои нюансы: другой справочник диагнозов, дополнительная идентификация типа действия, а в XML-шаблоне используется часовой пояс +0400. Разберём всё по шагам.
Что такое ВИМИС Онко и зачем это в МИС
ВИМИС Онко – региональная подсистема Санкт-Петербурга для сбора и хранения протоколов осмотров врачей-онкологов. Медицинские организации обязаны выгружать в неё данные о каждом приёме онкологического пациента.
Формируемый документ – «Прием (осмотр) врача-специалиста» (код 341). Идентификатор формата CDA – 159. В документе обязательно должны быть:
- Жалобы, анамнез заболевания и жизни (в т.ч. эпидемиологический).
- Витальные параметры (по желанию).
- Данные осмотра, общее состояние, оценка сознания.
- Клинический диагноз по справочнику
1.2.643.2.69.1.1.1.167(это важно!). - Дата установления диагноза.
- Заключение и рекомендации.
Шаг 1. Настройка типа действия
Создайте новый тип действия (например, «Прием (осмотр) врача-онколога (ВИМИС Онко)») или скопируйте существующий протокол осмотра.
Основные параметры
- Код для отчётов –
OtherDocuments(обязательно, иначе CDA не сформируется). - Идентификатор документа – настраиваем через счётчик. Зайдите в «Настройки → Счётчики», создайте новый счётчик с произвольным кодом (например,
VIMIS_ONKO_ID) и настройте формат номера. В типе действия в свойстве «Идентификатор документа» выберите этот счётчик.
Идентификация типа действия
На вкладке «Идентификация» добавьте две записи:
- Внешняя система –
1.2.643.2.69.1.1.1.195.Cda(классификатор форматов CDA).
Код –159. - Внешняя система –
1.2.643.5.1.13.13.11.1463(код типа консультации).
Код – укажите код, соответствующий специальности «Онкология» (обычно28или другой, уточните в региональном справочнике).
А также идентификацию по звёздочному OID1.2.643.5.1.13.13.11.1463*– там укажите наименование, например, «Консультация врача-онколога».
Без второй идентификации поле «Тип консультации» в CDA останется пустым.
Связь с номенклатурной услугой
На вкладке «Основная информация» в поле «Номенклатурная услуга» выберите услугу, соответствующую приёму онколога (например, «Прием (осмотр, консультация) врача-онколога повторный»). Услуга должна иметь идентификацию по справочнику 1.2.643.5.1.13.13.11.1070 (номенклатура медицинских услуг).
Настройка свойств и секций CDA
В типе действия создайте свойства, которые будут хранить данные для выгрузки. Для каждого свойства в параметре «Секция CDA» укажите соответствующий код из таблицы.
Полный перечень секций (обязательные отмечены «1»):
| Назначение секции | Код секции CDA | Обязат-ть | Тип свойства | Примечания |
|---|---|---|---|---|
| Жалобы | COMPLAINTS | 0 | Text | |
| Анамнез заболевания | ANAM | 1 | Text | Можно несколько свойств – объединятся |
| Анамнез жизни | ANAMZ | 1 | Text | Можно несколько свойств |
| Эпидемиологический анамнез | EPIDANAM | 0 | Text | |
| Пульс (1/мин) | PULSE | 0 | Integer | |
| Артериальное давление систолическое | PRESSURES | 0 | Integer | |
| Артериальное давление диастолическое | PRESSURED | 0 | Integer | |
| Температура тела (°C) | TEMP | 0 | Double | |
| Сатурация (%) | SATURATION | 0 | Integer | |
| Общее состояние пациента | CONDIT | 1 | Справочник | Значения по OID 1.2.643.5.1.13.13.11.1006 |
| Данные осмотра | OBJECT | 1 | Text | Можно несколько свойств |
| Оценка сознания | CONSCIOUS | 0 | Справочник | Значения по OID 1.2.643.5.1.13.13.11.1531 |
| Дата установления диагноза | DIAGDATE | 1 | Date | |
| Клинический диагноз (текст) | DIAGN | 1 | Text | |
| Рекомендации | RECOM | 0 | Text | |
| Заключение | CONCL | 1 | Text | Можно несколько свойств |
Обратите внимание: в XML-шаблоне для онколога используется часовой пояс +0400 (вместо обычного +0300). Это может быть особенностью региональных требований. Убедитесь, что в вашем шаблоне стоит правильный пояс – при необходимости скорректируйте.
Шаг 2. Настройка типа события
Для случая обслуживания (обращения), к которому привязан осмотр, у типа события должен быть заполнен «Код ЕГИСЗ». Обычно это код по справочнику видов медицинской помощи. Уточните в МИАЦ Санкт-Петербурга, какой код требуется для амбулаторного онкологического приёма.
Шаг 3. Настройка идентификаций (внешних систем)
Организация
У вашей медицинской организации (в карточке организации, вкладка «Идентификация») должна быть заполнена идентификация по справочнику MDR308 (Регистр МО РФ). Без неё не сформируется корректный id документа.
Номенклатурная услуга
У услуги, выбранной в типе действия, должна быть идентификация по справочнику 1.2.643.5.1.13.13.11.1070 (Номенклатура медицинских услуг). Код услуги должен соответствовать онкологическому приёму.
Должность врача
У врача (сотрудника) должна быть идентификация по OID 1.2.643.5.1.13.13.11.1002 (справочник должностей). Желательно также иметь идентификацию по звёздочному OID для наименования должности.
Справочник диагнозов
Критически важно! В случае обслуживания (обращении) диагноз должен быть выставлен по справочнику 1.2.643.2.69.1.1.1.167 (региональный справочник диагнозов для онкологии). Убедитесь, что в МИС настроено использование этого справочника для онкологических осмотров. Если диагноз будет из другого справочника, CDA может не пройти валидацию.
Шаг 4. Обеспечение регионального идентификатора пациента
Для выгрузки в ВИМИС Онко требуется региональный идентификатор пациента (единый по Санкт-Петербургу). Настройка полностью аналогична ВИМИС АкиНео:
- Ревизия ИЭМК не ниже 28080. Уточните у администратора вашей ИЭМК текущую ревизию.
- Глобальные настройки. Проверьте наличие записи с кодом
ExtendedMseUrl. Если нет – создайте её со значением:http://${dbServerName}/extendedmse/api - Основной шаблон печати. В начало шаблона (перед вызовом CDA) добавьте:
{: from library.Utils import forceString}
{: clientGlobalIdNetrika = readUrl("http://"+forceString(dbServerName)+"/extendedmse/api?fromtemplate=1&clientid="+forceString(client.id), timeout=50)}
- Конфиг ИЭМК. Убедитесь, что прописаны
gDefaultMpiUrlиgMpiToken.
Шаг 5. Проверки заполнения обязательных данных
В основной шаблон печати (PDF) необходимо добавить проверки, чтобы пользователь не мог сформировать CDA, если не заполнены критически важные поля.
Дата выдачи документа
<!--Проверка на наличие даты выдачи документа, удостоверяющего личность-->
{if: not client.document.date}
{: from PyQt4.QtGui import QMessageBox as mb}
{mb.critical(None, u'Проверка заполнения данных', u'ВНИМАНИЕ!\n\n' + u'Не заполнена дата выдачи документа, удостоверяющего личность пациента.\n', mb.Ok, mb.Ok)}
{exit(0)}
{end:}
СНИЛС пациента
<!--Проверка на наличие СНИЛС пациента-->
{if: not client.SNILS}
{: from PyQt4.QtGui import QMessageBox as mb}
{mb.critical(None, u'Проверка заполнения данных', u'ВНИМАНИЕ!\n\n' + u'Не заполнен СНИЛС пациента.\n', mb.Ok, mb.Ok)}
{exit(0)}
{end:}
Полис ОМС
<!--Проверка на наличие полиса ОМС пациента-->
{if: not client.compulsoryPolicy.number}
{: from PyQt4.QtGui import QMessageBox as mb}
{mb.critical(None, u'Проверка заполнения данных', u'ВНИМАНИЕ!\n\n' + u'Не заполнены данные о полисе ОМС пациента.\n', mb.Ok, mb.Ok)}
{exit(0)}
{end:}
Адрес фактического проживания
<!--Проверка на наличие адреса проживания пациента-->
{if: not client.locAddress}
{: from PyQt4.QtGui import QMessageBox as mb}
{mb.critical(None, u'Проверка заполнения данных', u'ВНИМАНИЕ!\n\n' + u'Не заполнен адрес проживания пациента.\n', mb.Ok, mb.Ok)}
{exit(0)}
{end:}
Шаг 6. Ссылка на XML-шаблон в основном шаблоне печати
В основном шаблоне печати (где формируется PDF протокола) добавьте строку, подключающую XML-шаблон:
{: addSupplement('xml', formatByTemplate('VIMIS_ONKO', 'CDA')) }
Здесь:
'VIMIS_ONKO'– имя шаблона печати, в котором хранится XML-документ (файлВИМИС Онко.xml).'CDA'– контекст этого шаблона.
Убедитесь, что XML-шаблон загружен в МИС и имеет правильное имя.
Шаг 7. Дополнительные требования
Для успешной выгрузки в случае обслуживания (обращении) должны быть выполнены условия:
- Случай обслуживания закрыт – проставлена дата выполнения (дата окончания случая).
- Диагноз – обязательно по справочнику
1.2.643.2.69.1.1.1.167. Если в вашей МИС используется другой справочник, потребуется настройка соответствия или использование отдельного типа события для онкологических приёмов.
Отличия от ВИМИС АкиНео (на всякий случай)
| Параметр | ВИМИС АкиНео | ВИМИС Онко |
|---|---|---|
| Справочник диагнозов | 1.2.643.2.69.1.1.1.165 | 1.2.643.2.69.1.1.1.167 |
| Доп. идентификация типа действия | нет | 1.2.643.5.1.13.13.11.1463 (тип консультации) |
| Часовой пояс в XML | +0300 | +0400 (внимание!) |
Эти отличия важно учитывать при настройке. Не перепутайте справочники, иначе CDA не примут.
Заключение
Настройка выгрузки протоколов в ВИМИС Онко – задача, требующая внимания к деталям, но она полностью повторяет логику ВИМИС АкиНео с небольшими корректировками. Следуйте шагам:
- Создайте тип действия с идентификатором 159 и кодом отчётов
OtherDocuments. - Добавьте свойства с кодами секций CDA по таблице.
- Настройте идентификации: организация (MDR308), услуга (1070), должность (1002), а для типа действия – дополнительно
1.2.643.5.1.13.13.11.1463. - Обеспечьте получение глобального идентификатора пациента через
clientGlobalIdNetrika. - Вставьте проверки в основной шаблон печати.
- Подключите XML-шаблон через
addSupplement. - Убедитесь, что диагнозы выставляются по справочнику
1.2.643.2.69.1.1.1.167.
После этого врачи-онкологи смогут формировать протоколы, которые будут корректно передаваться в региональную систему.
Если у вас возникли вопросы – пишите, разберёмся.


