Сканирование штрихкода медицинского полиса единого образца с помощью мобильного приложения

Публикация № 904803

Оборудование - Сканер штрих-кода

Поликлиника Больница Медицина Здравоохранение ОМС Полис ЕНП Штрихкод PDF417 Сканирование Мобильное приложение Декодирование ЭЦП Штрихкодирование Гознак БуферДвоичныхДанных.

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

Руководство поставило задачу, распознавать штрихкод полиса единого образца для продукта 1С: Медицина. Поликлиника, версии 2.1.4.

Данные штрихкоды имеют тип PDF417.
Так как под рукой сканера не было, зато был планшет, решено было сделать сначала некую демонстрационную вещь именно на мобильном устройстве.

Смысла использовать библиотеки распознавания, предлагаемые фондами обязательного медицинского страхования не видел, зачем, когда можно сделать что-то своё.

 
 В первой версии(1.0.1.1) разработки:

Поизучав формат кодирования данных в штрихкоде, наткнулся на вполне содержательную статью:
http://myshinobi.ru/dekodirovanie-rasshifrovka-shtrih-koda-polisa-oms-chast-1/

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

Оставалось получить сами данные, желательно двоичные, а 1с всегда возвращает лишь строку.

Для этого использовался метод "ПолучитьДвоичныеДанныеИзСтроки".

Дальше уже дело техники.

 
 В версии 1.0.1.2

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

Также по типу 010 оказалось что можно читать ОГРН и ОКАТО страховой организации, чего в статье из первого поста не наблюдалось.

В официальной утилите ФФОМСа отсутствие даты представлялось как 01.01.1900, решил сделать также.

Из хотелок возникло:

1. Всё такие читать двоичные данные из буфера двоичных данных, а не разбивкой на массив, как в первой версии;

2. Поддержать тип штрихкода 010, с распознанием ОГРН и ОКАТО;

3. Добавить проверку на контрольный разряд номера полиса;

4. Получать цифровую подпись. Hex строка 65 байт, двоичные данные из неё можно получить методом "ПолучитьДвоичныеДанныеИзHexСтроки".

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

 
 Планы на версию 1.0.1.3

 1. Добавить проверку ЭЦП. Так как в мобильном госты не работают в менеджере криптографии, когда это будет воплощено, не понятно.

 2. Перенести на управляемое приложение.

К публикации прилагаю демонстрационные apk(arm, x86), для проверки работоспособности.

И саму конфигурацию мобильного приложения с алгоритмом декодирования.

В данном приложении можно как отсканировать один штрихкод, так и сканировать несколько. Данные последнего отсканированного полиса попадут в поля формы, если сканировалось несколько штрихкодов, то они будут помещены в таблицу формы.

Приложении только демонстрирует возможности сканирования и распознавания полиса омс единого образца. Дальше эти данные никуда не идут, как с ними работать, решать вам.

4

Скачать файлы

Наименование Файл Версия Размер
Конфигурация мобильного приложения
.cf 21,41Kb
23.09.18
2
.cf 1.0.1.2 21,41Kb 2 Скачать
Демонстрационные apk
.zip 61,75Mb
23.09.18
1
.zip 61,75Mb 1 Скачать

См. также

Специальные предложения

Избранное Подписка Сортировка: Древо
В этой теме еще нет сообщений.
Оставьте свое сообщение