Выгрузка данных

Методы по выгрузке на портал данных медицинской организации

Общие принципы

Портал госпитализации имеет единый интерфейс загрузки данных. Для обращения к интерфейсу отправляется запрос вида:

#!php

/udata/data/uploadInterface/{$type}/{$sync}

Параметры:

Портал госпитализации поддерживает 2 режима загрузки данных - синхронный и асинхронный. Синхронный метод возвращает результат сразу после выполнения запроса на загрузку данных, асинхронный - после обработки данных сервером очередей.

Асинхронная загрузка

При асинхронной загрузке данных, в формат запроса для корневой ноды root добавляются дополнительные атрибуты:

Пример запроса для асинхронной загрузки

#!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/idID документа движения на портале

Выгрузка телемедицины

Описание

Метод используется для выгрузки информации о случае оказания телемедицинской консультации. В случае успешной загрузки, возвращает 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/idID документа движения на портале