Top.Mail.Ru
Предварительная проверка СЭМД перед отправкой в ЕГИСЗ: 3 способа валидации по схематронам — ADMINMED.ru

Предварительная проверка СЭМД перед отправкой в ЕГИСЗ: 3 способа валидации по схематронам

Каждый, кто занимается выгрузкой электронных медицинских документов (СЭМД) в ЕГИСЗ, сталкивался с ситуацией: вы отправляете XML-файл, ждёте, а через некоторое время получаете протокол с ошибками валидации. И хорошо, если ошибка понятная, а часто приходится гадать, что не так.

Схематроны (Schematron) — это дополнительные правила проверки XML-документов, которые выходят за рамки обычной XML-схемы. Они проверяют не просто структуру, а логику и бизнес-правила: например, наличие обязательных полей в зависимости от значений других полей, соответствие кодов справочникам и т.д.

Проблема в том, что ждать ответа от портала ЕГИСЗ (portal.egisz.rosminzdrav.ru) — долго и неудобно. Гораздо эффективнее проверять документы локально, до отправки. Более того, на практике встречаются ситуации, когда:

  • Правила схематрона противоречат XML-примеру из руководства.
  • XML-пример противоречит тексту руководства по реализации.
  • Невалидный документ успешно принимается ЕГИСЗ (возможно, из-за неактуальных схематронов на портале).

Поэтому локальная проверка — это не просто удобство, а необходимость. В этой инструкции рассмотрим три рабочих способа проверки документов по схематронам.


Способ 1. Онлайн-валидатор Liquid Technologies (самый быстрый)

Самый простой способ для разовой проверки — использовать бесплатный онлайн-инструмент.

Ссылка: https://www.liquid-technologies.com/online-schematron-validator

Как работать:

  1. Откройте страницу валидатора. Вы увидите два окна (Рисунок 1):
    • XML data validate (слева) — сюда вставляете текст вашего XML-документа.
    • Schematron data (справа) — сюда вставляете код схематрона (файл .sch).
  2. Нажмите кнопку Validate.
  3. Смотрите результат внизу экрана.

Результаты проверки:

  • «Document Valid» — зелёный цвет, документ корректен (Рисунок 2).
  • Сообщение об ошибке — красный цвет, с описанием проблемы (Рисунок 3).

Плюсы: Не требует установки, работает в браузере.
Минусы: Ограничение на размер документа — валидатор может принимать максимум около 200 символов. Для больших СЭМД не подходит.


Способ 2. XMLBlueprint (программа с GUI, удобно для Windows)

XMLBlueprint — это XML-редактор с поддержкой схематронов. У него есть триальная версия на 15 дней, но для разовых проверок этого достаточно.

Что нужно сделать:

  1. Скачайте и установите XMLBlueprint с официального сайта: https://www.xmlblueprint.com/download-xml-editor.htm. Установка стандартная.
  2. Откройте ваш XML-документ в программе (Файл → Открыть).

Как подключить схематрон к документу:

Есть два способа связать XML-файл с файлом схематрона (.sch).

Способ 2А (через меню):

  • В меню выберите «Схема» → «Associate XML Document with DTD, Relax NG Schema, or XML Schema…».
  • В открывшемся окне нажмите «Обзор» и выберите ваш файл схематрона. Подтвердите выбор (Рисунок 5).
  • Программа автоматически добавит в начало XML-документа специальную строку-ссылку на схематрон (Рисунок 6).

Способ 2Б (ручное добавление ссылки):
Вы можете сами вставить в начало XML-документа (перед корневым элементом!) строку:

<?xml-model href="путь_к_вашему_файлу.sch" schematypens="http://purl.oclc.org/dsdl/schematron"?>

Важно про пути:

  • Если файлы в одной папке, можно указать просто имя: href="book.sch".
  • Если нужно указать полный путь, используйте URL-синтаксис, даже для локальных файлов:
    • Правильно: href="file:///C:/schema/myschema.sch"
    • Неправильно: href="C:\schema\myschema.sch" (так не работает!).

Запуск проверки:
После того как связь установлена, выберите в меню «XML» → «Проверить». Результат появится в нижней части окна (Рисунок 7).

Важный нюанс!
Из проверяемого XML-документа необходимо удалить (или закомментировать) атрибут xmlns="urn:hl7-org:v3" в корневом элементе. Иначе валидация по схематрону всегда будет проходить успешно, даже если есть ошибки.

Плюсы: Удобный интерфейс, понятные сообщения.
Минусы: Триал всего 15 дней, нужно не забыть удалить xmlns.


Способ 3. Java-утилита schxslt-cli (консоль, бесплатно и навсегда)

Для тех, кто не боится командной строки и хочет иметь бесплатный инструмент без ограничений по времени — этот вариант.

Что нужно скачать и установить:

  1. Java Runtime Environment (JRE) с официального сайта: https://www.java.com/ru/download/
  2. Консольную утилиту schxslt-cli со страницы релизов на GitHub: https://github.com/schxslt/schxslt-cli/releases (скачайте файл schxslt-cli.jar).

Как работать:

  1. Поместите все три файла в одну папку:
    • ваш документ (например, semd.xml),
    • файл схематрона (например, schematron.sch),
    • утилиту schxslt-cli.jar.
  2. Откройте командную строку (cmd) и перейдите в эту папку (команда cd путь_к_папке).
  3. Выполните команду:
    java -jar schxslt-cli.jar -d semd.xml -s schematron.sch —v

Результат:

  • Если документ валиден, вы увидите сообщение об успехе.
  • Если есть ошибки — они будут выведены в консоль (Рисунок 8).[Вставить Рисунок 8 — пример работы в консоли: успех и ошибка]

Важный нюанс (тот же, что и в XMLBlueprint)!
Из проверяемого XML-документа также нужно удалить xmlns="urn:hl7-org:v3" в корневом элементе. Иначе проверка всегда будет проходить успешно.

Плюсы: Бесплатно, нет ограничений по времени и размеру документа.
Минусы: Консольный интерфейс (не для всех), требуется установленная Java.


Что выбрать?

  • Если нужно быстро проверить маленький фрагмент — берите онлайн-валидатор.
  • Если вы работаете в Windows и привыкли к графическим интерфейсам — ставьте XMLBlueprint (хотя бы на 15 дней).
  • Если вам нужно регулярно проверять много больших документов и вы хотите автоматизировать процесс — ваш выбор Java + schxslt-cli.

Главное — помните про удаление xmlns для корректной работы локальной валидации. И не забывайте, что схематроны на портале ЕГИСЗ могут быть не самой актуальной версии, поэтому доверяйте, но проверяйте.

А с какими проблемами при валидации СЭМД сталкивались вы? Может быть, у вас есть свои лайфхаки по отладке? Делитесь в комментариях!

Добавить комментарий

© 2026 ADMINMED.ru

Login





Loading...

Top.Mail.Ru
👁 0
  Яндекс.Метрика