处理回写患者病例

This commit is contained in:
wucongxing 2023-12-19 09:40:56 +08:00
parent 7478c198dd
commit 0d5ee9e6ad

View File

@ -12,6 +12,7 @@ use App\Model\OrderEvaluation;
use App\Model\OrderInquiry;
use App\Model\OrderInquiryCase;
use App\Model\OrderPrescription;
use App\Model\PatientFamily;
use App\Model\PatientFamilyHealth;
use App\Model\PatientFamilyPersonal;
use App\Model\PatientPathography;
@ -308,13 +309,69 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
* @param array|object $order_inquiry
* @return void
*/
protected function handleOrderInquiryCase(array|object $order_inquiry): void
protected function handleOrderInquiryCase(array|object $order_inquiry): bool
{
// 获取订单-问诊病例表
$params = array();
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
$order_inquiry_case = OrderInquiryCase::getOne($params);
if (!empty($order_inquiry_case)) {
if (empty($order_inquiry_case)) {
return false;
}
// 获取患者家庭成员信息表-基本信息
$params = array();
$params['family_id'] = $order_inquiry['family_id'];
$params['patient_id'] = $order_inquiry['patient_id'];
$params['status'] = 1;
$patient_family = PatientFamily::getOne($params);
if (empty($patient_family)){
return false;
}
$data = array();
// 身高
if ($patient_family['height'] == null && $order_inquiry_case['height'] != null){
$data['height'] = $order_inquiry_case['height'];
}
// 体重
if ($patient_family['weight'] == null && $order_inquiry_case['weight'] != null){
$data['weight'] = $order_inquiry_case['weight'];
}
// 婚姻状况0:未婚 1:已婚 2:离异)
if ($patient_family['marital_status'] == null && $order_inquiry_case['marital_status'] != null){
$data['marital_status'] = $order_inquiry_case['marital_status'];
}
// 民族
if ($patient_family['nation_id'] == null && $order_inquiry_case['nation_id'] != null){
$data['nation_id'] = $order_inquiry_case['nation_id'];
// 民族名称
if ($patient_family['nation_name'] == null && $order_inquiry_case['nation_name'] != null){
$data['nation_name'] = $order_inquiry_case['nation_name'];
}
}
// 职业
if ($patient_family['job_id'] == null && $order_inquiry_case['job_id'] != null){
$data['job_id'] = $order_inquiry_case['job_id'];
// 职业名称
if ($patient_family['job_name'] == null && $order_inquiry_case['job_name'] != null){
$data['job_name'] = $order_inquiry_case['job_name'];
}
}
if (!empty($data)) {
$params = array();
$params['family_id'] = $patient_family['family_id'];
PatientFamily::edit($params, $data);
}
// 获取患者家庭成员信息表-健康情况
$params = array();
$params['family_id'] = $order_inquiry['family_id'];
@ -328,22 +385,44 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
$data['disease_class_id'] = $order_inquiry_case['disease_class_id']; // 疾病分类id-系统
$data['disease_class_name'] = $order_inquiry_case['disease_class_name']; // 疾病名称-系统
$data['diagnosis_date'] = $order_inquiry_case['diagnosis_date']; // 确诊日期
$data['diagnosis_hospital'] = $order_inquiry_case['diagnosis_hospital']; // 确诊医院
$data['is_take_medicine'] = $order_inquiry_case['is_take_medicine']; // 正在服药0:否 1:是)
$data['drugs_name'] = $order_inquiry_case['drugs_name']; // 正在服药名称
$patient_family_health = PatientFamilyHealth::addPatientFamilyHealth($data);
if (empty($patient_family_health)) {
Log::getInstance("queue-AutoFinishInquiry")->error("错误:回写患者家庭成员信息表-健康情况表失败");
}
} else {
$data = array();
if ($order_inquiry_case['disease_class_id'] != $patient_family_health['disease_class_id']) {
$data['disease_class_id'] = $order_inquiry_case['disease_class_id']; // 疾病分类id-系统
// 疾病分类id-系统
if ($patient_family_health['disease_class_id'] == null && $order_inquiry_case['disease_class_id'] != null) {
$data['disease_class_id'] = $order_inquiry_case['disease_class_id'];
// 疾病名称-系统
if ($patient_family_health['disease_class_name'] == null && $order_inquiry_case['disease_class_name'] != null) {
$data['disease_class_name'] = $order_inquiry_case['disease_class_name'];
}
}
if ($order_inquiry_case['disease_class_name'] != $patient_family_health['disease_class_name']) {
$data['disease_class_name'] = $order_inquiry_case['disease_class_name']; // 疾病名称-系统
// 确诊日期
if ($patient_family_health['diagnosis_date'] == null && $order_inquiry_case['diagnosis_date'] != null) {
$data['diagnosis_date'] = $order_inquiry_case['diagnosis_date'];
}
if ($order_inquiry_case['diagnosis_date'] != $patient_family_health['diagnosis_date']) {
$data['diagnosis_date'] = $order_inquiry_case['diagnosis_date']; // 确诊日期
// 确诊医院
if ($patient_family_health['diagnosis_hospital'] == null && $order_inquiry_case['diagnosis_hospital'] != null) {
$data['diagnosis_hospital'] = $order_inquiry_case['diagnosis_hospital'];
}
// 正在服药
if ($patient_family_health['is_take_medicine'] == null && $order_inquiry_case['is_take_medicine'] != null) {
$data['is_take_medicine'] = $order_inquiry_case['is_take_medicine'];
// 正在服药名称
if ($patient_family_health['drugs_name'] == null && $order_inquiry_case['drugs_name'] != null) {
$data['drugs_name'] = $order_inquiry_case['drugs_name'];
}
}
if (!empty($data)) {
@ -362,28 +441,36 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
$data = array();
$data['family_id'] = $order_inquiry['family_id'];
$data['patient_id'] = $order_inquiry['patient_id'];
// 是否存在过敏史0:否 1:是)
if ($order_inquiry_case['is_allergy_history'] !== null) {
$data['is_allergy_history'] = $order_inquiry_case['is_allergy_history']; // 是否存在过敏史0:否 1:是)
}
$data['is_allergy_history'] = $order_inquiry_case['is_allergy_history'];
// 过敏史描述
if ($order_inquiry_case['allergy_history'] != null) {
$data['allergy_history'] = $order_inquiry_case['allergy_history']; // 过敏史描述
$data['allergy_history'] = $order_inquiry_case['allergy_history'];
}
}
// 是否存在家族病史0:否 1:是)
if ($order_inquiry_case['is_family_history'] !== null) {
$data['is_family_history'] = $order_inquiry_case['is_family_history']; // 是否存在家族病史0:否 1:是)
}
$data['is_family_history'] = $order_inquiry_case['is_family_history'];
// 家族病史描述
if ($order_inquiry_case['family_history'] != null) {
$data['family_history'] = $order_inquiry_case['family_history']; // 家族病史描述
$data['family_history'] = $order_inquiry_case['family_history'];
}
}
// 是否备孕、妊娠、哺乳期0:否 1:是)
if ($order_inquiry_case['is_pregnant'] !== null) {
$data['is_pregnant'] = $order_inquiry_case['is_pregnant']; // 是否备孕、妊娠、哺乳期0:否 1:是)
}
$data['is_pregnant'] = $order_inquiry_case['is_pregnant'];
// 是否备孕、妊娠、哺乳期0:否 1:是)
if ($order_inquiry_case['pregnant'] != null) {
$data['pregnant'] = $order_inquiry_case['pregnant']; // 是否备孕、妊娠、哺乳期0:否 1:是)
$data['pregnant'] = $order_inquiry_case['pregnant'];
}
}
$patient_family_personal = PatientFamilyPersonal::addPatientFamilyPersonal($data);
@ -392,28 +479,65 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
}
} else {
$data = array();
if ($order_inquiry_case['is_allergy_history'] !== $patient_family_personal['is_allergy_history']) {
$data['is_allergy_history'] = $order_inquiry_case['is_allergy_history']; // 是否存在过敏史0:否 1:是)
// 是否存在过敏史0:否 1:是)
if ($patient_family_personal['is_allergy_history'] == null && $order_inquiry_case['is_allergy_history'] != null){
$data['is_allergy_history'] = $order_inquiry_case['is_allergy_history'];
// 过敏史描述
if ($patient_family_personal['allergy_history'] == null && $order_inquiry_case['allergy_history'] != null){
$data['allergy_history'] = $order_inquiry_case['allergy_history'];
}
}
if ($order_inquiry_case['allergy_history'] != $patient_family_personal['allergy_history']) {
$data['allergy_history'] = $order_inquiry_case['allergy_history']; // 过敏史描述
// 是否存在家族病史0:否 1:是)
if ($patient_family_personal['is_family_history'] == null && $order_inquiry_case['is_family_history'] != null){
$data['is_family_history'] = $order_inquiry_case['is_family_history'];
// 家族病史描述
if ($patient_family_personal['family_history'] == null && $order_inquiry_case['family_history'] != null){
$data['family_history'] = $order_inquiry_case['family_history'];
}
}
if ($order_inquiry_case['is_family_history'] !== $patient_family_personal['is_family_history']) {
$data['is_family_history'] = $order_inquiry_case['is_family_history']; // 是否存在家族病史0:否 1:是)
// 是否备孕、妊娠、哺乳期0:否 1:是)
if ($patient_family_personal['is_pregnant'] == null && $order_inquiry_case['is_pregnant'] != null){
$data['is_pregnant'] = $order_inquiry_case['is_pregnant'];
// 备孕、妊娠、哺乳期描述
if ($patient_family_personal['pregnant'] == null && $order_inquiry_case['pregnant'] != null){
$data['pregnant'] = $order_inquiry_case['pregnant'];
}
}
if ($order_inquiry_case['family_history'] != $patient_family_personal['family_history']) {
$data['family_history'] = $order_inquiry_case['family_history']; // 家族病史描述
// 是否存在手术0:否 1:是)
if ($patient_family_personal['is_operation'] == null && $order_inquiry_case['is_operation'] != null){
$data['is_operation'] = $order_inquiry_case['is_operation'];
// 手术描述
if ($patient_family_personal['operation'] == null && $order_inquiry_case['operation'] != null){
$data['operation'] = $order_inquiry_case['operation'];
}
}
if ($order_inquiry_case['is_pregnant'] !== $patient_family_personal['is_pregnant']) {
$data['is_pregnant'] = $order_inquiry_case['is_pregnant']; // 是否备孕、妊娠、哺乳期0:否 1:是)
// 饮酒状态1:从不 2:偶尔 3:经常 4:每天 5:已戒酒)
if ($patient_family_personal['drink_wine_status'] == null && $order_inquiry_case['drink_wine_status'] != null){
$data['drink_wine_status'] = $order_inquiry_case['drink_wine_status'];
}
if ($order_inquiry_case['pregnant'] != $patient_family_personal['pregnant']) {
$data['pregnant'] = $order_inquiry_case['pregnant']; // 是否备孕、妊娠、哺乳期0:否 1:是)
// 吸烟状态1:从不 2:偶尔 3:经常 4:每天 5:已戒烟)
if ($patient_family_personal['smoke_status'] == null && $order_inquiry_case['smoke_status'] != null){
$data['smoke_status'] = $order_inquiry_case['smoke_status'];
}
// 化合物状态1:从不 2:偶尔 3:经常 4:每天)
if ($patient_family_personal['chemical_compound_status'] == null && $order_inquiry_case['chemical_compound_status'] != null){
$data['chemical_compound_status'] = $order_inquiry_case['chemical_compound_status'];
// 化合物描述
if ($patient_family_personal['chemical_compound_describe'] == null && $order_inquiry_case['chemical_compound_describe'] != null){
$data['chemical_compound_describe'] = $order_inquiry_case['chemical_compound_describe'];
}
}
if (!empty($data)) {
@ -423,7 +547,6 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
}
}
}
}
/**
* 处理医生服务患者数量