РЛС®
База данных

для разработчиков

Перейти на главную страницу

Краткое описание сервисов

База данных включает пять разделов. Основной раздел – Номенклатура (Inventory) – набор записей для товарного учета лекарств, БАДов и прочих товаров медицинского назначения, зарегистрированных на территории РФ. Каждая позиция номенклатуры – одна торговая (учетная) единица.

Раздел Справочники необходим для построения в МИС реляционной структуры данных и служит для интерпретации кодов (идентификаторов), содержащихся в наборах данных других разделов.

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

Раздел Классификации содержит классификаторы МКБ-10, АТХ, Фармгруппы, НТФР, ОКПД+ОКПД-2, списки и различные признаки. Препараты классифицированы по этим классификаторам, т.е. имеют отношение к одному или нескольким их узлам, что позволяет эти препараты анализировать и группировать по схожим свойствам при построении медицинских экспертных систем.

Раздел Оперативные данные служит для публикации быстро меняющейся информации, такой как зарегистрированные предельные цены производителей на жизненно необходимые и важнейшие лекарственные препараты (ЖНВЛП), забракованные, предписанные к изъятию серии лекарственных средств. Эти данные привязаны к номенклатурным позициям и вместе с разделом Номенклатура предназначены для решения задач товарного учета. Допустима частичная подписка на публикуемые данные. Подробно о методах, допустимых параметрах и форматах ответа можно почитать на http://rlsaurora10.azurewebsites.net/Help.

Подключение к сервисам

В демонстрационном режиме наборы данных, отдаваемые сервисами, определены для номенклатурных позиций с packing_id, кратным 100, т.е. набор данных номенклатурного блока inventory содержит только позиции 100, 200.... 17300 ... и т.д. Для блока Классификации (classes) - соответствующие только этим позициям привязки препаратов (prep_id) к классификаторам. Для блока Описания (library) – соответствующие только этим позициям (desc_id, as_id) тексты описаний. Для блока Оперативные данные (operational) – соответствующие только этим позициям (packing_id) цены на ЖНВЛП и забракованные серии.

Запросы к сервисам могут подаваться через веб-браузер или прямым HTTP-запросом от информационной системы (ИС). Запрос формируется в виде: http://rlsaurora10.azurewebsites.net/api/{имя_метода}?{имя_параметра=значение}&{имя_параметра=значение}

Заголовки пакета-запроса

При использовании веб-браузера при первом обращении к сервису запрашивается имя пользователя и пароль. Если они подходят, то запоминаются в cookies. Авторизационная информация передается в заголовках пакета-запроса (RequestHeaders) в выражении Authorization, в котором закодированы имя пользователя и пароль с использованием base64.

• Authorization: Basic ZGVtbzoxMjM0NTY=.


Формат возвращаемых данных

Методы возвращают данные в XML-, либо в JSON-формате. Формат ответа определяется заголовком пакета-запроса в выражении: 

• Accept: application/xml

• Accept: application/json.

Для браузера Chrome пакет формируется с Accept: application/xml – сервис дает ответ в XML, для браузера Microsoft IE пакет не содержит Accept: application/xml, поэтому ответ  в JSON-формате. При формировании прямого HTTP-запроса из информационной системы необходимо учитывать эти аспекты и формировать заголовки с использованием Authorization и Accept.

Примеры запросов к системе в демонстрационном режиме

(при первом обращении потребуется ввести имя пользователя и пароль)

Номенклатурные блоки в виде архивов:

Номенклатура (inventory)

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

Методы доступа к Номенклатуре

• inventory_brief (24 поля) – номенклатура в слабоструктурированной форме представления. Денормализованный и агрегированный набор данных, не требующий никаких дополнительных справочников для организации товарного учета, но содержащий идентификаторы, позволяющие обращаться с запросами в разделы Описания, Классификации и Оперативные данные;

• inventory_complete (72 поля) – номенклатура в подробно структурированном виде. Денормализованный набор данных, включающий в себя все связанные справочники (идентификаторы, краткие и полные формы записи), а также ссылки для построения запросов к другим разделам;

• inventory_naked (33 поля) – номенклатура в ссылочной форме представления, требующей наличия связанных данных из раздела Справочники.

Для решения задач товарного учета и интеграции Номенклатуры РЛС® во внедренную информационную систему разработан сервис гармонизации номенклатурных позиций, позволяющий автоматически подобрать варианты из Номенклатуры РЛС®, соответствующие пользовательским номенклатурным позициям. Запросы к сервису гармонизации подаются по протоколу HTTP на адрес http://rlsaurora10.azurewebsites.net/api/inventory_complete?pos={pos}&firm={firms} в соответствии с соглашениями REST. В качестве входных параметров используется неструктурированное описание пользовательской номенклатурной позиции (параметр pos) и перечисление фирм-производителей/упаковщиков/регистраторов (параметр firms). На каждую пользовательскую номенклатурную строку выполняется отдельный запрос. Результаты гармонизации представляются в виде набора номенклатурных строк РЛС®, упорядоченных по релевантности пользовательскому запросу. Ответ системы возвращается в формате XML или JSON (в зависимости от предпочтений пользователя) и содержит следующие поля (в зависимости от выбранной формы представления номенклатурного блока):

