Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Список экспортируемых реестров документов Содержимое тега DOCUMENTS: Тег: PERSONDLO_DOC Уровень вложенности тега: 4 Тип значения: <составной тип, имеет вложенные теги> Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Список персональных данных пациентов. В общем случае наличие тега регламентируется ТФОМС. В частном случае тег PERSONDLO_DOC является обязательным, если в реестре имеются граждане, прибывшие с территории других субъектов РФ, что в свою очередь определяется местом постоянной регистрации граждан (тег OKATO_REG) Содержимое тега PERSONDLO_DOC: Тег: PERSONDLO Уровень вложенности тега: 5 Тип значения: <составной тип, имеет вложенные теги> Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): unbounded (неограниченно) Описание: Персональные данные пациента Атрибуты для PERSONDLO: Имя атрибута: ор Тип значения: rесТуре Описание: Тип передаваемой записи. Используется для указания причины, по которой передается запись. См. раздел "Описание общих типов данных" Содержимое тега PERSONDLO: Тег: SS Уровень вложенности тега: 6 Тип значения: xs:string(14) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Страховой номер индивидуального лицевого счета Пенсионного Фонда РФ (СНИЛС) Тег: S_POL Уровень вложенности тега: 6 Тип значения: xs:string(16) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Серия полиса ОМС Тег: N_POL Уровень вложенности тега: 6 Тип значения: xs:string(16) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Номер полиса ОМС Тег: FAM Уровень вложенности тега: 6 Тип значения: xs:string(40) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Фамилия пациента Тег: IM Уровень вложенности тега: 6 Тип значения: xs:string(40) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Имя пациента Тег: ОТ Уровень вложенности тега: 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_PEG Уровень вложенности тега: 6 Тип значения: xs:decimal(5) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Код территории постоянной регистрации гражданина (по ОКАТО) Тег: D_TYPE Уровень вложенности тега: 6 Тип значения: xs:string(3) Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Признак "Особый случай" (резервное поле) Тег: MEDSERVICE_DOC Уровень вложенности тега: 4 Тип значения: <составной тип, имеет вложенные теги> Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Список оказанных медицинских услуг Содержимое тега MEDSERVICE_РОС: Тег: MEDSERVICE Уровень вложенности тега: 5 Тип значения: <составной тип, имеет вложенные теги> Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): unbounded (неограниченно) Описание: Медицинская услуга, оказанная в поликлинике Атрибуты для MEDSERVICE: Имя атрибута: ор Тип значения: rесТуре Описание: Тип передаваемой записи. Используется для указания причины, по которой передается запись. См. раздел "Описание общих типов данных" Содержимое тега MEDSERVICE: Тег: SS Уровень вложенности тега: 6 Тип значения: xs:string(14) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Страховой номер индивидуального лицевого счета Пенсионного фонда РФ (СНИЛС) Тег: MCOD Уровень вложенности тега: 6 Тип значения: xs:string(7) Тег должен быть указан минимум (раз): 0 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Код ЛПУ в кодировке ТФОМС Тег: S_POL Уровень вложенности тега: 6 Тип значения: xs:string(16) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Серия полиса ОМС Тег: N_POL Уровень вложенности тега: 6 Тип значения: xs:string(16) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Номер полиса ОМС Тег: C_OGRN Уровень вложенности тега: 6 Тип значения: xs:string(15) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: ОГРН ЛПУ, оказана медицинская услуга Тег: N_MK Уровень вложенности тега: 6 Тип значения: xs:string(20) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Номер амбулаторной карты Тег: DATE_P Уровень вложенности тега: 6 Тип значения: xs:date Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Дата оказания услуги Тег: PRVD Уровень вложенности тега: 6 Тип значения: xs:decimal(3) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Код врачебной должности Тег: V_C_OGRN Уровень вложенности тега: 6 Тип значения: xs:string(15) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: ОГРН ЛПУ, где работает врач Тег: PCOD Уровень вложенности тега: 6 Тип значения: xs:string(6) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Код врача (фельдшера) в ЛПУ, где работает врач, указывается без ОГРН ЛПУ Тег: DS Уровень вложенности тега: 6 Тип значения: xs:string(7) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Код диагноза основного заболевания (по МКБ-10) Тег: DS_S Уровень вложенности тега: 6 Тип значения: xs:string(7) Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Код диагноза сопутствующего заболевания (по МКБ-10) Тег: Q_Z Уровень вложенности тега: 6 Тип значения: xs:decimal(1) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Код характера заболевания (заполняется в соответствии со стат. талоном) Тег: C_MU Уровень вложенности тега: 6 Тип значения: xs:string(12) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Код единицы учета медицинской помощи Тег: K_MU Уровень вложенности тега: 6 Тип значения: xs:decimal(5,2) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Количество единиц учета медицинской помощи Тег: RES_G Уровень вложенности тега: 6 Тип значения: xs:decimal(2) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Код результата обращения (заполняется в соответствии со стат. талоном) Тег: S_ALL Уровень вложенности тега: 6 Тип значения: xs:decimal(11,2) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Сумма, предъявленная ЛПУ к оплате (руб./коп.) Тег: K_LR Уровень вложенности тега: 6 Тип значения: xs:integer Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Количество выписанных рецептов. Значение поля = 0 означает, что в данном случае при оказании медицинской помощи рецепт на лекарство гражданину отдельной категории не выписывался Тег: D_TYPE Уровень вложенности тега: 6 Тип значения: xs:string(3) Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: признак Особый случай (резервное поле) в данной версии протокола должно быть пустым 8. АЛГОРИТМ РАСЧЕТА КОНТРОЛЬНОЙ СУММЫ Для расчета контрольной суммы по XML-файлу выделяется строка символов между правой угловой скобкой открывающего тега <MAIN> (не включая ее) и заканчивающаяся и левой угловой скобкой закрывающего тега </MAIN> (не включая ее). Символы пробелов, табуляции, возврата каретки и перевода строки не сохраняются в полученной строке и не участвуют в расчете контрольной суммы. Далее по этой строке ведется подсчет контрольной суммы в соответствии с алгоритмом, указанным в пункте 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? CSNUMBER=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 х у 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, К3); 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 4 к Методическим рекомендациям по организации информационного взаимодействия между участниками лекарственного обеспечения отдельных категорий граждан при обязательном медицинском страховании (с изменениями и дополнениями) от 21 марта 2006 года СПЕЦИФИКАЦИИ ПРОТОКОЛОВ ИНФОРМАЦИОННОГО ВЗАИМОДЕЙСТВИЯ МЕЖДУ ТФОМС И ФОМС Приложение N 4.1 к Методическим рекомендациям по организации информационного взаимодействия между участниками лекарственного обеспечения отдельных категорий граждан при обязательном медицинском страховании (с изменениями и дополнениями) от 21 марта 2006 года СПЕЦИФИКАЦИЯ ПРОТОКОЛА ЭКСПОРТА-ИМПОРТА СВОДНОЙ АНАЛИТИЧЕСКОЙ ИНФОРМАЦИИ ТЕРРИТОРИАЛЬНОЙ ИНТЕГРИРОВАННОЙ БАЗЫ ДАННЫХ ИНФОРМАЦИОННЫХ РЕСУРСОВ ДЛО ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И УСЛОВНЫХ ОБОЗНАЧЕНИЙ ТФОМС Территориальный фонд обязательного медицинского ТФОМС Территориальный фонд обязательного медицинского страхования страхования ФОМС Федеральный фонд обязательного медицинского страхования ФОМС Федеральный фонд обязательного медицинского страхования ЦОД Центр обработки данных ЦОД Центр обработки данных ЛПУ Лечебно-профилактическое учреждение ЛПУ Лечебно-профилактическое учреждение ФО Фармацевтическая организация ФО Фармацевтическая организация АУ Аптечное учреждение АУ Аптечное учреждение ТО ПФР Территориальное отделение пенсионного фонда России ТО ПФР Территориальное отделение пенсионного фонда России ТО УЗ Территориальный орган управления здравоохранения ТО УЗ Территориальный орган управления здравоохранения ВР Врач ВР Врач СНИЛС Страховой номер индивидуального лицевого счета в системе СНИЛС Страховой номер индивидуального лицевого счета в системе персонифицированного учета ПФ РФ персонифицированного учета ПФ РФ РВР Персонифицированный реестр выписанных рецептов в ЛПУ РВР Персонифицированный реестр выписанных рецептов в ЛПУ РОЛС Персонифицированный реестр лекарственных средств, РОЛС Персонифицированный реестр лекарственных средств, отпущенных гражданам отдельных категорий отпущенных гражданам отдельных категорий ОГРН Общероссийский государственный регистрационный номер ОГРН Общероссийский государственный регистрационный номер БД База данных БД База данных СУБД Система управления БД СУБД Система управления БД САИ Сводная аналитическая информация территориальной САИ Сводная аналитическая информация территориальной интегрированной базы данных информационных ресурсов ДЛО интегрированной базы данных информационных ресурсов ДЛО 1. ОБЩИЕ ПОЛОЖЕНИЯ Настоящая спецификация описывает обязательные правила (протокол) экспорта/импорта сводной аналитической информации, сформированной на основе персонифицированных данных территориальной интегрированной базы данных информационных ресурсов ДЛО, и рекомендуемые методики при реализации указанного протокола. 2. ТЕРМИНЫ И ПОНЯТИЯ OLAP - OnLine Analytical Processing, оперативная аналитическая обработка данных. ППО ТФОМС - пакет программного обеспечения, работающий в территориальном фонде обязательного медицинского страхования. ППО ФОМС - пакет программного обеспечения, работающий в Федеральном фонде обязательного медицинского страхования. Экспортер - сторона, передающая собственные данные в соответствии с настоящей спецификацией для другой стороны. Импортер - сторона, принимающая и использующая в своих целях данные, переданные другой стороной. 3. ВЕРСИИ ПРОТОКОЛА Настоящая спецификация определяет протокол версии 3.0. В последующем возможно внесение изменений в описываемый протокол. Изменения протокола формируют соответствующую новую версию протокола. Каждый XML-файл по данному протоколу должен нести внутри себя информацию о версии протокола. 4. ВЗАИМОДЕЙСТВИЕ СТОРОН Обмен данными (экспорт/импорт) между ТФОМС и ФОМС осуществляется на файловом уровне. Данные информационного обмена формируются, хранятся и обрабатываются ППО экспортера и импортера в виде файлов XML формата. Файлы XML формата содержат структурированный набор блоков информации. Каждый блок информации обозначается соответствующим предопределенным набором тегов. Занесение полученной информации в БД, контроль версии протокола, корректность переданной информации осуществляется ППО импортера. Настоящая версия протокола предусматривает только одно направление передачи данных - от ТФОМС в ФОМС. Экспортер данных обязан формировать XML-файлы в соответствии с настоящим протоколом. Экспортер несет ответственность за полноту, достоверность и актуальность передаваемых данных. На импортирующую сторону возлагается ответственность за выполнение всех требуемых проверок по целостности принятых данных. ППО экспортера формирует XML файл сводной аналитической информации на основе персонифицированных данных территориальной интегрированной базы данных информационных ресурсов ДЛО ТФОМС. ППО импортера принимает XML файл сводной аналитической информации, анализирует его на предмет соответствия настоящей спецификации, формирует перечень предупреждений и перечень критичных ошибок (дефектную ведомость), разносит полученные данные в экземпляр аналитической БД ФОМС, формируемой на основе технологии OLAP. 4.1. Назначение Целью обмена информацией является доставка из ТФОМС в ФОМС информации для построения аналитического гиперкуба (многомерного OLAP-куба) мониторинга ДЛО по РФ. Информация представляется ТФОМС в следующих измерениях (разрезах): - ЛПУ; - врач; - категория граждан, имеющих право на государственную социальную помощь в виде набора социальных услуг; - год рождения гражданина; - пол гражданина; - отчетный год и месяц; - код МКБ; - МНН; по следующим показателям: - количество выписанных рецептов за отчетный месяц (по дате выписки рецепта); - количество рецептов, по которым отпущены лекарственные средства за отчетный месяц (по дате отпуска); - отпущенное количество упаковок лекарственного средства за отчетный месяц (по дате отпуска); - сумма по отпущенным ЛС за отчетный месяц (по дате отпуска); - оплаченная сумма по отпущенным ЛС (по дате платежки). По представляемой ТФОМС информации в ФОМС осуществляется аналитический мониторинг ДЛО в разрезе любой комбинации измерений по указанным выше показателям. 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) применяется следующая базовая схема: Тег корневого файла <MAIN chsm=````>. Корневой тег содержит атрибут "chsm" - значение контрольной суммы. Алгоритм расчета контрольной суммы описан в п. 8 данного документа. Тег (обязательный) с идентификатором формата <FORMAT_GUID>, в котором указывается GUID, соответствующий формату. Тег (обязательный) <PROTOCOL>, в котором указывается мнемоника протокола. Тег (обязательный) <VER>, в котором указывается версия формата. Тег <CREATE_BY> (необязательный) содержит наименование программы, создавшей экземпляр файла. Тег <APP_BUILD> (необязательный) содержит номер сборки (версии) программы, создавшей экземпляр файла. Тег <CREATE_TIME> (необязательный) содержит дату и время создания файла. Тег <TITLE> (необязательный) содержит строку со смысловым обозначением формата файла. Тег <ECP> (необязательный) содержит двоичные данные с электронной подписью отправителя. Раздел 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. Форматы применяемых простых типов ---------------------------------------------------------------------- | XSD Тип | Тип данных | Описание | |-------------|-------------|----------------------------------------| | xs:string | Строка | Произвольная строка | |-------------|-------------|----------------------------------------| | xs:integer | Целое число | | |-------------|-------------|----------------------------------------| | xs:decimal | Дробное | "YYYYY.XXX", где YYYY - целая часть, | | | число | XXX - дробная, разделитель целой и | | | | дробной части "." /точка/ | |-------------|-------------|----------------------------------------| | xs:double | Вещественное| Разделитель целой и дробной части "." | | | | /точка/ | |-------------|-------------|----------------------------------------| | xs:date | Дата | "ГГГГ-ММ-ДД", например, 2004-09-12 | |-------------|-------------|----------------------------------------| | xs:dateTime | Дата+время | "ГГГГ-ММ-ДДТЧЧ:ММ:СС" разделитель даты | | | | и времени - латинская Т, например, | | | | 2004-12-31Т23:55:57 | ---------------------------------------------------------------------- 6.2. Производные типы Производный тип: money2 Базовый ТИП: xs:decimal Описание: Тип деньги Производный ТИП: гесТуре Базовый тип: xs:string Возможные значения для типа: - значение: "I" - значение: "U" - значение: "D" Описание: Тип передаваемой записи. Используется для указания причины, по которой передается запись. I - новая запись, U - измененная запись, D - удаленная запись 6.3. Составные типы Составной тип: docFlowInfoType Описание: Раздел информации для файлов, участвующих в экспорте / импорте Вложенные теги: Тег: HOST_GUID Тип значения: xs:string Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: GUID хоста экспортера. Определяется для каждого экспортера (АУ) как константа Тег: TARGET_HOST_GUID Тип значения: xs:string Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: GUID хоста импортера, которому предназначена эта посылка Тег: SEND_GUID Тип значения: xs:string Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: GUID посылки. Создается новый для каждого экземпляра посылки Тег: PREV_SEND_GUID Тип значения: xs:string Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: GUID предыдущей посылки Тег: FILE_NUMBER Тип значения: xs:integer Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Номер файла в посылке. Указывается в случаях, когда посылка разбита на несколько файлов. Нумерация производится начиная с 1. 1, 2, 3 и т.д. Тег: PREV_FILE_NUMBER Тип значения: xs:integer Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Номер предыдущего файла в посылке. Указывается в случаях, когда посылка разбита на несколько файлов. В случае, если файл первый в посылке, тег отсутствует Тег: NEXT_FILE_NUMBER Тип значения: xs:integer Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Номер следующего файла в посылке. Указывается в случаях, когда посылка разбита на несколько файлов. В случае, если файл последний в посылке, тег отсутствует Тег: PACKAGE_NUMBER Тип значения: xs:integer Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Номер посылки. Указывается в случаях, когда посылки нумеруются 7. СТРУКТУРА ФАЙЛОВ В соответствии со спецификацией формата .XML (www.w3.org): - XML файл должен иметь идентифицирующий тег, указывающий на то, что данный файл является файлом XML формата (первый тег XML-файла); - XML файл, а также каждый его блок должен иметь открывающий и закрывающий теги, указывающие на начало и конец содержания XML-файла (блока). В XML-файле должен быть один и только один корневой тег. В настоящем документе везде далее при описании тегов XML файлов знак + (плюс) перед тегом означает, что выделенный таким образом тег имеет вложенные теги. 7.1. Общие требования В тегах с типом значения "xs:dateTime", описывающих дату и время, в случае отсутствия значения (неопределенного) приняты следующие правила: - для тегов (полей), описывающих дату (и время) какого либо события, - значение тега должно быть пустым или "1900-01-01Т00:00:00"; - для тегов (полей), описывающих дату (и время) начала какого либо временного интервала (например, дата включения в справочник), - значение тега должно быть пустым или "1900-01-01Т00:00:00"; - для тегов (полей), описывающих дату (и время) окончания какого либо временного интервала (например, дата исключения из справочника), - значение тега должно быть пустым или "2222-01-01Т00:00:00". Общее описание в табличном виде обрамления файлов экспорта: ---------------------------------------------------------------------- | N | Наименование | Обозначение | Примечания | |-----|---------------------------------|---------------|------------| |1. | Корневой раздел | <MAIN> | <*> | |-----|---------------------------------|---------------|------------| |1.1. | Версия формата | <FORMAT_GUID> | <*> | |-----|---------------------------------|---------------|------------| |1.2. | Мнемоника протокола, к которому | <PROTOCOL> | ANALYSIS_ | | | принадлежит данный файл | | DATA | |-----|---------------------------------|---------------|------------| |1.3. | Версия протокола | <VER> | | |-----|---------------------------------|---------------|------------| |1.4. | Создано программой | <CREATE_BY> | | |-----|---------------------------------|---------------|------------| |1.5. | Версия программы | <APP_BUILD> | <*> | |-----|---------------------------------|---------------|------------| |1.6. | Время создания | <CREATE_TIME> | <*> | |-----|---------------------------------|---------------|------------| |1.7. | Титул протокола | <TITLE> | <*> | |-----|---------------------------------|---------------|------------| |1.8. | Электронная цифровая подпись | <ECP> | <*> | |-----|---------------------------------|---------------|------------| |1.9. | Раздел описания для файлов, | <SENDINFO> | <*> | | | участвующих в экспорте/импорте | | | |-----|---------------------------------|---------------|------------| |1.10.| Передаваемая информация | <DATAMAIN> | <*> | ---------------------------------------------------------------------- -------------------------------- <*> - обязательный тег. Пример общей (заглавной) части XML-файла экспорта данных: <?xml version="1.0" encoding="windows -1251" ?> <MAIN> <FORMAT_GUID>{385407BF-F4B4-4E1E-B774-5D4ED333FBB9}</FORMAT_GUID> <PROTOCOL>ANALYSIS_DATA</PROTOCOL> <VER>3.0</VER> <CREATE_BY>AnlExport - Malibu Library</CREATE_BY> <CREATE_TIME>2005-07-21T15:51:26</CREATE_TIME> <TITLE>Сводная аналитическая информация</TITLE> <ECP></ECP> <SENDINFO> <HOST_GUID>1023101687190[2]</HOST_GUID> <SEND_GUID>{aaab74f4-aaf9-44f9-b10b-8c8fc6bdf93e}</SEND_GUID> <PACKAGE_NUMBER>7</PACKAGE_NUMBER> </SENDINFO> +<DATAMAIN> ... </MAIN> 7.2. Описание структуры XML-документа Тег: MAIN Уровень вложенности тега: 1 (корневой) Тип значения: <составной тип, имеет вложенные теги> Атрибуты для MAIN: Имя атрибута: chsm Тип значения: xs:string Описание: Контрольная сумма содержимого тега MAIN Содержимое тега MAIN: Тег: FORMAT_GUID Уровень вложенности тега: 2 Тип значения: xs:string Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Фиксированное значение тега: {385407BF-F4B4-4E1E-B774-5D4ED333FBB9} Описание: GUID формата файлов. Всегда должен иметь значение {385407BF-F4B4-4E1E-B774-5D4ED333FBB9} для версии 3.0 Тег: PROTOCOL Уровень вложенности тега: 2 Тип значения: xs:string Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Фиксированное значение тега: ANALYSIS_DATA Описание: Мнемоника протокола, к которому принадлежит данный файл. Должен быть ANALYSIS_DATA Тег: VER Уровень вложенности тега: 2 Тип значения: xs:string Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Фиксированное значение тега: 3.0 Описание: Номер версии формата. Данная версия 3.0 Тег: CREATE_BY Уровень вложенности тега: 2 Тип значения: xs:string Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Название программы, создавшей файл Тег: APP_BUILD Уровень вложенности тега: 2 Тип значения: xs:string Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Номер сборки программы, создавшей файл Тег: CREATE_TIME Уровень вложенности тега: 2 Тип значения: xs:dateTime Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Время создания экземпляра файла (например, 2004-10-10Т24:59:59) Тег: TITLE Уровень вложенности тега: 2 Тип значения: xs:string Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Наименование документа. Произвольная строка Тег: ECP Уровень вложенности тега: 2 Тип значения: xs:string Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Электронная цифровая подпись отправителя Тег: SENDINFO Уровень вложенности тега: 2 Тип значения: docFlowlnfoType Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Блок информации для файлов, участвующих в экспортной посылке. См. раздел "Описание общих типов данных" Тег: DATAMAIN Уровень вложенности тега: 2 Тип значения: <составной тип, имеет вложенные теги> Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Составной, содержит блок экспортируемой информации Содержимое тега DATAMAIN: Тег: TFOMS_AI Уровень вложенности тега: 3 Тип значения: <составной тип, имеет вложенные теги> Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Блок аналитической информации по ТФОМС Атрибуты тега TFOMS_AI: Имя атрибута: t_ogrn Тип значения: xs:string Описание: ОГРН ТФОМС Имя атрибута: t_name Тип значения: xs:string Описание: Наименование ТФОМС Имя атрибута: t_okato Тип значения: xs:string Описание: ОКАТО ТФОМС Содержимое тега TFOMS_AI: Тег: LPU_AI Уровень вложенности тега: 4 Тип значения: <составной тип, имеет вложенные теги> Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): unbounded (неограниченно) Описание: Блок аналитической информации по ЛПУ Атрибуты тега LPU_AI: Имя атрибута: l_ogrn Тип значения: xs:string Описание: ОГРН ЛПУ Имя атрибута: l_name Тип значения: xs:string Описание: Наименование ЛПУ Содержимое тега LPU_AI: Тег: DOCTOR_AI Уровень вложенности тега: 5 Тип значения: <составной тип, имеет вложенные теги> Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): unbounded (неограниченно) Описание: Блок аналитической информации по врачу Атрибуты тега DOCTOR_AI: Имя атрибута: d_code Тип значения: xs:string Описание: Код врача. ОГРН ЛПУ основного места работы и через пробел - табельный номер врача по основному месту работы Имя атрибута: d_name Тип значения: xs:string Описание: Фамилия, имя, отчество врача Содержимое тега DOCTOR_AI: Тег: ITOG Уровень вложенности тега: 6 Тип значения: <составной тип, имеет вложенные теги> Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): unbounded (неограниченно) Описание: Блок итоговой аналитической информации Атрибуты тега ITOG: Имя атрибута: kat Тип значения: xs:integer Описание: Код категории граждан, имеющих право на государственную социальную помощь в виде набора социальных услуг. Определяется согласно таблице 9 приложения к Порядку обмена информацией между отделениями Пенсионного фонда РФ и территориальными фондами ОМС - Состав и форматы файлов обмена данными о гражданах, имеющих право на получение государственной социальной помощи, между отделениями Пенсионного фонда России и территориальными фондами обязательного медицинского страхования (версия 4.0) Имя атрибута: ym Тип значения: xs:integer Описание: Отчетный год, месяц. Первые четыре цифры - год, последние две цифры - месяц Имя атрибута: ds Тип значения: xs:string Описание: Код заболевания (по МКБ10) Имя атрибута: ls Тип значения: xs:decimal(13) Описание: Код МНН Имя атрибута: y Тип значения: xs:integer Описание: Год рождения гражданина, указанного в рецепте Имя атрибута: w Тип значения: xs:string Описание: Пол гражданина, указанного в рецепте (М/Ж) Содержимое тега ITOG: Тег: RV Уровень вложенности тега: 7 Тип значения: xs:integer Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Количество выписанных рецептов за отчетный месяц (по дате выписки рецепта) Тег: R Уровень вложенности тега: 7 Тип значения: xs:integer Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Количество рецептов, по которым отпущены лекарственные средства (по сведениям от АУ или предъявленных к оплате - по сведениям ФО) за отчетный месяц (по дате отпуска) Тег: N Уровень вложенности тега: 7 Тип значения: xs:decimal(12,3) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Отпущенное количество упаковок лекарственного средства за отчетный месяц (по дате отпуска) Тег: S Уровень вложенности тега: 7 Тип значения: xs:decimal(11,2) Тег должен быть указан минимум (раз): 1 (обязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Сумма по отпущенным ЛС (по сведениям от АУ или сумма по выставленным счетам - по сведениям ФО) за отчетный месяц (по дате отпуска) Тег: RD Уровень вложенности тега: 7 Тип значения: xs:integer Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Количество рецептов, по которым отпущены лекарственные средства за отчетный месяц (по дате отпуска), отпуск по которым был отложен на срок до 10 дней Тег: RDD Уровень вложенности тега: 7 Тип значения: xs:integer Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Количество рецептов, по которым отпущены лекарственные средства за отчетный месяц (по дате отпуска), отпуск по которым был отложен на срок более 10 дней Тег: SP Уровень вложенности тега: 7 Тип значения: xs:decimal(11,2) Тег должен быть указан минимум (раз): 0 (необязательный) Тег должен быть указан максимум (раз): 1 (уникальный) Описание: Оплаченная сумма по отпущенным ЛС (по дате платежки) 8. АЛГОРИТМ РАСЧЕТА КОНТРОЛЬНОЙ СУММЫ Для расчета контрольной суммы по XML-файлу выделяется строка символов между правой угловой скобкой открывающего тега <MAIN> (не включая ее) и заканчивающаяся и левой угловой скобкой закрывающего тега </MAIN> (не включая ее). Символы пробелов, табуляции, возврата каретки и перевода строки не сохраняются в полученной строке и не участвуют в расчете контрольной суммы. Далее по этой строке ведется подсчет контрольной суммы в соответствии с алгоритмом, указанным в пункте 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? CSNUMBER=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 у 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] = ROL(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) - циклический сдвиг X влево на Y разрядов, где: /\ - логическое "И"; \/ - логическое "Или"; -+ - логическое "Не"; (+) - логическое "Исключающее или". -+ - логическое "Не"; Перед запуском алгоритма хеш-значение должно инициализироваться следующими константами: const HASH HASHFIRST = {0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0}; Замечание: тип int хранит байты в обратном порядке. В приведенном примере минимальной единицей памяти является 32 битный блок, поэтому способ хранения на диске неважен. При побайтовой обработке это следует учитывать. Приложение N 5 к Методическим рекомендациям по организации информационного взаимодействия между участниками лекарственного обеспечения отдельных категорий граждан при обязательном медицинском страховании (с изменениями и дополнениями) от 21 марта 2006 года РЕКОМЕНДУЕМЫЙ НАБОР ТИПОВЫХ ОТЧЕТНЫХ ФОРМ ДЛЯ ЛПУ, АУ И ЦОД 1. ОТЧЕТНЫЕ ФОРМЫ ЛПУ 1.1. Список сформированных и переданных в ЦОД реестров выписанных рецептов. СПИСОК СФОРМИРОВАННЫХ РЕЕСТРОВ ЛПУ: --- ЗА ПЕРИОД С --- ПО --- ------------------------------------------------------------------ | N |N реестра| Дата | Дата | Количество | Количество | |п/п| |начала |окончания| человек | рецептов | | | |реестра| реестра | | | |---|---------|-------|---------|--------------|-----------------| | | | | | | | |---|---------|-------|---------|--------------|-----------------| | | | | | | | |---|---------|-------|---------|--------------|-----------------| | |Итого: | | | | | ------------------------------------------------------------------ 1.2. Данные по выписанным лекарственным средствам. ДАННЫЕ ПО ВЫПИСАННЫМ ЛЕКАРСТВЕННЫМ СРЕДСТВАМ ЛПУ: --- ЗА ПЕРИОД С --- ПО --- ------------------------------------------------------------------ | N | МНН |Всего обслужено| Общее | | п/п | | (человек) | количество | | | | | рецептов | | | | | -- | | | | | \/ | |------|------------------|---------------|----------------------| | | | | | |------|------------------|---------------|----------------------| | |Итого: | | | ------------------------------------------------------------------ 1.3. Список выписанных рецептов льготным категориям граждан. СПИСОК ВЫПИСАННЫХ РЕЦЕПТОВ ЛЬГОТНЫМ КАТЕГОРИЯМ ГРАЖДАН ЛПУ: N --- ЗА ПЕРИОД С --- ПО --- ------------------------------------------------------------------ | N | Дата |Рецепт(серия,| Ф.И.О. |МНН ЛС| Код | Ф.И.О. | |п/п|выписки| номер) | пациента | | врача | врача | |---|-------|-------------|-------------|------|-------|---------| | | | | | | | | |---|-------|-------------|-------------|------|-------|---------| | | | | | | | | ------------------------------------------------------------------ 2. ОТЧЕТНЫЕ ФОРМЫ АПТЕЧНОГО УЧРЕЖДЕНИЯ 2.1. Список обслуженных рецептов льготных категорий граждан. СПИСОК ОБСЛУЖЕННЫХ РЕЦЕПТОВ ЛЬГОТНЫХ КАТЕГОРИЙ ГРАЖДАН АУ N: --- ЗА ПЕРИОД С --- ПО --- --------------------------------------------------------------------- | N | Дата |Рецепт | Ф.И.О. |Название|Код|Код врача|Наименование | |п/п|отпуска|(серия,| пациента | ЛС |ЛС | |ЛПУ | | | |номер) | | | | | | |---|-------|-------|----------|--------|---|---------|-------------| | | | | | | | | | --------------------------------------------------------------------- 2.2. Список лекарственных средств, отпущенных льготным категориям граждан за определенный период. СПИСОК ЛЕКАРСТВЕННЫХ СРЕДСТВ, ОТПУЩЕННЫХ ЛЬГОТНЫМ КАТЕГОРИЯМ ГРАЖДАН АУ N: --- ЗА ПЕРИОД С --- ПО --- --------------------------------------------------------------------------------- | N | Наименование | Количество | Цена| Рецепт | Дата | Стоимость | |п/п| лекарственного| | |-----------|----------------| | | | средства | | |Серия|Номер|Выписки|Отпуска | | |---|---------------|------------|-----|-----|-----|-------|--------|-----------| | | | | | | | | | | |---|---------------|------------|-----|-----|-----|-------|--------|-----------| | | Итого: | | | | | | | | --------------------------------------------------------------------------------- 2.3. Список отложенных рецептов. СПИСОК ОТЛОЖЕННЫХ РЕЦЕПТОВ АПТЕКИ АУ: --- ЗА ПЕРИОД С --- ПО --- ----------------------------------------------------------------------- | N | Серия и номер|СНИЛС| Ф.И.О. |МНН| Дата | Комментарий | | п/п | рецепта | | пациента | |обращения| | |-----|--------------|-----|------------|---|---------|---------------| | | | | | | | | |-----|--------------|-----|------------|---|---------|---------------| | | | | | | | | ----------------------------------------------------------------------- 2.4. Список отпущенных отложенных рецептов. СПИСОК ОТПУЩЕННЫХ ОТЛОЖЕННЫХ РЕЦЕПТОВ АПТЕКИ АУ: --- ЗА ПЕРИОД С --- ПО --- ----------------------------------------------------------------------------- | N | Серия и|СНИЛС| Ф.И.О. | МНН | Дата | Дата | ЛС | Комментарий | |п/п| номер | |пациента | | обращения | отпуска | | | | | рецепта| | | | | | | | |---|--------|-----|---------|-----|-----------|---------|----|-------------| | | | | | | | | | | ----------------------------------------------------------------------------- 2.5. Список сформированных и переданных в ЦОД реестров отпущенных лекарственных средств льготным категориям граждан. СПИСОК СФОРМИРОВАННЫХ РЕЕСТРОВ АУ N: --- ЗА ПЕРИОД С --- ПО --- -------------------------------------------------------------------------- | N | N | Дата | Дата | Количество | Количество | Стоимость | |п/п | реестра| начала | окончания | человек | рецептов | | | | | реестра| реестра | | | | |----|--------|--------|-----------|------------|------------|-----------| | | | | | | | | |----|--------|--------|-----------|------------|------------|-----------| | | Итого: | | | | | | -------------------------------------------------------------------------- 3. ОТЧЕТНЫЕ ФОРМЫ ЦЕНТРА ОБРАБОТКИ ДАННЫХ 3.1. Лекарственные средства (МНН/фарм. группы), отпущенные льготным категориям граждан. ЛЕКАРСТВЕННЫЕ СРЕДСТВА (МНН), ОТПУЩЕННЫЕ ЛЬГОТНЫМ КАТЕГОРИЯМ ГРАЖДАН ЗА ПЕРИОД С --- ПО --- ----------------------------------------------------------------------- | Международное | Общее | Кол-во | Сумма | В % от общей | | епатентованное| кол-во |упаковок| оплаченных | суммы оплаченных | | наименование | рецептов| |рецептов (руб.)| рецептов | |---------------|---------|--------|---------------|------------------| | | | | | | |---------------|---------|--------|---------------|------------------| | того: | | | | | ----------------------------------------------------------------------- ЛЕКАРСТВЕННЫЕ СРЕДСТВА (ФАРМ. ГРУППЫ), ОТПУЩЕННЫЕ ЛЬГОТНЫМ КАТЕГОРИЯМ ГРАЖДАН ЗА ПЕРИОД С --- ПО --- ---------------------------------------------------------------------------- | Фармкологическая | Общее | Кол-во | Сумма | В % от общей | | группа | кол-во | упаковок| оплаченных | суммы оплаченных | | | рецептов| | рецептов (руб.)| рецептов | | | -- | | | | | | \/ | | | | |------------------|---------|---------|----------------|------------------| | | | | | | |------------------|---------|---------|----------------|------------------| | | | | | | |------------------|---------|---------|----------------|------------------| | Итого: | | | | | ---------------------------------------------------------------------------- 3.2. Данные о лекарственном обеспечении льготных категорий граждан по категориям льгот. ДАННЫЕ О ЛЕКАРСТВЕННОМ ОБЕСПЕЧЕНИИ ЛЬГОТНЫХ КАТЕГОРИЙ ГРАЖДАН ЗА ПЕРИОД С --- ПО --- ---------------------------------------------------------------------------- | Категория | Всего | Общее | Кол-во | Сумма | В % от общей | | льготы | обслужено | кол-во |упаковок| оплаченных | суммы оплаченных | | | (чел.) |рецептов| | рецептов | рецептов | | /\ | | | | (руб.) | | | -- | | | | | | |-----------|-----------|--------|--------|-------------|------------------| | | | | | | | |-----------|-----------|--------|--------|-------------|------------------| | Итого: | | | | | | ---------------------------------------------------------------------------- 3.3. Распределение лекарственных средств, отпущенных льготным категориям граждан по группам диагнозов МКБ-10. РАСПРЕДЕЛЕНИЕ ЛЕКАРСТВЕННЫХ СРЕДСТВ, ОТПУЩЕННЫХ ЛЬГОТНЫМ КАТЕГОРИЯМ ГРАЖДАН ЗА ПЕРИОД С -- ПО -- ПО ГРУППАМ ДИАГНОЗОВ МКБ-10 ---------------------------------------------------------------------- | Код | Диагноз | Общее кол-во | Кол-во | Сумма |В % от общей | | | | рецептов | упаковок |оплаченных | суммы | | | | | | рецептов | оплаченных | | | | | | (руб.) | рецептов | |------|---------|--------------|----------|-----------|-------------| | | | | | | | |------|---------|--------------|----------|-----------|-------------| |Итого:| | | | | | ---------------------------------------------------------------------- 3.4. Сводная ведомость по категориям льгот Минздравсоцразвития РФ. СВОДНАЯ ВЕДОМОСТЬ ПО КАТЕГОРИЯМ ЛЬГОТ МЗСР ЗА ПЕРИОД С -- ПО -- -------------------------------------------------------------------------------------------------- | Наименование | Код льготы | Всего | Общее | Кол-во | Сумма | В % от | | МЗСР | | обслужено | кол-во | упаковок| оплаченных | общей | | | | жено | рецептов | | рецептов | суммы | | | | (чел.) | | | (руб.) | оплаченных | | | | | | | | рецептов | |-------------------|------------|------------|----------|---------|-------------|---------------| | Ветераны боевых | 30 | | | | | | | действий | | | | | | | |-------------------|------------|------------|----------|---------|-------------|---------------| | Военнослужащие, | 40 | | | | | | | проход. службу | | | | | | | | не в составе | | | | | | | |-------------------|------------|------------|----------|---------|-------------|---------------| | Дети-инвалиды | 84 | | | | | | |-------------------|------------|------------|----------|---------|-------------|---------------| | Инвалиды | 081 - 083, | | | | | | | | 085 | | | | | | |-------------------|------------|------------|----------|---------|-------------|---------------| | Инвалиды войны | 010 - 012, | | | | | | | | 140 | | | | | | |-------------------|------------|------------|----------|---------|-------------|---------------| | Лица, работ. в | 120 | | | | | | | период ВОВ на | | | | | | | | объектах | | | | | | | |-------------------|------------|------------|----------|---------|-------------|---------------| | Лица, награжд. | 50 | | | | | | | знаком "Жителю | | | | | | | | блок. Ленинграда" | | | | | | | |-------------------|------------|------------|----------|---------|-------------|---------------| | Участники ВОВ | 020, 150 | | | | | | |-------------------|------------|------------|----------|---------|-------------|---------------| | Чернобыльцы | 091 - 102, | | | | | | | | 111 - 113, | | | | | | | | 121 - 125, | | | | | | | | 128, 129, | | | | | | | | 131, 132, | | | | | | | | 141, 142 | | | | | | |-------------------|------------|------------|----------|---------|-------------|---------------| | Члены семей | 060 - 063 | | | | | | | погибших | | | | | | | |--------------------------------|------------|----------|---------|-------------|---------------| | Итого: | | | | | | -------------------------------------------------------------------------------------------------- 3.5. Список выписанных и отпущенных рецептов. СПИСОК ВЫПИСАННЫХ И ОТПУЩЕННЫХ РЕЦЕПТОВ ЗА ПЕРИОД С -- ПО -- ------------------------------------------------------------------------------------------- | N | Рецепт | Наименование| Реестр ЛПУ | Наименование | Реестр АУ | |п/п|-------------------| ЛПУ |-----------------| АУ |-----------------| | |Серия|Номер| Дата | |Номер|Дата | |Номер|Дата | | | | |выписки| | |создания | | |создания | |---|-----|-----|-------|-------------|-----|-----------|---------------|-----|-----------| | | | | | | | | | | | ------------------------------------------------------------------------------------------- 3.6. Список выписанных, но не отпущенных рецептов. СПИСОК ВЫПИСАННЫХ, НО НЕ ОТПУЩЕННЫХ РЕЦЕПТОВ ЗА ПЕРИОД С -- ПО -- ------------------------------------------------------------------------------- | N | Рецепт |МНН |СНИЛС| Код |Наименование | Реестр ЛПУ | |п/п|-----------------------| /\ | | врача |ЛПУ |---------------| | |Серия|Номер|Дата |--- | | | |Номер | Дата | | | | |выписки | | | | | |создания| |---|-----|-----|-----------|----|-----|-------|--------------|------|--------| | | | | | | | | | | | ------------------------------------------------------------------------------- 3.7. Данные о лекарственном обеспечении льготных категорий граждан (половозрастной состав). ДАННЫЕ О ЛЕКАРСТВЕННОМ ОБЕСПЕЧЕНИИ ЛЬГОТНЫХ КАТЕГОРИЙ ГРАЖДАН (ПОЛОВОЗРАСТНОЙ СОСТАВ) ЗА ПЕРИОД С -- ПО -- -------------------------------------------------------------------------------------------- | Возрастная | Всего | Общее кол-во | Кол-во | На сумму | В % от | | группа | обслужено | рецептов | упаковок | (руб.) | общей | | | (чел.) | | | | суммы | | |----------------|----------------|----------------|----------------| | | | мужчины|женщины| мужчины|женщины| мужчины|женщины| мужчины|женщины| | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | До 5-ти | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 5 | | | | | | | | | | | до 10 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 10 | | | | | | | | | | | до 15 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 15 | | | | | | | | | | | до 20 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 20 | | | | | | | | | | | до 25 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 25 | | | | | | | | | | | до 30 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 30 | | | | | | | | | | | до 35 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 35 | | | | | | | | | | | до 40 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 40 | | | | | | | | | | | до 45 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 45 | | | | | | | | | | | до 50 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 50 | | | | | | | | | | | до 55 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 55 | | | | | | | | | | | до 60 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 60 | | | | | | | | | | | до 65 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 65 | | | | | | | | | | | до 70 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 70 | | | | | | | | | | | до 75 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 75 | | | | | | | | | | | до 80 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 80 | | | | | | | | | | | до 85 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 85 | | | | | | | | | | | до 90 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 90 | | | | | | | | | | | до 95 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От 95 | | | | | | | | | | | до 100 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | От | | | | | | | | | | | 100 | | | | | | | | | | | до 105 | | | | | | | | | | | лет | | | | | | | | | | |-------------|--------|-------|--------|-------|--------|-------|--------|-------|--------| | Итого: | | | | | | | | | | -------------------------------------------------------------------------------------------- 3.8. Список отложенных рецептов аптечных учреждений. СПИСОК ОТЛОЖЕННЫХ РЕЦЕПТОВ АПТЕК ЗА ПЕРИОД С -- ПО -- ------------------------------------------------------------------ | N |Серия и |СНИЛС | Ф.И.О. |МНН|Дата |АУ|Комментарий| | п/п | номер | | пациента | |обогащения| | | | |рецепта | | | | | | | |-----|--------|------|------------|---|----------|--|-----------| | | | | | | | | | |-----|--------|------|------------|---|----------|--|-----------| | | | | | | | | | ------------------------------------------------------------------ 3.9. Список отпущенных отложенных рецептов аптечных учреждений. СПИСОК ОТПУЩЕННЫХ ОТЛОЖЕННЫХ РЕЦЕПТОВ АПТЕК ЗА ПЕРИОД С -- ПО -- ---------------------------------------------------------------------------- | N |Серия и |СНИЛС|Ф.И.О. | МНН | Дата | Дата |ЛС |АУ|Комментарий| |п/п| номер | |пациента | | обращения |отпуска| | | | | |рецепта | | | | /\ | | | | | | | | | | | -- | | | | | |---|--------|-----|----------|-----|-----------|-------|---|--|-----------| | | | | | | | | | | | ---------------------------------------------------------------------------- 3.10. Данные об отпущенных лекарственных средствах по ценовым категориям. ДАННЫЕ ОБ ОТПУЩЕННЫХ ЛС ПО ЦЕНОВЫМ КАТЕГОРИЯМ ЗА ПЕРИОД С -- ПО -- --------------------------------------------------------------------------------------- | Категория | Количество | Процент | | |----------------------------------|-------------------------------| | | Рецептов |Упаковок | Стоимость | Рецептов|Упаковок | Стоимость | |------------------|----------|----------|------------|---------|---------|-----------| |0 - 5 руб. | | | | | | | |------------------|----------|----------|------------|---------|---------|-----------| |5 - 15 руб. | | | | | | | |------------------|----------|----------|------------|---------|---------|-----------| |15 - 100 руб. | | | | | | | |------------------|----------|----------|------------|---------|---------|-----------| |100 - 200 руб. | | | | | | | |------------------|----------|----------|------------|---------|---------|-----------| |200 - 350 руб. | | | | | | | |------------------|----------|----------|------------|---------|---------|-----------| |350 - 500 руб. | | | | | | | |------------------|----------|----------|------------|---------|---------|-----------| |500 - 800 руб. | | | | | | | |------------------|----------|----------|------------|---------|---------|-----------| |более 800 руб. | | | | | | | |------------------|----------|----------|------------|---------|---------|-----------| |Итого | | | | | | | --------------------------------------------------------------------------------------- 4. ИНДИВИДУАЛЬНЫЙ ЛИЦЕВОЙ СЧЕТ ГРАЖДАНИНА ПО ДОПОЛНИТЕЛЬНОМУ ЛЕКАРСТВЕННОМУ ОБЕСПЕЧЕНИЮ Индивидуальный лицевой счет гражданина по дополнительному лекарственному обеспечению (ФЗ N 122 от 22.08.2004) --------------------------------------------------------------------------------------------------------------------------------------------------------------- | пациент Фамилия Имя Отчество | | СНИЛС ХХХ-ХХХ-ХХХ XX | | Полис SSSSSS NNNNNNN Льготы | | ---------------------------------------------------- | | дата рождения dd.mm.yyyy | N |Льгота| Наименование|Документ| Дата |Дата | | | |п/п| | док-та | |начала|окончания| | | пол М/Ж | | | | | | | | | Серия номер |---|------|-------------|--------|------|---------| | | документа NNNN NNNNNN |1 | | | | | | | | Дата получения |---|------|-------------|--------|------|---------| | | документа dd.mm.yyyy |2 | | | | | | | | Орган, выдавший ---------------------------------------------------- | | документ наименование | | Получение НСУ 0 | | | | Включен в | | регистр dd.mm.yyyy | | | | Адрес ------------------------------------------------- | | Гражданство Россия | | | |------------------------------------------------------------------------------------------------------------------------------------------------------------ | | | Выписан|Отпущен|Оплачен|МКБ|Серия и|Поликлиника|КЕК|Доктор| Выписано ЛС| Дата | Доз-ка| Кол-во| Аптека| Отпущено ЛС| Дата | Кол-во |Цена| Стоимость| | | | | | на | | номер | | | | | выписки| | | | | отпуска| отпущено| | | | | | | | сумму | |рецепта| | | | | | | | | | | | | | | | |--------|-------|-------|---|-------|-----------|---|------|------------|--------|-------|-------|-------|------------|--------|---------|----|----------| | | | | | | | | | | | | | | | | | | | | | | | |--------|-------|-------|---|-------|-----------|---|------|------------|--------|-------|-------|-------|------------|--------|---------|----|----------| | | | | | | | | | | | | | | | | | | | | | | | |--------|-------|-------|---|-------|-----------|---|------|------------|--------|-------|-------|-------|------------|--------|---------|----|----------| | | | | | | | | | | | | | | | | | | | | | | | |--------|-------|-------|---|-------|-----------|---|------|------------|--------|-------|-------|-------|------------|--------|---------|----|----------| | | | | | | | | | | | | | | | | | | | | | | | |----------------|-------|---|-------|-----------|---|------|------------|--------|-------|-------|-------|------------|--------|---------|----|----------| | | | Итого |0,00 | | | | | | | | | | | | | 0,00 | |0,00 | | |------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |