Выгрузка данных
Методы по выгрузке на портал данных медицинской организации
- Общие принципы
- Регистрация филиала медицинского организации
- Выгрузка филиала
- Выгрузка коечного фонда
- Выгрузка направления
- Выгрузка аннулирования направления
- Выгрузка госпитализации
- Выгрузка выписки
- Выгрузка перевода
- Выгрузка телемедицины
Общие принципы
Портал госпитализации имеет единый интерфейс загрузки данных. Для обращения к интерфейсу отправляется запрос вида:
#!php
/udata/data/uploadInterface/{$type}/{$sync}
Параметры:
- $type - тип загружаемых данных [branch, beds, direction и т.д.]
- $sync - режим загрузки данных [1 - синхронный, 0 - асинхронный]
Портал госпитализации поддерживает 2 режима загрузки данных - синхронный и асинхронный. Синхронный метод возвращает результат сразу после выполнения запроса на загрузку данных, асинхронный - после обработки данных сервером очередей.
Асинхронная загрузка
При асинхронной загрузке данных, в формат запроса для корневой ноды root добавляются дополнительные атрибуты:
- key - уникальный идентификатор файла
- ip - IP адрес сервера, на который надо отправить результат загрузки
- port - порт
Пример запроса для асинхронной загрузки
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root key="3400" ip="127.0.0.1" port="30">
...
</root>
Пример ответа при асинхронной загрузке
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="uploadInterface" generation-time="0.098592">
<response>
<code>200</code>
<data>
<key>3400</key>
<is_success>1</is_success>
<id>...</id>
</data>
</response>
</udata>
Синхронная загрузка
При синхронной загрузке данных ответ возвращается сразу после обработки данных в ответ на запрос.
Пример запроса для синхронной загрузки
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
...
</root>
Пример ответа при синхронной загрузке
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="uploadInterface" generation-time="0.098592">
<response>
<code>200</code>
<data>
<is_success>1</is_success>
<id>...</id>
</data>
</response>
</udata>
Какой режим выбрать?
Общие рекомендации сводятся к следующим пунктам:
- Если загрузка данных критична и необходимо максимально быстрое получение ответа используйте синхронный режим.
- Если загрузка данных не критична по скорости получения ответа - используйте асинхронный режим.
Регистрация филиала медицинского организации
Описание
Для регистрации филиала медицинской организации на портале госпитализации нужно передать XML файл с настройками в общий интерфейс загрузки данных. В ответ на регистрацию интерфейс вернет ID медицинской организации на портале и token для дальнейших запросов. Эти данные необходимо сохранить в БД интегрируемой системы
Для доступа к методу применяется BASIC AUTH, логин и пароль выдаются при обращении к службу поддержки
Адрес метода: /udata/data/registryBranch/
Формат загружаемых данных
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root key="3400" ip="127.0.0.1" port="30">
<parent>
<code>080001</code>
<num>1</num>
</parent>
<name>Регистрация МО2</name>
<code>260001</code>
<num>3</num>
<address>Улица Пушника, дом Колотушника</address>
</root>
Элемент | Обязательное | Описание |
---|---|---|
parent/code | нет | реестровый номер головной медицинской организации, 6 символов |
parent/num | нет | код подразделения медицинской организации |
name | да | наименование филиала медицинской организации |
code | да | реестровый номер филиала или медицинской организации, 6 символов |
num | да | код подразделения филиала медицинской организации |
address | да | адрес филиала |
Формат ответа
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="registryBranch" generation-time="4.332759">
<response>
<code>200</code>
<data>
<is_success>1</is_success>
<access>
<token>v2.local.E8H79zjDK3CXCdzYna6XSJ6291zLetUTZktPt41AnBEUq8u6NvwS2ieKtVHOg7AvQhf3CSUy8DKOvAbCV7wKqj5XOg</token>
<id>71</id>
</access>
</data>
</response>
</udata>
Элемент | Описание |
---|---|
code | результат обращения к API |
data/is_success | результат обработки данных |
data/access/token | уникальный токен для филиала |
data/access/id | идентификатор филиала на портале |
Выгрузка филиала
Описание
Метод используется для обновления данных филиала на портале. Для доступа к методу применяется авторизация по токену
Адрес метода: /udata/data/uploadInterface/branch/1
Формат загружаемых данных
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root key="3400" ip="127.0.0.1" port="30">
<parent>
<code>080001</code>
<num>1</num>
</parent>
<name>Регистрация МО2</name>
<code>260001</code>
<num>3</num>
<address>Улица Пушника, дом Колотушника</address>
</root>
Элемент | Обязательное | Описание |
---|---|---|
parent/code | нет | реестровый номер головной медицинской организации, 6 символов |
parent/num | нет | код подразделения медицинской организации |
name | да | наименование филиала медицинской организации |
code | да | реестровый номер филиала или медицинской организации, 6 символов |
num | нет | код подразделения филиала медицинской организации |
address | да | адрес филиала |
Формат ответа
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="uploadInterface" generation-time="0.098592">
<response>
<code>200</code>
<data>
<is_success>1</is_success>
<id>71</id>
</data>
</response>
</udata>
Элемент | Описание |
---|---|
code | результат обращения к API |
data/is_success | результат обработки данных |
data/id | идентификатор филиала на портале |
Выгрузка коечного фонда
Описание
Метод используется для загрузке данных коечного филиала на портале. Для доступа к методу применяется авторизация по токену
Адрес метода: /udata/data/uploadInterface/beds/1
Формат загружаемых данных
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root key="3400" ip="127.0.0.1" port="30">
<items>
<item id="1">
<profile_id>72</profile_id>
<started>2019-07-22</started>
<total>10</total>
<woman>10</woman>
<man>10</man>
<child>10</child>
</item>
<item id="2">
<profile_id>1</profile_id>
<started>2019-07-30</started>
<total>100</total>
<woman>10</woman>
<man>30</man>
<child>0</child>
</item>
</items>
</root>
Элемент | Обязательное | Описание |
---|---|---|
profile_id | да | ID профиля койки # |
started | да | дата начала актуальности данных в формате Y-m-d |
total | да | общее количество мест |
woman | нет | количество женских коек |
man | нет | количество мужских коек |
child | нет | количество детских коек |
Формат ответа
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="uploadInterface" generation-time="0.366723">
<response>
<code>200</code>
<data>
<is_success>1</is_success>
</data>
</response>
</udata>
Элемент | Описание |
---|---|
code | результат обращения к API |
data/is_success | результат обработки данных |
Выгрузка направления
Описание
Метод используется для выгрузки информации о направлении на портале. В случае успешной загрузки, на запрос будет отправлен номер направления, сгенерированный на портале
Адрес метода: /udata/data/uploadInterface/direction/1
Формат загружаемых данных
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root key="3400" ip="127.0.0.1" port="30">
<date>2019-07-22</date>
<form>hospital</form>
<emergency>planned</emergency>
<datein_plan>2019-08-01</datein_plan>
<patient>
<birthday>1991-06-10</birthday>
<sex>м</sex>
<phone>89188892937</phone>
<fname>Петр</fname>
<sname>Ивашов</sname>
<lname>Карлович</lname>
<policy>
<type>enp</type>
<company_code>03107</company_code>
<num>2658800825000197</num>
</policy>
</patient>
<original>
<doctor>
<fio>Храпунов Владимир Игнатович</fio>
<snils>156-564-800 90</snils>
</doctor>
<diagnosis>I60.2</diagnosis>
</original>
<destination>
<branch>
<name>Наименование принимающего МО</name>
<code>080001</code>
<num>7</num>
</branch>
<profiles>
<department>97</department>
<bed>72</bed>
</profiles>
</destination>
</root>
Элемент | Обязательное | Описание |
---|---|---|
date | да | дата выдачи направления в формате Y-m-d |
form | да | форма оказания медицинской помощи # |
emergency | да | экстренность оказания помощи # |
datein_plan | да | дата плановой госпитализации в формате Y-m-d |
num | да | код подразделения филиала медицинской организации |
patient | да | данные пациента |
member | нет | данные представителя пациента |
original | да | нода содержит данные направившего учреждения |
original/doctor/fio | да | ФИО направившего врача |
original/doctor/snils | да | СНИЛС направившего врача |
original/diagnosis | да | код МКБ диагноза, направившего учреждения |
destination | да | нода содержит данные учреждения, в которое направляется пациент |
destination/branch/name | да | наименование филиала медицинской организации |
destination/branch/code | да | реестровый номер филиала или медицинской организации, 6 символов |
destination/branch/num | нет | код подразделения филиала медицинской организации |
destination/profiles/department | да | профиль отделения # |
destination/profiles/bed | да | профиль койки # |
Формат ответа
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="uploadInterface" generation-time="0.903030">
<response>
<code>200</code>
<data>
<is_success>1</is_success>
<id>08000119000010</id>
</data>
</response>
</udata>
Элемент | Описание |
---|---|
code | результат обращения к API |
data/is_success | результат обработки данных |
data/id | уникальный номер направления |
Выгрузка аннулирования направления
Описание
Метод используется для выгрузки информации о аннулировании направления на портале. Для доступа к методу применяется авторизация по токену
Адрес метода: /udata/data/uploadInterface/annulment/1
Формат загружаемых данных
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root key="3400" ip="127.0.0.1" port="30">
<date>2019-08-05</date>
<direction>
<num>08000119000008</num>
<date>2019-07-22</date>
</direction>
<reason>docs</reason>
<source>hospital</source>
<branch>
<name>Наименование МО отменившей направление</name>
<code>080020</code>
<num>3</num>
</branch>
</root>
Элемент | Обязательное | Описание |
---|---|---|
date | да | дата аннулирования в формате Y-m-d |
direction/num | да | номер направления |
direction/date | да | дата направления в формате Y-m-d |
reason | да | GUID или ID причины аннулирования # |
source | да | GUID или ID источника аннулирования # |
branch/name | да | наименование филиала или медицинской организации, отменившей направление |
branch/code | да | реестровый номер филиала медицинской организации, 6 символов |
branch/num | нет | код подразделения филиала медицинской организации |
Формат ответа
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="uploadInterface" generation-time="0.098592">
<response>
<code>200</code>
<data>
<is_success>1</is_success>
<id>1</id>
</data>
</response>
</udata>
Элемент | Описание |
---|---|
code | результат обращения к API |
data/is_success | результат обработки данных |
data/id | идентификатор документа аннулирования на портале |
Выгрузка госпитализации
Описание
Метод используется для выгрузки информации о госпитализации на портале. В случае успешной загрузки, возвращает ID госпитализации на портале
Адрес метода: /udata/data/uploadInterface/hospitalization/1
Формат загружаемых данных
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root key="3400" ip="127.0.0.1" port="30">
<direction>
<num>08000119000008</num>
<date>2019-07-22</date>
</direction>
<form>hospital</form>
<emergency>planned</emergency>
<card>20034</card>
<datein_fact>2019-08-01 13:14:00</datein_fact>
<dateout_plan>2019-08-21</dateout_plan>
<characteristics>
<telemedicine>
<used>true</used>
<date>2019-08-01</date>
<clinic>
<name>Наименование организации</name>
<inn>0000000000</inn>
<type>1</type>
</clinic>
</telemedicine>
</characteristics>
<patient>
<birthday>1991-06-10</birthday>
<sex>м</sex>
<phone>89188892937</phone>
<fname>Петр</fname>
<sname>Ивашов</sname>
<lname>Карлович</lname>
<policy>
<type>enp</type>
<company_code>03107</company_code>
<num>2658800825000197</num>
</policy>
</patient>
<original>
<branch>
<name>Наименование направившего МО</name>
<code>080001</code>
<num>3</num>
</branch>
</original>
<destination>
<profiles>
<department>97</department>
<bed>72</bed>
</profiles>
<diagnosis>I60.2</diagnosis>
</destination>
</root>
Элемент | Обязательное | Описание |
---|---|---|
direction/num | усл. | номер направления. Обязательное поле, если госпитализация не экстренная |
direction/num | усл. | дата выдачи направления в формате Y-m-d. Обязательное поле, если госпитализация не экстренная |
form | да | форма оказания медицинской помощи # |
emergency | да | экстренность оказания помощи # |
card | да | номер карты |
datein_fact | да | дата и время факта госпитализации пациента в формате Y-m-d H:i:s |
dateout_plan | да | дата планового окончания госпитализации в формате Y-m-d |
characteristics/telemedicine | да | использовалась телемедицина |
patient | да | данные пациента |
member | нет | данные представителя пациента |
original | да | нода содержит данные направившего учреждения |
original/branch/name | да | наименование филиала медицинской организации |
original/branch/code | да | реестровый номер филиала или медицинской организации, 6 символов |
original/branch/num | нет | код подразделения филиала медицинской организации |
destination | да | нода содержит данные учреждения, в которое госпитализируется пациент |
destination/profiles/department | да | профиль отделения # |
destination/profiles/bed | да | профиль койки # |
destination/diagnosis | да | код МКБ диагноза приемного отделения |
Формат ответа
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="uploadInterface" generation-time="0.903030">
<response>
<code>200</code>
<data>
<is_success>1</is_success>
<id>50</id>
</data>
</response>
</udata>
Элемент | Описание |
---|---|
code | результат обращения к API |
data/is_success | результат обработки данных |
data/id | ID документа госпитализации на портале |
Выгрузка выписки
Описание
Метод используется для выгрузки информации о выписки пациента из Мо. В случае успешной загрузки, возвращает ID документа движения на портале
Адрес метода: /udata/data/uploadInterface/movement/1
Формат загружаемых данных
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root key="3400" ip="127.0.0.1" port="30">
<date>2019-09-05</date>
<type>moveout</type>
<card>20034</card>
<characteristics>
<telemedicine>
<used>true</used>
<date>2019-08-01</date>
<clinic>
<name>Наименование организации</name>
<inn>0000000000</inn>
<type>1</type>
</clinic>
</telemedicine>
</characteristics>
</root>
Элемент | Обязательное | Описание |
---|---|---|
date | да | дата выписки в формате Y-m-d |
type | да | ID или GUID вида движения # |
card | да | номер карты |
characteristics | нет | особые отметки |
characteristics/clinic/type | нет | Тип организации. 1 - региональная МО, 2 - НИИ |
Формат ответа
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="uploadInterface" generation-time="0.903030">
<response>
<code>200</code>
<data>
<is_success>1</is_success>
<id>1</id>
</data>
</response>
</udata>
Элемент | Описание |
---|---|
code | результат обращения к API |
data/is_success | результат обработки данных |
data/id | ID документа выписки на портале |
Выгрузка перевода
Описание
Метод используется для выгрузки информации о переводе пациента в другую МО или палату. В случае успешной загрузки, возвращает ID документа движения на портале
Адрес метода: /udata/data/uploadInterface/movement/1
Формат загружаемых данных
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root key="3400" ip="127.0.0.1" port="30">
<date>2019-09-01</date>
<type>transfer</type>
<card>20034</card>
<destination>
<branch>
<name>Наименование принимающего МО</name>
080001
<num>7</num>
</branch>
<profiles>
<department>96</department>
<bed>73</bed>
</profiles>
</destination>
</root>
Элемент | Обязательное | Описание |
---|---|---|
date | да | дата выписки в формате Y-m-d |
type | да | ID или GUID вида движения пациента [\#](https://bitbucket.org/panda_tamara/g-storage/wiki/%D0%92%D0%B8%D0%B4%D1%8B%20%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BF%D0%B0%D1%86%D0%B8%D0%B5%D0%BD%D1%82%D0%B0) |
card | да | номер карты |
destination | да | нода содержит данные учреждения, в которое направляется пациент |
destination/branch/name | да | наименование филиала медицинской организации |
destination/branch/code | да | реестровый номер филиала или медицинской организации, 6 символов |
destination/branch/num | нет | код подразделения филиала медицинской организации |
destination/profiles/department | да | ID профиля отделения [\#](https://bitbucket.org/panda_tamara/g-storage/wiki/%D0%9F%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%20%D0%BE%D1%82%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9) |
destination/profiles/bed | да | ID профиля койки [\#](https://bitbucket.org/panda_tamara/g-storage/wiki/%D0%9F%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%20%D0%BA%D0%BE%D0%B5%D0%BA) |
Формат ответа
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="uploadInterface" generation-time="0.903030">
<response>
200
<data>
<is_success>1</is_success>
<id>1</id>
</data>
</response>
</udata>
Элемент | Описание |
---|---|
code | результат обращения к API |
data/is\_success | результат обработки данных |
data/id | ID документа движения на портале |
Выгрузка телемедицины
Описание
Метод используется для выгрузки информации о случае оказания телемедицинской консультации. В случае успешной загрузки, возвращает ID документа
Адрес метода: /udata/data/uploadInterface/telemedicine/1
Формат загружаемых данных
#!xml
<?xml version="1.0" encoding="UTF-8"?>
<root key="3400" ip="127.0.0.1" port="30">
<id>1</id>
<dateout_plan>2019-08-21</dateout_plan>
<card>20034</card>
<patient>
<birthday>1991-06-10</birthday>
<sex>м</sex>
<phone>89188892937</phone>
<fname>Петр</fname>
<sname>Ивашов</sname>
<lname>Карлович</lname>
<policy>
<type>enp</type>
<company_code>03107</company_code>
<num>2658800825000197</num>
</policy>
</patient>
<clinic>
<name>Наименование организации</name>
<inn>0000000000</inn>
<type>1</type>
</clinic>
<characteristics>Проверка</characteristics>
<period>
<from>2019-09-05</from>
<to>2019-09-05</to>
</period>
</root>
Элемент | Обязательное | Описание |
---|---|---|
id | да | Идентификация истории болезни |
dateout_plan | нет | дата выписки в формате Y-m-d |
card | да | Номер карты |
patient | да | Пациент |
clinic | да | Организация, проводившая телемедицину |
characteristics | нет | Особые отметки |
period | да | Период проведения телемедицина |
Формат ответа
#!xml
<?xml version="1.0" encoding="utf-8"?>
<udata xmlns:xlink="http://www.w3.org/TR/xlink" module="data" method="uploadInterface" generation-time="0.903030">
<response>
200
<data>
<is_success>1</is_success>
<id>1</id>
</data>
</response>
</udata>
Элемент | Описание |
---|---|
code | результат обращения к API |
data/is\_success | результат обработки данных |
data/id | ID документа движения на портале |