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

Общие принципы
Портал госпитализации имеет единый интерфейс загрузки данных. Для обращения к интерфейсу отправляется запрос вида: 
 #!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 документа движения на портале