Коллеги, продолжаем разбираться с электронными медицинскими документами. В прошлый раз мы говорили о CDA и СЭМД в целом. Сегодня — детальный разбор конкретного документа: СЭМД 230 «Медицинское заключение по результатам медицинского осмотра работника для предоставления в подсистему ЭЛМК».
Если ваша МИС передаёт данные в электронные личные медицинские книжки (ЭЛМК), вам обязательно нужно понимать структуру этого документа, требования к заполнению и типичные ошибки. Постараюсь дать не теорию, а практические вещи, с которыми сталкивается администратор при настройке интеграции.
1. Что такое СЭМД 230 и зачем он нужен
СЭМД 230 — это структурированный электронный медицинский документ, который передаётся из МИС в РЭМД (реестр электронных медицинских документов) и далее в подсистему ЭЛМК Федеральной государственной информационной системы санитарно-эпидемиологического характера.
Нормативная база:
- Приказ Минздрава РФ от 18.02.2022 № 90н — утверждает форму личной медицинской книжки, порядок её ведения и выдачи.
- Письмо Роспотребнадзора от 23.10.2023 № 02/18053-2023-23.
- Руководство по реализации СЭМД «Медицинское заключение…» (Редакция 1).
Кому это нужно?
- Работникам, чья деятельность связана с пищевыми продуктами, водоснабжением, воспитанием детей, коммунальным и бытовым обслуживанием.
- Медицинским организациям, проводящим обязательные предварительные и периодические медицинские осмотры.
- Разработчикам и администраторам МИС, которые обеспечивают передачу этих данных.
2. Структура документа: общая схема
СЭМД 230 — это XML-документ, соответствующий стандарту HL7 CDA Release 2. Корневой элемент — <ClinicalDocument> в пространстве имён urn:hl7-org:v3.
Основные блоки:
| Блок | Что содержит |
|---|---|
| Заголовок (Header) | Метаинформация: идентификаторы документа, пациент, автор, организация, получатели, врачебная комиссия |
| Тело (Body) | Секции с фактическими данными: сведения о документе, осмотры врачей, лабораторные и инструментальные результаты |
Идентификатор шаблона: 1.2.643.5.1.13.13.15.111.1 — закрытый шаблон, то есть использовать можно только элементы, описанные в руководстве. Ничего лишнего.
3. Заголовок: ключевые элементы
3.1. Тип документа (code)
<code code="230" codeSystem="1.2.643.5.1.13.13.11.1520"
codeSystemName="Электронные медицинские документы"
displayName="Медицинское заключение по результатам медицинского осмотра работника для предоставления в подсистему ЭЛМК (CDA) Редакция 1"
codeSystemVersion="12.34">
<translation code="111"
codeSystem="1.2.643.5.1.13.13.99.2.1079"
codeSystemName="Виды структурированных электронных медицинских документов"
displayName="Медицинское заключение по результатам медицинского осмотра работника для предоставления в подсистему ЭЛМК"
codeSystemVersion="1.27"/>
</code>
Важно: code и translation — оба обязательны. Первый указывает на тип документа в справочнике электронных меддокументов, второй — на вид СЭМД.
3.2. Идентификаторы документа
<id root="1.2.643.5.1.13.13.12.2.54.5375.100.1.1.51" extension="3411"/>
<setId root="1.2.643.5.1.13.13.12.2.54.5375.100.1.1.50" extension="15"/>
<versionNumber value="1"/>
Правила формирования OID:
- Для
id:OID_МО.100.НомерМИС.НомерЭкзМИС.51 - Для
setId:OID_МО.100.НомерМИС.НомерЭкзМИС.50 - Для идентификаторов пациентов:
OID_МО.100.НомерМИС.НомерЭкзМИС.10 - Для идентификаторов персонала:
OID_МО.100.НомерМИС.НомерЭкзМИС.70
Если у вас несколько экземпляров МИС (например, филиалы с отдельными базами), каждому присваивается свой НомерЭкзМИС (1, 2, 3…). Иначе возможны коллизии идентификаторов в региональной системе.
3.3. Дата создания документа (effectiveTime)
<effectiveTime nullFlavor="NA"/>
Особенность: если документ подписывается усиленной квалифицированной электронной подписью (УКЭП), атрибут effectiveTime должен содержать nullFlavor="NA". Сама дата подписания будет передаваться отдельно, через механизмы электронной подписи.
3.4. Получатели документа (informationRecipient)
Обязательно два получателя:
<!-- РЭМД -->
<informationRecipient>
<intendedRecipient>
<receivedOrganization>
<id root="1.2.643.5.1.13"/>
<name>Министерство здравоохранения Российской Федерации</name>
</receivedOrganization>
</intendedRecipient>
</informationRecipient>
<!-- Роспотребнадзор -->
<informationRecipient>
<intendedRecipient>
<receivedOrganization>
<id root="1.2.643.5.1.13.13.18.1"/>
<name>Федеральная служба по надзору в сфере защиты прав потребителей и благополучия человека (Роспотребнадзор)</name>
</receivedOrganization>
</intendedRecipient>
</informationRecipient>
OID 1.2.643.5.1.13.13.18.1 — это идентификатор Роспотребнадзора в российской ветке OID.
3.5. Документируемое событие (врачебная комиссия)
Согласно уточнениям от 30.05.2024, обязателен только председатель комиссии:
<documentationOf>
<serviceEvent>
<code code="5" codeSystem="1.2.643.5.1.13.13.99.2.726"
displayName="Врачебная комиссия"/>
<effectiveTime>
<low value="202301111200+0700"/>
<high value="202301111400+0700"/>
</effectiveTime>
<!-- Председатель (обязателен) -->
<performer typeCode="PPRF">
<functionCode code="CHAIRMAN"
codeSystem="1.2.643.5.1.13.13.99.2.368"
displayName="Председатель"/>
<assignedEntity>
<code code="80"
codeSystem="1.2.643.5.1.13.13.11.1002"
displayName="Врач-профпатолог"/>
<assignedPerson>
<name>
<family>Синица</family>
<given>Ирина</given>
<identity:Patronymic>Викторовна</identity:Patronymic>
</name>
</assignedPerson>
</assignedEntity>
</performer>
<!-- Остальные члены комиссии (опционально) -->
<performer typeCode="SPRF">
<functionCode code="COMMISSIONER" displayName="Член комиссии"/>
<!-- ... -->
</performer>
</serviceEvent>
</documentationOf>
Важно: председатель обязательно должен иметь должность «Врач-профпатолог» (код 80) и роль «Председатель» (код CHAIRMAN).
4. Тело документа: секция «Сведения о документе» (DOCINFO)
Это самая объёмная секция. Разберём её поля по порядку.
4.1. Номер личной медицинской книжки
<entry>
<observation classCode="OBS" moodCode="EVN">
<code code="12616"
codeSystem="1.2.643.5.1.13.13.99.2.166"
displayName="Номер личной медицинской книжки"/>
<value xsi:type="ST">12345</value>
</observation>
</entry>
Поле обязательное ([1..1]). Если номер неизвестен — использовать nullFlavor.
4.2. Вид медицинского осмотра
<entry>
<observation classCode="OBS" moodCode="EVN">
<code code="8146" displayName="Вид медицинского осмотра"/>
<value xsi:type="BL" value="true"/> <!-- true = предварительный, false = периодический -->
</observation>
</entry>
4.3. Вид работы
<entry>
<observation classCode="OBS" moodCode="EVN">
<code code="8086" displayName="Наименование выполняемой работы"/>
<value xsi:type="CD" code="211"
codeSystem="1.2.643.5.1.13.13.11.1060"
displayName="Работы, где имеется контакт с пищевыми продуктами..."/>
<entryRelationship typeCode="COMP">
<observation>
<code code="8138" displayName="Профиль работы"/>
<value xsi:type="BL" value="true"/> <!-- true = сельское хозяйство, false = транспорт/хранение -->
</observation>
</entryRelationship>
</observation>
</entry>
Коды видов работ (справочник 1.2.643.5.1.13.13.11.1060):
211— контакт с пищевыми продуктами212— водопроводные сооружения213— воспитание и обучение детей214— коммунальное и бытовое обслуживание
Поле «профиль работы» (8138) обязательно только для кода 211.
4.4. Перенесённые инфекционные заболевания
<entry>
<observation classCode="OBS" moodCode="EVN">
<code code="8007" displayName="Перенесенное заболевание"/>
<!-- Вариант 1: нет заболеваний -->
<value xsi:type="CD" code="69"
codeSystem="1.2.643.5.1.13.13.99.2.725"
displayName="Отсутствуют сведения о перенесенных заболеваниях"/>
<!-- Вариант 2: перечисляем заболевания -->
<entryRelationship typeCode="COMP">
<observation>
<code code="809" displayName="Шифр по МКБ-10"/>
<effectiveTime value="2001"/>
<value xsi:type="CD" code="B05.9"
codeSystem="1.2.643.5.1.13.13.11.1005"
displayName="Корь без осложнений"/>
</observation>
</entryRelationship>
<!-- можно несколько -->
</observation>
</entry>
Важно: набор заболеваний зависит от вида работы и профиля. Для работ с пищевыми продуктами (211) и профилем «сельское хозяйство» допустимы: туберкулёз, корь, брюшной тиф, гепатит А, бруцеллёз. Для других профилей — более узкий список.
4.5. Профилактические прививки
<entry>
<observation classCode="OBS" moodCode="EVN">
<code code="11060" displayName="Сведения о профилактических прививках"/>
<entryRelationship typeCode="COMP">
<observation>
<code code="9021" displayName="Проведенные профилактические прививки"/>
<text>Корь</text> <!-- опционально -->
<effectiveTime value="19940714"/>
<value xsi:type="CD" code="18"
codeSystem="1.2.643.5.1.13.13.99.2.1111"
displayName="Корь"/>
<entryRelationship typeCode="COMP">
<observation>
<code code="9026" displayName="Признак повторной вакцинации"/>
<value xsi:type="BL" value="false"/>
</observation>
</entryRelationship>
<entryRelationship typeCode="COMP">
<observation>
<code code="8034" displayName="Порядковый номер"/>
<value xsi:type="INT" value="1"/>
</observation>
</entryRelationship>
</observation>
</entryRelationship>
</observation>
</entry>
Особенности:
- Для прививки от дифтерии (код 14) обязателен порядковый номер (обычно 2).
- Для кори (код 18) требуются две прививки (должны быть указаны оба факта вакцинации).
- Для гриппа (код 12) — прививка за последний год.
4.6. Заключение и дата следующего осмотра
<entry>
<observation classCode="OBS" moodCode="EVN">
<code code="837" displayName="Заключение"/>
<value xsi:type="CD" code="72"
codeSystem="1.2.643.5.1.13.13.99.2.725"
displayName="Медицинские противопоказания к работе не выявлены"/>
</observation>
</entry>
<entry>
<observation classCode="OBS" moodCode="EVN">
<code code="8087" displayName="Дата проведения очередного периодического медицинского осмотра"/>
<effectiveTime value="20240111"/>
</observation>
</entry>
Заключение может быть двух типов:
71— противопоказания выявлены72— противопоказания не выявлены
Дата следующего осмотра должна быть ровно через год от даты начала документируемого события (врачебной комиссии).
5. Секция «Осмотр врачей-специалистов» (EXAMINFO)
В этой секции ровно 4 записи — по количеству обязательных специалистов:
<entry>
<observation>
<code nullFlavor="NI"/>
<effectiveTime value="20230111"/>
<value xsi:type="CD" code="74"
codeSystem="1.2.643.5.1.13.13.99.2.725"
displayName="Медицинские противопоказания к работе не выявлены"/>
<performer>
<assignedEntity>
<id root="1.2.643.5.1.13.13.12.2.54.5375.100.1.1.70" extension="350"/>
<code code="109" displayName="Врач-терапевт"/>
<assignedPerson>
<name>
<family>Петрова</family>
<given>Анна</given>
<identity:Patronymic>Николаевна</identity:Patronymic>
</name>
</assignedPerson>
</assignedEntity>
</performer>
<reference typeCode="REFR">
<externalDocument>
<id root="1.2.643.5.1.13.13.12.2.54.5375.100.1.1.51" extension="134"/>
<id root="1.2.643.5.1.13.13.17.1.1" extension="119.54.23.01.000001546"/>
</externalDocument>
</reference>
</observation>
</entry>
Коды специалистов (справочник должностей):
24— врач-дерматовенеролог53— врач-оториноларинголог100— врач-стоматолог109— врач-терапевт
Все четыре специалиста обязательны. Если по какой-то причине осмотр не проводился, это нарушение, и документ не пройдёт валидацию.
6. Секция «Результаты лабораторного исследования» (RESLAB)
Состав лабораторных исследований зависит от вида работы и вида осмотра (предварительный/периодический). Пример для работы с пищевыми продуктами (код 211), предварительный осмотр:
<entry>
<observation>
<code code="10506" displayName="Исследование крови на сифилис"/>
<effectiveTime value="20230110"/>
<value xsi:type="CD" code="54" displayName="Возбудитель инфекции не обнаружен"/>
<reference>
<externalDocument>
<id extension="163"/>
</externalDocument>
</reference>
</observation>
</entry>
<!-- Аналогично для 10479, 10507, 10268, 10508 -->
Какие исследования и когда обязательны:
| Код | Наименование | 211 (пищевые) | 212 (вода) | 213 (дети) | 214 (коммуналка) |
|---|---|---|---|---|---|
| 10506 | Сифилис | всегда | всегда | всегда | всегда |
| 10268 | Яйца гельминтов | всегда | всегда | всегда | периодически |
| 10479 | Кишечные инфекции | предварительный | опционально | предварительный | опционально |
| 10507 | Брюшной тиф | предварительный | опционально | предварительный | опционально |
| 10508 | Стафилококк | предварительный | нет | нет | нет |
| 10509 | Гонорея | нет | нет | предварительный | предварительный |
| 10510 | Иммунитет к кори | если нет прививок | если нет прививок | если нет прививок | если нет прививок |
7. Секция «Результаты инструментального исследования» (RESINSTR)
Обязательно одно исследование из перечня:
<entry>
<observation>
<code code="7003320" displayName="Рентгенография флюорография легких"/>
<effectiveTime value="20230110"/>
<value xsi:type="CD" code="56" displayName="Признаков патологии не выявлено"/>
<reference>
<externalDocument>
<id extension="192"/>
</externalDocument>
</reference>
</observation>
</entry>
Допустимые коды (справочник 1.2.643.5.1.13.13.11.1471):
7003320— рентгенография флюорография легких7002892— рентгенография грудной клетки7001894— компьютерная томография груди7003288— рентгеноскопия грудной клетки
8. Типичные ошибки при формировании СЭМД 230
8.1. Ошибки в идентификаторах
- Неправильный OID для пациента (вместо
...10используется...51). - Отсутствует
extensionили он пустой. - Не уникален в рамках региона.
8.2. Неверные коды справочников
- Использование устаревших версий (не указан
codeSystemVersion). - Код не входит в разрешённый набор (например, для должности указан «хирург», а не один из четырёх обязательных).
- Для прививки от дифтерии не указан порядковый номер.
8.3. Проблемы с врачебной комиссией
- Отсутствует председатель (performer с ролью CHAIRMAN).
- У председателя не та должность (обязательно врач-профпатолог, код 80).
- Неправильный тип исполнителя (
PPRFдля председателя,SPRFдля остальных).
8.4. Неполные данные в секциях
- В секции осмотров меньше 4 записей.
- В секции лабораторных исследований не хватает обязательных профилей.
- Отсутствует дата следующего осмотра.
8.5. Ошибки в адресах
- Не указан
streetAddressLine(текстовый адрес). - Отсутствует
postalCodeили он пустой. - Нет привязки к ФИАС (
fias:AOGUID).
9. Практические советы для админа
9.1. Где брать справочники
Актуальные версии справочников доступны на портале НСИ Минздрава РФ (https://nsi.rosminzdrav.ru/). Для автоматической проверки используйте API терминологии.
9.2. Как тестировать формирование документа
- Сформировать XML в МИС.
- Валидировать по XSD-схемам (входят в пакет руководства).
- Проверить логическими правилами (Schematron) — они описаны в пакете.
- Отправить на тестовый контур РЭМД.
9.3. Что делать при ошибках валидации
- Проверить, что все обязательные поля заполнены (не пустые и без
nullFlavor, если он не разрешён). - Убедиться, что версии справочников указаны корректно.
- Проверить, что даты имеют правильный формат (
YYYYMMDDили с временем). - Для дат с временем обязательно указать часовой пояс (
+0300для Москвы).
9.4. Особенности работы с ФИАС
Адреса должны содержать GUID из ФИАС. Если адрес новый (ещё не в ФИАС), можно указать nullFlavor="NI", но это нежелательно — лучше дождаться появления GUID.
10. Полезные ссылки
- Портал НСИ Минздрава РФ: https://nsi.rosminzdrav.ru/
- ФИАС: https://fias.nalog.ru/
- Руководство по реализации СЭМД 230 (пакет документов): обычно предоставляется разработчикам МИС через официальные каналы
- Справочник OID: https://www.hl7.ru/oid/
Если вы только начинаете внедрять передачу СЭМД 230, заложите время на отладку валидации и согласование состава врачебной комиссии с руководством учреждения. И помните: документ должен быть подписан УКЭП председателя комиссии, иначе в РЭМД он не примется.


