Коллеги, привет! Разбираем очередную задачу – настройку выгрузки в РЭМД карты вызова скорой помощи (форма 110/у). Я прошёлся по шаблонам и документации, сравнил две версии. Расскажу, что изменилось и как правильно всё настроить, чтобы CDA уходил в систему без ошибок.
Что за документ и зачем он нужен
«Карта вызова скорой медицинской помощи» (СМП) – это структурированный электронный медицинский документ (СЭМД), который формируется по каждому выезду бригады. В ЕГИСЗ он имеет код 74, а в классификаторе форматов CDA – 155. Версия руководства по реализации – Редакция 2 (templateId 1.2.643.5.1.13.13.14.74.9.2).
Если ваша станция СМП или больница обязана передавать данные в РЭМД, без правильной настройки типа действия не обойтись.
Общие настройки типа действия
Создаём новый тип действия (или копируем существующий протокол вызова). Обязательные параметры:
- Код для отчётов –
OtherDocuments. Без него CDA не сформируется. - Идентификатор для справочника «Классификатор электронных медицинских документов. Формат Cda» – ставим 155.
Идентификатор документа
В свойствах типа действия заходим в «Идентификатор документа». Я использую счётчик (раздел «Настройки – Счётчики»). Создайте счётчик с произвольным именем, например, CDA_CARD_SMP, и настройте формат номера – можно включить год, месяц, порядковый номер. Затем привяжите этот счётчик к свойству «Идентификатор документа».
Проверки перед формированием
В печатный шаблон CDA_CARD_SMP встроен блок проверок. Он сработает при нажатии «Печать» и выдаст ошибку, если не хватает обязательных данных. Вот что контролируется:
{: error_log = ''}
{if: not action.person.SNILS}{: error_log = error_log + u'Не заполнен СНИЛС Исполнителя<br>'}{end:}
{if: not action.person.post.identify('urn:oid:1.2.643.5.1.13.13.11.1002')}{: error_log = error_log + u'Отсутствует идентификация должности Исполнителя по справочнику 1.2.643.5.1.13.13.11.1002<br>'}{end:}
{if: not event.begDate}{: error_log = error_log + u'Не заполнены дата и время принятия вызова на вкладке Стат.учёт<br>'}{end:}
{if: not event.finishServiceDate}{: error_log = error_log + u'Не заполнены дата и время окончания обслуживания на вкладке Стат.учёт<br>'}{end:}
{if: not event.numberCardCall}{: error_log = error_log + u'Не заполнен Номер карты вызова на вкладке Стат.учёт<br>'}{end:}
{if: not KILO}{: error_log = error_log + u'Не заполнено поле "Километраж выезда"<br>'}{end:}
Обратите внимание:
- СНИЛС врача (исполнителя) – обязателен.
- Должность исполнителя – у неё должна быть идентификация по OID
1.2.643.5.1.13.13.11.1002. - На вкладке «Стат.учёт» случая обслуживания (ф.110/у) нужно заполнить: «Принято» (дата и время начала вызова), «Окончание обслуживания», «Карта вызова №».
- Свойство «Километраж выезда» – обязательно. Это отдельное свойство типа Integer.
Если какое‑то поле пустое – пользователь увидит диалог с ошибкой, и документ не сформируется.
Секции CDA – какие свойства нужно создать
CDA-шаблон использует секции, данные для которых берутся из свойств протокола. Для этого в типе действия создаём свойства и в параметре «Секция CDA» указываем соответствующий код.
Полный перечень – в таблице инструкции (в Word-файле). Я перечислю основные, без которых документ будет пустым или неполным.
| Назначение | Код секции | Тип свойства | Примечание |
|---|---|---|---|
| Километраж выезда | KILO | Integer | Обязательно |
| Профиль бригады | PROFILE_BRIG | String | Справочник 1.2.643.5.1.13.13.99.2.291 |
| Поликлиника для активного посещения | CLINIC | Organisation | |
| Повторный активный выезд через | NEXT | Text | |
| Больной нуждается в другом | NEEDS | Text | |
| Витальные параметры (до помощи) – дата/время | VITAL_BE | DateTime | Если заполнена – появится секция |
| Температура тела (до) | TEMP_BE | Double | |
| Систолическое/диастолическое давление (до) | PRESSURES_BE / PRESSURED_BE | Integer | |
| ЧСС, пульс, сатурация, ЧДД, глюкоза (до) | HEARTBEAT_BE, PULSE_BE, SATURATION_BE, BREATH_BE, SUGAR_BE | Integer / Double | |
| То же самое после помощи | VITAL_AF, TEMP_AF, PRESSURES_AF и т.д. | Аналогично | |
| Осложнение | COMPLICATION | String | Справочник 1.2.643.5.1.13.13.11.1541 |
| Оценка эффективности при осложнении | EFFECT | String | Справочник 1.2.643.5.1.13.13.11.1542 |
| Анамнез заболевания | ANAM | Text | |
| Жалобы | COMP | Text | |
| Дата/время появления жалоб | COMPTIME | DateTime | |
| Состояние пациента | CONDIT | String | Справочник 1.2.643.5.1.13.13.11.1006 |
| Наличие клиники опьянения | DRUNK | String | «Да» / «Нет» |
| Поведение, сознание, менингеальные знаки, зрачки, анизокория, нистагм, реакция на свет | BEHAVIOUR, COGNITION, MINENG, PUPILS, ANIZ, NIST, LIGHT | String | Каждый – свой справочник (см. инструкцию) |
| Кожные покровы, акроцианоз, мраморность, отёки, сыпь | SKINP, AKROC, MARBLE, EDEMA, RASH | String | Справочники 1.2.643.5.1.13.13.11.1533 и др. |
| Дыхание, хрипы, одышка | BREATH, RATTLE, APNEA | String | Справочники |
| Пульс, тоны сердца, шумы | PULSE, HEARTBEAT, HEARTNOISE, HEARTNOISE_CHAR | String | |
| Язык, живот, печень, стул | TONGUE, STOMACH, LIVER, BM | String | |
| Мочеиспускание, местный статус, другие симптомы | URINE, LOCAL_STAT, OTHERSYM | Text | |
| ЭКГ до и после | EKGDATE_BE, EKG_BE, EKGDATE_AF, EKG_AF | DateTime / Text | |
| Помощь на месте и в машине | DESCR_PLACE, DESCR_CAR | Text | |
| Тромболитическая терапия (противопоказания и дата) | TROMB_BOOL, TROMB_DATE | String / DateTime | |
| Примечания | NOTES | Text |
Важно: Секция витальных параметров появляется в CDA только если заполнены оба поля VITAL_BE и VITAL_AF. Это логично – чтобы сравнивать состояние до и после.
Справочники – настройте их заранее
Многие поля должны выбираться из федеральных справочников. Если вы просто впишете текст, CDA может не пройти валидацию. Я перечислю справочники, которые нужно завести в разделе «Настройки – Справочники – Скорая помощь» (или в общих справочниках).
Повод к вызову (OID 1.2.643.5.1.13.13.11.1524):
Острое внезапное заболевание, Несчастный случай, Обострение хронического заболевания, Патология беременности, Роды, Плановая перевозка, Экстренная перевозка.
Несчастный случай (1.2.643.5.1.13.13.11.1529):
Криминальная, Дорожно-транспортное происшествие (или ДТП), Травма производственная, Травма сельскохозяйственная, Травма бытовая, Травма спортивная, Отравление, Утопление, Суицид, Пожар.
Причина задержки (1.2.643.5.1.13.13.11.1527):
Отсутствие транспорта, Отсутствие врача, Отсутствие фельдшера, Отсутствие бригады соответствующего профиля.
Место получения вызова (1.2.643.5.1.13.13.11.1526):
Станция (подстанция, отделение), По телефону, По рации.
Место вызова (1.2.643.5.1.13.13.11.1528):
Медицинская организация (больница), Школа, Дошкольное учреждение, Федеральная автомобильная трасса, Улица, Квартира, Рабочее место, Общественное место.
Способ доставки (1.2.643.5.1.13.13.11.1544):
Перенесен на носилках, Перенесен на других подручных средствах, Передвигался самостоятельно.
Осложнение (1.2.643.5.1.13.13.11.1541):
Эмболия, Отёк лёгких, Асфиксия, Аспирация, Острое кровотечение, Коллапс, Анурия, Нарушение сердечного ритма, Судороги, Острая дыхательная недостаточность, Синдром полиорганной недостаточности, Психомоторное возбуждение, Суицидальный настрой, Энцефалопатия, Токсикоз, Сердечная астма, Кома, Клиническая смерть, Шок.
Оценка эффективности при осложнении (1.2.643.5.1.13.13.11.1542):
Осложнение устранено, Улучшение, Без эффекта.
Состояние пациента (1.2.643.5.1.13.13.11.1006):
Удовлетворительное, Средней тяжести, Тяжёлое, Крайне тяжёлое, Терминальное, Клиническая смерть.
Оценка поведения (1.2.643.5.1.13.13.11.1530):
Спокойное, Возбуждённое, Агрессивное, Депрессивное.
Оценка сознания (1.2.643.5.1.13.13.11.1531):
Ясное, Спутанное, Заторможенное, Отсутствует (коматозное).
Оценка зрачков (1.2.643.5.1.13.13.11.1532):
Нормальные, Широкие, Узкие.
Кожные покровы (1.2.643.5.1.13.13.11.1533):
Обычные (нормальные), Бледные, Гиперемированные, Желтушные, Сухие.
Дыхание (1.2.643.5.1.13.13.11.1534):
Везикулярное, Жёсткое, Ослабленное, Бронхиальное, Отсутствует.
Хрипы (1.2.643.5.1.13.13.11.1535):
Нет, Сухие, Влажные.
Характер одышки (1.2.643.5.1.13.13.11.1547):
Инспираторная, Экспираторная, Смешанная.
Пульс (1.2.643.5.1.13.13.11.1537):
Нормальный, Ритмичный, Аритмичный, Напряжённый, Слабого наполнения, Нитевидный, Отсутствует.
Тоны сердца (1.2.643.5.1.13.13.11.1523):
Ритмичные, Аритмичные, Ясные, Приглушённые, Глухие.
Шумы сердца (1.2.643.5.1.13.13.11.1536):
Систолический, Диастолический, Трение перикарда.
Язык (1.2.643.5.1.13.13.11.1538):
Влажный, Сухой, Чистый, Обложен.
Живот (1.2.643.5.1.13.13.11.1539):
Мягкий, Безболезненный, Вздут, Напряжён, Болезненный.
Печень (1.2.643.5.1.13.13.11.1540):
Увеличена, Не увеличена.
Значения для полей «Да/Нет» (наличие отёков, сыпи, одышки, шума сердца и т.д.) настраиваются как строки с двумя вариантами.
Что изменилось в новой версии (после ревизии 40614)
Мне в руки попали два XML-шаблона – до и после ревизии. Сравнив их, я заметил важные доработки.
1. Появился адрес вызова
В старой версии элемент адреса вызова был заглушкой:
<value xsi:type="AD" nullFlavor="NI"/>
В новой версии адрес вызова заполняется:
{if: event.address}
<value xsi:type="AD">
<streetAddressLine>{event.address}</streetAddressLine>
<address:stateCode xsi:type="CD" code="{event.address.KLADRCode[:2]}" .../>
<postalCode nullFlavor="NI"/>
<fias:Address nullFlavor="NI"/>
</value>
Кроме того, в человекочитаемой таблице (<text>) теперь тоже выводится адрес. Это значит, что в случае обслуживания нужно обязательно указывать адрес вызова – он попадёт и в печатную форму, и в структурированную часть.
2. Детализация госпитализации
В старой версии блок госпитализации был свёрнут. В новой – добавлен полноценный элемент entryRelationship внутри observation с результатом выезда, где расписывается:
- Медицинская организация, куда доставлен пациент (
hospitalOrgId). - Дата и время приёма.
- Диагноз приёмного отделения (берётся из диагноза типа
2).
Это позволяет проследить весь маршрут пациента: вызов – транспортировка – доставка в стационар.
3. Несколько получателей документа
В старой версии был только один informationRecipient – Минздрав РФ. В новой появились дополнительные блоки:
- Если в событии заполнена
hospitalOrgIdи у неё есть идентификация по справочнику1.2.643.5.1.13.2.1.1.178, то добавляется получатель – сама больница. - Если заполнено свойство
CLINIC(поликлиника для активного посещения), она также становится получателем.
Это важно для маршрутизации СЭМД – документ автоматически направляется тем, кому он нужен.
4. Уточнение справочников
В новой версии подправлены версии справочников, например, codeSystemVersion для должностей повышена с 9.2 до 9.2 (всё равно 9.2, но в других местах – актуальные). Главное – адрес вызова теперь обрабатывается корректно.
Рекомендую использовать шаблон «после ревизии» (версия 2.6), он более функционален и соответствует актуальным требованиям РЭМД.
Идентификации организации и должностей
Убедитесь, что настроены следующие внешние системы (в карточках организаций, должностей и т.д.):
- Ваша медицинская организация – идентификация по справочнику
MDR308(Регистр МО РФ). - Тип действия – идентификация по справочнику
n3.medDocumentType.Cda(код формата). - Должность исполнителя – идентификация по OID
1.2.643.5.1.13.13.11.1002(справочник должностей). Можно также добавить идентификацию по OID со звёздочкой для наименования. - Тип документа пациента (ДУЛ) – идентификация по OID
1.2.643.5.1.13.13.99.2.48и1.2.643.5.1.13.13.99.2.48*.
Как проверить, что всё работает
- Заведите тестовый случай обслуживания (ф.110/у). Заполните все обязательные поля: даты, номер карты, километраж.
- По желанию добавьте витальные параметры, диагноз, жалобы, физикальные данные.
- Нажмите кнопку «Печать» – если проверки пройдут, сформируется печатная форма и XML-файл.
- Откройте XML и убедитесь, что все блоки заполнены корректно, особенно
<addr>для вызова и<informationRecipient>для больницы/поликлиники.
Если вылетает ошибка – читайте текст: она укажет, чего именно не хватает.
Полезные советы
- Километраж – обязателен, но можно сделать свойство с умолчанием «0», если на вашей станции его не отслеживают. Однако лучше заполнять реально.
- Витальные параметры – если не заполнены даты
VITAL_BEиVITAL_AF, то вся секция не попадёт в CDA. Это правильно, но учтите: некоторые регуляторы могут требовать наличия секции даже с пустыми значениями. Уточните локальные требования. - Адрес вызова – если в системе не хранится структурированный адрес, убедитесь, что поле
event.addressзаполняется хотя бы текстом. Иначе в CDA уйдётnullFlavor. - Справочники – не ленитесь настраивать выпадающие списки. Это сэкономит время врачам и гарантирует корректные коды в CDA.
Настройка CDA «Карта вызова скорой медицинской помощи» – задача объёмная, но выполнимая. Следуйте таблице свойств, не забывайте про справочники и идентификации. Новая версия шаблона (после ревизии) гораздо лучше отрабатывает адрес вызова и госпитализацию – обязательно обновите XML-шаблон, если у вас старая версия.
Если возникнут вопросы – пишите, разберёмся вместе. Удачи с внедрением!


