@garaga2092

Интеграция МИС Инфоклиника с сайтом. Как сформировать soap запрос на php?

Стоит задача интегрировать медицинскую систему на сайт, чтобы пациенты могли сами записываться на прием к врачу через сайт. Обмен данными происходит через soap запросы и ответы. Есть документация, но не совсем понятно как сформировать этот soap запрос, и что передавать в параметрах. Как парсить данные на php примерно понятно, но с запросами раньше не работала. Кто может помочь?
  • Вопрос задан
  • 2337 просмотров
Решения вопроса 2
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Там все написано в документации к этой инфоклинике.
Создаете новый soapclient на основе их wsdl, формируете строку содержащую xml с командой что делать, посылаете её в метод opHl7Message (впрочем от версии к версии метод может меняться)
UPD
Вот например, нужно добавить нового пациента. В документации такой пример вызова функции
<WEB_CLIENT_ADD>
 <MSH>
 <MSH.7>
 <TS.1>20110302184008</TS.1>
 </MSH.7>
 <MSH.9>
 <MSG.1>WEB</MSG.1>
 <MSG.2>CLIENT_ADD</MSG.2>
 </MSH.9>
 <MSH.10>74C0ACA47AFE4CED2B838996B0DF5821</MSH.10>
 <MSH.18>UTF-8</MSH.18>
 </MSH>
 <CLIENT_ADD_IN>
 <LASTNAME>Мосягина</LASTNAME> <!-- Фамилия пациента -->
 <FIRSTNAME>Валентина</FIRSTNAME> <!-- Имя пациента -->
 <MIDNAME>Митрофановна</MIDNAME> <!-- Отчество пациента -->
 <EMAIL>mail@mail.ru</EMAIL> <!-- E-mail -->
 <PHONE>1234567</PHONE> <!-- Телефон пациента -->
 <BDATE>19310215</BDATE> <!-- Дата рождения -->
 <SNILS>123-456-789 64</SNILS> <!-- СНИЛС -->
 <!-- Режим поиска пациента в БД. 1 – поиск по ФИО + Дата рождения, -->
 <!-- 2 – ФИО + Дата рождения + СНИЛС. -->
 <CHECKMODE>2</CHECKMODE>
 </CLIENT_ADD_IN>
</WEB_CLIENT_ADD>


что с этим делать?


$xml  = 'весь ваш xml из примера';

$options = [
	'trace'      => 1,
	'exceptions' => 1,
	'login'      => 'логин',
	'password'   => 'пароль',
];
$client = new SoapClient('url wsdl файла', $options);

$response = $client->__soapCall('opHl7Message', $xml)
Ответ написан
@garaga2092 Автор вопроса
Вот например, нужно добавить нового пациента. В документации такой пример вызова функции 

<WEB_CLIENT_ADD>
 <MSH>
 <MSH.7>
 <TS.1>20110302184008</TS.1>
 </MSH.7>
 <MSH.9>
 <MSG.1>WEB</MSG.1>
 <MSG.2>CLIENT_ADD</MSG.2>
 </MSH.9>
 <MSH.10>74C0ACA47AFE4CED2B838996B0DF5821</MSH.10>
 <MSH.18>UTF-8</MSH.18>
 </MSH>
 <CLIENT_ADD_IN>
 <LASTNAME>Мосягина</LASTNAME> <!-- Фамилия пациента -->
 <FIRSTNAME>Валентина</FIRSTNAME> <!-- Имя пациента -->
 <MIDNAME>Митрофановна</MIDNAME> <!-- Отчество пациента -->
 <EMAIL>mail@mail.ru</EMAIL> <!-- E-mail -->
 <PHONE>1234567</PHONE> <!-- Телефон пациента -->
 <BDATE>19310215</BDATE> <!-- Дата рождения -->
 <SNILS>123-456-789 64</SNILS> <!-- СНИЛС -->
 <!-- Режим поиска пациента в БД. 1 – поиск по ФИО + Дата рождения, -->
 <!-- 2 – ФИО + Дата рождения + СНИЛС. -->
 <CHECKMODE>2</CHECKMODE>
 </CLIENT_ADD_IN>
</WEB_CLIENT_ADD>   


что с этим делать?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AloneCoder
@AloneCoder
[object Object]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы