DataMatrix: технические особенности и проблемы сканирования в медицинской сфере

24.07.2025

На сегодня в Казахстане обязательной маркировке подлежат все лекарственные средства, произведенные после 1 июля 2024 года. Новый механизм прослеживания охватывает весь путь препарата – от завода до продажи в аптеке. Маркировка обеспечивается благодаря уникальным кодам DataMatrix. В нем хранится информация о лекарственном средстве: наименование, количество, доза, производитель и перемещение препарата. Цифровая маркировка обеспечивает прозрачный оборот лекарственных средств, тем самым способствует борьбе с фальсифицированной продукцией и снижает риски для здоровья граждан.

Введение в технологию DataMatrix

DataMatrix представляет собой двумерный матричный штрихкод, состоящий из черных и белых модулей (квадратных элементов), организованных в квадратную или прямоугольную сетку. Отличительной особенностью данного типа кодирования является характерная рамка: сплошные линии располагаются по левой и нижней сторонам матрицы, пунктирные — по правой и верхней.

Разработанная компанией International Data Matrix в конце 1980-х годов, эта технология была стандартизирована ISO/IEC 16022 и нашла широкое применение в промышленности благодаря высокой плотности кодирования и устойчивости к повреждениям.

DataMatrix Датаматрикс Пример кода DataMatrix

Преимущества DataMatrix перед линейными штрихкодами

  • Информация размещается как по горизонтали, так и по вертикали, что значительно увеличивает плотность данных
  • Информационная емкость до 2335 алфавитно-цифровых символов против 20-25 у традиционных линейных кодов
  • При идентичном объеме информации занимает существенно меньше места
  • Встроенная избыточность обеспечивает восстановление данных при частичном повреждении кода

Отличия от QR-кодов

  • DataMatrix приблизительно на 30% компактнее QR-кода при кодировании аналогичного объема данных
  • Использует равномерную квадратную сетку вместо позиционных маркеров QR-технологии
  • Оптимизирован для промышленного использования и маркировки малогабаритных объектов
  • Менее популярен в потребительском сегменте по сравнению с QR-кодами

Алгоритмы кодирования и структура данных

DataMatrix использует несколько схем кодирования в зависимости от типа данных:

  • ASCII — базовое кодирование для цифр и стандартных символов с повышенной эффективностью для числовых данных
  • C40 — специализированное кодирование для заглавных букв и цифр
  • Text — оптимизация для строчных букв и цифровых символов
  • X12 — поддержка символов стандарта X12 EDI (Electronic Data Interchange)
  • EDIFACT — 6-битное ASCII кодирование для электронного обмена данными
  • Base 256 — обработка бинарных данных произвольного формата

Система включает коррекцию ошибок на основе алгоритма Рида-Соломона, обеспечивающего восстановление до 25% поврежденного кода. Размещение данных в матрице происходит по спиральному алгоритму, начинающемуся с верхнего правого угла, что гарантирует равномерное распределение информации и повышает устойчивость к локальным повреждениям.

Система маркировки лекарственных средств в Казахстане

В Республике Казахстан система маркировки лекарственных препаратов реализована в соответствии с требованиями Евразийского экономического союза (ЕАЭС) с использованием DataMatrix кодов, содержащих расширенную криптографическую подпись для обеспечения защиты от фальсификации.

Маркировка лекарств в Казахстане

Структура казахстанского DataMatrix кода

Рассмотрим типичный пример кода маркировки:

0108901296026335211sTOClp8sKQE391KZF092alE5aSSx0xmRtHXMenWsI6Lt48jvfcVc5WAvmiD0N1Y=

Структурный анализ компонентов:

  • 01: идентификатор GTIN
  • 08901296026335: GTIN-14 — глобальный идентификатор торговой единицы
  • 21: идентификатор серийного номера производственной партии
  • 1sTOClp8sKQE3: уникальный серийный номер конкретной упаковки
  • 91: идентификатор криптографической подписи
  • KZF092alE5aSSx0xmRtHXMenWsI6Lt48jvfcVc5WAvmiD0N1Y=: цифровая подпись длиной в кодировке Base64

GTIN расшифровывается как Global Trade Item Number – глобальный номер товарной позиции. Он необходим, чтобы однозначно идентифицировать товар в любой стране. Коды с GTIN помогает автоматизировать распознавание товаров. Работа с кодами позволяет избежать ошибок при учете продукции. Коды используется при заключении сделок купли-продажи и при перевозке грузов через таможню.

Технические особенности казахстанской реализации

  • Отсутствие стандартных полей срока годности (AI 17) и номера серии производства (AI 10)
  • Наличие расширенной криптографической подписи (AI 91) объемом приблизительно 44 символа
  • Префикс «KZF092» как индикатор казахстанской системы верификации
  • Интеграция с государственной системой мониторинга оборота лекарственных средств

Проблематика сканирования DataMatrix кодов

При работе с DataMatrix кодами могут наблюдаться следующие технические проблемы:

  • Низкая эффективность распознавания: успешное сканирование происходит в 5-20% попыток
  • Искажение структуры данных с появлением управляющих символов
  • Генерация ошибок вида «Неизвестный идентификатор применения (AI)»
  • Непредвиденные открытия новых вкладок, закрытие программ, открытие окна поиска и другие не связанные с появлением отсканированной информации

