Открытая БД по лекарствам


Связывание данных. Постановка задачи.

Дано:

1. Массив данных, введенный на основании прайс-листов, накладных и т. д. - ассортимент ("А").

2. Массив данных, описывающих лексредства (ЛС) на основании сведений, изложенных в официальных документах МЗ - Государственный Реестр (Р)

Задача: связать каждую строку "А" со строкой из "Р". 

Почему это можно сделать в принципе?
 Предполагается, что перед попаданием в торговую сеть все лекарства проходят процесс регистрации и, следовательно, должны быть описаны в "Р".

Отсекаем лишнее. 
В "А" будут не только ЛС, но и позиции, которых в принципе не будет в "Р" - парафармацевтика, медтехника и т.д. Их желательно выбросить до начала привязки, используя соответствующий признак.
В "Р" также есть позиции, которых наверняка не будет в прайс-листах, например, препараты, аннулированные более 10 лет тому назад.

Порядок цифр.
Ассортимент производителя - 200-400 позиций, аптеки - 1000-3000 наименований, оптовика - до 4000-5000, интегратора прайс-листов - 10 000- 15 000 позиций.
В реестре цен - 5000 строк, в реестре лексредств 12 500 упаковок со штрих-кодами, а всего - около 140 000 упаковок. 

Предположим, что в результате предварительной обработки в "А" остались только те позиции, которые должны быть в "Р", а из "Р" убрано все лишнее. Каковы возможные результаты поиска экспертом, который точно знает, что с недавних пор Аспирин Упса и Упсарин - это одно и  то же?

1. Однозначная привязка (1:1). Строка из "А" точно привязывается к строке из "Р". Эта ситуация чаще всего будет встречаться для зарубежных препаратов.

2. Привязка 1:N, когда строке из "А" соответствует несколько строк из "Р". Информации не хватает. Чаще всего это будет для России из-за недостаточной информации по упаковке и, особенно, в случае отсутствия информации по заводу.

3. Привязка 1:0.5. Есть похожее , но что-то не совпадает по существенным признакам (в "А" N10, а "Р" только N20). Это может быть в случае выпуска препарата по временному разрешению, "серого" импорта, ошибок ввода в "А" или "Р" и т. д.

4. Привязка 1:0. Скорее всего  в "Р" этой позиции быть не должно - биологически активная добавка, гомеопатия или результат деятельности производственного отдела аптеки. Или так ввели информацию в прайс-лист, что без коробки в руках не разберешься.

Предварительный анализ.

Найдем количество упаковок, которое предприятие может производить в соответствии с официальными документами МЗ.

Завод

Позиций

Дальхимфарм ОАО

2005

Брынцалов-А ЗАО

1509

Мосхимфармпрепараты

1488

Новосибхимфарм ОАО

1313

Верофарм ЗАО

1287

Биосинтез ОАО (Пенза)

1274

Акрихин ХФК ОАО

1263

Синтез АКОМП

1250

Фитофарм-НН

1215

Пятигорская фармфабрика ГП

1200

Табл.1 Количество позиций, разрешенных к производству для российских предприятий (первые 10 заводов)

Очевидно, что на практике реальная номенклатура существенно меньше. Оценить ее можно с помощью количества штрих-кодов, зарегистрированных предприятием. Для России ситуация такова.

Завод

Штрих-кодов

Дальхимфарм ОАО

329

Биосинтез ОАО (Пенза)

197

Мосхимфармпрепараты

196

Синтез АКОМП

180

Биохимик ОАО (Саранск)

178

Щелковский витаминный завод ОАО

157

Акрихин ХФК ОАО

156

Новосибхимфарм ОАО

141

АЙ СИ ЭН-Октябрь ОАО (Санкт-Петербург)

126

Красногорсклексредства АО

125

Табл.2 Количество штрих-кодов, зарегистрированных российскими предприятиями (первые 10 заводов)

 Цифры, приведенные в таблице 2, ближе к реальной номенклатуре завода.

Для зарубежных заводов картина такова.

Страна

Завод

Позиций

Бельгия

Лаборатории Долизос

1078

Латвия

Олайнфарм Олайнский ХФЗ АО

723

Канада

Апотекс Инк

610

Беларусь

Борисовский завод медпрепаратов

400

Беларусь

Белмедпрепараты АО

326

Словения

Крка

287

Индия

Ипка Лабораториз Лимитед

226

Германия

Байер АГ

222

Украина

Дарница фармацевтическая фирма ЗАО

202

