пятница, 17 июня 2011 г.

Уникальность записей РЗН

Продолжая предыдущую тему необходимо отметить, что два раза в месяц, на 1-е и 15-е число Росздравнадзор публикует Информационное письмо "О государственной регистрации предельных отпускных цен на ЖНВЛС", которое содержит кроме собственно самого письма (формат PDF) еще и реестр зарегистрированных лекарственных средств на дату публикации. Данный реестр выполнен в формате Excel.

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

Вы спросите зачем нам поле с уникальными данными? Ответ прост - только используя это поле можно будет связать две базы данных: реестр Росздравнадзора (РЗН) и свою базу, например в 1С и далее наращивать ее по мере добавления лекарственных средств в реестр РЗН. Т.е. мы исходим из предположения что двух одинаковых записей в реестре РЗН быть не должно, т.к. это будет означать что одно и тоже лекарственное средство с совершенно одинаковыми параметрами регистрации зарегистрировано два раза. В чем смысл?

Обращают на себя внимание два поля "UniqNx (PackNx)" и "Штрих-код" здесь можно поискать уникальность.

фрагмент файла реестра 7

Чтобы найти уникальные записи в таблице на более чем 6000 строк надо их сгруппировать через сводную таблицу по проверяемому полю и количеству значений. Последовательность действий такова.

1. Выделить всю таблицу, включая заголовки и присвоить этой области имя, лучше всего "База_данных". РЗН до этого не додумался, придется дорабатывать.

фрагмент файла реестра 8

2. Добавить лист в файл и на нем создать сводную таблицу для поля проверяемого на уникальность, в нашем случае займемся полем "UniqNx (PackNx)".

фрагмент сводной таблицы 9

Обращаю внимание, в области данных нужно выбрать "Количество значений" по полю "UniqNx (PackNx)", тогда в сводной таблице все одинаковые значения поля "UniqNx (PackNx)" сгруппируются и будет указано их количество.

3. Получаем результат.

фрагмент сводной таблицы 10

Теперь если по столбцу "B" поставить автофильтр можно увидеть сколько одинаковых значений поля "UniqNx (PackNx)" встречается в таблице.

фрагмент сводной таблицы 11

Да, результат не радует. В поле "UniqNx (PackNx)" отдельные значения повторяются от 2 до 7 раз. Какие это значения, можно увидеть отобрав по фильтру количество повторений.

фрагмент сводной таблицы 12

На мой вопрос специалистам РЗН был получен ответ. Поле "UniqNx (PackNx)" имеет уникальные значения для зарегистрированных лекарственных средств без учета производителя. С учетом производителя уникальность пропадает.

Ладно, у нас еще осталось поле "Штрих-код", уж оно то должно быть уникальным. По сути штрих-кода, два разных товара не могут иметь один и тот же штрих-код, а два одинаковых зачем регистрировать два раза. Анализируем поле "Штрих-код" на уникальность по выше описанному методу и получаем результат.

фрагмент сводной таблицы 13

Как видно поле "Штрих-код" тоже не обладает уникальностью и таких позиций 63 (смотри файл). Мой удивленный вопрос к специалистам РЗН не вызвал никаких эмоций. Ответ был примерно таков: "Мы тут работаем в режиме ошпаренной кошки и поэтому возможны технические накладки. Дайте срок все исправим." К слову сказать движение в этом направлении есть, в предыдущем реестре на 31.04.2010 неуникальных позиций по полю "Штрих-код" было 111, так что прогресс на лицо. Радует то, что есть понимание необходимости уникальности указанного поля, будем ждать.

А что, впрочем, ждать? Можно попробовать с помощью функции СЦЕПИТЬ() связать поле "Штрих-код" или поле "UniqNx (PackNx)" с еще с другим и получить уникальное поле. Но это уже на Ваше усмотрение, уважаемые пользователи редактора Excel и мученики данных от Росздравнадзора РФ. О какой всеобщей автоматизации и информатизации может идти речь, если источник информации совершенно не задумывается как эта информация будет обрабатываться теми, для кого она предназначена. Где наша единая база данных? Где единые коды для лекарственных средств? Как без этого отойти от ручной обработки и бесконечного, ручного создания таблиц перекодировки для увязки информации из разобщенных баз данных!!! Понятно, что все это делается не в один день, но начинать когда-то надо и основа всего единые коды, это скелет, а мясо нарастет!!!

Комментариев нет:

Отправить комментарий