新增患者处方管理

This commit is contained in:
2023-02-21 14:12:31 +08:00
parent ad24a7ce91
commit 097f1da063
6 changed files with 141 additions and 35 deletions
+73 -1
View File
@@ -8,7 +8,9 @@ use App\Model\BasicBank;
use App\Model\DiseaseClassExpertise;
use App\Model\DoctorBankCard;
use App\Model\DoctorExpertise;
use App\Model\DoctorInquiryConfig;
use App\Model\OrderInquiry;
use App\Model\OrderPrescription;
use App\Model\UserDoctor;
use App\Model\UserDoctorInfo;
use App\Utils\Mask;
@@ -263,7 +265,11 @@ class UserDoctorService extends BaseService
return success();
}
public function putDoctorBankCard()
/**
* 更换医生银行卡
* @return array
*/
public function putDoctorBankCard(): array
{
$user_info = $this->request->getAttribute("userInfo") ?? [];
@@ -331,4 +337,70 @@ class UserDoctorService extends BaseService
return success();
}
// 获取处方列表
public function getPrescriptionList(): array
{
$user_info = $this->request->getAttribute("userInfo") ?? [];
$prescription_status = $this->request->route('prescription_status');
$page = $this->request->input('page', 1);
$per_page = $this->request->input('per_page', 10);
// 获取医生信息
$params = array();
$params['doctor_id'] = $user_info['client_user_id'];
$fields = [
'doctor_id',
'iden_auth_status',
'idcard_status',
'multi_point_status',
];
$user_doctor = UserDoctor::getOne($params, $fields);
if (empty($user_doctor)) {
return fail(HttpEnumCode::HTTP_ERROR, "非法医生");
}
if ($user_doctor['iden_auth_status'] != 1) {
return fail(HttpEnumCode::HTTP_ERROR, "请先完成身份认证");
}
if ($user_doctor['idcard_status'] != 1) {
return fail(HttpEnumCode::HTTP_ERROR, "请先完成实名认证");
}
if ($user_doctor['multi_point_status'] != 1) {
return fail(HttpEnumCode::HTTP_ERROR, "请先完成多点执业认证");
}
// 获取医生问诊价格
$params = array();
$params['doctor_id'] = $user_info['client_user_id'];
$params['inquiry_type'] = 1;
$params['inquiry_mode'] = 1;
$doctor_inquiry_config = DoctorInquiryConfig::getInquiryConfigOne($params);
if (empty($doctor_inquiry_config)){
return fail(HttpEnumCode::HTTP_ERROR, "请先设置在线问诊价格");
}
// 获取处方数据
$params = array();
$params['doctor_id'] = $user_info['client_user_id'];
$params['pharmacist_audit_status'] = $prescription_status;
$params['is_delete'] = 0;
$order_prescriptions = OrderPrescription::getPage($params);
if (empty($order_prescriptions)){
return success($order_prescriptions);
}
// 处理数据
foreach ($order_prescriptions as $$order_prescription){
// 获取病情描述
// 获取病情诊断名称,icd名称
// 患病时长
// 驳回原因
}
}
}