Израиль

Тева Фармацевтические Предприятия Лтд

191

Табл.3 Количество позиций, разрешенных к ввозу для зарубежных предприятий (первые 10 заводов)

Как видим, число упаковок, разрешенных к ввозу, существенно меньше.

Страна

Завод

Штрих-кодов

Словения

Крка

189

Беларусь

Белмедпрепараты АО

145

Беларусь

Борисовский завод медпрепаратов

110

Латвия

Олайнфарм Олайнский ХФЗ АО

90

Индия

Юник Фармасьютикал Лабораториз

84

Швейцария

Новартис Фарма АГ

79

Германия

Гексал АГ

77

Украина

Дарница фармацевтическая фирма ЗАО

75

Югославия

Хемофарм Д.Д.

68

Швейцария

Ф.Хоффманн ля Рош Лтд

65

Табл.4 Количество штрих-кодов, зарегистрированных зарубежными предприятиями (первые 10 заводов)

И зарегистрированных штрих-кодов меньше. Если для российских заводов отношение зарегистрированных упаковок к штрих-кодам составляет 1:5 - 1:10, то для зарубежных 1:3 - 1:2.

Сделаем выборку по торговым названиям и заводу. 

Торговое название

Позиций

Завод

Страна

Бактерицидный лейкопластырь

162

Верофарм ЗАО (Воронежский филиал)

Россия

Бактерицидный лейкопластырь

162

~

Россия

Новокаина раствор для инъекций

144

Верофарм ЗАО

Россия

Новокаина раствор для инъекций

144

Казанское предприятие по производству бакпрепаратов

Россия

Новокаина раствор для инъекций

144

Биомед НПО (Пермь)

Россия

Новокаина раствор для инъекций

144

Екатеринбургское гп по производству бакпрепаратов

Россия

Новокаина раствор для инъекций

144

Дальхимфарм ОАО

Россия

Новокаина раствор для инъекций

144

ВНИИ защиты животных

Россия

Новокаина раствор для инъекций

144

Вирион НПО ГП

Россия

Новокаина раствор для инъекций

144

Биосинтез ОАО (Пенза)

Россия

Новокаина раствор для инъекций

144

Верофарм ЗАО (Белгородский филиал)

Россия

Новокаина раствор для инъекций

144

Мосхимфармпрепараты

Россия

Новокаина раствор для инъекций

144

Вектор-Фарм ДГУ ПП

Россия

Новокаина раствор для инъекций

144

Биохимик ОАО (Саранск)

Россия

Новокаина раствор для инъекций

144

~

Россия

Новокаина раствор для инъекций

144

АЙ СИ ЭН-Октябрь ОАО (Санкт-Петербург)

Россия

Новокаина раствор для инъекций

144

АЙ СИ ЭН-Полифарм ОАО

Россия

Новокаина раствор для инъекций

144

Аллерген Ставропольское ФГУП

Россия

Новокаина раствор для инъекций

144

Верофарм ЗАО (Воронежский филиал)

Россия

Новокаина раствор для инъекций

144

Эректон НПЦ ООО

Россия

Новокаина раствор для инъекций

144

Новосибхимфарм ОАО

Россия

Новокаина раствор для инъекций

144

Норбиофарм ЗАО

Россия

Новокаина раствор для инъекций

144

Органика ОАО

Россия

Новокаина раствор для инъекций

144

С-Петербургский НИИ вакцин и сывороток и предприятие по производству бакпрепаратов

Россия

Новокаина раствор для инъекций

144

Синтез АКОМП

Россия

Новокаина раствор для инъекций

144

Уфавита ОАО

Россия

Новокаина раствор для инъекций

144

Иммунопрепарат НПО ГУП

Россия

Новокаина раствор для инъекций

144

Ноби - АО биотехнологических новаций

Россия

Фенкарол

124

Олайнфарм Олайнский ХФЗ АО

Латвия

Диастабол

96

Байер АГ

Германия

Нафтизина раствор

76

Московский эндокринный завод ФУП

Россия

Ксенетикс

75

Лаборатория Гербе

Франция

Лейкопластырь

75

Верофарм ЗАО (Воронежский филиал)

Россия

Табл. 5

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

