Особенности формирования файла
Наименования элементов должны соответствовать структурам файла – Таблицы.
Пустые элементы (теги) в файл не включаются.
Значения полей
2.1 В столбце «Тип» указана обязательность содержимого элемента (реквизита), один из символов - О, У, а также М. Символы имеют следующий смысл:
О – обязательный реквизит, который должен обязательно присутствовать в элементе;
У – необязательный реквизит, который может, как присутствовать, так и отсутствовать в элементе. При отсутствии, не передается.
М – реквизит, определяющий множественность данных, может добавляться к указанным выше символам.
2.2 В столбце «Формат» для каждого элемента указывается – символ формата и в скобках максимальная длина элемента. Символы формата соответствуют вышеописанным обозначениям:
Т – <текст>;
N – <число>;
D – <дата> в формате ГГГГ-ММ-ДД;
GUID – <идентификатор>;
S – <элемент>; составной элемент, описывается отдельно;
2.3 В столбце «Наименование» указывается наименование элемента.
Особенности кодирования некоторых символов в файлах формата XML:
Символ | Способ кодирования |
двойная кавычка (") | " |
одинарная кавычка (') | ' |
левая угловая скобка (<) | < |
правая угловая скобка (>) | > |
амперсант (&) | & |
Для обмена информацией используется кодировка utf-8.
Формат ответных файлов
Код элемента | Содержание элемента | Тип | Формат | Наименование |
Корневой элемент | ||||
ANSWER |
|
|
|
|
| HEADER | О | S | Заголовок |
| BODY | О | S | Данные |
Заголовок | ||||
HEADER | QUEUE_NAME | O | T | Наименование очереди, куда отправлен пакет |
| TYPE | O | T | Тип пакета (Answer) |
| MESSAGE_ID | O | GUID | Идентификатор сообщения |
Данные | ||||
BODY | RESULTS | OM | S | Результаты |
Результаты | ||||
RESULTS | RESULT | O |
| Результат (ERROR/OK) |
| ERROR_RESULT | УM | S | Список ошибок |
Список ошибок | ||||
ERROR_RESULT | RESULT_CODE | O | N(3) | Код |
| RESULT_NAME | O | T(250) | Текст ошибки |
Примеры:
<ANSWER> <HEADER> <QUEUE_NAME>Promed</QUEUE_NAME> <TYPE>Answer</TYPE> <MESSAGE_ID>A709CAEC-EFFD-7D30-688C-D20F1DFB61F8</MESSAGE_ID> </HEADER> <BODY> <RESULTS> <RESULT>ERROR</RESULT> <ERROR_RESULT> <RESULT_CODE>902</RESULT_CODE> <RESULT_NAME>Элемент "USL_OK" недействителен: значение "22" недействительно с точки зрения его типа данных "V006" — Сбой ограничения MaxInclusive.</RESULT_NAME> </ERROR_RESULT> </RESULTS> </BODY> </ANSWER>
2.
<ANSWER> <HEADER> <QUEUE_NAME>Promed</QUEUE_NAME> <TYPE>Answer</TYPE> <MESSAGE_ID>11CD568D-396E-60A2-17C0-5744719ABF88</MESSAGE_ID> </HEADER> <BODY> <RESULTS> <RESULT>OK</RESULT> </RESULTS> </BODY> </ANSWER>
Коды ошибок
HOSPITALISATION_REFERRAL
Insert | |
1 | Найден дубль направления на госпитализацию |
2 | Застрахованный не найден ни по ФИО и ДР, ни по номеру и серии полиса |
3 | Ошибка идентификации: застрахованный умер |
4 | Не найдено отделение, куда направлен пациент |
5 | Не найдено подразделение МО, направившей на госпитализацию |
6 | Не найдено подразделение МО, куда направлен пациент |
7 | Неверный тип операции. |
CANCEL_HOSPITALIZATION_REFERRAL
Insert | |
1 | Не найдено соответствующее направление на госпитализацию. |
2 | Отмена направления уже существует. |
Delete | |
3 | Не найдено соответствующее направление на госпитализацию. |
Other | |
4 | Неверный тип операции. |
HOSPITALISATION
Insert | |
2 | Ошибка. Госпиализация уже существет |
3 | Застрахованный не найден. |
4 | Не найдено направление на госпитализацию |
5 | Не указан номер направления. |
6 | Не указана дата направления. |
7 | Не указана МО, направившая на госпитализацию. |
8 | Не указан тип документа, подтверждающего факт страхования. |
9 | Не указан номер документа, подтверждающего факт страхования. |
10 | Не указан вид высокотехнологичной медицинской помощи. |
11 | Не указан метод высокотехнологичной медицинской помощи. |
Delete | |
12 | Госпитализация не найдена. |
Update | |
13 | Госпитализация не найдена. |
CANCEL_HOSPITALIZATION
Insert | |
1 | Не найдено соответствующее направление на госпитализацию. |
2 | Отмена госпитализации уже существует. |
Other | |
3 | Неверный тип операции. |
MOTION_IN_HOSPITAL
Insert | |
1 | Не найдена соответствующая госпитализация |
2 | Поле DATE_OUT обязательно для заполнения(TYPE_MOT = 2) |
3 | Поле OUTCOME обязательно для заполнения(TYPE_MOT = 2) |
6 | Неверный тип операции. |
Delete | |
5 | Не найдены соответствующие сведения о выбытии пациента |
Update | |
4 | Не найдены соответствующие сведения о выбытии пациента |