Законы России
 
Навигация
Популярное в сети
Курсы валют
09.12.2017
USD
59.28
EUR
69.64
CNY
8.96
JPY
0.52
GBP
80.05
TRY
15.35
PLN
16.54
 

ПРИКАЗ ФФОМС ОТ 21.03.2006 N 38 О ВНЕСЕНИИ ИЗМЕНЕНИЙ И ДОПОЛНЕНИЙ В ПРИКАЗ ФОМС ОТ 30.12.2004 N 91 "ОБ ОРГАНИЗАЦИИ ИНФОРМАЦИОННОГО ВЗАИМОДЕЙСТВИЯ ПО ОБЕСПЕЧЕНИЮ НЕОБХОДИМЫМИ ЛЕКАРСТВЕННЫМИ СРЕДСТВАМИ ОТДЕЛЬНЫХ КАТЕГОРИЙ ГРАЖДАН" (В РЕДАКЦИИ ПРИКАЗОВ ФОМС ОТ 24.05.2005 N 51, ОТ 02.08.2005 N 79 И ОТ 29.12.2005 N 131)

По состоянию на ноябрь 2007 года
Стр. 8
 
       Тег: N_POL
       Уровень вложенности тега: 6
       Тип значения: xs:string(16)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Номер полиса ОМС
   
       Тег: FAM
       Уровень вложенности тега: 6
       Тип значения: xs:string(40)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Фамилия пациента
   
       Тег: IM
       Уровень вложенности тега: 6
       Тип значения: xs:string(40)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Имя пациента
   
       Тег: OT
       Уровень вложенности тега: 6
       Тип значения: xs:string(40)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Отчество пациента
   
       Тег: W
       Уровень вложенности тега: 6
       Тип значения: xs:string(1)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Пол (М/Ж)
   
       Тег: DR
       Уровень вложенности тега: 6
       Тип значения: date0
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:  Дата рождения. При неизвестном месяце  рождения  или
   дате в соответствующем поле указывается "00" (пример - 1985-00-00)
   
       Тег: С_КАТ
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(3)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:   Код   категории  гражданина,  имеющего   право   на
   государственную  социальную помощь в виде набора социальных  услуг.
   Определяется  согласно  таблице  9  приложения  к  Порядку   обмена
   информацией   между   отделениями   Пенсионного    фонда    РФ    и
   территориальными  фондами  ОМС - Состав  и  форматы  файлов  обмена
   данными  о  гражданах,  имеющих право на получение  государственной
   социальной  помощи, между отделениями Пенсионного  фонда  России  и
   территориальными  фондами  обязательного  медицинского  страхования
   (версия 4.0)
   
       Тег: S_DOC
       Уровень вложенности тега: 6
       Тип значения: xs:string(8)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Серия документа, удостоверяющего личность
   
       Тег: N_DOC
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(8)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Номер документа, удостоверяющего личность
   
       Тег: C_DOC
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(2)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Тип документа, удостоверяющего личность
   
       Тег: OKATO_OMS
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(5)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Код территории страхования по ОМС по ОКАТО
   
       Тег: QM_OGRN
       Уровень вложенности тега: 6
       Тип значения: xs:string(15)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: ОГРН СМО по ОМС
   
       Тег: OKATO_REG
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(5)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Код территории постоянной регистрации гражданина  (по
   ОКАТО)
   
       Тег: D_TYPE
       Уровень вложенности тега: 6
       Тип значения: xs: string(3)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Признак "Особый случай" (резервное поле)
   
       Тег: POLYCLINICRECIPE_DOC
       Уровень вложенности тега: 4
       Тип значения: <составной тип, имеет вложенные теги>
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Список рецептов
   
       Содержимое тега POLYCLINICRECIPE DОС:
   
       Тег: POLYCLINICRECIPE
       Уровень вложенности тега: 5
       Тип значения: <составной тип, имеет вложенные теги>
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег    должен    быть   указан   максимум   (раз):    unbounded
   (неограниченно)
       Описание: Рецепт, выписанный в поликлинике
       Атрибуты для POLYCLINICRECIPE:
       Имя атрибута: ор
       Тип значения: гесТуре
       Описание:  Тип передаваемой записи. Используется  для  указания
   причины,  по которой передается запись. См. раздел "Описание  общих
   типов данных"
   
       Содержимое тега POLYCLINICRECIPE:
   
       Тег: DATE_VR
       Уровень вложенности тега: 6
       Тип значения: xs:dateTime
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Дата выписки рецепта
   
       Тег: C_OGRN
       Уровень вложенности тега: 6
       Тип значения: xs:string(15)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: ОГРН ЛПУ, где выписан рецепт
   
       Тег: MCOD
       Уровень вложенности тега: 6
       Тип значения: xs:string(7)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Код ЛПУ в кодировке ТФОМС
   
       Тег: V_C_OGRN
       Уровень вложенности тега: 6
       Тип значения: xs:string(15)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: ОГРН ЛПУ, где работает врач
   
       Тег: PCOD
       Уровень вложенности тега: 6
       Тип значения: xs:string(10)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:  Код  врача  (фельдшера) в ЛПУ,  где  работает  врач,
   указывается без ОГРН ЛПУ
   
       Тег: SS
       Уровень вложенности тега: 6
       Тип значения: xs:string(14)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:   Страховой  номер  индивидуального  лицевого   счета
   Пенсионного Фонда РФ (СНИЛС)
   
       Тег: DS
       Уровень вложенности тега: 6
       Тип значения: xs:string(7)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:  Код по Международному Классификатору Болезней  (МКБ-
   10)
   
       Тег: S_LR
       Уровень вложенности тега: 6
       Тип значения: xs:string(14)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Серия рецепта
   
       Тег: N_LR
       Уровень вложенности тега: 6
       Тип значения: xs:long
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Номер рецепта. Лидирующие нули при исполнении импорта
   не учитываются
   
       Тег: C_MNN
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(13)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:   Код  Международного  непатентованного  наименования
   выписанного ЛС, заполняется, если ЛС выписывается в МНН
   
       Тег: C_FINL
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(1)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Источник финансирования (1 - Федеральный, 2 - Субъект
   РФ, 3 - Муниципальный орган)
   
       Тег: DOZ_LS
       Уровень вложенности тега: 6
       Тип значения: xs:string(20)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Дозировка выписанного ЛС
   
       Тег: KV_ALL
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(7,3)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Выписанное количество единиц лекарственной формы ЛС
   
       Тег: SR_DAY
       Уровень вложенности тега: 6
       Тип значения: xs.integer
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Срок действия рецепта (1 - месяц, 2 - две недели)
   
       Тег: PR_LR
       Уровень вложенности тега: 6
       Тип значения: xs:integer
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Процент льготы рецепта (1 - 100%, 2 - 50%)
   
       Тег: Р_КЕК
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(1)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Признак наличия протокола КЭК (0 - нет, 1 - есть)
   
       Тег: С_КАТ
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(3)
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:  Код  категории гражданина, имеющего  право  на  ГСП.
   Определяется  согласно  таблице  9  приложения  к  Порядку   обмена
   информацией   между   отделениями   Пенсионного    фонда    РФ    и
   территориальными  фондами  ОМС - Состав  и  форматы  файлов  обмена
   данными  о  гражданах,  имеющих право на получение  государственной
   социальной  помощи, между отделениями Пенсионного  фонда  России  и
   территориальными  фондами  обязательного  медицинского  страхования
   (версия 4.0)
   
       Тег: C_KATL
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(3)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:  Код категории гражданина, имеющего право на  ГСП,  в
   соответствии   со   столбцом  5  "Таблицы  соответствия   категорий
   граждан, установленных Федеральным законом от 17.07.99 N 178-ФЗ  "О
   государственной социальной помощи" (в редакции Федерального  закона
   от 22.08.04 N 122-ФЗ) ..."
   
       Тег: StatusLPURecipe
       Уровень вложенности тега: 6
       Тип значения: xs:integer
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:  Статус рецепта ЛПУ (1 - выписан, 2 - испорчен,  3  -
   возвращен)
   
       Тег: D_TYPE
       Уровень вложенности тега: 6
       Тип значения: xs:string(3)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:  Признак  Особый  случай (резервное  поле)  в  данной
   версии протокола должно быть пустым
   
       Тег: RecipeGUID
       Уровень вложенности тега: 6
       Тип значения: xs:string
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:  Уникальный идентификатор рецепта (GUID).  ПО  должно
   формировать  уникальный  GUID для каждого нового  рецепта  с  целью
   обеспечения  возможности обновления (изменения) данных рецепта  при
   повторном экспорте рецепта
   
       Тег: NumExport
       Уровень вложенности тега: 6
       Тип значения: xs:integer
       Тег должен быть указан минимум (раз): 1 (обязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:  Номер  выгрузки (редакции),  указывающий  количество
   выгрузок(редакций) данного рецепта (по GUID). Для нового рецепта  -
   0, для исправленного один раз - 1 и т.д.
   
       Тег: DateExport
       Уровень вложенности тега: 6
       Тип значения: xs:dateTime
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:   Дата  предыдущей  (нетекущей)  выгрузки  (редакции)
   данного   рецепта  (по  GUID).  Для  нового  рецепта   -   1900-01-
   01Т00:00:00  или  пустая.  Используется  для  отслеживания  истории
   редактирования
   
       Тег: FLAGS
       Уровень вложенности тега: 6
       Тип значения: xs:integer
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Битовые признаки по рецепту (зарезервировано)
   
       Тег: S_POL
       Уровень вложенности тега: 6
       Тип значения: xs:string(16)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Серия полиса ОМС
   
       Тег: N_POL
       Уровень вложенности тега: 6
       Тип значения: xs:string(16)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Номер полиса ОМС
   
       Тег: C_TRN
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(13)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание:  Код лекарственного средства (выписки)  по  торговому
   наименованию,  заполняется,  если  ЛС  выписывается  по   торговому
   наименованию
   
       Тег: C_LF
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(3)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Код лекарственной формы
   
       Тег: C_DLS
       Уровень вложенности тега: 6
       Тип значения: xs:decimal(3)
       Тег должен быть указан минимум (раз): 0 (необязательный)
       Тег должен быть указан максимум (раз): 1 (уникальный)
       Описание: Код единицы измерения дозировки
   
                 8. АЛГОРИТМ РАСЧЕТА КОНТРОЛЬНОЙ СУММЫ
   
       Для  расчета  контрольной суммы по XML-файлу выделяется  строка
   символов,  между  правой угловой скобкой открывающего  тега  
(не включая ее) и заканчивающаяся и левой угловой скобкой закрывающего тега
(не включая ее). Символы пробелов, табуляции, возврата каретки и перевода строки не сохраняются в полученной строке и не участвуют в расчете контрольной суммы. Далее по этой строке ведется подсчет контрольной суммы в соответствии с алгоритмом, указанным в пункте 8.1 настоящего документа. Полученное значение заносится в атрибут chsm. 8.1. Алгоритм расчета контрольной суммы по строке символов В расчете контрольной суммы по выделенной строке применяется алгоритм Secure Hash Algorithm (SHA) стандарта Secure Hash Standard (SHS). Алгоритм SHA (Secure Hash Algorithm) стандарта безопасного хеширования (Secure Hash Standard, SHS). В зависимости от выходного хеш-значения выделяют следующие виды SHA: SHA1 - выходное значение 160 бит; SHA256 - выходное значение 256 бит; SHA512 - выходное значение 512 бит; SHA384 - выходное значение 384 бита. Стандарт ИСО - ISO/IEC 10118-3:2004 (http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail? CSNTUMBER=39876). Настоящий документ описывает стандарт SHA1. Описание реализации алгоритма SHA1 на языке C++: typedef int HASH[5]; typedef int T512[16]; typedef int T80[80]; typedef int (*LPFNHASH) (int, int, int);// Функции F1, F2, F3 const int K1 = 0x5a827999; const int K2 = 0x6ed9eba1; const int К3 = 0x8f1bbcdc; const int K4 = 0xca62c1d6; unsigned ROL(unsigned a, size_t s) { return a << s | (a >> (sizeof (T)*8 - s)); } int f1 (int x, int y, int z) { return x&y; | (~x)&z; } /\ /\ int f2 (int x, int y, int z) ( return x y z; } int f3 (int x, int y, int z) { return x&y; | x&z; | y&z; } void FillT80(T512 M, T80 W) { size_t t; for(t = 0; t < 16; t++)W[t] = M[t]; /\ /\ /\ for(; t < 80; t++)W[t] = ROL(W[t-3] W[t-8] W[t-14] W[t-16], 1); } void MainStep(T80 W, size_t t, HASH H, LPFNHASH f, int K) { int tmp = ROL(H[0], 5) + f(H[1], H[2], H[3]) + H[4] + W[t] + K; H[4] = H[3]; H[3] = H[2]; H[2] = R0L(H[1], 30); H[1] = H[0]; H[0] = tmp; } void StepSHA(T512 M, HASH Hr) { T80 W; FillT80(M, W); size_t t; HASH H; memcpy(H, Hr, sizeof(HASH)); for(t = 0; t < 20; t++) MainStep(W, t, H, f1, K1); for(; t < 40; t++) MainStep(W, t, H, f2, K2); for(; t < 60; t++) MainStep(W; t, H, f3, K3); for(; t < 80; t++) MainStep(W, t, H, f2, K4); for(size_t i = 0; i < 5; i++) Hr[i] += H[i]; } Функции F1, F2, F3: F1(X,Y,Z) - (X /\ Y) \/ ((-¬X) /\ Z) F2(X,Y,Z) = X (+) Y (+) Z F3(X,Y,Z) = (X /\ Y) \/ (X /\ Z) \/ (Y /\ Z) ROL(X,Y) - циклический сдвиг Х влево на Y разрядов, где: /\ - логическое "И"; \/ - логическое "Или"; -¬ - логическое "Не"; (+) - логическое "Исключающее или". Перед запуском алгоритма хеш-значение должно инициализироваться следующими константами: const HASH HASHFIRST = {0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0}; Замечание: тип int хранит байты в обратном порядке. В приведенном примере минимальной единицей памяти является 32-битный блок, поэтому способ хранения на диске неважен. При побайтовой обработке это следует учитывать. Приложение N 3.2 к Методическим рекомендациям по организации информационного взаимодействия между участниками лекарственного обеспечения отдельных категорий граждан при обязательном медицинском страховании (с изменениями и дополнениями) от 21 марта 2006 года СПЕЦИФИКАЦИЯ ПРОТОКОЛА ЭКСПОРТА-ИМПОРТА ПЕРСОНИФИЦИРОВАННЫХ РЕЕСТРОВ РЕЦЕПТОВ ЛЕКАРСТВЕННЫХ СРЕДСТВ, ОТПУЩЕННЫХ ОТДЕЛЬНЫМ КАТЕГОРИЯМ ГРАЖДАН, И ОТЛОЖЕННЫХ РЕЦЕПТОВ ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И УСЛОВНЫХ ОБОЗНАЧЕНИЙ ТФОМС Территориальный фонд обязательного медицинского страхования ЦОД Центр обработки данных ЛПУ Лечебно-профилактическое учреждение ФО Фармацевтическая организация АУ Аптечное учреждение ТО ПФР Территориальное отделение пенсионного фонда России ТО УЗ Территориальный орган управления здравоохранения ВР Врачи НАС ЛГ Лица, имеющие право на бесплатное дополнительное лекарственное обеспечение СНИЛС Страховой номер индивидуального лицевого счета в системе персонифицированного учета ПФ РФ РВР Персонифицированный реестр выписанных рецептов в ЛПУ РОЛС Персонифицированный реестр лекарственных средств, отпущенных гражданам отдельных категорий БД База данных СУБД Система управления БД 1.ОБЩИЕ ПОЛОЖЕНИЯ Настоящая спецификация описывает обязательные правила (протокол) при экспорте/импорте персонифицированных реестров рецептов лекарственных средств, отпущенных отдельным категориям граждан, и отложенных рецептов, формат передачи данных и рекомендуемые методики при реализации указанного протокола. 2. ТЕРМИНЫ И ПОНЯТИЯ ППО ЦОД - пакет программного обеспечения, работающий в ЦОД. ППО АУ - пакет программного обеспечения, работающий в аптечном учреждении. Персонифицированный реестр рецептов лекарственных средств, отпущенных отдельным категориям граждан - XML файл с данными об отпущенных в аптечном учреждении лекарственных средствах по рецептам, являющимся основаниями для бесплатного получения лекарственного средства. Структура РОЛС определяется далее в настоящем документе. Экспортер - сторона, передающая собственные данные в соответствии с настоящей спецификацией для другой стороны. Импортер - сторона, принимающая и использующая в своих целях данные, переданные другой стороной. 3. ВЕРСИИ ПРОТОКОЛА Настоящая спецификация определяет протокол экспорта/импорта персонифицированных реестров рецептов лекарственных средств, отпущенных отдельным категориям граждан, и отложенных рецептов версии 3.0. В последующем возможно внесение изменений в описываемый протокол. Изменения протокола формируют соответствующую новую версию протокола. Каждый XML-файл по данному протоколу должен нести внутри себя информацию о версии протокола. 4. ВЗАИМОДЕЙСТВИЕ СТОРОН Обмен данными, экспорт/импорт реестров персонифицированного отпуска ЛС осуществляется на файловом уровне, данные информационного обмена формируются, хранятся и обрабатываются ППО импортера и ППО экспортера в виде файлов XML формата. Файлы XML формата содержат структурированный набор блоков информации. Каждый блок информации обозначается соответствующим предопределенным набором тегов. Занесение полученной информации в БД, контроль версии протокола, корректность переданной информации осуществляется ППО импортера. Настоящая версия протокола предусматривает направление передачи данных от АУ к ЦОД, от АУ к ФО, от ФО к ТФОМС (ЦОД). Экспортер данных обязан формировать XML-файлы в соответствии с настоящим протоколом. Экспортер несет ответственность за полноту, достоверность и актуальность передаваемых данных. На импортирующую сторону возлагается ответственность за выполнение всех требуемых проверок по целостности принятых данных. ППО экспортера формирует XML файл реестра отпущенных ЛС по данным локальной БД. ППО импортера принимает РОЛС в виде XML файла, анализирует его на предмет соответствия настоящей спецификации, формирует перечень предупреждений и перечень критичных ошибок по РОЛС (дефектную ведомость), разносит полученные данные в экземпляр БД. 4.1. Атрибутивные характеристики отпущенных рецептов Атрибутивные характеристики отпущенных льготных рецептов - условно постоянные характеристики рецепта. К ним относятся номер и серия рецепта, СНИЛС льготника, код ЛС по номенклатурному наименованию, количество отпущенного ЛС, цена, дата отпуска ЛС и т.д. 4.2. Регулярные обновления Целью обмена информацией является регулярное обновление данных по отпущенным ЛС в БД ЦОД. Регулярные данные, реестр отпущенных ЛС должен формироваться и передаваться в ЦОД с периодичностью, установленной регламентом информационного взаимодействия между участниками территориальной информационной системы дополнительного лекарственного обеспечения отдельных категорий граждан. 5. ОБЯЗАТЕЛЬНЫЕ ПРАВИЛА Настоящая спецификация предусматривает набор обязательных правил при обмене данными между экспортером и импортером. 5.1. Общие правила представления данных в XML формате Здесь и далее используются определения и спецификации, разработанные международным консорциумом по стандартизации The World Wide Web Consortium (W3C) (http://www.w3.org). Структура XML файлов протоколов и других документов описывается с помощью схем (XML Schema), спецификация которых описана (http://www.w3.org/2001/XMLSchema). Схема для каждого вида документа (XML файла) представляется в виде XSD файла. Структура файла Для всех документов (файлов XML) применяется следующая базовая схема: Тег корневого файла
. Корневой тег содержит атрибут "chsm" - значение контрольной суммы. Алгоритм расчета контрольной суммы описан в п. 8 данного документа. Тег (обязательный) с идентификатором формата , в котором указывается GUID, соответствующий формату. Тег (обязательный) , в котором указывается мнемоника протокола. Тег (обязательный) , в котором указывается версия формата. Тег (необязательный) содержит наименование программы, создавшей экземпляр файла. Тег (необязательный) содержит номер сборки (версии) программы, создавшей экземпляр файла. Тег (обязательный) содержит дату и время создания файла. Тег (необязательный) содержит строку со смысловым обозначением формата файла. Тег <ЕСР> (необязательный) содержит строку с электронной подписью отправителя. Раздел SENDINFO (тег <sendinfo>, обязательный) типа docFlowInfoType (определение приведено ниже). Все остальные данные включаются в теге <datamain>, структура которого определяется конкретным форматом. Соответствие протоколу и схеме, проверка контрольной суммы XML файл должен полностью соответствовать схеме, определенной для протокола, к которому относится этот файл. Не соответствующие схеме файлы не подлежат обработке. При обработке файла осуществляется проверка версии протокола, в случае несоответствия обработку проходят только допустимые версии. При создании файла ПО экспортера должно рассчитать и записать контрольную сумму по методике, описанной в пункте "Алгоритм расчета контрольной суммы" настоящего документа. При обработке файла ПО экспортера также должно проверить соответствие содержания файла контрольной сумме по тому же алгоритму. 5.2. Правила формирования посылок Тег SENDINFO с информацией о посылке экспорта/импорта является обязательным. В теге <host_guid> должен быть указан GUID экспортера. GUID экспортера представляет собой символьный идентификатор участника ДЛО, уникальный в пределах территориальной информационной системы дополнительного лекарственного обеспечения отдельных категорий граждан. При обработке файла необходимо провести проверку допустимости приема файла данного протокола от данного экспортера. В качестве GUID хоста в системе используется ОГРН учреждения экспортера. В случае, если у одного учреждения присутствует несколько хостов издателей, например, разные отделения одного лечебно-профилактического учреждения, для уникальности к ОГРН в квадратных или круглых добавляется номер хоста (отделения ЛПУ) внутри данного учреждения. Например: <host_guid>1023101687190[2]</host_guid>. Посылки от одного экспортера должны последовательно нумероваться, и номер посылки указываться в теге <package_number>. ПО экспортера должно исключить возможность формирования двух разных посылок с одним номером от одного экспортера. ПО, осуществляющее импорт посылок, должно контролировать последовательность обработки посылок и исключить возможность нарушения порядка обработки посылок одного экспортера. Для каждой вновь создаваемой посылки экспортер должен определить новый GUID посылки, который должен быть отражен в теге <send_guid>, а также сохранен для последующего использования. ПО, осуществляющее импорт посылок, обязано контролировать уникальность импорта посылок и исключить возможность обработки посылок с одинаковым GUID. В качестве GUID (Global Unique Identifier) посылки должен использоваться Глобальный Уникальный Идентификатор, используемый в операционной системе Microsoft Windows. GUID представляет собой уникальное псевдослучайное 128-битное значение, которое теоретически не должно повториться. Алгоритм генерации GUID основан на аппаратной части компьютера (параметры BIOS, частота процессора, номер сетевой карты и т.д.) и использует случайные показания внутреннего таймера. Эту запись можно определить в виде строки следующего формата: '{хххххххх-хххх-хххх-хххх-хххххххххххх}' В каждой посылке необходимо указывать GUID предыдущей посылки в теге <prev_send_guid>. При обработке файла необходимо обеспечивать правило, по которому посылки должны обрабатываться последовательно, т.е. значение тега <prev_send_guid> должно соответствовать предыдущей принятой посылке. Для первой посылки от экспортера тег <prev_send_guid> имеет пустое значение. В случае, когда посылка разбивается на несколько файлов, в ней необходимо указывать теги <file_number>, <prev_file_number>, <next_file_number>, номер текущего файла, предыдущего и последующего. Все файлы посылки имеют сквозную (в рамках посылки) нумерацию. При обработке многофайловой посылки необходимо соблюсти последовательность обработки файлов. 5.3. Формирование XML-файла РОЛС При формировании XML файла ПО экспортера данных обязано выдержать все требования настоящей спецификации по структуре файла и соответствию его XSD-схеме. После полного формирования файла ППО экспортера обязано проверить сформированный файл на соответствие XSD-схеме. Все данные при формировании файла должны приводиться к форматам, определенным в пункте 6 настоящего документа. Расчет контрольной суммы производится в соответствии с пунктом 8 настоящего документа. 5.4. Контроль версии протокола При приеме РОЛС ППО импортера в первую очередь должно провести проверку по версии протокола, указанной в принимаемом XML файле. XML файлы без указания версии протокола не должны приниматься ППО импортера. ППО импортера также не должно принимать к обработке XML- файлы с неизвестной ему версией протокола ЭИ реестров персонифицированного отпуска ЛС. Перед обработкой данных реестра необходимо выполнить проверку на существование экспортера, от которого получен файл обновления данных. В случае отсутствия информации об экспортере посылка отвергается. 5.5. Контроль структуры файла Следующим шагом при приемке РОЛС должна быть проверка полученного XML-файла на соответствие определенной для версии протокола XSD-схеме. При каком-либо несоответствии ППО импортера должно отвергнуть файл в целом и не пытаться осуществлять импорт полученных данных. Для ППО импортера рекомендуется формировать файл обнаруженных ошибок в полученном XML-файле для разбора возможных конфликтных ситуаций. 5.6. Проверка контрольной суммы До начала исполнения импорта ППО импортера обязано рассчитать контрольную сумму по обрабатываемому XML-файлу в соответствии с алгоритмом, указанным в пункте 8 настоящего документа. Рассчитанная контрольная сумма сравнивается с контрольной суммой, указанной в атрибуте chsm корневого тега <main> XML-файла. При несоответствии рассчитанной и указанной контрольных сумм файл должен считаться дефектным и не приниматься к дальнейшей обработке. 6. ФОРМАТЫ ДАННЫХ При записи данных в XML файлах используются типы данных (форматы представления), описанных в спецификации W3.ORG (http://www.w3.org/2001/XMLSchema). Используются простые базовые типы, производные (путем введения ограничений) от простых типов и комплексные типы. При создании XML файлов необходимо использовать следующие форматы данных: 6.1. Форматы применяемых простых типов ------------T-----------T----------------------------------------¬ ¦ XSD Тип ¦Тип данных ¦ Описание ¦ +-----------+-----------+----------------------------------------+ ¦xs:string ¦Строка ¦Произвольная строка ¦ +-----------+-----------+----------------------------------------+ ¦xs:integer ¦Целое число¦-ХХХХХХХХХХ и +ХХХХХХХХХХ (32 бита) ¦ +-----------+-----------+----------------------------------------+ ¦xs:decimal ¦Дробное ¦"YYYYY.XXX", где YYYY - целая часть, XXX¦ ¦ ¦число ¦- дробная, разделитель целой и дробной ¦ ¦ ¦ ¦части "." /точка/ ¦ +-----------+-----------+----------------------------------------+ ¦xs:double ¦Веществен- ¦Разделитель целой и дробной части "." ¦ ¦ ¦ное ¦/точка/ ¦ +-----------+-----------+----------------------------------------+ ¦xs:date ¦Дата ¦"ГГГГ-ММ-ДД", например, 2004-09-12 ¦ +-----------+-----------+----------------------------------------+ ¦xs:dateTime¦Дата+время ¦"ГГГГ-ММ-ДДТЧЧ:ММ:СС" разделитель даты и¦ ¦ ¦ ¦времени - латинская Т, например, 2004-12¦ ¦ ¦ ¦-31Т23:55:57 ¦ +-----------+-----------+----------------------------------------+ ¦xs:long ¦Целое число¦-ХХХХХХХХХХ и +ХХХХХХХХХХ (64 бита) ¦ L-----------+-----------+----------------------------------------- 6.2. Производные типы Производный тип: money2 Базовый тип: xs:decimal Описание: Тип деньги Производный тип: rесТуре Базовый тип: xs:string Возможные значения для типа: - значение: "I" - значение: "U" - значение: "D" Описание: Тип передаваемой записи. Используется для указания причины, по которой передается запись. I - новая запись, U - измененная запись, D - удаленная запись Производный тип: date0 Базовый тип: xs:string Формат: </pre> <center><div class="pagenav"> <a href="index.htm">1</a> <a href="page2.htm">2</a> <a href="page3.htm">3</a> <a href="page4.htm">4</a> <a href="page5.htm">5</a> <a href="page6.htm">6</a> <a href="page7.htm">7</a> <a href="page8.htm">8</a> <a href="page9.htm">9</a> <a href="page10.htm">10</a> <a href="page11.htm">11</a> <a href="page12.htm">12</a> <a href="page13.htm">13</a> <a href="page14.htm">14</a> <a href="page15.htm">15</a> <a href="page16.htm">16</a> <a href="page17.htm">17</a> <a href="page18.htm">18</a> <a href="page19.htm">19</a> <a href="page20.htm">20</a> </div></center> </td></tr></table> </center><br/> <center><div class="glavnstr"><a href="/index.htm"><<< Главная страница</a></div></center> <h5 align="left"><span>Новости партнеров</span></h5> <div class="blockk"> <div id="DIV_DA_18361"></div> </div> <h5><span>Счетчики</span></h5> <div class="blockk"> <center><!--Rating@Mail.ru COUNTEr--><noscript><a target="_top" href="/"><img src="http://d6.c1.b5.a1.top.list.ru/counter?js=na;id=1382100;t=211" border="0" height="31" width="88" alt="Рейтинг@Mail.ru"/></a></noscript><!--/COUNTER--> <!-- (C) stat24 / Glavnaya stranitsa --> </center> </div> </div></div></td> <td style="width: 5px"> </td> <td style="width: 200px" valign="top"> <div class="topmen"><div class="topment">Популярное в сети</div></div> <div class="menn"><div class="mtopp2"> <div id="DIV_DA_18359"></div> </div></div> <div class="topmen"><div class="topment">Реклама</div></div> <div class="menn"><div class="mtopp"> <center> </center> </div></div> <div class="topmen"><div class="topment">Разное</div></div> <div class="menn"><div class="mtopp"> <center> </center> </div></div> </td> <td style="width: 5px"> </td> </tr> </table> </center> <!--LiveInternet counter--><script type="text/javascript"> document.write("<a href='//www.liveinternet.ru/click' "+ "target=_blank><img src='//counter.yadro.ru/hit?t26.12;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";h"+escape(document.title.substring(0,150))+";"+Math.random()+ "' alt='' title='LiveInternet: number of visitors for today is"+ " shown' "+ "border='0' width='88' height='15'><\/a>") </script><!--/LiveInternet--> <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(53519740, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/53519740" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> </body> </html> <!-- -->