В данной статье описывается сервис по получению документов электронной системы медицинских осмотров посредством информационной системы АО «Государственное кредитное бюро» (далее - ГКБ), методы запроса данных, примеры входных и выходных SOAP-запросов, возможные ошибки.
Описание сервиса ЭСМО
Сервис ЭСМО предназначен для автоматизации бизнес процессов предприятия, в том числе организации и проведения в реальном времени массовых осмотров , в том числе на удаленном рабочем месте специалиста, с целью выявления признаков воздействия вредных и (или) опасных производственных факторов, состояний и заболеваний, препятствующих выполнению трудовых обязанностей, в том числе алкогольного опьянения и остаточных явлений такого опьянения.
При вызове веб-сервиса обязательно указываются следующие параметры:
- 1. ID и пароль клиента (организации) в HTTP Header, необходимые для базовой аутентификации. Так как коммуникация с веб-сервисами системы идет по защищенному протоколу HTTPS, то базовая аутентификация представляется безопасным решением.
- 2. ID пользователя, от имени которого будет выполнена запрашиваемая операция в SOAP Header:
Http Headers: {Authorization=[Basic jUnB0U3lzdGVtQWNjb3VudDpBbzZVRkdyVTZ2]}
SOAP Message: [Показать ответ]
<syntaxhighlight lang="xml" line="1">
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:data="http://data.gbd.chdb.scb.kz/">
<soapenv:Header>
<userId></userId></soapenv:Header>
<soapenv:Body>
<data:getEsmo>
<requestNumber></requestNumber>
<conclusion_id>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</conclusion_id>
<consentConfirmed></consentConfirmed>
</data:getEsmo>
</soapenv:Body>
</soapenv:Envelope>
Метод GetEsmo
Метод GetEsmo предназначен для получения информации в формате файла
Состав данных запроса
Состав данных запроса: [Показать ответ]
№
|
Наименование
|
Поле
|
Формат
|
Примечание
|
1
|
Индивидуальный идентификационный номер пользователя
|
userId
|
xs:string
|
|
2
|
номер запроса
|
requestNumber
|
xs:string
|
|
3
|
идентификатор заключения
|
conclusion_id
|
xs:string
|
|
4
|
Подтверждение согласия
|
consentConfirmed
|
xs:string
|
1 – согласен
2 – не согласен
|
Состав данных ответа на запрос
Состав данных ответа на запрос: [Показать ответ]
№
|
Наименование
|
Поле
|
Формат
|
1
|
Возврат
|
return
|
xs:string
|
2
|
ответ
|
response
|
xs:string
|
3
|
Информация об ответе
|
responseInfo
|
SyncMessageInfoResponse
|
4
|
Идентификатор сообщения в системе получателя
|
messageId
|
xs:string
|
5
|
Дата ответа в системе получателя запроса
|
responseDate
|
xs:dateTime
|
6
|
Наименование файла
|
file_name
|
xs:string
|
7
|
Код статуса
|
code
|
xs:string
|
8
|
Сообщение о статусе
|
status
|
StatusInfo
|
9
|
Сообщение
|
message
|
xs:string
|
10
|
Объект «Данные сообщения»
|
data
|
xs:Anytype
|
Пример SOAP запроса по методу GetEsmo
Пример SOAP запроса по методу GetEsmo имеет следующий вид: [Показать ответ]
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:data="http://data.gbd.chdb.scb.kz/">
2 <soapenv:Header>
3 <userId>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</userId></soapenv:Header>
4 <soapenv:Body>
5 <data:getEsmo>
6 <requestNumber>номер запроса</requestNumber>
7 <conclusion_id> </conclusion_id>
8 <consentConfirmed>согласие субъекта</consentConfirmed>
9 </data:getEsmo>
10 </soapenv:Body>
11 </soapenv:Envelope>
Примеры SOAP ответа на вызов метода getEsmo
Примеры SOAP ответа на вызов метода getEsmo имеет следующий вид: [Показать ответ]
11. <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
22. <soap:Body>
33. <ns2:getEsmoResponse xmlns:ns2="http://data.gbd.chdb.scb.kz/" xmlns:ns3="http://bip.bee.kz/SyncChannel/v10/Types">
44. <return>
55. <response>
66. <responseInfo>
77. <messageId>Индивидуальный идентификационный номер сообщения</messageId>
88. <responseDate>Дата ответа</responseDate>
99. <status>
1010. <code>КОД</code>
1111. <message>Статус сообщения</message>
1212. </status>
1313. </responseInfo>
1414. <responseData>
1515. <data>
1616. <file_name>Название файла</file_name>
1717. <file>Содержание файла</file>
1818. </data>
1919. </responseData>
2020. </response>
2121. <gbdStatusResponse xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
2222. </return>
2323. </ns2:getEsmoResponse>
2424. </soap:Body>
2525. </soap:Envelope>
Метод GetEsmoInfo
Метод GetEsmoInfo предназначен для предоставления информации по ИИН
Состав данных запроса по методу GetEsmoInfo
Состав данных запроса по методу GetEsmoInfo: [Показать ответ]
№
|
Наименование
|
Поле
|
Формат
|
Примечание
|
1
|
Индивидуальный идентификационный номер пользователя
|
userId
|
xs:string
|
|
2
|
номер запроса
|
requestNumber
|
xs:string
|
|
3
|
Индивидуальный идентификационный номер
|
iin
|
xs:string
|
ИИН должен содержать 12 цифр
|
4
|
Подтверждение согласия
|
consentConfirmed
|
xs:strinh
|
Состав данных ответа по методу GetEsmoInfo
Состав данных ответа по методу GetEsmoInfo: [Показать ответ]
№
|
Наименование
|
Поле
|
Формат
|
1
|
Возврат
|
return
|
xs:string
|
2
|
ответ
|
response
|
xs:string
|
3
|
Информация об ответе
|
responseInfo
|
SyncMessageInfoResponse
|
4
|
Идентификатор сообщения в системе получателя
|
messageId
|
xs:string
|
5
|
Дата ответа в системе получателя запроса
|
responseDate
|
xs:dateTime
|
6
|
Человек
|
person
|
xs:string
|
7
|
Код статуса
|
code
|
xs:string
|
8
|
Сообщение о статусе
|
status
|
StatusInfo
|
9
|
Человек
|
person
|
xs:string
|
10
|
Индивидуальный номер субъекта
|
id
|
xs:string
|
11
|
Фамилия
|
surname
|
xs:string
|
12
|
Имя
|
name
|
xs:string
|
13
|
Отчество
|
Patronymic
|
xs:string
|
14
|
День рождения
|
bithday
|
xs:string
|
15
|
Пол
|
gender
|
xs:string
|
16
|
номер результата
|
result_number
|
xs:string
|
17
|
количество рефералов
|
numbof_referral
|
xs:string
|
18
|
идентификатор региона организации
|
org_region_id
|
xs:string
|
19
|
Название региона организации
|
org_name
|
xs:string
|
20
|
идентификатор организации
|
org_id
|
xs:string
|
21
|
Название организации
|
org_name
|
xs:string
|
22
|
Дата регистрации
|
date_reg
|
responsedata
|
23
|
Целевое время передачи данных
|
aimed_datetime
|
responsedata
|
24
|
дата и время получения результата
|
result_datetime
|
responsedata
|
25
|
Причина заключения
|
reason_conclusion
|
xs:string
|
26
|
Результаты определенные врачом
|
results_certain_doctor
|
xs:string
|
27
|
Идентификационный номер врача
|
certain_doctor_id
|
xs:string
|
28
|
Фамилия врача
|
certain_doctor_surname
|
xs:string
|
29
|
Имя Врача
|
certain_doctor_name
|
xs:string
|
30
|
Отчество врача
|
certain_doctor_patronymic
|
xs:string
|
31
|
ИИН врача
|
when_conclusion_iin
|
xs:string
|
32
|
Фамилия при заключении
|
when_conclusion_surname
|
xs:string
|
33
|
Имя при заключении
|
when_conclusion_name
|
xs:string
|
34
|
Отчество при заключении
|
when_conclusion_patronymic
|
xs:string
|
35
|
Дата рождения при заключении
|
when_conclusion_bithday
|
xs:string
|
36
|
Пол при заключении
|
when_conclusion_gender
|
xs:string
|
Пример SOAP запроса по методу GetEsmoInfo
Пример SOAP запроса по методу GetEsmoInfo: [Показать ответ]
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:data="http://data.gbd.chdb.scb.kz/">
2 <soapenv:Header>
3 <userId>Индивидуальный номер пользователя</userId></soapenv:Header>
4 <soapenv:Body>
5 <data:getEsmoInfo>
6 <requestNumber>Номер запроса</requestNumber>
7 <iin>Индивидуальный идентификационный номер</iin>
8 <consentConfirmed>КОД</consentConfirmed>
9 </data:getEsmoInfo>
10 </soapenv:Body>
11 </soapenv:Envelope>
Пример SOAP ответа на вызов метода GetEsmoInfo
Пример SOAP ответа на вызов метода GetEsmoInfo: [Показать ответ]
1 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2 <soap:Body>
3 <ns2:getEsmoInfoResponse xmlns:ns2="http://data.gbd.chdb.scb.kz/" xmlns:ns3="http://bip.bee.kz/SyncChannel/v10/Types">
4 <return>
5 <response>
6 <responseInfo>
7 <messageId>Индивидуальный идентификационный номер соообщения</messageId>
8 <responseDate>Дата ответа</responseDate>
9 <status>
10 <code>КОД</code>
11 <message>Successful</message>
12 </status>
13 </responseInfo>
14 <responseData>
15 <data>
16 <person>
17 <id>Индивидуальный номер субъекта</id>
18 <iin>ИИН</iin>
19 <surname>Фамилия</surname>
20 <name>имя</name>
21 <patronymic>Отчество</patronymic>
22 <bithday>Дата рождения</bithday>
23 <gender>Пол</gender>
24 </person>
25 <conclusions>
26 <id>Индивидуальный номер субъекта</id>
27 <result_number>номер результата</result_number>
28 <numbof_referral>количество рефералов</numbof_referral>
29 <org_region_id>идентификатор региона организации</org_region_id>
30 <org_region_name>Название региона организации</org_region_name>
31 <org_id>идентификатор организации</org_id>
32 <org_name>Название оргазизации</org_name>
33 <date_reg>Дата регистрации</date_reg>
34 <aimed_datetime>Целевое время передачи данных</aimed_datetime>
35 <result_datetime>дата и время получения результата</result_datetime>
36 <reason_conclusion>Причина Заключения</reason_conclusion>
37 <reason_conclusion_description/>
38 <results_certain_doctor>Результаты определенные врачом</results_certain_doctor>
39 <results_certain_doctor_other/>
40 <certain_doctor_id>Идентификационный номер врача</certain_doctor_id>
41 <certain_doctor_surname>Фамилия врача</certain_doctor_surname>
42 <certain_doctor_name>Имя врача</certain_doctor_name>
43 <certain_doctor_patronymic>Отчество врача</certain_doctor_patronymic>
44 <when_conclusion_iin>ИИН при заключении</when_conclusion_iin>
45 <when_conclusion_surname>Фамилия при заключении</when_conclusion_surname>
46 <when_conclusion_name>Имя при заключении</when_conclusion_name>
47 <when_conclusion_patronymic>Отчество при заключении</when_conclusion_patronymic>
48 <when_conclusion_bithday>Дата рождения при заключении</when_conclusion_bithday>
49 <when_conclusion_gender>Пол при заключении</when_conclusion_gender>
50 </conclusions>
51 </data>
52 </responseData>
53 </response>
54 <gbdStatusResponse xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
55 </return>
56 </ns2:getEsmoInfoResponse>
57 </soap:Body>
58 </soap:Envelope>
Обработка исключений
При обработке запроса метод getAuto может возвращать следующие виды ошибок/исключений: [Показать ответ]
Код ошибки
|
Описание ошибки
|
SBF-VE-8 |
Номер "ИИН" должен содержать 12 цифр |
|
VAL-JSR-001 |
Обязательное поле "ИИН/БИН" отсутствует
|
|
SBF-AD-1
|
Пользователь %s не имеет прав для выполнения действия
|
|
FAULT-015
|
Сервис на стороне ГБД не доступен
|
|
VAL-R-004
|
Для получения отчета необходимо подтвердить согласие субъекта на запрос его данных из ГБД
|