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

Применяемый штрих-код — это pdf417 или НЕТ?

Начать разъяснение я думаю необходимо с пояснения стандарта штрих кода. В ГОСТе и на многих ресурсах пишут, что штрих код с полиса омс относится к стандарту pdf417. НО это не совсем так. Вот сравните и найдите одно отличие.

Оборудование для, штрих-код полиса омс и тип pdf417

 

Как вы заметили, что штрих-код на полисе ОМС немного отличается от штрих-кода по стандарту PDF417. Отличие заключается в том что на полисе нет блока «Stop Pattern». На основе этого можно сделать вывод, PDF417 модифицирован работниками ГОЗНАКа (я повторюсь они извращенцы). По этому не все сканеры могу корректно распознать такой модифицированный штрих-код (т.е. при считывании штрих-кода полиса, но оборудование не может его верно «разложить» и выдать на выходе текстовую строку). В качестве мысли, я подозреваю, что отсутствие конечного блока связано с ЭЦП. Да и само шифрование данных, связано не сколько с защитой персональных данных, а для того, что «сжать» количество записываемых символов. Например: ЕПН -16 знаков, «сжато» и закодировано в 5 знаков. А вот хэш ЭЦП как раз не сжимается, а передается в в чистом виде. Как я понимаю ЭЦП можно использовать для проверки подлинности полис омс. На сайте Ростовского ТФОМС, есть сертификаты что проверить ЭЦП.

Сканеры штрих-кодов и их настройка…

Сканеры штрих-кодов полисов омс, предоставляют две схемы передачи данных (я не эксперт по сканерам, могу и ошибаться):
— через usb, т.е. эмулируется клавиатура. Все символы из штрих-кода декодируются в виде нажатых клавиш. Что приводит к потере непечатаемых символов (backspace, enter и им подобные). (В нашей задаче нам нужны байты, а не коды символов.)
— через виртуальный com-порт. При этом мы можем получить или набор байтов (уже считанный, но не декодированный штрих-код), или строку символов (при этом последовательность байтов преобразуется в коды символов, а не в коды нажатых клавиш).
В силу того, что штрих-код на полисе омс, это модифицированный pdf417, советую использовать сканеры с эмуляцией com-порт. Они стоят дороже, чем сканеры не поддерживающие такую фишку. НО использование подобного сканера, гарантирует корректное распознание штрих-кода полиса омс, т.к. от них проще получить набор байтов, а не коды символов или нажатых клавиш.
Если бы у нас был стандартный pdf417, мы имели возможность сразу со сканера получить данные в читаемом виде. Например: «СИДОРОВ|ИВАН|ИВАНОВИЧ и т.д». Тогда режим USB-клавиатуры не стал бы помехой. В нашем случае мы со сканера должны получить набор байтов, то есть распознанный штрих код. При эмуляции USB-клавиатуры, декодирование набора байт делает сканер. В нашем случае этого не требуется — мы будем делать это сами. Сканеры которые могут отдать предварительно распознанный штрих код (набор байтов), имеют эмуляцию СОМ-порта.

P.S. В мануале каждого сканера напечатаны штрих-коды с помощью которых можно их программировать на тот или иной режим. Как сканер полисов омс лучше использовать Xennon 1900, так же подойдет распространенная модель Metrologic . Хотя в свое первой статье по этой тематике я его не советовал, но я знаю страховые компании занимающиеся омс в которых его используют и не кто жалуются.

P.S. Нравится материал. Длитесь в твитере, лайкайте в контакте и так далее. Хочется выразить благодарность кликай по рекламе. Все спасибо))

1 комментарий

  1. Shinobi

    Сегодня в загрузках выложу для скачивания драйвера на Metrologic и Honeywell Xenon 1900. И приложу сканы штрих-кодов, для настройки сканеров в режим com-порта.

    Ответить

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.