Из таблицы 5 следует, что 25 российских заводов имеют право выпускать 3600 разнообразных коробок с новокаином по приказу 71/380/35. Отсутствие информации по заводу в прайс-листе автоматически приводит к ситуации, когда одной строке в "А" будет соответствовать 25 строк в "Р".
Для зарубежных заводов такая повторяемость практически исключена. Для российских заводов это свойство будет постепенно исчезать, уже появились препараты с названиями типа Левомицетин-Акри, Фамотидин-ICN. Можно прогнозировать увеличение количества таких названий, так как уже началась регистрация лекарств на российские заводы и появились фармакопейные статьи предприятий.

Описание упаковки.

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

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

Всего в базе около 90 000 упаковок (действующие регистрационные удостоверения). Из них, зная только торговое название и завод, можно однозначно определить около 3400 коробок (чуть меньше 4%). А в некоторых случаях и завод знать не надо, например, D-сорбит в единственной упаковке выпускает только АЙ СИ ЭН-Марбиофарм. Если добавить лекформу, то процент однозначного определения вырастет до 4.2%, а добавление дозировки увеличит его 5.7%. В прайс-листах, обычно, добавляют еще форму выпуска и общее количество. В этом случае для России на каждую строку в "А" найдется, в среднем, 2 строки в "Р".

Для зарубежных препаратов ситуация значительно более благоприятная. Для 12% упаковок достаточно указания только торгового названия. Добавление завода увеличивает эту цифру до 15%. Знание лекформы и дозировки - это уже 32% успеха. Указание навески и общего количества лекформ или форм выпуска доводит процент узнавания до 82.

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

Практическая проверка

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

ФБ

Name

Doza

Maker

Country

5-НИТРОКС

таб п/о 50мг х80

Pharmachim

Болгария

"Р"

Торговое название

Лекформа

Дозировка

N

Завод

Страна

5-нитрокс

таблетки покрытые пленочной оболочкой

50 мг

80

Фармахим Холдинг ЕАД, Фармация АД

Болгария

Привязка 1:1. Есть расхождение по производителю. Болгарские заводы идут либо сами на регистрацию, либо через Фармахим (как в этом случае), но в любом случае информация о заводе в регистрационном удостоверении быть должна.

ФБ

Name

Doza

Maker

Country

5-НОК

драже 50мг х50

Сотекс

Россия

5-НОК

таб 50мг х50

 

Россия/Словения

5-НОК

таб 50мг х50

Lek

Словения

5-НОК

таб 50мг х50

Вектор

Россия

5-НОК

таб 50мг х50

Сотекс

Россия

Первая строка вызывает подозрение. Драже было аннулировано 31.12.95. Правда, срок годности - 5 лет, но поверить в то, что кто-то купил 5-НОК на пять лет вперед, можно с трудом. Скорее всего, в базе оптовика до сих пор не исправлена лекформа. Это значит, что первая и пятая строки эквивалентны, причем пятая строка правильная. Ошибка в "А". 

Строки 3, 4, 5 из ФБ привязываются к "Р" 1:1. Вторая строка из ФБ будет потеряна. Ясно, что речь идет об упаковщике, но не ясно, о каком, их два.

Торговое название

Лекформа

Дозировка

N

Завод

Страна

Пакует

5-НОК

таблетки покрытые оболочкой

50 мг

50

Лек Д.Д.

Словения

Фирма Сотекс ЗАО

5-НОК

таблетки покрытые оболочкой

50 мг

50

Лек Д.Д.

Словения

~

5-НОК

таблетки покрытые оболочкой

50 мг

50

Лек Д.Д.

Словения

Вектор-Фарм ДГУ ПП

ФБ

Name

Doza

Maker

Country

5-ФТОРУРАЦИЛ

амп 5%5мл х10

Дарница

Украина

5-ФТОРУРАЦИЛ ЭБЕВЕ

конц-т д/инф 250мг/5мл х1

Ebewe

Австрия

5-ФТОРУРАЦИЛ ЭБЕВЕ

конц-т д/инф 250мг/5мл х5

Ebewe

Австрия

5-ФТОРУРАЦИЛ ЭБЕВЕ

конц-т д/инф 500мг 10мл х1

Ebewe

Австрия

5-ФТОРУРАЦИЛ ЭБЕВЕ

конц-т д/инф фл 1г 20мл х1

Ebewe

Австрия

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

Торговое название

Лекформа

Дозировка

MV/Mu

Упаковка

N

Завод

Страна

EAN13

Фторурацил-Дарница

раствор для инъекций

5%

5 мл

ампулы(10) упаковки ячейковые контурные (1) пачки картонные

10

Дарница фармацевтическая фирма ЗАО

Украина

~

Фторурацил-Дарница

раствор для инъекций

5%

5 мл

