GetDiseaseChangesList v2.0

Материал из Справочная система Россельхознадзора
Перейти к навигации Перейти к поиску

Общие сведения

Операция GetDiseaseChangesList предназначена для получения списка изменённых записей о болезнях за период времени. В список попадают записи, дата изменения которых попадает в интервал, указанный в запросе. Записи в списке могут быть не последними и/или не актуальными (last=false, active=false). Выполнение операции заканчивается либо возвратом списка болезней, либо ошибкой, в случае если параметры запроса не корректны или произошла иная ошибка выполнения запроса.

Входные данные

  • параметры выводимого списка;
  • интервал дат, за за который запрашиваются изменения.

Выходные данные

  • список записей о болезнях, изменененных за указанный период времени.

Спецификация запроса

# Название XML-элемента Тип Обязат. Описание (нажмите [...] для отображения дополнительного описания)
001 <ws:getDiseaseChangesListRequest>
002 ···<bs:listOptions> bs:ListOptions [0..1] Параметры запрашиваемого списка.
003 ······<bs:count>10</bs:count> xs:nonNegativeInteger [0..1]

Максимальное запрашиваемое количество объектов в списке.

  • По умолчанию значение 100;
  • Максимально возможное значение 1000.
004 ······<bs:offset>2</bs:offset> xs:nonNegativeInteger [0..1]

Номер элемента, по которому осуществляется смещение первого элемента списка.

  • По умолчанию значение 0.
005 ···</bs:listOptions>
006 ···<bs:updateDateInterval> bs:DataInterval [1..1]

Интервал времени обновления.

  • В список попадают все записи, дата обновлений которых попадает в указанный интервал.
007 ······<bs:beginDate>2017-07-07T00:00:00</bs:beginDate> xs:dateTime [1..1] Начало временного интервала.
008 ······<bs:endDate>2017-07-25T00:00:00</bs:endDate> xs:dateTime [0..1] Конец временного интервала.
009 ···</bs:updateDateInterval>
010 </ws:getDiseaseChangesListRequest>

Спецификация ответа

# Название XML-элемента Тип Обязат. Описание (нажмите [...] для отображения дополнительного описания)
001 <ws:getDiseaseChangesListResponse>
002 ···<dt:diseaseList total="2" offset="0" count="2"> dt:AnimalDiseaseList [1..1]

Список заболеваний.

  • total - всего записей;
  • offset - смещение относительно первого элемента;
  • count - количество выводимых записей.
003 ······<dt:disease> dt:AnimalDisease [0..*] Заболевание.
004 ·········<bs:uuid>UUID</bs:uuid> bs:UUID [1..1] Идентификатор версии заболевания.
005 ·········<bs:guid>GUID</bs:guid> bs:UUID [1..1] Глобальный идентификатор заболевания.
006 ·········<bs:active>true</bs:active> xs:boolean [1..1]

Описывает, является ли запись активной.

  • true - запись активна;
  • false - запись не активна.
007 ·········<bs:last>true</bs:last> xs:boolean [1..1]

Описывает, является ли версия записи последней.

  • true - да;
  • false - нет.
008 ·········<bs:status>100</bs:status> bs:VersionStatus [1..1] Статус версии заболевания.
009 ·········<bs:createDate>2017-07-07T12:00:00</bs:createDate> xs:DateTime [1..1] Дата создания заболевания.
010 ·········<bs:updateDate>2017-07-07T12:00:00</bs:updateDate> xs:DateTime [1..1] Дата изменения заболевания.
011 ·········<bs:previous>UUID</bs:previous> bs:UUID [0..1] Идентификатор предыдущей версии записи реестра заболевания.
012 ·········<bs:next>UUID</bs:next> bs:UUID [0..1] Идентификатор следующей версии записи реестра заболевания.
013 ·········<dt:name>Ящур</dt:name> bs:String255 [1..1] Наименование заболевания.
014 ······</dt:disease>
015 ···</dt:diseaseList>
016 </ws:getDiseaseChangesListResponse>

Описание ошибок

Ошибка Описание
InternalServiceFault Внутренняя ошибка сервиса.
IncorrectRequestFault Некорректный запрос. Происходит в случае, если запрос не соответствует требованиям указанным в xsd.
OffsetOutOfRangeFault Заданный в запросе отступ больше числа записей в результате запроса.

Пример запроса

Запрос списка болезней, измененных за период с 01.01.2017 по текущий день. Вывод первых трёх элементов без смещения.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.vetrf.ru/schema/cdm/registry/ws-definitions/v2" xmlns:bs="http://api.vetrf.ru/schema/cdm/base">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:getDiseaseChangesListRequest>
         <bs:listOptions>
            <bs:count>3</bs:count>
            <bs:offset>0</bs:offset>
         </bs:listOptions>
         <bs:updateDateInterval>
            <bs:beginDate>2017-01-01T00:00:00</bs:beginDate>
         </bs:updateDateInterval>
      </ws:getDiseaseChangesListRequest>
   </soapenv:Body>
</soapenv:Envelope>


Ответ на запрос.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
   <SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
      <v2:getDiseaseChangesListResponse xmlns:bs="http://api.vetrf.ru/schema/cdm/base" xmlns:dt="http://api.vetrf.ru/schema/cdm/dictionary/v2" xmlns:v2="http://api.vetrf.ru/schema/cdm/registry/ws-definitions/v2">
         <dt:diseaseList count="3" total="115" offset="0">
            <dt:disease>
               <bs:uuid>0508d7e7-71ae-4da3-96c8-88d7a68a758f</bs:uuid>
               <bs:guid>0508d7e7-71ae-4da3-96c8-88d7a68a758f</bs:guid>
               <bs:active>true</bs:active>
               <bs:last>true</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2017-08-10T00:00:00+03:00</bs:createDate>
               <bs:updateDate>2017-08-10T00:00:00+03:00</bs:updateDate>
               <dt:name>Цистицеркоз</dt:name>
            </dt:disease>
            <dt:disease>
               <bs:uuid>28ebe838-951a-44a4-8921-19b9ff521658</bs:uuid>
               <bs:guid>28ebe838-951a-44a4-8921-19b9ff521658</bs:guid>
               <bs:active>true</bs:active>
               <bs:last>true</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2017-08-10T00:00:00+03:00</bs:createDate>
               <bs:updateDate>2017-08-10T00:00:00+03:00</bs:updateDate>
               <dt:name>Заразный узелковый дерматит</dt:name>
            </dt:disease>
            <dt:disease>
               <bs:uuid>9101e3df-eea1-11e2-b8ad-8c89a53303ad</bs:uuid>
               <bs:guid>9101e3df-eea1-11e2-b8ad-8c89a53303ad</bs:guid>
               <bs:active>true</bs:active>
               <bs:last>true</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2017-08-10T00:00:00+03:00</bs:createDate>
               <bs:updateDate>2017-08-10T00:00:00+03:00</bs:updateDate>
               <dt:name>Акарапидоз пчел</dt:name>
            </dt:disease>
         </dt:diseaseList>
      </v2:getDiseaseChangesListResponse>
   </SOAP-ENV:Body>
</soapenv:Envelope>