NfyyApiController.class.php 84 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176
  1. <?php
  2. if (!defined('IS_INITPHP')) exit('Access Denied!');
  3. class NfyyApiController extends BaseController {
  4. //科室信息查询接口
  5. //<req><hospitalId>1051</hospitalId><deptId/></req>
  6. public function getDeptInfoAction(){
  7. //==============获得前台请求==============
  8. $input = file_get_contents("php://input"); //接收POST数据
  9. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  10. //==============封装HIS请求==============
  11. $TradeCode = "1012";
  12. $ExtOrgCode = "南方医务通";
  13. $ExtUserID = "NFYWT";
  14. $ClientType = "";
  15. $HospitalId = "";
  16. $DepartmentType = "";
  17. $DepartmentCode = $req->deptId;
  18. //================调用自己WS===============
  19. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><DepartmentType>$DepartmentType</DepartmentType><DepartmentCode>$DepartmentCode</DepartmentCode><ExtUserID>$ExtUserID</ExtUserID></Request>";
  20. $postData = str_replace(' ','%20',$postData);
  21. $wsdl = "http://yygh1.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=QueryDepartment&Input=";
  22. $result = file_get_contents($wsdl.$postData);
  23. Log::soaphis("getDoctorInfo:req\r\n".$postData);
  24. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"QueryDepartment");
  25. Log::soaphis("getDoctorInfo:res\r\n".$res);
  26. $res = simplexml_load_string($res);
  27. //==============处理返回==============
  28. $refxml = "";
  29. $ParentId = "";
  30. $xmldata = $res->Departments->Department;
  31. $refxml .= "<res>";
  32. //$refxml .= "<resultCode>".$res->ResultCode."</resultCode><resultDesc>".$res->ResultContent."</resultDesc>";
  33. //如果为空,则分组出来
  34. //提取相同的分组列表
  35. $arr = array();
  36. foreach($xmldata as $key=>$v){
  37. if($v->ParentId != $ParentId){
  38. $arr[] =$v->ParentId;
  39. $ParentId = $v->ParentId;
  40. }
  41. }
  42. $arr=array_unique($arr);
  43. foreach($arr as $key=>$v){
  44. $refxml .="<deptInfo><deptId>".$v."</deptId><deptName>".$v."</deptName><parentId>-1</parentId><visitAddress></visitAddress><desc></desc></deptInfo>";
  45. }
  46. foreach($xmldata as $key=>$v){
  47. $refxml .="<deptInfo><deptId>".$v->DepartmentCode."</deptId><deptName>".$v->DepartmentName."</deptName><parentId>".$v->ParentId."</parentId><visitAddress>".$v->DepartmentAddress."</visitAddress><desc>".$v->Description."</desc></deptInfo>";
  48. }
  49. $refxml .= "</res>";
  50. echo $refxml;
  51. }
  52. //科室信息查询接口
  53. //<req><hospitalId>1051</hospitalId><deptId/></req>
  54. public function getDoctorInfoAction(){
  55. //==============获得前台请求==============
  56. $input = file_get_contents("php://input"); //接收POST数据
  57. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  58. //==============封装HIS请求==============
  59. $TradeCode = "1013";
  60. $ExtOrgCode = "南方医务通";
  61. $ExtUserID = "NFYWT";
  62. $ClientType = "";
  63. $HospitalId = "";
  64. $DoctorName = $req->doctorId;
  65. $DepartmentCode = $req->deptId;
  66. //================调用自己WS===============
  67. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><ExtUserID>$ExtUserID</ExtUserID><DepartmentCode>$DepartmentCode</DepartmentCode><DoctorName>$DoctorName</DoctorName></Request>";
  68. $postData = str_replace(' ','%20',$postData);
  69. $wsdl = "http://yygh1.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=QueryDoctor&Input=";
  70. $result = file_get_contents($wsdl.$postData);
  71. Log::soaphis("getDoctorInfo:req\r\n".$postData);
  72. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"QueryDoctor");
  73. Log::soaphis("getDoctorInfo:res\r\n".$res);
  74. $res = simplexml_load_string($res);
  75. //==============处理返回==============
  76. $refxml = "";
  77. $xmldata = $res->Doctors->Doctor;
  78. $refxml .= "<res>";
  79. $refxml .= "<resultCode>".$res->ResultCode."</resultCode><resultDesc>".$res->ResultContent."</resultDesc>";
  80. foreach($xmldata as $key=>$v){
  81. $refxml .="<doctorInfo><doctorId>".$v->DoctorCode."</doctorId><doctorName>".$v->DoctorName."</doctorName><deptId>".$v->DepartmentCode."</deptId><Title>".$v->DoctorTitleCode."</Title><Fee>100</Fee><Gender></Gender><Desc>".$v->DoctorSpec."</Desc><ImageUrl>".$v->ImageUrl."</ImageUrl></doctorInfo>";
  82. }
  83. $refxml .= "</res>";
  84. echo $refxml;
  85. }
  86. //医生号源信息查询接口
  87. //<req><hospitalId>1051</hospitalId><deptId>210101</deptId><doctorId>0436</doctorId><startDate>2013-03-22</startDate><endDate>2013-03-29</endDate></req>
  88. public function getRegInfoAction(){
  89. //==============获得前台请求==============
  90. $input = file_get_contents("php://input"); //接收POST数据
  91. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  92. $TradeCode = "1004";
  93. $ExtOrgCode = "南方医务通";
  94. $ExtUserID = "NFYWT";
  95. $ClientType ="";
  96. $HospitalId ="";
  97. $DeptType = "";
  98. $DoctorCode = $req->doctorId;
  99. $SessType = "";
  100. $StartDate = $req->startDate;
  101. $EndDate = $req->endDate;
  102. $RBASSessionCode = "";
  103. $ServiceCode = "";
  104. $StopScheduleFlag = "";
  105. $DepartmentCode = $req->deptId;
  106. $SearchCode = "";
  107. $postData = "<Request><HospitalId>$HospitalId</HospitalId><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ExtUserID>$ExtUserID</ExtUserID><ClientType>$ClientType</ClientType><TradeCode>$TradeCode</TradeCode><DeptType>$DeptType</DeptType><DoctorCode>$DoctorCode</DoctorCode><SessType>$SessType</SessType><StartDate>$StartDate</StartDate><EndDate>$EndDate</EndDate><RBASSessionCode>$RBASSessionCode</RBASSessionCode><ServiceCode>$ServiceCode</ServiceCode><StopScheduleFlag>$StopScheduleFlag</StopScheduleFlag><DepartmentCode>$DepartmentCode</DepartmentCode><SearchCode>$SearchCode</SearchCode></Request>";
  108. $postData = str_replace(' ','%20',$postData);
  109. $wsdl = "http://yygh1.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=QuerySchedule&Input=";
  110. $result = file_get_contents($wsdl.$postData);
  111. Log::soaphis("getRegInfo:req\r\n".$postData);
  112. Log::soaphis("getRegInfo:req\r\n".$result);
  113. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"QuerySchedule");
  114. Log::soaphis("getRegInfo:res\r\n".$res);
  115. $res = simplexml_load_string($res);
  116. //==============处理返回==============
  117. //ScheduleStatus N 才可以预约 没有过滤
  118. $refxml = "";
  119. $refxml .= "<res>";
  120. $refxml .= "<resultCode>".$res->ResultCode."</resultCode><resultDesc>".$res->ResultContent."</resultDesc>";
  121. $refxml .= $res->Schedules->asXML();
  122. $refxml .= "</res>";
  123. echo $refxml;
  124. }
  125. //医生号源分时信息查询接口
  126. //<req><hospitalId>1051</hospitalId><deptId>7034229</deptId><doctorId>446</doctorId><regDate>2013-03-29</regDate><timeFlag>1</timeFlag></req>
  127. public function getTimeRegInfoAction(){
  128. //==============获得前台请求==============
  129. $input = file_get_contents("php://input"); //接收POST数据
  130. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  131. $TradeCode = "10041";
  132. $ExtOrgCode = "南方医务通";
  133. $ExtUserID = "NFYWT";
  134. $ClientType = "";
  135. $HospitalId = "";
  136. $RBASSessionCode = $req->timeFlag;
  137. $ScheduleItemCode = "";
  138. $DepartmentCode = $req->deptId;
  139. $DoctorCode = $req->doctorId;
  140. $ServiceDate = $req->regDate;
  141. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><ExtUserID>$ExtUserID</ExtUserID><DepartmentCode>$DepartmentCode</DepartmentCode><DoctorCode>$DoctorCode</DoctorCode><RBASSessionCode>$RBASSessionCode</RBASSessionCode><ScheduleItemCode>$ScheduleItemCode</ScheduleItemCode><ServiceDate>$ServiceDate</ServiceDate></Request>";
  142. $postData = str_replace(' ','%20',$postData);
  143. $wsdl = "http://yygh1.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=QueryScheduleTimeInfo&Input=";
  144. $result = file_get_contents($wsdl.$postData);
  145. Log::soaphis("getTimeRegInfo:req\r\n".$postData);
  146. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"QueryScheduleTimeInfo");
  147. Log::soaphis("getTimeRegInfo:res\r\n".$res);
  148. $res = simplexml_load_string($res);
  149. //==============处理返回==============
  150. $refxml = "";
  151. $refxml .= "<res>";
  152. //$refxml .= "<resultCode>".$res->ResultCode."</resultCode><resultDesc>".$res->ResultContent."</resultDesc>";
  153. $xmldata = $res->TimeRanges->TimeRange;
  154. foreach($xmldata as $key=>$v){
  155. $refxml .="<timeRegInfo><scheduleCode>".$v->ScheduleItemCode."</scheduleCode><startTime>".$v->StartTime."</startTime><endTime>".$v->EndTime."</endTime><regTotalCount>".$v->AvailableTotalNum."</regTotalCount><regLeaveCount>".$v->AvailableLeftNum."</regLeaveCount></timeRegInfo>";
  156. }
  157. $refxml .= "</res>";
  158. echo $refxml;
  159. }
  160. //医院用户信息绑定就诊卡接口
  161. //<req><hospitalId>1051</hospitalId><userIdCard>440507XXXXXXXX0021</userIdCard><username>XXX</username></req>
  162. public function confirmPatientAction(){
  163. //==============获得前台请求==============
  164. $input = file_get_contents("php://input"); //接收POST数据
  165. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  166. //==============封装HIS请求==============
  167. $TradeCode ="3300";
  168. $ExtOrgCode = "南方医务通";
  169. $ExtUserID = "NFYWT";
  170. $ClientType = "";
  171. $HospitalId = "";
  172. $TransactionId = "";
  173. $TerminalID = "";
  174. $PatientCard = "";
  175. $CardType = "";
  176. $Phone = "";
  177. $IDCardType = "02";
  178. $PatientID = "";
  179. $IDNo = $req->userIdCard;
  180. $PatientName = $req->username;
  181. //================调用自己WS===============
  182. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><ExtUserID>$ExtUserID</ExtUserID><TransactionId>$TransactionId</TransactionId><TerminalID>$TerminalID</TerminalID><PatientCard>$PatientCard</PatientCard><CardType>$CardType</CardType><PatientID>$PatientID</PatientID><Phone>$Phone</Phone><IDCardType>$IDCardType</IDCardType><IDNo>$IDNo</IDNo><PatientName>$PatientName</PatientName></Request>";
  183. $postData = str_replace(' ','%20',$postData);
  184. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=GetPatInfo&Input=";
  185. $result = file_get_contents($wsdl.$postData);
  186. Log::soaphis("confirmPatient:req\r\n".$postData);
  187. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"GetPatInfo");
  188. Log::soaphis("confirmPatient:res\r\n".$res);
  189. try{
  190. $res = simplexml_load_string($res);
  191. //==============处理返回==============
  192. $refxml = "";
  193. if($res->ResultCode=="0")
  194. {
  195. $refxml ="<res><resultCode>0</resultCode><resultDesc>用户存在</resultDesc><birthDay>".$res->DOB."</birthDay><sex>".$res->Sex."</sex><patientId>".$res->PatientID."</patientId><cardId>".$res->CardNo."</cardId><phone>".$res->Mobile."</phone><isOk>1</isOk></res>";
  196. }else{
  197. $refxml ="<res><resultCode>1</resultCode><resultDesc>输入的身份证号和姓名与医院登记不符</resultDesc><patientId></patientId><cardId></cardId><phone></phone><isOk>0</isOk></res>";
  198. }
  199. }catch(Exception $e) {
  200. $refxml ="<res><resultCode>1</resultCode><resultDesc>输入的身份证号和姓名与医院登记不符</resultDesc><patientId></patientId><cardId></cardId><phone></phone><isOk>0</isOk></res>";
  201. }
  202. /*$refxml ="<res><resultCode>0</resultCode><resultDesc>用户存在</resultDesc><birthDay>1986-02-02</birthDay><sex>男</sex><patientId>12345678</patientId><cardId>123456</cardId><phone>18011770185</phone><isOk>1</isOk></res>";
  203. echo $refxml; */
  204. }
  205. //医院用户信息绑定就诊卡接口
  206. //<req><hospitalId>1051</hospitalId><patientId>440507XXXXXXXX0021</patientId><userCard>4401000000000000</userCard></req>
  207. public function cardMoneyAction(){
  208. //==============获得前台请求==============
  209. $input = file_get_contents("php://input"); //接收POST数据
  210. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  211. //==============封装HIS请求==============
  212. $TradeCode ="3300";
  213. $ExtOrgCode = "南方医务通";
  214. $ExtUserID = "NFYWT";
  215. $ClientType = "";
  216. $HospitalId = "";
  217. $TransactionId = "";
  218. $TerminalID = "";
  219. $PatientCard = "";
  220. $CardType = "";
  221. $Phone = "";
  222. $IDCardType = "";
  223. $PatientID = $req->patientId;
  224. $IDNo = "";
  225. $PatientName = "";
  226. //================调用自己WS===============
  227. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><ExtUserID>$ExtUserID</ExtUserID><TransactionId>$TransactionId</TransactionId><TerminalID>$TerminalID</TerminalID><PatientCard>$PatientCard</PatientCard><CardType>$CardType</CardType><PatientID>$PatientID</PatientID><Phone>$Phone</Phone><IDCardType>$IDCardType</IDCardType><IDNo>$IDNo</IDNo><PatientName>$PatientName</PatientName></Request>";
  228. $postData = str_replace(' ','%20',$postData);
  229. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=GetPatInfo&Input=";
  230. $result = file_get_contents($wsdl.$postData);
  231. Log::soaphis("cardMoney:req\r\n".$postData);
  232. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"GetPatInfo");
  233. Log::soaphis("cardMoney:res\r\n".$res);
  234. try{
  235. $res = simplexml_load_string($res);
  236. //==============处理返回==============
  237. $refxml = "";
  238. if($res->ResultCode=="0")
  239. {
  240. $refxml ="<res><resultCode>0</resultCode><resultDesc>查询成功</resultDesc><money>".$res->ParentlifeAccount."</money><isOk>1</isOk></res>";
  241. }else{
  242. $refxml ="<res><resultCode>1</resultCode><resultDesc>$res->ResultContent</resultDesc><money></money><isOk>0</isOk></res>";
  243. }
  244. }catch(Exception $e) {
  245. $refxml ="<res><resultCode>1</resultCode><resultDesc>系统出错</resultDesc><money></money><isOk>0</isOk></res>";
  246. }
  247. echo $refxml;
  248. }
  249. //医院用户信息绑定就诊卡接口
  250. //<req> <hospitalId>1051</hospitalId><userIdCard>440507XXXXXXXX0021</userIdCard><username>XXX</username><gender>F</gender><userCard>4401000000000000</userCard></req>
  251. public function confirmCardAction(){
  252. //==============获得前台请求==============
  253. $input = file_get_contents("php://input"); //接收POST数据
  254. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  255. //==============封装HIS请求==============
  256. $TradeCode ="3300";
  257. $ExtOrgCode = "南方医务通";
  258. $ExtUserID = "NFYWT";
  259. $ClientType = "";
  260. $HospitalId = "";
  261. $TransactionId = "";
  262. $TerminalID = "";
  263. $PatientCard = $req->userCard;
  264. $CardType = "02";
  265. $Phone = "";
  266. $IDCardType = "";
  267. $PatientID = "";
  268. $IDNo = $req->userIdCard;
  269. $PatientName = $req->username;
  270. //================调用自己WS===============
  271. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><ExtUserID>$ExtUserID</ExtUserID><TransactionId>$TransactionId</TransactionId><TerminalID>$TerminalID</TerminalID><PatientCard>$PatientCard</PatientCard><CardType>$CardType</CardType><PatientID>$PatientID</PatientID><Phone>$Phone</Phone><IDCardType>$IDCardType</IDCardType><IDNo>$IDNo</IDNo><PatientName>$PatientName</PatientName></Request>";
  272. $postData = str_replace(' ','%20',$postData);
  273. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=GetPatInfo&Input=";
  274. $result = file_get_contents($wsdl.$postData);
  275. Log::soaphis("confirmCard:req\r\n".$postData);
  276. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"GetPatInfo");
  277. Log::soaphis("confirmCard:res\r\n".$res);
  278. try{
  279. $res = simplexml_load_string($res);
  280. //==============处理返回==============
  281. $refxml = "";
  282. if($res->ResultCode=="0")
  283. {
  284. if($PatientName==strval($res->PatientName)){
  285. $refxml ="<res><resultCode>0</resultCode><resultDesc>用户存在</resultDesc><patientId>".$res->PatientID."</patientId><isOk>1</isOk></res>";
  286. }else{
  287. $refxml ="<res><resultCode>1</resultCode><resultDesc>姓名或身份证与医院信息不对,请到医院补录后,再绑定</resultDesc><patientId></patientId><isOk>0</isOk></res>";
  288. }
  289. }else{
  290. $refxml ="<res><resultCode>1</resultCode><resultDesc>病人信息不存在或信息不全,请到医院补录后,再绑定</resultDesc><patientId></patientId><isOk>0</isOk></res>";
  291. }
  292. }catch(Exception $e) {
  293. $refxml ="<res><resultCode>1</resultCode><resultDesc>系统出错</resultDesc><money></money><isOk>0</isOk></res>";
  294. }
  295. echo $refxml;
  296. }
  297. //<req><hospitalId>{I_hospitalId}</hospitalId><userIdCard>{D_idNo}</userIdCard><username>{D_trueName}</username><sex>{D_sex}</sex><birthDay>{D_birthDay}</birthDay><phone>{D_phone}</phone><nation>{D_nation}</nation></req>
  298. //新建病人主索引(3014,3011)
  299. public function createPatientAction(){
  300. //==============获得前台请求==============
  301. $input = file_get_contents("php://input"); //接收POST数据
  302. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  303. $TradeCode = "3014";
  304. $ExtUserID = "NFYWT";
  305. $PatientType = "07";
  306. $PatientName = $req->username;
  307. $Sex = (strval($req->sex) == "男" ? "1":"2");
  308. $DOB = $req->birthDay;
  309. $MaritalStatus = "";
  310. $Nation = "";
  311. $Occupation = "";
  312. $Nationality = "";
  313. $IDType ="01";
  314. $IDNo = $req->userIdCard;
  315. $Address = $req->address;
  316. $AddressLocus = "";
  317. $Zip ="";
  318. $Company = "";
  319. $CompanyAddr = "";
  320. $CompanyZip = "";
  321. $CompanyTelNo = "";
  322. $TelephoneNo = "";
  323. $Mobile = $req->phone;
  324. $ContactName = "";
  325. $ContactAddress = "";
  326. $Relation = "";
  327. $Zip = "";
  328. $ContactTelNo = "";
  329. $InsureCardFlag = "";
  330. $InsureCardNo= "";
  331. //================调用自己WS===============
  332. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtUserID>$ExtUserID</ExtUserID><PatientType>$PatientType</PatientType><PatientName>$PatientName</PatientName><Sex>$Sex</Sex><DOB>$DOB</DOB><MaritalStatus>$MaritalStatus</MaritalStatus><Nation>$Nation</Nation><Occupation>$Occupation</Occupation><Nationality>$Nationality</Nationality><IDType>$IDType</IDType><IDNo>$IDNo</IDNo><Address>$Address</Address><AddressLocus>$AddressLocus</AddressLocus><Zip>$Zip</Zip><Company>$Company</Company><CompanyAddr>$CompanyAddr</CompanyAddr><CompanyZip>$CompanyZip</CompanyZip><CompanyTelNo>$CompanyTelNo</CompanyTelNo><TelephoneNo>$TelephoneNo</TelephoneNo><Mobile>$Mobile</Mobile><ContactName>$ContactName</ContactName><ContactAddress>$ContactAddress</ContactAddress><Relation>$Relation</Relation><ContactTelNo>$ContactTelNo</ContactTelNo><InsureCardFlag>$InsureCardFlag</InsureCardFlag><InsureCardNo>$InsureCardNo</InsureCardNo></Request>";
  333. $postData = str_replace(' ','%20',$postData);
  334. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=SavePatientCard&Input=";
  335. $result = file_get_contents($wsdl.$postData);
  336. Log::soaphis("createPatient:req\r\n".$postData);
  337. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"SavePatientCard");
  338. Log::soaphis("createPatient:res\r\n".$res);
  339. $res = simplexml_load_string($res);
  340. //==============处理返回==============
  341. $refxml .= "<res>";
  342. if($res->ResultCode=="0") {
  343. $refxml .="<resultCode>0</resultCode>";
  344. }
  345. else{
  346. $refxml .="<resultCode>1</resultCode>";
  347. }
  348. $refxml .="<resultDesc>".$res->ResultContent."</resultDesc><patientId>".$res->PatientID."</patientId>";
  349. $refxml .= "</res>";
  350. echo $refxml;
  351. }
  352. //<req><orderId>1477445948625197</orderId><hospitalId>1000</hospitalId><scheduleCode>1803</scheduleCode><deptId>425</deptId><doctorId>1803</doctorId>
  353. //<regDate>2016-10-27</regDate><timfFlag>S</timfFlag><startTime>08:30</startTime><endTime>09:00</endTime><userIdCard>445122198607155233</userIdCard>
  354. //<userName>陈礼洪</userName><userAddress></userAddress><userGender>M</userGender><userMobile>18011770183</userMobile><userBirthday>1986-07-15</userBirthday>
  355. //<operIdCard>445122198607155233</operIdCard><operName>陈礼洪</operName><operMobile>陈礼洪</operMobile><patType>0</patType><patCardId>33043014</patCardId>
  356. //<orderTime>2016-10-26 09:39:07</orderTime><fee>100</fee><treatfee>300</treatfee></req>
  357. //预约(1000)
  358. public function addOrderAction(){
  359. //==============获得前台请求==============
  360. $input = file_get_contents("php://input"); //接收POST数据
  361. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  362. //==============封装HIS请求==============
  363. $TradeCode = "1000";
  364. $ExtOrgCode = "南方医务通";
  365. $ExtUserID = "NFYWT";
  366. $ClientType = "";
  367. $HospitalId ="";
  368. $TransactionId = $req->orderId;
  369. $ScheduleItemCode = $req->scheduleCode;
  370. $CardType = "02";
  371. $CredTypeCode ="01";
  372. $IDCardNo =$req->userIdCard;
  373. $TelePhoneNo = "";
  374. $MobileNo = $req->userMobile;
  375. $PatientName = $req->userName;
  376. $PayFlag ="";
  377. $PayModeCode ="";
  378. $PayBankCode = "";
  379. $PayCardNo ="";
  380. $PayFee =strval(((float)(strval($req->RegFee))/100)+((float)(strval($req->CheckupFee))/100));
  381. $PayInsuFee ="";
  382. $PayInsuFeeStr="";
  383. $PayTradeNo ="";
  384. $LockQueueNo ="";
  385. $Gender ="";
  386. $Address ="";
  387. $HISApptID ="";
  388. $SeqCode ="";
  389. $AdmitRange ="";
  390. $StartTime =$req->startTime;
  391. $EndTime =$req->endTime;
  392. $PatientID = $req->patCardId;
  393. //================调用自己WS===============
  394. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><ExtUserID>$ExtUserID</ExtUserID><TransactionId>$TransactionId</TransactionId><ScheduleItemCode>$ScheduleItemCode</ScheduleItemCode><CardNo>$CardNo</CardNo><CardType>$CardType</CardType><CredTypeCode>$CredTypeCode</CredTypeCode><IDCardNo>$IDCardNo</IDCardNo><TelePhoneNo>$TelePhoneNo</TelePhoneNo><MobileNo>$MobileNo</MobileNo><PatientName>$PatientName</PatientName><PayFlag>$PayFlag</PayFlag><PayModeCode>$PayModeCode</PayModeCode><PayBankCode>$PayBankCode</PayBankCode><PayCardNo>$PayCardNo</PayCardNo><PayFee>$PayFee</PayFee><PayInsuFee>$PayInsuFee</PayInsuFee><PayInsuFeeStr>$PayInsuFeeStr</PayInsuFeeStr><PayTradeNo>$PayTradeNo</PayTradeNo><LockQueueNo>$LockQueueNo</LockQueueNo><Gender>$Gender</Gender><Address>$Address</Address><HISApptID>$HISApptID</HISApptID><SeqCode>$SeqCode</SeqCode><AdmitRange>$AdmitRange</AdmitRange><StartTime>$StartTime</StartTime><EndTime>$EndTime</EndTime><PatientID>$PatientID</PatientID></Request>";
  395. $postData = str_replace(' ','%20',$postData);
  396. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=BookService&Input=";
  397. $result = file_get_contents($wsdl.$postData);
  398. Log::soaphis("addOrder:req\r\n".$postData);
  399. /*$wsdl = "yygh2.wsdl";//webservice服务的地址
  400. $client=new SoapClient($wsdl);
  401. $param = array(array("Input"=>$postData));
  402. $result = $client->__soapCall('BookService', $param);
  403. $res = reset($result); */
  404. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"BookService");
  405. Log::soaphis("addOrder:res\r\n".$res);
  406. $res = simplexml_load_string($res);
  407. //==============处理返回==============
  408. $refxml = "";
  409. $refxml .= "<res>";
  410. if($res->ResultCode=="0") {
  411. $refxml .="<resultCode>0</resultCode>";
  412. }
  413. else{
  414. $refxml .="<resultCode>1</resultCode>";
  415. }
  416. $refxml .="<resultDesc>".$res->ResultContent."</resultDesc><orderIdHIS>".$res->OrderCode."</orderIdHIS><seqCode>".$res->SeqCode."</seqCode><regFee>".$res->RegFee."</regFee><admitRange>".$res->AdmitRange."</admitRange><admitAddress>".$res->AdmitAddress."</admitAddress><orderContent>".$res->OrderContent."</orderContent><transactionId>".$res->TransactionId."</transactionId>";
  417. $refxml .= "</res>";
  418. echo $refxml;
  419. /* $refxml .= "<res>";
  420. $refxml .="<resultCode>0</resultCode>";
  421. $refxml .="<resultDesc>成功</resultDesc><orderIdHIS>11233</orderIdHIS><seqCode>11</seqCode><regFee>5</regFee><admitRange>1</admitRange><admitAddress>2</admitAddress><orderContent>3</orderContent><transactionId>4</transactionId>";
  422. $refxml .= "</res>";
  423. echo $refxml; */
  424. }
  425. //<req><hospitalId>1051</hospitalId><orderId>91303204249270</orderId><orderIdHis>91303204249270</orderIdHis><cancelTime>2013-03-22 10:50:06</cancelTime><cancelReason>临时有事</cancelReason></req>
  426. public function cancelOrderAction(){
  427. //==============获得前台请求==============
  428. $input = file_get_contents("php://input"); //接收POST数据
  429. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  430. //<Request><TradeCode>1108</TradeCode><ExtOrgCode>南方医务通</ExtOrgCode><ClientType></ClientType><HospitalId></HospitalId><ExtUserID>NFYWT</ExtUserID><TransactionId></TransactionId><OrderCode>2700||599||1</OrderCode></Request>
  431. //==============封装HIS请求==============
  432. $TradeCode ="1108";
  433. $ExtOrgCode = "南方医务通";
  434. $ExtUserID = "NFYWT";
  435. $ClientType = "";
  436. $HospitalId = "";
  437. $TransactionId =$req->orderId;
  438. $OrderCode =$req->orderIdHis;
  439. //================调用自己WS===============
  440. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><ExtUserID>$ExtUserID</ExtUserID><TransactionId>$TransactionId</TransactionId><OrderCode>$OrderCode</OrderCode></Request>";
  441. $postData = str_replace(' ','%20',$postData);
  442. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=CancelOrder&Input=";
  443. $result = file_get_contents($wsdl.$postData);
  444. Log::soaphis("cancelOrder:req\r\n".$postData);
  445. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"CancelOrder");
  446. Log::soaphis("cancelOrder:res\r\n".$res);
  447. /* Log::soaphis("cancelOrder:req\r\n".$postData);
  448. $wsdl = "yygh2.wsdl";//webservice服务的地址
  449. $client=new SoapClient($wsdl);
  450. $param = array(array("Input"=>$postData));
  451. $result = $client->__soapCall('CancelOrder', $param);
  452. $res = reset($result);
  453. Log::soaphis("cancelOrder:res\r\n".$res); */
  454. $res = simplexml_load_string($res);
  455. //==============处理返回==============
  456. $refxml = "";
  457. $refxml .= "<res>";
  458. if($res->ResultCode=="0") {
  459. $refxml .="<resultCode>0</resultCode>";
  460. }
  461. else{
  462. $refxml .="<resultCode>1</resultCode>";
  463. }
  464. $refxml .="<resultDesc>".$res->ResultContent."</resultDesc>";
  465. $refxml .= "</res>";
  466. echo $refxml;
  467. }
  468. /// <req>
  469. /// <hospitalId>1051</hospitalId><orderId>91303224689772</orderId><orderIdHis>91303224689772</orderIdHis><patientId>91303224689772</patientId><orderIdPAY>91303224689772</orderIdPAY>
  470. /// <payCardNum>002373</payCardNum><payAmout>700</payAmout>
  471. /// <payMode>4</payMode><payTime>2013-03-22 10:57:43</payTime><payRespCode>0</payRespCode><payRespDesc/>
  472. /// </req>
  473. //病人取号确认(2001)
  474. public function payOrderAction(){
  475. //==============获得前台请求==============
  476. $input = file_get_contents("php://input"); //接收POST数据
  477. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  478. //<Request><TradeCode>1108</TradeCode><ExtOrgCode>南方医务通</ExtOrgCode><ClientType></ClientType><HospitalId></HospitalId>
  479. //<ExtUserID>NFYWT</ExtUserID><OrgHISTradeNo></OrgHISTradeNo><PayCardNo></PayCardNo><RevTranFlag>0</RevTranFlag><BankDate></BankDate>
  480. //<BankAccDate></BankAccDate><PayModeCode>CPP</PayModeCode><TransactionId></TransactionId><BankTradeNo></BankTradeNo>
  481. //<PayDate>2016-09-23</PayDate><PayTime>20160923114046</PayTime><PayTradeStr></PayTradeStr><OrderCode>23||223||1</OrderCode>
  482. //<BankCode></BankCode><ResultCode></ResultCode><OrgPaySeqNo></OrgPaySeqNo><PayInsuFeeStr></PayInsuFeeStr><PayAmt></PayAmt>
  483. //<ResultContent></ResultContent><PatientID>33043014</PatientID><PayOrderId>20160923114046</PayOrderId></Request>
  484. //==============封装HIS请求==============
  485. $TradeCode = "2001";
  486. $ExtOrgCode = "南方医务通";
  487. $ExtUserID = "NFYWT";
  488. $ClientType = "";
  489. $HospitalId = "";
  490. $OrderCode = $req->orderIdHis;
  491. $PatientID = $req->patientId;
  492. $PayOrderId = "";
  493. $PayAmt = strval((float)(strval($req->payAmout))/100);
  494. $PayModeCode = "CPP";
  495. $OrgHISTradeNo = "";
  496. $PayCardNo= "";
  497. $RevTranFlag = "";
  498. $BankDate = "";
  499. $BankAccDate = "";
  500. $TransactionId = $req->orderId;
  501. $BankTradeNo= "";
  502. $PayDate = "";
  503. $PayTime = $req->payTime;
  504. $PayTradeStr = "";
  505. $BankCode = "";
  506. $OrgPaySeqNo = "";
  507. $PayInsuFeeStr = "";
  508. $ResultContent = "";
  509. $PayOrderId = "";
  510. $PayTradeNo = $req->orderIdPAY;
  511. //================调用自己WS===============
  512. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><ExtUserID>$ExtUserID</ExtUserID><OrgHISTradeNo>$OrgHISTradeNo</OrgHISTradeNo><PayCardNo>$PayCardNo</PayCardNo><RevTranFlag>$RevTranFlag</RevTranFlag><BankDate>$BankDate</BankDate><BankAccDate>$BankAccDate</BankAccDate><PayModeCode>$PayModeCode</PayModeCode><TransactionId>$TransactionId</TransactionId><BankTradeNo>$BankTradeNo</BankTradeNo><PayDate>$PayDate</PayDate><PayTime>$PayTime</PayTime><PayTradeStr>$PayTradeStr</PayTradeStr><OrderCode>$OrderCode</OrderCode><BankCode>$BankCode</BankCode><ResultCode>$ResultCode</ResultCode><OrgPaySeqNo>$OrgPaySeqNo</OrgPaySeqNo><PayInsuFeeStr>$PayInsuFeeStr</PayInsuFeeStr><PayAmt>$PayAmt</PayAmt><PayTradeNo>$PayTradeNo</PayTradeNo><ResultContent>$ResultContent</ResultContent><PatientID>$PatientID</PatientID><PayOrderId>$PayOrderId</PayOrderId></Request>";
  513. $postData = str_replace(' ','%20',$postData);
  514. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=OPAppArrive&Input=";
  515. $result = file_get_contents($wsdl.$postData);
  516. Log::soaphis("payOrder:req\r\n".$postData);
  517. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"OPAppArrive");
  518. Log::soaphis("payOrder:res\r\n".$res);
  519. /* Log::soaphis("payOrder:req\r\n".$postData);
  520. $wsdl = "yygh2.wsdl";//webservice服务的地址
  521. $client=new SoapClient($wsdl);
  522. $param = array(array("Input"=>$postData));
  523. $result = $client->__soapCall('OPAppArrive', $param);
  524. $res = reset($result);
  525. Log::soaphis("payOrder:res\r\n".$res); */
  526. $res = simplexml_load_string($res);
  527. //==============处理返回==============
  528. $refxml = "";
  529. $refxml .= "<res>";
  530. if($res->ResultCode=="0") {
  531. $refxml .="<resultCode>0</resultCode>";
  532. }
  533. else{
  534. $refxml .="<resultCode>1</resultCode>";
  535. }
  536. $refxml .="<resultDesc>".$res->ResultContent."</resultDesc><seqCode>".$res->SeqCode."</seqCode><clinicCode>".$res->AdmNo."</clinicCode>";
  537. $refxml .= "</res>";
  538. echo $refxml;
  539. /*
  540. $refxml = "";
  541. $refxml .= "<res>";
  542. $refxml .="<resultCode>0</resultCode>";
  543. $refxml .="<resultDesc>成功</resultDesc><seqCode>111</seqCode><clinicCode>3333</clinicCode>";
  544. $refxml .= "</res>";
  545. echo $refxml;*/
  546. }
  547. //
  548. //904 116
  549. /// <req>
  550. /// <hospitalId>1051</hospitalId><orderId>91303204353987</orderId><patientId>91303224689772</patientId><clinicCode>91303224689772</clinicCode><orderIdPAY>91303204353987</orderIdPAY><returnFee>400</returnFee>
  551. /// <returnTime>2013-03-22 10:46:53</returnTime><returnReason>没有时间</returnReason><payRespCode>00</payRespCode><payRespDesc/>
  552. /// </req>
  553. //退号(1003)
  554. public function returnPayAction(){
  555. //==============获得前台请求==============
  556. $input = file_get_contents("php://input"); //接收POST数据
  557. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  558. //<Request><TradeCode>1108</TradeCode><ExtOrgCode>南方医务通</ExtOrgCode><ClientType></ClientType><HospitalId></HospitalId>
  559. //<ExtUserID>NFYWT</ExtUserID><TransactionId></TransactionId><RefundType>TF</RefundType><AdmNo>299</AdmNo><PayModeCode>CPP</PayModeCode>
  560. //<PayAmt>44</PayAmt><PayOrderId></PayOrderId></Request>
  561. //==============封装HIS请求==============
  562. $TradeCode = "1108";
  563. $ExtOrgCode = "南方医务通";
  564. $ExtUserID = "NFYWT";
  565. $ClientType = "";
  566. $HospitalId = "";
  567. $TransactionId = $req->orderId;
  568. $AdmNo = $req->clinicCode;
  569. $RefundType = "TF";
  570. $BankCode = "";
  571. $BankDate = "";
  572. $BankTradeNo = "";
  573. $ResultCode = "";
  574. $ResultContent = "";
  575. $PayCardNo = "";
  576. $BankAccDate = "";
  577. $RevTranFlag = "";
  578. $PatientID = $req->patientId;
  579. $PayAmt = "";
  580. $OrgHISTradeNo = "";
  581. $OrgPaySeqNo = "";
  582. $PayOrderId = $req->orderIdPay;
  583. $PayAmt = strval((float)(strval($req->returnFee))/100);
  584. $PayModeCode = "CPP";
  585. //================调用自己WS===============
  586. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><ExtUserID>$ExtUserID</ExtUserID><AdmNo>$AdmNo</AdmNo><TransactionId>$TransactionId</TransactionId><RefundType>$RefundType</RefundType><BankCode>$BankCode</BankCode><BankDate>$BankDate</BankDate><BankTradeNo>$BankTradeNo</BankTradeNo><ResultCode>$ResultCode</ResultCode><ResultContent>$ResultContent</ResultContent><PayCardNo>$PayCardNo</PayCardNo><BankAccDate>$BankAccDate</BankAccDate><RevTranFlag>$RevTranFlag</RevTranFlag><PatientID>$PatientID</PatientID><PayAmt>$PayAmt</PayAmt><OrgHISTradeNo>$OrgHISTradeNo</OrgHISTradeNo><OrgPaySeqNo>$OrgPaySeqNo</OrgPaySeqNo><PayOrderId>$PayOrderId</PayOrderId><PayTime>$PayTime</PayTime><PayModeCode>$PayModeCode</PayModeCode></Request>";
  587. $postData = str_replace(' ','%20',$postData);
  588. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=CancelReg&Input=";
  589. $result = file_get_contents($wsdl.$postData);
  590. Log::soaphis("returnPay:req\r\n".$postData);
  591. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"CancelReg");
  592. Log::soaphis("returnPay:res\r\n".$res);
  593. /*Log::soaphis("returnPay:req\r\n".$postData);
  594. $wsdl = "yygh2.wsdl";//webservice服务的地址
  595. $client=new SoapClient($wsdl);
  596. $param = array(array("Input"=>$postData));
  597. $result = $client->__soapCall('CancelReg', $param);
  598. $res = reset($result);
  599. Log::soaphis("returnPay:res\r\n".$res); */
  600. $res = simplexml_load_string($res);
  601. //==============处理返回==============
  602. $refxml = "";
  603. $refxml .= "<res>";
  604. if($res->ResultCode=="0") {
  605. $refxml .="<resultCode>0</resultCode>";
  606. }
  607. else{
  608. $refxml .="<resultCode>1</resultCode>";
  609. }
  610. $refxml .="<resultDesc>".$res->ResultContent."</resultDesc>";
  611. $refxml .= "</res>";
  612. echo $refxml;
  613. }
  614. //<req><patientId>91303204391491</patientId><hospitalId>1051</hospitalId></req>
  615. //最近一次就诊日期
  616. public function getLastClinicDateAction(){
  617. //==============获得前台请求==============
  618. $input = file_get_contents("php://input"); //接收POST数据
  619. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  620. //<Request><TradeCode>1104</TradeCode><ExtOrgCode>南方医务通</ExtOrgCode><ClientType></ClientType><HospitalId></HospitalId>
  621. //<ExtUserID>NFYWT</ExtUserID><CardType></CardType><PatientCard></PatientCard><PatientID>33043014</PatientID>
  622. //<StartDate>2016-09-11</StartDate><EndDate>2016-09-28</EndDate></Request>
  623. //HQTJ 可以查询全部渠道的挂号记录
  624. //==============封装HIS请求==============
  625. $TradeCode = "1104";
  626. $ExtOrgCode ="南方医务通";
  627. $ExtUserID = "HQTJ";
  628. $ClientType = "";
  629. $HospitalId = "";
  630. $CardType = "";
  631. $PatientCard = "";
  632. $PatientID = $req->patientId;
  633. $StartDate = date("Y-m-d",strtotime("-1 month"));
  634. $EndDate = date("Y-m-d",time());
  635. //================调用自己WS===============
  636. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><ExtUserID>$ExtUserID</ExtUserID><CardType>$CardType</CardType><PatientCard>$PatientCard</PatientCard><PatientID>$PatientID</PatientID><StartDate>$StartDate</StartDate><EndDate>$EndDate</EndDate></Request>";
  637. $postData = str_replace(' ','%20',$postData);
  638. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=QueryAdmOPReg&Input=";
  639. $result = file_get_contents($wsdl.$postData);
  640. Log::soaphis("getLastClinicDate:req\r\n".$postData);
  641. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"QueryAdmOPReg");
  642. Log::soaphis("getLastClinicDate:res\r\n".$res);
  643. $res = simplexml_load_string($res);
  644. //==============处理返回==============
  645. $refxml = "";
  646. $refxml .= "<res>";
  647. if($res->ResultCode=="0") {
  648. $refxml .="<resultCode>0</resultCode>";
  649. }
  650. else{
  651. $refxml .="<resultCode>1</resultCode>";
  652. }
  653. $refxml .="<resultDesc>".$res->ResultContent."</resultDesc>";
  654. $xmldata = $res->Orders->Order;
  655. //提取相同的分组列表
  656. $arr = array();
  657. foreach($xmldata as $key=>$v){
  658. if($v->Status=="正常"){
  659. $arr[] = array("RegId"=>$v->RegID,"AdmitDate"=>$v->AdmitDate);
  660. }
  661. }
  662. $arr = end($arr);
  663. if($arr!=null){
  664. $refxml .="<dateTime>".$arr[AdmitDate]."</dateTime><clinicCode>".$arr[RegId]."</clinicCode>";
  665. }else{
  666. $refxml .="<dateTime></dateTime><clinicCode></clinicCode>";
  667. }
  668. $refxml .= "</res>";
  669. echo $refxml;
  670. }
  671. //<req><hospitalId>1051</hospitalId><patientId>91303204391491</patientId><dateTime>91303204391491</dateTime><clinicCode></clinicCode></req>
  672. //检验报告列表查询
  673. public function labTestListAction(){
  674. //==============获得前台请求==============
  675. $input = file_get_contents("php://input"); //接收POST数据
  676. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  677. //==============封装HIS请求==============
  678. $ClinicSeq = $req->clinicCode;
  679. //================调用自己WS===============
  680. $postData = "<Request><ClinicSeq>$ClinicSeq</ClinicSeq></Request>";
  681. $postData = str_replace(' ','%20',$postData);
  682. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=LISgetReport&Input=";
  683. $result = file_get_contents($wsdl.$postData);
  684. Log::soaphis("labTestList:req\r\n".$postData);
  685. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"LISgetReport");
  686. Log::soaphis("labTestList:res\r\n".$res);
  687. $res = simplexml_load_string($res);
  688. /* Log::soaphis("labTestList:req\r\n".$postData);
  689. $wsdl = "yygh2.wsdl";//webservice服务的地址
  690. $client=new SoapClient($wsdl);
  691. $param = array(array("Input"=>$postData));
  692. $result = $client->__soapCall('LISgetReport', $param);
  693. $res = reset($result);
  694. Log::soaphis("labTestList:res\r\n".$res);
  695. $res = simplexml_load_string($res); */
  696. //==============处理返回==============
  697. //$res = "<Response><ResultCode>0</ResultCode><ResultContent>成功</ResultContent><Report><InspectionId>1000005482||B002||1</InspectionId><InspectionName>心肌酶谱</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B004||1</InspectionId><InspectionName>电解质三项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B005||1</InspectionId><InspectionName>肝功1</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B008||1</InspectionId><InspectionName>血酯四项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B010||1</InspectionId><InspectionName>血糖测定</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B034||1</InspectionId><InspectionName>肾功五项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B002||1</InspectionId><InspectionName>心肌酶谱</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B004||1</InspectionId><InspectionName>电解质三项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B005||1</InspectionId><InspectionName>肝功1</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B008||1</InspectionId><InspectionName>血酯四项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B010||1</InspectionId><InspectionName>血糖测定</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B034||1</InspectionId><InspectionName>肾功五项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B002||1</InspectionId><InspectionName>心肌酶谱</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B004||1</InspectionId><InspectionName>电解质三项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B005||1</InspectionId><InspectionName>肝功1</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B008||1</InspectionId><InspectionName>血酯四项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B010||1</InspectionId><InspectionName>血糖测定</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B034||1</InspectionId><InspectionName>肾功五项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B002||1</InspectionId><InspectionName>心肌酶谱</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B004||1</InspectionId><InspectionName>电解质三项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B005||1</InspectionId><InspectionName>肝功1</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B008||1</InspectionId><InspectionName>血酯四项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B010||1</InspectionId><InspectionName>血糖测定</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B034||1</InspectionId><InspectionName>肾功五项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B002||1</InspectionId><InspectionName>心肌酶谱</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B004||1</InspectionId><InspectionName>电解质三项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B005||1</InspectionId><InspectionName>肝功1</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B008||1</InspectionId><InspectionName>血酯四项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B010||1</InspectionId><InspectionName>血糖测定</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B034||1</InspectionId><InspectionName>肾功五项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005483||B027||1</InspectionId><InspectionName>糖化血红蛋白</InspectionName><InspectionDate>2016-09-21 00:10:48</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>谢传珍</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B002||1</InspectionId><InspectionName>心肌酶谱</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B004||1</InspectionId><InspectionName>电解质三项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B005||1</InspectionId><InspectionName>肝功1</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B008||1</InspectionId><InspectionName>血酯四项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B010||1</InspectionId><InspectionName>血糖测定</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005482||B034||1</InspectionId><InspectionName>肾功五项</InspectionName><InspectionDate>2016-09-21 00:11:30</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>纪婷婷</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005484||C123||1</InspectionId><InspectionName>泌乳素(PRL)</InspectionName><InspectionDate>2016-09-21 00:12:09</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>罗敏</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId>1000005485||A083||1</InspectionId><InspectionName>血细胞分析(五分类)</InspectionName><InspectionDate>2016-09-21 00:10:05</InspectionDate><Status>1</Status><PatientName>曾令清</PatientName><PatientAge>55岁</PatientAge><Gender>女</Gender><DeptName>HQXXGNKMZ-惠侨心血管内科门诊</DeptName><ClinicalDiagnosis>高血压病</ClinicalDiagnosis><ReportDoctorName>刘志伟</ReportDoctorName><ClinicSeq>133</ClinicSeq><InpatientId></InpatientId></Report></Response>";
  698. //$res = "<Response><ResultCode>0</ResultCode><ResultContent>成功</ResultContent><AdmList><Report><InspectionId>800000003087||A083||1</InspectionId><InspectionName>血细胞分析(五分类)</InspectionName><InspectionDate>2016-12-27 00:17:50</InspectionDate><Status>1</Status><PatientName>蔡丽焕</PatientName><PatientAge>24岁</PatientAge><Gender>女</Gender><DeptName>中医内科门诊</DeptName><ClinicalDiagnosis>腰痹病</ClinicalDiagnosis><ReportDoctorName>demo</ReportDoctorName><CheckDoctorName>demo</CheckDoctorName><ClinicSeq>12438</ClinicSeq><InpatientId></InpatientId></Report><Report><InspectionId></InspectionId><InspectionName></InspectionName><InspectionDate></InspectionDate><Status></Status><PatientName></PatientName><PatientAge></PatientAge><Gender></Gender><DeptName></DeptName><ClinicalDiagnosis></ClinicalDiagnosis><ReportDoctorName></ReportDoctorName><CheckDoctorName></CheckDoctorName><ClinicSeq>12438</ClinicSeq><InpatientId></InpatientId></Report></AdmList></Response>";
  699. $refxml = "";
  700. $refxml .= "<res>";
  701. $xmldata = $res->AdmList->Report;
  702. foreach($xmldata as $key=>$v){
  703. if($v->InspectionId!=""){
  704. $refxml .="<labTestList><testNO>".$v->InspectionId."</testNO><subject>".$v->InspectionName."</subject><status>".(strval($v->Status) == "1" ? "0":"1")."</status><requestedDateTime>".$v->InspectionDate."</requestedDateTime><resultsRptDateTime>".$v->InspectionDate."</resultsRptDateTime></labTestList>";
  705. }
  706. }
  707. $refxml .= "</res>";
  708. echo $refxml;
  709. }
  710. // <req><hospitalId>1000</hospitalId><testNo>151202646107</testNo></req>
  711. //医院检验结果列表
  712. public function labTestInfoAction(){
  713. //==============获得前台请求==============
  714. $input = file_get_contents("php://input"); //接收POST数据
  715. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  716. //==============封装HIS请求==============
  717. $InspectionId =$req->testNo;
  718. //================调用自己WS===============
  719. $postData = "<Request><InspectionId>$InspectionId</InspectionId></Request>";
  720. $postData = str_replace(' ','%20',$postData);
  721. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=LISgetReportItem&Input=";
  722. $result = file_get_contents($wsdl.$postData);
  723. Log::soaphis("labTestInfo:req\r\n".$postData);
  724. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"LISgetReportItem");
  725. Log::soaphis("labTestInfo:res\r\n".$res);
  726. $res = simplexml_load_string($res);
  727. /*Log::soaphis("labTestInfo:req\r\n".$postData);
  728. $wsdl = "yygh2.wsdl";//webservice服务的地址
  729. $client=new SoapClient($wsdl);
  730. $param = array(array("Input"=>$postData));
  731. $result = $client->__soapCall('LISgetReportItem', $param);
  732. $res = reset($result);
  733. Log::soaphis("labTestInfo:res\r\n".$res);
  734. $res = simplexml_load_string($res); */
  735. //==============处理返回==============
  736. //$res = "<Response><ResultCode>0</ResultCode><ResultContent>成功</ResultContent><Item><ItemId>AST</ItemId><ItemName>天门冬氨酸氨基转移酶</ItemName><OrderNo>0</OrderNo><TestResult>31</TestResult><Unit>U/L</Unit><ItemRef>15~40</ItemRef><TestDate>2016-09-21 00:11:30</TestDate><ResultFlag>N</ResultFlag><TestEngName>AST</TestEngName><SpecimType>血清</SpecimType></Item> <Item><ItemId>LDH</ItemId><ItemName>乳酸脱氢酶</ItemName><OrderNo>0</OrderNo><TestResult>151</TestResult><Unit>U/L</Unit><ResultFlag>H</ResultFlag><ItemRef>0~248</ItemRef><TestDate>2016-09-21 00:11:30</TestDate><TestEngName>LDH</TestEngName><SpecimType>血清</SpecimType></Item><Item><ItemId>HBDH</ItemId><ItemName>a-羟丁酸脱氢酶</ItemName><OrderNo>0</OrderNo><TestResult>107</TestResult><Unit>U/L</Unit><ResultFlag>H</ResultFlag><ItemRef>90~180</ItemRef><TestDate>2016-09-21 00:11:30</TestDate><TestEngName>HBDH</TestEngName><SpecimType>血清</SpecimType></Item><Item><ItemId>CK</ItemId><ItemName>肌酸激酶</ItemName><OrderNo>0</OrderNo><TestResult>110</TestResult><Unit>U/L</Unit><ResultFlag>H</ResultFlag><ItemRef>38~174</ItemRef><TestDate>2016-09-21 00:11:30</TestDate><TestEngName>CK</TestEngName><SpecimType>血清</SpecimType></Item><Item><ItemId>CK_MB</ItemId><ItemName>心型肌酸激酶</ItemName><OrderNo>0</OrderNo><TestResult>10</TestResult><Unit>U/L</Unit><ResultFlag>H</ResultFlag><ItemRef>0~24</ItemRef><TestDate>2016-09-21 00:11:30</TestDate><TestEngName>CK_MB</TestEngName><SpecimType>血清</SpecimType></Item></Response>";
  737. //$res = simplexml_load_string($res);
  738. $refxml = "";
  739. $refxml .= "<res>";
  740. $xmldata = $res->Item;
  741. //abnormalIndicator 高低 暂时无 ItemRef范围要拆分
  742. foreach($xmldata as $key=>$v){
  743. $limit =explode('~',$v->ItemRef);
  744. $abtemp = "";
  745. if ($v->ResultFlag == "L")
  746. {
  747. $abtemp = "↓";
  748. }
  749. else if ($v->ResultFlag == "H")
  750. {
  751. $abtemp = "↑";
  752. }
  753. else
  754. {
  755. $abtemp = "";
  756. }
  757. $refxml .="<labTestInfo><itemNo>".$v->ItemId."</itemNo><reportItemName>".$v->ItemName."</reportItemName><abnormalIndicator>".$abtemp."</abnormalIndicator><result>".$v->TestResult."</result><units>".$v->Unit."</units><lowerLimit>".$limit[0]."</lowerLimit><upperLimit>".$limit[1]."</upperLimit></labTestInfo>";
  758. }
  759. $refxml .= "</res>";
  760. echo $refxml;
  761. }
  762. //<req><hospitalId>1051</hospitalId><patientId>91303204391491</patientId><dateTime>91303204391491</dateTime><clinicCode></clinicCode></req>
  763. //医院检查结果列表
  764. public function examListAction(){
  765. //==============获得前台请求==============
  766. $input = file_get_contents("php://input"); //接收POST数据
  767. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  768. //==============封装HIS请求==============
  769. $ClinicSeq = $req->clinicCode;
  770. //================调用自己WS===============
  771. $postData = "<Request><ClinicSeq>$ClinicSeq</ClinicSeq></Request>";
  772. $postData = str_replace(' ','%20',$postData);
  773. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=PACSgetReport&Input=";
  774. $result = file_get_contents($wsdl.$postData);
  775. Log::soaphis("examList:req\r\n".$postData);
  776. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"PACSgetReport");
  777. Log::soaphis("examList:res\r\n".$res);
  778. $res = simplexml_load_string($res);
  779. //==============处理返回==============
  780. //$res = "<Response><ResultCode>0</ResultCode><ResultContent>成功</ResultContent><Report><ReportId>13460</ReportId><ReportTitle>腰椎正侧位片</ReportTitle><ReportDate>2016-09-22</ReportDate><Status>1</Status><PatientName>何春</PatientName><PatientAge>1978-04-02</PatientAge><Gender>2</Gender><ClinicalDiagnosis></ClinicalDiagnosis><ClinicSeq>407</ClinicSeq><InpatientId></InpatientId></Report></Response>";
  781. //$res = simplexml_load_string($res);
  782. $refxml = "";
  783. $refxml .= "<res>";
  784. $xmldata = $res->AdmList->Report;
  785. foreach($xmldata as $key=>$v){
  786. $refxml .="<examList><examNo>".$v->ReportId."</examNo><examClass>".$v->ReportTitle."</examClass><status>".(strval($v->Status) == "1" ? "0":"1")."</status><reqDateTime>".$v->ReportDate."</reqDateTime><reportDateTime>".$v->ReportDate."</reportDateTime></examList>";
  787. }
  788. $refxml .= "</res>";
  789. echo $refxml;
  790. }
  791. //<req><hospitalId>1000</hospitalId><examNo>151202646107</examNo></req>
  792. //医院检验结果列表
  793. public function examInfoAction(){
  794. //==============获得前台请求==============
  795. $input = file_get_contents("php://input"); //接收POST数据
  796. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  797. //==============封装HIS请求==============
  798. $ReportId = $req->examNo;
  799. //================调用自己WS===============
  800. $postData = "<Request><ReportId>$ReportId</ReportId></Request>";
  801. $postData = str_replace(' ','%20',$postData);
  802. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=PACSgetReportDetail&Input=";
  803. $result = file_get_contents($wsdl.$postData);
  804. Log::soaphis("examInfo:req\r\n".$postData);
  805. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"PACSgetReportDetail");
  806. Log::soaphis("examInfo:res\r\n".$res);
  807. $res = simplexml_load_string($res);
  808. //==============处理返回==============
  809. //$res = "<Response><ResultCode>0</ResultCode><ResultContent>成功</ResultContent><Item><DeptName>惠侨脊柱骨科门诊</DeptName><ReportDoctorName></ReportDoctorName><CheckParts>()</CheckParts><Examination></Examination><Diagnosis>腰椎生理曲度变直;椎列连续;部分腰椎椎体缘见唇状骨质增生影;第五腰椎横突肥大,左侧与骶骨形成假关节;其余椎体、附件及椎间隙未见异常;软组织未见异常;其它:未见异常。</Diagnosis><CheckDoctorName></CheckDoctorName><ExaminationDate>2016-09-22 16:48:31</ExaminationDate><VerifyDocName></VerifyDocName><VerifyDate>2016-09-22 16:48:31</VerifyDate><AppDocName>张耀旋</AppDocName></Item></Response>";
  810. //$res = simplexml_load_string($res);
  811. $refxml = "";
  812. $refxml .= "<res>";
  813. $xmldata = $res->Item;
  814. //abnormal 阳阴性无 recommedation 建议无 examClass 检查项目无
  815. foreach($xmldata as $key=>$v){
  816. $refxml .="<examInfo><description>".$v->Diagnosis."</description><abnormal></abnormal><imperssion>".$v->Examination."</imperssion><recommedation></recommedation><examClass></examClass><reportDateTime>".$v->ExaminationDate."</reportDateTime></examInfo>";
  817. }
  818. $refxml .= "</res>";
  819. echo $refxml;
  820. }
  821. //<req><patientId>91303204391491</patientId><hospitalId>1051</hospitalId></req>
  822. //最近一次发票信息
  823. public function getGuideListAction(){
  824. //==============获得前台请求==============
  825. $input = file_get_contents("php://input"); //接收POST数据
  826. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  827. //HQTJ 可以查询全部渠道的挂号记录
  828. //==============封装HIS请求==============
  829. $TradeCode = "1104";
  830. $TradeCode1 = "90020";
  831. $ExtOrgCode ="南方医务通";
  832. $ExtOrgCode1 ="医务通";
  833. $ExtUserID = "HQTJ";
  834. $ExtUserID1 = "NFYWT";
  835. $ClientType = "";
  836. $HospitalId = "";
  837. $CardType = "";
  838. $PatientCard = "";
  839. $PatientID = $req->patientId;
  840. $StartDate = date("Y-m-d",time());
  841. $EndDate = date("Y-m-d",time());
  842. //================调用自己WS===============
  843. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><ExtUserID>$ExtUserID</ExtUserID><CardType>$CardType</CardType><PatientCard>$PatientCard</PatientCard><PatientID>$PatientID</PatientID><StartDate>$StartDate</StartDate><EndDate>$EndDate</EndDate></Request>";
  844. $postData = str_replace(' ','%20',$postData);
  845. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=QueryAdmOPReg&Input=";
  846. $result = file_get_contents($wsdl.$postData);
  847. Log::soaphis("getLastClinicDate:req\r\n".$postData);
  848. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"QueryAdmOPReg");
  849. Log::soaphis("getLastClinicDate:res\r\n".$res);
  850. $res = simplexml_load_string($res);
  851. //==============处理返回==============
  852. $refxml = "";
  853. $refxml .= "<res>";
  854. if($res->ResultCode=="0") {
  855. $refxml .="<resultCode>0</resultCode>";
  856. $refxml .="<resultDesc>查询成功</resultDesc>";
  857. $xmldata = $res->Orders->Order;
  858. //提取相同的分组列表
  859. $arr = array();
  860. foreach($xmldata as $key=>$v){
  861. if($v->Status=="正常"){
  862. $arr[] = array("RegId"=>$v->RegID,"AdmitDate"=>$v->AdmitDate);
  863. }
  864. }
  865. $arr = end($arr);
  866. if($arr!=null){
  867. //$refxml .="<dateTime>".$arr[AdmitDate]."</dateTime><clinicCode>".$arr[RegId]."</clinicCode>";
  868. $postData = "<Request><TradeCode>$TradeCode1</TradeCode><ExtOrgCode>$ExtOrgCode1</ExtOrgCode><Adm>".$arr[RegId]."</Adm><InvoiceNO></InvoiceNO></Request>";
  869. $postData = str_replace(' ','%20',$postData);
  870. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=GetDirectListByAdm&Input=";
  871. $result = file_get_contents($wsdl.$postData);
  872. Log::soaphis("GetDirectListByAdm:req\r\n".$postData);
  873. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"GetDirectListByAdm");
  874. Log::soaphis("GetDirectListByAdm:res\r\n".$res);
  875. $res = simplexml_load_string($res);
  876. if($res->resultCode=="0") {
  877. $refxml .= $res->invoiceList->asXML();
  878. }else{
  879. $refxml .="<resultCode>1</resultCode>";
  880. $refxml .="<resultDesc>".$res->errorMsg."</resultDesc>";
  881. }
  882. }
  883. }
  884. else{
  885. $refxml .="<resultCode>1</resultCode>";
  886. $refxml .="<resultDesc>".$res->ResultContent."</resultDesc>";
  887. }
  888. /* $refxml = "";
  889. $refxml .= "<res>";
  890. $res ="<Response><resultCode>0</resultCode><errorMsg>成功</errorMsg><invoiceList><invoice><head><patientID>ZA00001</patientID><patientName>zhangd</patientName><sex>男</sex><age>23</age><admReason>自费</admReason><cost>1000</cost><doctorName>doctorLi</doctorName><diagnose>感冒</diagnose><guser>张溜</guser><payTime>2016-09-09 09:09:09</payTime></head><body><laboratory><specimenList><specimen><specimenDesc>血清</specimenDesc><guide>请您到门诊二楼采血室采血</guide><prompt>不用禁食</prompt></specimen><specimen><specimenDesc>血清333</specimenDesc><guide>请您到门诊二楼采血室采血3333333</guide><prompt>不用禁食3333333</prompt></specimen></specimenList></laboratory><examination><examList><examItem><itemName>肝胆,脾彩超检查----111</itemName><amt>200----111</amt><date>2016-09-09----111</date><ordDept>外科门诊----111</ordDept><guide>请您到外科门诊B超室做检查----111</guide><depLocPosition>门诊四楼B超室----111</depLocPosition><bookedNote>去除膏药等体外异物。----111</bookedNote></examItem><examItem><itemName>肝胆,脾彩超检查----222</itemName><amt>200----222</amt><date>2016-09-09----222</date><ordDept>外科门诊----222</ordDept><guide>请您到外科门诊B超室做检查----222</guide><depLocPosition>门诊四楼B超室----222</depLocPosition><bookedNote>去除膏药等体外异物。----222</bookedNote></examItem><examItem><itemName>肝胆,脾彩超检查----333</itemName><amt>200----333</amt><date>2016-09-09----333</date><ordDept>外科门诊----333</ordDept><guide>请您到外科门诊B超室做检查----333</guide><depLocPosition>门诊四楼B超室----333</depLocPosition><bookedNote>去除膏药等体外异物。----333</bookedNote></examItem></examList></examination><treatment><treatDeptList><treatDept><deptName>皮肤科门诊--11</deptName><guide>请您到门诊四楼皮肤科门诊区 皮肤科门诊---11</guide><treatItemList><treatItem><itemName>光动力治疗---333</itemName><qty>4</qty><uom>次</uom><amt>23</amt></treatItem></treatItemList></treatDept><treatDept><deptName>皮肤科门诊--22</deptName><guide>请您到门诊四楼皮肤科门诊区 皮肤科门诊---22</guide><treatItemList><treatItem><itemName>光动力治疗---333</itemName><qty>4</qty><uom>次</uom><amt>23</amt></treatItem></treatItemList></treatDept></treatDeptList></treatment><drug><baseDrug><baseDrugDeptList><baseDrugDept><deptName>磁共振室--1</deptName><guide>请您到第一医技楼磁共振室--1</guide><baseDrugItemList><baseDrugItem><itemName>注射液--11</itemName><qty>2</qty><uom>支</uom><amt>11</amt></baseDrugItem><baseDrugItem><itemName>注射液--22</itemName><qty>3</qty><uom>支</uom><amt>12</amt></baseDrugItem><baseDrugItem><itemName>注射液--33</itemName><qty>4</qty><uom>支</uom><amt>13</amt></baseDrugItem></baseDrugItemList></baseDrugDept><baseDrugDept><deptName>磁共振室--2</deptName><guide>请您到第一医技楼磁共振室--2</guide><baseDrugItemList><baseDrugItem><itemName>注射液--11</itemName><qty>2</qty><uom>支</uom><amt>11</amt></baseDrugItem><baseDrugItem><itemName>注射液--22</itemName><qty>3</qty><uom>支</uom><amt>12</amt></baseDrugItem><baseDrugItem><itemName>注射液--33</itemName><qty>4</qty><uom>支</uom><amt>13</amt></baseDrugItem></baseDrugItemList></baseDrugDept><baseDrugDept><deptName>磁共振室--3</deptName><guide>请您到第一医技楼磁共振室--3</guide><baseDrugItemList><baseDrugItem><itemName>注射液--11</itemName><qty>2</qty><uom>支</uom><amt>11</amt></baseDrugItem><baseDrugItem><itemName>注射液--22</itemName><qty>3</qty><uom>支</uom><amt>12</amt></baseDrugItem><baseDrugItem><itemName>注射液--33</itemName><qty>4</qty><uom>支</uom><amt>13</amt></baseDrugItem></baseDrugItemList></baseDrugDept><baseDrugDept><deptName>磁共振室--4</deptName><guide>请您到第一医技楼磁共振室--4</guide><baseDrugItemList><baseDrugItem><itemName>注射液--11</itemName><qty>2</qty><uom>支</uom><amt>11</amt></baseDrugItem><baseDrugItem><itemName>注射液--22</itemName><qty>3</qty><uom>支</uom><amt>12</amt></baseDrugItem><baseDrugItem><itemName>注射液--33</itemName><qty>4</qty><uom>支</uom><amt>13</amt></baseDrugItem></baseDrugItemList></baseDrugDept></baseDrugDeptList></baseDrug><druglist><drugItem><drugType>西药、中成药</drugType><guide>请您到门诊一楼门诊药房</guide><window>5号窗口</window><prompt>请先到自助机报到后,再等待取药</prompt></drugItem><drugItem><drugType>中草药</drugType><guide>请您到门诊一楼草药房</guide><window>7号窗口</window><prompt>请先到自助机报到后,再等待取药</prompt></drugItem></druglist></drug></body></invoice><invoice><head><patientID>ZA00001</patientID><patientName>zhangd</patientName><sex>男</sex><age>23</age><admReason>自费</admReason><cost>1000</cost><doctorName>doctorLi</doctorName><diagnose>感冒</diagnose><guser>张溜</guser><payTime>2016-09-09 09:09:09</payTime></head><body><laboratory><specimenList><specimen><specimenDesc>血清</specimenDesc><guide>请您到门诊二楼采血室采血</guide><prompt>不用禁食</prompt></specimen><specimen><specimenDesc>血清333</specimenDesc><guide>请您到门诊二楼采血室采血3333333</guide><prompt>不用禁食3333333</prompt></specimen></specimenList></laboratory><examination><examList><examItem><itemName>肝胆,脾彩超检查----111</itemName><amt>200----111</amt><date>2016-09-09----111</date><ordDept>外科门诊----111</ordDept><guide>请您到外科门诊B超室做检查----111</guide><depLocPosition>门诊四楼B超室----111</depLocPosition><bookedNote>去除膏药等体外异物。----111</bookedNote></examItem><examItem><itemName>肝胆,脾彩超检查----222</itemName><amt>200----222</amt><date>2016-09-09----222</date><ordDept>外科门诊----222</ordDept><guide>请您到外科门诊B超室做检查----222</guide><depLocPosition>门诊四楼B超室----222</depLocPosition><bookedNote>去除膏药等体外异物。----222</bookedNote></examItem><examItem><itemName>肝胆,脾彩超检查----333</itemName><amt>200----333</amt><date>2016-09-09----333</date><ordDept>外科门诊----333</ordDept><guide>请您到外科门诊B超室做检查----333</guide><depLocPosition>门诊四楼B超室----333</depLocPosition><bookedNote>去除膏药等体外异物。----333</bookedNote></examItem></examList></examination><treatment><treatDeptList><treatDept><deptName>皮肤科门诊--11</deptName><guide>请您到门诊四楼皮肤科门诊区 皮肤科门诊---11</guide><treatItemList><treatItem><itemName>光动力治疗---333</itemName><qty>4</qty><uom>次</uom><amt>23</amt></treatItem></treatItemList></treatDept><treatDept><deptName>皮肤科门诊--22</deptName><guide>请您到门诊四楼皮肤科门诊区 皮肤科门诊---22</guide><treatItemList><treatItem><itemName>光动力治疗---333</itemName><qty>4</qty><uom>次</uom><amt>23</amt></treatItem></treatItemList></treatDept></treatDeptList></treatment><drug><baseDrug><baseDrugDeptList><baseDrugDept><deptName>磁共振室--1</deptName><guide>请您到第一医技楼磁共振室--1</guide><baseDrugItemList><baseDrugItem><itemName>注射液--11</itemName><qty>2</qty><uom>支</uom><amt>11</amt></baseDrugItem><baseDrugItem><itemName>注射液--22</itemName><qty>3</qty><uom>支</uom><amt>12</amt></baseDrugItem><baseDrugItem><itemName>注射液--33</itemName><qty>4</qty><uom>支</uom><amt>13</amt></baseDrugItem></baseDrugItemList></baseDrugDept><baseDrugDept><deptName>磁共振室--2</deptName><guide>请您到第一医技楼磁共振室--2</guide><baseDrugItemList><baseDrugItem><itemName>注射液--11</itemName><qty>2</qty><uom>支</uom><amt>11</amt></baseDrugItem><baseDrugItem><itemName>注射液--22</itemName><qty>3</qty><uom>支</uom><amt>12</amt></baseDrugItem><baseDrugItem><itemName>注射液--33</itemName><qty>4</qty><uom>支</uom><amt>13</amt></baseDrugItem></baseDrugItemList></baseDrugDept><baseDrugDept><deptName>磁共振室--3</deptName><guide>请您到第一医技楼磁共振室--3</guide><baseDrugItemList><baseDrugItem><itemName>注射液--11</itemName><qty>2</qty><uom>支</uom><amt>11</amt></baseDrugItem><baseDrugItem><itemName>注射液--22</itemName><qty>3</qty><uom>支</uom><amt>12</amt></baseDrugItem><baseDrugItem><itemName>注射液--33</itemName><qty>4</qty><uom>支</uom><amt>13</amt></baseDrugItem></baseDrugItemList></baseDrugDept><baseDrugDept><deptName>磁共振室--4</deptName><guide>请您到第一医技楼磁共振室--4</guide><baseDrugItemList><baseDrugItem><itemName>注射液--11</itemName><qty>2</qty><uom>支</uom><amt>11</amt></baseDrugItem><baseDrugItem><itemName>注射液--22</itemName><qty>3</qty><uom>支</uom><amt>12</amt></baseDrugItem><baseDrugItem><itemName>注射液--33</itemName><qty>4</qty><uom>支</uom><amt>13</amt></baseDrugItem></baseDrugItemList></baseDrugDept></baseDrugDeptList></baseDrug><druglist><drugItem><drugType>西药、中成药</drugType><guide>请您到门诊一楼门诊药房</guide><window>5号窗口</window><prompt>请先到自助机报到后,再等待取药</prompt></drugItem><drugItem><drugType>中草药</drugType><guide>请您到门诊一楼草药房</guide><window>7号窗口</window><prompt>请先到自助机报到后,再等待取药</prompt></drugItem></druglist></drug></body></invoice></invoiceList></Response>";
  891. $res = simplexml_load_string($res);
  892. if($res->resultCode=="0") {
  893. $refxml .="<resultCode>0</resultCode>";
  894. $refxml .="<resultDesc>查询成功</resultDesc>";
  895. $refxml .= $res->invoiceList->asXML();
  896. }else{
  897. $refxml .="<resultCode>1</resultCode>";
  898. $refxml .="<resultDesc>".$res->errorMsg."</resultDesc>";
  899. }*/
  900. $refxml .= "</res>";
  901. echo $refxml;
  902. }
  903. //<req><patientId>91303204391491</patientId><hospitalId>1051</hospitalId></req>
  904. //排队候诊(4001)
  905. public function waitingQueueAction(){
  906. //==============获得前台请求==============
  907. $input = file_get_contents("php://input"); //接收POST数据
  908. $req = simplexml_load_string($input); //提取POST数据为simplexml对象
  909. //HQTJ 可以查询全部渠道的挂号记录
  910. //==============封装HIS请求==============
  911. $TradeCode = "1104";
  912. $TradeCode1 = "4001";
  913. $ExtOrgCode ="南方医务通";
  914. $ExtUserID = "HQTJ";
  915. $ExtUserID1 = "NFYWT";
  916. $ClientType = "";
  917. $HospitalId = "";
  918. $CardType = "";
  919. $PatientCard = "";
  920. $PatientID = $req->patientId;
  921. $StartDate = date("Y-m-d",time());
  922. $EndDate = date("Y-m-d",time());
  923. //================调用自己WS===============
  924. $postData = "<Request><TradeCode>$TradeCode</TradeCode><ExtOrgCode>$ExtOrgCode</ExtOrgCode><ClientType>$ClientType</ClientType><HospitalId>$HospitalId</HospitalId><ExtUserID>$ExtUserID</ExtUserID><CardType>$CardType</CardType><PatientCard>$PatientCard</PatientCard><PatientID>$PatientID</PatientID><StartDate>$StartDate</StartDate><EndDate>$EndDate</EndDate></Request>";
  925. $postData = str_replace(' ','%20',$postData);
  926. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=QueryAdmOPReg&Input=";
  927. $result = file_get_contents($wsdl.$postData);
  928. //$result = call_user_func(array($_ENV["commonClass"],"sendDataByCurl"),$postUrl,$postData);
  929. Log::soaphis("QueryAdmOPRe:req\r\n".$postData);
  930. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"QueryAdmOPReg");
  931. Log::soaphis("QueryAdmOPRe:res\r\n".$res);
  932. $res = simplexml_load_string($res);
  933. //==============处理返回==============
  934. $refxml = "";
  935. $refxml .= "<res>";
  936. if($res->ResultCode=="0") {
  937. $refxml .="<resultCode>0</resultCode>";
  938. $refxml .="<resultDesc>查询成功</resultDesc>";
  939. $xmldata = $res->Orders->Order;
  940. //提取相同的分组列表
  941. $arr = array();
  942. foreach($xmldata as $key=>$v){
  943. if($v->Status=="正常"){
  944. $arr[] = array("RegId"=>$v->RegID,"AdmitDate"=>$v->AdmitDate);
  945. }
  946. }
  947. $arr = end($arr);
  948. if($arr!=null){
  949. $refxml .="<dateTime>".$arr[AdmitDate]."</dateTime><clinicCode>".$arr[RegId]."</clinicCode>";
  950. $postData = "<Request><TradeCode>$TradeCode1</TradeCode><AdmNo>".$arr[RegId]."</AdmNo><ExtUserID>$ExtUserID1</ExtUserID></Request>";
  951. $postData = str_replace(' ','%20',$postData);
  952. $wsdl = "http://yygh2.dept.nfyy.com/csp/oep/DHC.OEP.BS.OEPSTANWebService.cls?soap_method=WaitingQueue&Input=";
  953. $result = file_get_contents($wsdl.$postData);
  954. Log::soaphis("WaitingQueue:req\r\n".$postData);
  955. $res = call_user_func(array($_ENV["commonClass"],"SoapToXml"),$result,"WaitingQueue");
  956. Log::soaphis("WaitingQueue:res\r\n".$res);
  957. $res = simplexml_load_string($res);
  958. if($res->ResultCode=="0") {
  959. $refxml .="<patName>".$res->PatName."</patName><admLoc>".$res->AdmLoc."</admLoc><admDoc>".$res->AdmDoc."</admDoc><waitingNumber>".$res->WaitingNumber."</waitingNumber>";
  960. }else{
  961. $refxml .="<resultCode>1</resultCode>";
  962. $refxml .="<resultDesc>".$res->ResultContent."</resultDesc>";
  963. }
  964. }
  965. }
  966. else{
  967. $refxml .="<resultCode>1</resultCode>";
  968. $refxml .="<resultDesc>".$res->ResultContent."</resultDesc>";
  969. }
  970. $refxml .= "</res>";
  971. echo $refxml;
  972. /*$refxml = "";
  973. $refxml .= "<res>";
  974. $refxml .="<resultCode>0</resultCode>";
  975. $refxml .="<resultDesc>查询成功</resultDesc>";
  976. $refxml .="<dateTime>2017-01-04</dateTime><clinicCode>20</clinicCode><patName>测试姓名</patName><admLoc>就诊科室</admLoc><admDoc>就诊医生</admDoc><waitingNumber>12</waitingNumber>";
  977. $refxml .= "</res>";
  978. echo $refxml; */
  979. }
  980. }