ампулы(10) пачки картонные 

10

Дарница фармацевтическая фирма ЗАО

Украина

4823006400331

 Остальные строки находятся 1:1 (в реестре завод называется Эбеве Арцнаймиттел ГмбХ). На всех коробках есть штрих-коды.

В ФБ

Name

Doza

Maker

Country

HL-PAIN

шип.таб х36

Sagmel

США

Найдено 1:1

В ФБ

Name

Doza

Maker

Country

KID-S FORMULA

жев.таб х40 "Больше чем поливит."

 

 

KID-S FORMULA

жев.таб х60 "Больше чем поливит."

 

 

KID-S FORMULA

жев.таб х60 "Витамин С плюс"

Servier

 

KID-S FORMULA

жев.таб х60 "Кальций плюс"

 

 

KID-S FORMULA

жев.таб х60 "Поливит Железо плюс"

 

 

KID-S FORMULA

жев.таб х60 Поливит Кальций плюс

 

 

Здесь пришлось поискать, так как начало торгового названия помещено в поле Name, а окончание - в поле Doza. 

По русски это звучит так - "Фарма-мед детская формула больше чем поливитамины", завод Фарма-Мед Инк (а не Servier). Однако зарегистрирован только N40, а N60 не зарегистрирован. Витамин С плюс зарегистрирован N90, а не 60. Кальций плюс совпал. Железо плюс идет N100. Поливит кальций плюс совпал.

ФБ

Name

Doza

Maker

Country

L-АСПАРАГИНАЗА

фл 10тМЕ

Grindex

Латвия

Найден 1:1, завод звучит так - Гриндекс публичное акционерное общество

Name

Doza

Maker

Country

А-ПАР

аэр 125г

S.C.A.T

Франция

Найден 1:1

Name

Doza

Maker

Country

АБАКТАЛ

амп 400мг5мл х10

Lek

Словения

АБАКТАЛ

таб 400мг х10

Lek

Словения

АБАКТАЛ

таб 400мг х10

Сотекс

Россия

Все нашлось, Сотекс является не производителем, а упаковщиком 

А теперь Россия

Name

Doza

Maker

Country

АБЕРГИН

таб 4мг х30

ВИЛАР

Россия

АБОМИН

таб п/о 50тЕД х10

МХФП

Россия

АБОМИН

таб п/о 50тЕД х10

Новосибирский ЗМП

Россия

Абергин нашелся, даже штрих-код есть. И Абомин со штрих-кодами есть.

Name

Doza

Maker

Country

ЛИПОЕВАЯ КИСЛОТА

таб 12мг х50

ICN Марбиофарм

Россия

ЛИПОЕВАЯ КИСЛОТА

таб 12мг х50

ICN-Россия

Россия

В этой записи кое-что можно исправить. Липоевую кислоту выпускает только Марбиофарм. Поэтому вместо двух строк должна быть только одна. Беда в том, что N50 в базе соотвествуют 10 строк. Различные виды упаковок - банки стеклянные, полимерные, упаковки ячейковые контурные по 10 таблеток и пять упаковок в пачку  и упаковки ячейковые контурные по 50 таблеток. И два штрих-кода на это многообразие. Один штрих-код на банку темного стекла в пачке, второй на 5 блистерах по 10 таблеток. По-видимому, выпускают и в банках и в блистерах. Здесь поможет только пачка в руках или звонок поставщику.

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

Возможные варианты ее решения (очевидные и уже реализованные) подсказываются объемом номенклатуры и частотой ее изменения. 

Для аптеки с номенклатурой 1000 - 2000 позиций при скорострельности эксперта 100-200 позиций в день речь идет о двух неделях работы. Естественно, что в этом случае самое разумное - это сделать простейшую программу с поисками по торговому названию, стране, производителю, упаковщику. Делается одноразовая работа по привязке целой строки "А" к строке в "Р". Если в следующем прайсе произошло небольшое изменение этой строки, то она привязывается опять к той же строке из "Р", т.е. происходит накапливание всех возможных вариантов записи по отношению к каноническому, что фактически означает внесение элемента самоообучения программы.

Имеет ли смысл делать что-то более сложное для интеграторов прайс-листов? Не уверен. Дело в том, что основные проблемы привязки - отсутствие достаточной инофрмации для идентификации упаковки и неточность написания торговых названий лекформ, заводов и т.д. Эти проблемы программным путем либо не решаются вообще, либо не решаются простым способом.

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

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


Открытая БД по лекарствам

Hosted by uCoz