$this->mockRegisterCard($request_data),
'GetCardInfo' => $this->mockGetPatientInfo($request_data),
'GetDepType' => $this->mockGetDepLists($request_data),
'GetDoctList' => $this->mockGetDoctorLists($request_data),
'PayRegTrade' => $this->mockConfirmRegister($request_data),
'GetGHMXList' => $this->mockGetRegisterRecordLists($request_data),
'GHCancelCheck' => $this->mockCheckRefundRegisterStatus($request_data),
'GHCancelConfirm' => $this->mockRefundRegister($request_data),
'ListVisitRec' => $this->mockGetPendingLists($request_data),
'ListRecipe' => $this->mockGetPendingDetails($request_data),
'OutpatientExpenseRecord' => $this->mockGetPaidLists($request_data),
'OutpatientDetailRecord' => $this->mockGetPaidDetails($request_data),
'CreateOutpatientinvoiceEBill' => $this->mockCreateElectronInvoice($request_data),
'SendOutpatientinvoiceEBill' => $this->mockSendElectronInvoiceToHis($request_data),
'GetDictionary' => $this->mockGetDictionaryLists($request_data),
'GetChargeList' => $this->mockGetChargeList($request_data),
default => throw new GeneralException("Method '{$request_name}' not found"),
};
}
/**
* 响应格式化
* @param mixed $data
* @return mixed
* @throws Exception
*/
public function responseFormat(mixed $data): mixed
{
try {
// 此处为json格式
return json_decode((string)$data, true);
} catch (Exception $e) {
throw new Exception($e->getMessage());
}
}
/**
* 获取返回值
* @param bool $is_format
* @return mixed
* @throws Exception
*/
public function getResult(bool $is_format = true): mixed
{
return $this->responseFormat($this->transfer_response);
}
/**
* mockRegisterCard
* @param array $params
* @return self
*/
private function mockRegisterCard(array $params): self
{
$this->transfer_response = '{"status":200,"success":true,"msg":"成功","msgDev":null,"response":{"patientId":"2235711"}}';
return $this;
}
/**
* mockGetPatientInfo
* @param array $params
* @return self
*/
private function mockGetPatientInfo(array $params): self
{
$this->transfer_response = '{"status":200,"success":true,"msg":"成功","msgDev":null,"response":{"patientId":"2235574","cardNo":"230403199903245493","name":"谭玉山","sex":"0","birthday":"1999-03-24","cardStatus":"0","naturePatients":"123","patientNumber":"288712335574"}}';
return $this;
}
/**
* mockGetDepLists
* @param array $params
* @return self
*/
private function mockGetDepLists(array $params): self
{
$this->transfer_response = '{"status":200,"success":true,"msg":"成功","msgDev":null,"response":[{"typeId":"17","typeName":"泌尿外科"},{"typeId":"20","typeName":"体检办证"},{"typeId":"31","typeName":"内分泌科"},{"typeId":"01","typeName":"内科"},{"typeId":"05","typeName":"口腔科"},{"typeId":"19","typeName":"消化内科"},{"typeId":"29","typeName":"呼吸内科门诊"},{"typeId":"33","typeName":"中医减重门诊"},{"typeId":"03","typeName":"中医康复"},{"typeId":"18","typeName":"产前门诊"},{"typeId":"04","typeName":"五官科"},{"typeId":"10","typeName":"妇产科"},{"typeId":"16","typeName":"全科医生门诊"},{"typeId":"28","typeName":"儿童青少年心理门诊"},{"typeId":"02","typeName":"普外科"},{"typeId":"25","typeName":"儿科"},{"typeId":"27","typeName":"精神心理科"},{"typeId":"07","typeName":"急诊内科"},{"typeId":"09","typeName":"皮肤科"},{"typeId":"14","typeName":"急诊外科"},{"typeId":"15","typeName":"骨科"},{"typeId":"26","typeName":"治未病科"},{"typeId":"06","typeName":"专家门诊"},{"typeId":"11","typeName":"妇保门诊"},{"typeId":"12","typeName":"儿保门诊"},{"typeId":"32","typeName":"血液透析门诊"},{"typeId":"08","typeName":"天灸门诊"},{"typeId":"24","typeName":"神经内科"},{"typeId":"30","typeName":"助产士门诊"}]}';
return $this;
}
/**
* mockGetDoctorLists
* @param array $params
* @return self
*/
private function mockGetDoctorLists(array $params): self
{
$date = &$params['json']['date'];
$this->transfer_response = '{"status":200,"success":true,"msg":"成功","msgDev":null,"response":[{"doctId":"10488","doctName":"梁燕华","docTitle":"副主任医师","depLocation":"","isksDoc":"1","doctotVisitInfoList":[{"doctId":"10488","regId":"916601","rankId":"1","rankName":"上午","startTime":"08:00","endTime":"08:30","fee":"0","feeCode":"","regCount":"4","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916602","rankId":"1","rankName":"上午","startTime":"08:30","endTime":"09:00","fee":"0","feeCode":"","regCount":"3","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916603","rankId":"1","rankName":"上午","startTime":"09:00","endTime":"09:30","fee":"0","feeCode":"","regCount":"3","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916604","rankId":"1","rankName":"上午","startTime":"09:30","endTime":"10:00","fee":"0","feeCode":"","regCount":"3","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916605","rankId":"1","rankName":"上午","startTime":"10:00","endTime":"10:30","fee":"0","feeCode":"","regCount":"1","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916606","rankId":"1","rankName":"上午","startTime":"10:30","endTime":"11:00","fee":"0","feeCode":"","regCount":"3","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916607","rankId":"1","rankName":"上午","startTime":"11:00","endTime":"11:30","fee":"0","feeCode":"","regCount":"4","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916608","rankId":"1","rankName":"上午","startTime":"11:30","endTime":"12:00","fee":"0","feeCode":"","regCount":"5","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916609","rankId":"2","rankName":"下午","startTime":"14:00","endTime":"14:30","fee":"0","feeCode":"","regCount":"4","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916610","rankId":"2","rankName":"下午","startTime":"14:30","endTime":"15:00","fee":"0","feeCode":"","regCount":"4","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916611","rankId":"2","rankName":"下午","startTime":"15:00","endTime":"15:30","fee":"0","feeCode":"","regCount":"4","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916612","rankId":"2","rankName":"下午","startTime":"15:30","endTime":"16:00","fee":"0","feeCode":"","regCount":"4","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916613","rankId":"2","rankName":"下午","startTime":"16:00","endTime":"16:30","fee":"0","feeCode":"","regCount":"4","noVisits":"0","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10488","regId":"916017","rankId":"2","rankName":"下午","startTime":"16:30","endTime":"17:00","fee":"0","feeCode":"","regCount":"5","noVisits":"0","visitDate":"'. $date.'","timeSlot":null}]},{"doctId":"10446","doctName":"陈秀纯","docTitle":"主治医师","depLocation":"","isksDoc":"1","doctotVisitInfoList":[{"doctId":"10446","regId":"916156","rankId":"1","rankName":"上午","startTime":"08:00","endTime":"08:30","fee":"0","feeCode":"","regCount":"2","noVisits":"1","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10446","regId":"916157","rankId":"1","rankName":"上午","startTime":"08:30","endTime":"09:00","fee":"0","feeCode":"","regCount":"2","noVisits":"1","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10446","regId":"916158","rankId":"1","rankName":"上午","startTime":"09:00","endTime":"09:30","fee":"0","feeCode":"","regCount":"3","noVisits":"2","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10446","regId":"916160","rankId":"1","rankName":"上午","startTime":"10:00","endTime":"10:30","fee":"0","feeCode":"","regCount":"2","noVisits":"3","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10446","regId":"916161","rankId":"1","rankName":"上午","startTime":"10:30","endTime":"11:00","fee":"0","feeCode":"","regCount":"2","noVisits":"3","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10446","regId":"916162","rankId":"1","rankName":"上午","startTime":"11:00","endTime":"11:30","fee":"0","feeCode":"","regCount":"4","noVisits":"3","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10446","regId":"916163","rankId":"1","rankName":"上午","startTime":"11:30","endTime":"12:00","fee":"0","feeCode":"","regCount":"3","noVisits":"3","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10446","regId":"916164","rankId":"2","rankName":"下午","startTime":"14:00","endTime":"14:30","fee":"0","feeCode":"","regCount":"3","noVisits":"1","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10446","regId":"916165","rankId":"2","rankName":"下午","startTime":"14:30","endTime":"15:00","fee":"0","feeCode":"","regCount":"4","noVisits":"1","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10446","regId":"916166","rankId":"2","rankName":"下午","startTime":"15:00","endTime":"15:30","fee":"0","feeCode":"","regCount":"3","noVisits":"1","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10446","regId":"916167","rankId":"2","rankName":"下午","startTime":"15:30","endTime":"16:00","fee":"0","feeCode":"","regCount":"4","noVisits":"1","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10446","regId":"916168","rankId":"2","rankName":"下午","startTime":"16:00","endTime":"16:30","fee":"0","feeCode":"","regCount":"4","noVisits":"1","visitDate":"'. $date.'","timeSlot":null},{"doctId":"10446","regId":"916169","rankId":"2","rankName":"下午","startTime":"16:30","endTime":"17:00","fee":"0","feeCode":"","regCount":"5","noVisits":"1","visitDate":"'. $date.'","timeSlot":null}]}]}';
return $this;
}
private function mockConfirmRegister(array $params): self
{
$date = &$params['json']['date'];
$this->transfer_response = '{"status":200,"success":true,"msg":"成功","msgDev":null,"response":{"visitNo":"5358197","waitNum":"","treaID":"1-4","date":"2025-01-22","startTime":"16:30","endTime":"17:00","oppatNo":"288712335574","depLocation":"请到一楼儿童保健门诊","transNo":"","hzrs":"1"}}';
return $this;
}
/**
* mockGetRegisterRecordLists
* @param array $params
* @return self
*/
private function mockGetRegisterRecordLists(array $params): self
{
$this->transfer_response = '0成功- 3405227当天挂号01436002400029682021-07-171103903杨尧2下午600005001000门诊一楼0线上预约1716急诊科
- 3405228预约挂号1586002400029692021-07-181103904李梅1上午600005001001门诊二楼1现场挂号2520内科
- 3405229当天挂号0236002400029702021-07-191103905张强3夜间600005001002急诊大厅2电话预约3018儿科
- 3405230预约挂号1786002400029712021-07-201103906王丽1上午600005001003门诊三楼0线上预约4522眼科
';
return $this;
}
/**
* mockCheckRefundRegisterStatus
* @param array $params
* @return self
*/
private function mockCheckRefundRegisterStatus(array $params): self
{
$this->transfer_response = '{"status":200,"success":false,"msg":"退号取消检查不通过:当前挂号已过了挂号效期,不能重复退号","msgDev":null,"response":null}';
return $this;
}
/**
* mockRefundRegister
* @param array $params
* @return self
*/
private function mockRefundRegister(array $params): self
{
$this->transfer_response = '{"status":200,"success":true,"msg":"退号成功","msgDev":null,"response":null}';
return $this;
}
private function mockGetPendingLists(array $params)
{
$date_1 = date('Ymd');
$date_2 = date('Y-m-d');
$this->transfer_response = '{"status":200,"success":true,"msg":"成功","msgDev":null,"response":[{"idCardNo":"230403199903245493","visitType":"门诊","visitDate":"'.$date_1.'","strVisitDate":"'.$date_2.'","outpatientDiagnosis":"健康查体,健康查体,健康查体,健康查体,健康查体,健康查体,健康查体","treatmentDepartment":"132","departmentName":"急诊内科","regId":"0","prescriptionId":"1-17452209","prescriptionAmount":"1.05","singleAmount":"1.05","doctorName":"管理员","remarks":"","isexpense":"1","strExpense":"自费","nrescriptionNumber":"1-17452209","takeMedicine":"","visitNumber":"3886415"}]}';
return $this;
}
private function mockGetPendingDetails(array $params)
{
$date = date('Y-m-d');
$this->transfer_response = '{"status":200,"success":true,"msg":"成功","msgDev":null,"response":[{"feeDate":"'.$date.'","itemNo":"11255860","projectNumber":"1550","entryName":"0.9%氯化钠注射液G","unitPrice":"1.05","quantity":"1","money":"1.05","remarks":"","projectSpecifications":"250ML:2.25G/瓶","prescriptionNumber":"1-17452209","company":"瓶","prescriptionType":"西药","treatmentDepartment":"132","departmentName":"急诊内科","doctorNumber":"10365","doctorName":"管理员"}]}';
return $this;
}
/**
* mockGetPaidLists
* @param array $params
* @return self
*/
private function mockGetPaidLists(array $params): self
{
$this->transfer_response = '0D00589351叶子璐女自费2012-08-2111119-0001251.59251.59251.5900D00589351叶子璐女自费2012-08-2111119-0001251.59251.59251.5900';
return $this;
}
/**
* mockGetPaidDetails
* @param array $params
* @return self
*/
private function mockGetPaidDetails(array $params): self
{
$this->transfer_response = '02021-07-1715:22:313324497000098629965.965.9智能药房急诊科梁锦胜1.慢性喘息性支气管炎急性发作8182021-07-1715:13:32西药费0.9%氯化钠注射液100ML瓶12.422.42100ML11QDX-B05XA-L211-B00286902763001266甲类梁锦胜2021-07-1715:14:45西药费复方甘草酸苷片20mg瓶115.5015.50100片11QDX-B05XA-L211-B00386902763001267甲类梁锦胜2021-07-1715:15:02西药费头孢克肟胶囊250mg盒118.3018.30100粒11QDX-B05XA-L211-B00486902763001268甲类梁锦胜2021-07-1715:16:10西药费氯氮平片25mg瓶122.0022.00100片11QDX-B05XA-L211-B00586902763001269甲类梁锦胜2021-07-1715:17:25西药费安定片5mg瓶113.4013.40100片11QDX-B05XA-L211-B00686902763001270甲类梁锦胜2021-07-1715:18:42西药费阿莫西林胶囊500mg瓶18.008.00100粒11QDX-B05XA-L211-B00786902763001271甲类梁锦胜2021-07-1715:19:10西药费双氯芬酸钠胶囊50mg瓶116.8016.80100粒11QDX-B05XA-L211-B00886902763001272甲类梁锦胜2021-07-1715:19:45西药费利血平片25mg瓶112.3012.30100片11QDX-B05XA-L211-B00986902763001273甲类梁锦胜2021-07-1715:20:10西药费依普利酮片25mg瓶130.0030.00100片11QDX-B05XA-L211-B01086902763001274甲类梁锦胜';
return $this;
}
private function mockCreateElectronInvoice(array $params)
{
return [
'status' => 'success',
'message' => 'Electron invoice created successfully.',
'data' => $params
];
}
private function mockSendElectronInvoiceToHis(array $params)
{
return [
'status' => 'success',
'message' => 'Electron invoice sent successfully.',
'data' => $params
];
}
/**
* mockGetDictionaryLists
* @param array $params
* @return self
*/
private function mockGetDictionaryLists(array $params): self
{
$this->transfer_response = '{"status":200,"success":true,"msg":"成功","msgDev":null,"response":[{"typeId":"4","typeName":"草药费"},{"typeId":"20","typeName":"防疫药品"},{"typeId":"2","typeName":"西药费"},{"typeId":"3","typeName":"中成药"},{"typeId":"22","typeName":"B超"},{"typeId":"25","typeName":"CT检查"},{"typeId":"19","typeName":"X光费"},{"typeId":"1","typeName":"床位费"},{"typeId":"27","typeName":"高值耗材"},{"typeId":"12","typeName":"挂号费"},{"typeId":"11","typeName":"护理费"},{"typeId":"17","typeName":"急诊留观床位费"},{"typeId":"5","typeName":"检查费"},{"typeId":"9","typeName":"检验费"},{"typeId":"15","typeName":"救护车"},{"typeId":"26","typeName":"内镜检查"},{"typeId":"10","typeName":"其它"},{"typeId":"8","typeName":"手术费"},{"typeId":"13","typeName":"输血费"},{"typeId":"14","typeName":"输氧费"},{"typeId":"23","typeName":"碎石"},{"typeId":"21","typeName":"心电图"},{"typeId":"24","typeName":"一般诊疗费"},{"typeId":"16","typeName":"医材费"},{"typeId":"7","typeName":"诊查费"},{"typeId":"6","typeName":"治疗费"},{"typeId":"18","typeName":"自负床位费"}]}';
return $this;
}
/**
* mockGetChargeList
* @param array $params
* @return self
*/
private function mockGetChargeList(array $params): self
{
$this->transfer_response = '0- 西药费苯巴比妥片片30MG上海信谊药厂0.097
- 西药费阿莫西林胶囊粒500MG华北制药厂0.12用于治疗细菌感染
- 西药费复方氯噻吨片片0.25G长春药业0.15缓解高血压症状
- 西药费洛伐他汀片片20MG中科院制药0.25降低血脂
- 西药费维生素C片片500MG美国善格0.05增强免疫力
- 西药费布洛芬片片200MG华药集团0.1缓解轻度疼痛
- 西药费氯氮平片片25MG南京医药0.3用于治疗精神分裂症
- 西药费头孢克肟胶囊粒500MG石药集团0.18抗菌药物
- 西药费硝苯地平片片10MG国药集团0.2用于治疗高血压
- 西药费美托洛尔片片25MG拜耳制药0.22用于治疗心脏病
- 西药费甲硝唑片片250MG南京同仁堂0.12用于治疗感染
- 西药费阿托伐他汀片片10MG默沙东0.3调节血脂
- 西药费硫酸氢氯噻吨片片12.5MG齐鲁制药0.15用于治疗水肿
- 西药费兰索拉唑胶囊粒30MG百时美施贵宝0.18治疗胃酸过多
';
return $this;
}
}