Таблица Таблица Таблица Таблица Таблица

Входные параметры номенклатурных блоков

• packing_id = {int} – идентификатор номенклатурной позиции. Возвращается одна структура данных, соответствующая указанному идентификатору.

• OnDate = {dd.mm.yyyy} – дата обновления. Возвращается набор данных, для которых actdate больше или равен значению OnDate, т.е. те записи, которые были добавлены или изменены в период с OnDate до текущего момента. Допустимые значения параметра – в течение предыдущих 6 месяцев с момента выполнения запроса. Для получения данных за предыдущее время нужно воспользоваться методом без параметров, который вернет полный массив данных на 1-е число текущего месяца в виде файла-архива.

• ean={string(13)} – штрихкод. Возвращаются записи, содержащие переданный штрихкод. Таких записей может быть более одной, т.к. штрихкод не является уникальным идентификатором товарной позиции.

• pos={string}&firm={string} – пользовательская номенклатурная позиция pos и название фирмы-производителя firm предназначены для поиска соответствия передаваемым данным в Номенклатуре РЛС®. В параметре pos одной строкой передаются все известные пользователю атрибуты – торговое название, форма выпуска, дозировка, упаковка, количество, характеристика, штрихкод, регистрационное удостоверение и т.д. В параметре firm передается название фирмы-производителя или фирмы-упаковщика в том виде, в каком оно известно пользователю. Чем больше атрибутов будет передано пользователем в систему, тем точнее будет выполнен поиск. В результате возвращается набор данных, упорядоченный по релевантности пользовательскому запросу. Процедура сопоставления пользовательской строки номенклатуры и номенклатуры РЛС® называется гармонизацией.

Справочники (dict)

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

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

Элементарные справочники:

• dict_active_substances – справочник действующих веществ. Содержит названия на разных языках, в том числе латинском (в родительном падеже - для рецептов), химические формулы, ссылки на описания ДВ;

• dict_completeness – справочник комплектаций. Необязательная характеристика товарной упаковки;

• dict_countries – справочник стран;

• dict_dosage_form – древовидный справочник форм выпуска (лекарственных форм). Атрибут уровня препарата;

• dict_dosage_form_char – справочник характеристик лекарственных форм. Необязательный атрибут уровня препарата;

• dict_lifetimes – справочник сроков годности. Атрибут уровня упаковки;

• dict_storecond – справочник условий хранения. Атрибут уровня упаковки;

• dict_pack – справочник видов упаковки. Атрибут уровня упаковки;

• dict_tradenames – справочник торговых названий. Атрибут уровня препарата;

• dict_latnames – справочник торговых названий на латинице. Атрибут уровня препарата;

• dict_firm – справочник фирм с названиями, адресами и телефонами. Используется для определения фирм-производителей, упаковщиков, владельцев регистрационных удостоверений;

• dict_registry – справочник регистрационных удостоверений. Используется для определения атрибутов актуального регистрационного удостоверения препарата или для построения истории перерегистрации препарата.

Классификации (classes)

В разделе Классификации представляются наборы данных двух типов – классификаторы и отношения препаратов к узлам классификаторов. В базе данных РЛС®  доступны классификаторы МКБ-10 (classcode=mkb), АТХ (classcode=atc), Фармгруппы (classcode=phg), ОКПД-2 (classcode=okpd), НТФР (classcode=ntfr).

Кроме того, реализован метод classes_prep_marks для доступа к особым признакам препаратов, формируемым согласно спискам, публикуемым Роздравнадзором. Для каждого препарата указано, является ли он ядовитым, сильнодействующим, безрецептурным, жизненно важным, входит ли в минимальный аптечный ассортимент, список препаратов для лечения редких заболеваний (7 нозологий), список препаратов, назначаемых по решению врачебной комиссии, список наркотических средств и прекурсоров.

Методы раздела Классификации

• classes?classcode={classcode} – классификатор с кодом classcode.

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

Для получения классификаций реализованы три метода:

• classes_prep – полная классификация перепаратов с расшифровкой классов;

• classes_prep_naked – классификация препаратов в ссылочной форме записи;

• classes_prep_marks – особые признаки препаратов.

Методы допускают ограничение набора данных по нужному классу при помощи параметра classcode и представление набора данных по препарату, определяемому входным параметром prep_id из номенклатурного блока. Кроме того, возможно получение набора данных, состоящего из записей, добавленных или измененных, начиная с даты OnDate по текущий момент, для организации периодических обновлений целевой МИС.

Описания (library)

В разделе Описания реализованы методы доступа к html-статьям, содержащим описания перпаратов, действующих веществ, фармгрупп и т.д. Описания имеют различную структуру, определяемую его типом.

Методы доступа к описаниям 

• library_as_description – описание действующего вещества;

• library_description – описание препарата.

Оперативные данные (operational)

В разделе Оперативные данные представлены наборы данных из различных источников, привязанные к номенклатурному множеству РЛС®.

Методы доступа к оперативным данным

• operational_lp_prices – Реестр предельных цен на ЖНВЛП, зарегистрированных производителями;

• operational_rejectedseries – Реестр забракованных серий.

Сертификат