Типичные примеры искаженных данных:

010481020101936921A00000001168591KZF09qVWlVUO+7+

01048700500071842192%%&24!6@)629!KSF0(2JWjHFfO*+sSohzZgAqaV1cyZez@Md
USMFPJWjHFfo8=

01048700500071427552(!81^@)^@91KSF0(z@md
@ezYc!vAQaGZZHOsSusmfPJWjHFfo8=

01084700500029124817%579)usK!
Dm@ZEzYC!agZZHsSouSmfPJWjHFfo8=

010487005000718426026142&%5JWjp)2HFfO8=
c1vAQaGZohzsSuswjpfmjHFfo8=

Сообщение об ошибке распознавания сканированной информации в программном продукте MadiMed:

Неизвестный идентификатор применения(AI) 9qVW

Диагностическая методика

Для верификации корректности работы сканера рекомендуется следующая процедура:

  • Запуск текстового редактора (например, Блокнот или Notepad+)
  • Многократное сканирование идентичного DataMatrix кода
  • Анализ стабильности результатов

Корректно функционирующий сканер должен обеспечивать идентичные результаты при повторных сканированиях:

010481020101936921A00000001168591KZF092VWlVQwm0SJpk1FcWtA3IVOT8OK3pH3P0q2IakZUO+7c=
010481020101936921A00000001168591KZF092VWlVQwm0SJpk1FcWtA3IVOT8OK3pH3P0q2IakZUO+7c=
010481020101936921A00000001168591KZF092VWlVQwm0SJpk1FcWtA3IVOT8OK3pH3P0q2IakZUO+7c=

Анализ причин неисправностей

Основные факторы, влияющие на корректность сканирования:

  • Влияние стороннего программного обеспечения: конфликты с утилитами автоматического переключения раскладок (например, Punto Switcher)
  • Эмуляция клавиатурного ввода: сканер функционирует как Human Interface Device (HID), что приводит к интерпретации данных операционной системой как последовательности нажатий клавиш
  • Конфликт раскладок клавиатуры: несоответствие между настройками сканера и активной раскладкой операционной системы
  • Обработка управляющих символов: интерпретация специальных кодов как системных команд (Alt+цифры, Ctrl+символы)

Методология устранения неисправностей

Предварительные мероприятия

Необходимо отключить или полностью удалить утилиты автоматического переключения клавиатурных раскладок (Punto Switcher, Keyboard Ninja и аналогичные). Данные приложения используют низкоуровневые перехватчики клавиатурного ввода, что может привести к искажению сканируемых данных даже при отключенном автоматическом режиме.

Конфигурирование сканера

Шаг 1. Восстановление заводских настроек

Выполнить сброс конфигурации сканера к заводским параметрам посредством сканирования соответствующего управляющего штрихкода из технической документации устройства.

Шаг 2. Модификация интерфейса подключения

Перевести сканер из режима USB HID (эмуляция клавиатуры) в режим Virtual Serial Port. Данная конфигурация исключает проблемы, связанные с интерпретацией данных как клавиатурного ввода, и обеспечивает передачу информации в режиме последовательного порта.

Шаг 3. Настройка локализации

Установить региональные параметры сканера в значение «United States» для обеспечения корректной обработки латинских символов и специальных кодов, используемых в DataMatrix структурах.

Шаг 4. Конфигурирование символов-разделителей

Настроить суффикс передачи данных на символ возврата каретки (CR) для обеспечения корректного завершения каждой операции сканирования.

Шаг 5. Установка кодировки символов

Конфигурировать кодировку передаваемых данных в формат UTF-8. В случае отсутствия поддержки UTF-8 использовать стандартную ASCII кодировку. Не рекомендуется использование специфических кодировок (например, GBK — китайская кодировка), несовместимых с Base64 форматом криптографических подписей.

Шаг 6. Оптимизация режима передачи

При наличии функции инвентаризации установить режим мгновенной передачи данных (Normal Mode) для исключения задержек и накопления информации в буфере устройства.

Альтернативные методы конфигурирования

При отсутствии технической документации к сканеру возможно использование универсальных управляющих кодов. Рекомендуется создать управляющие QR-коды со следующим содержимым и последовательно их отсканировать:

  • ***RESET*** — сброс к заводским настройкам
  • ***DISABLE_ALT*** — отключение обработки Alt-комбинаций
  • ***RAW_MODE*** — активация режима передачи сырых данных
  • ***DISABLE_MODIFIERS*** — деактивация системных модификаторов

Коробки лекарственных средств с DataMatrix

Выводы

DataMatrix представляет собой эффективную технологию двумерного кодирования, обеспечивающую высокую плотность информации и устойчивость к повреждениям. Корректное функционирование системы сканирования в медицинской сфере требует тщательной настройки оборудования с учетом специфики региональных требований и технических особенностей программного обеспечения.

Основными факторами успешной интеграции являются правильная конфигурация интерфейса передачи данных, корректная настройка локализации и исключение конфликтов с системным программным обеспечением. Соблюдение представленной методологии обеспечивает стабильную работу сканирующего оборудования с системами медицинского документооборота.