新增病情记录model,新增获取患者病例,病情主诉字段

This commit is contained in:
wucongxing 2023-11-20 14:08:36 +08:00
parent 17c979105c
commit d7d2937159
3 changed files with 351 additions and 133 deletions

View File

@ -0,0 +1,123 @@
<?php
declare(strict_types=1);
namespace App\Model;
use Hyperf\Database\Model\Collection;
use Hyperf\Snowflake\Concern\Snowflake;
/**
* @property int $pathography_id 主键id
* @property int $user_id 用户id
* @property int $patient_id 患者id
* @property int $family_id 家庭成员id
* @property int $order_inquiry_id 关联问诊id
* @property int $order_prescription_id 关联处方id
* @property int $disease_class_id 疾病分类id-系统
* @property int $nation_id 民族id
* @property int $job_id 职业id
* @property int $relation 患者关系1:本人 2:父母 3:爱人 4:子女 5:亲戚 6:其他
* @property int $status 状态1:正常 2:删除)
* @property string $name 患者名称
* @property int $sex 患者性别0:未知 1: 2:女)
* @property int $age 患者年龄
* @property string $height 身高cm
* @property string $weight 体重kg
* @property string $disease_class_name 疾病名称-系统
* @property string $diagnosis_date 确诊日期
* @property string $disease_desc 病情描述(主诉)
* @property string $diagnose_images 复诊凭证(多个使用逗号分隔)
* @property int $is_allergy_history 是否存在过敏史0: 1:是)
* @property string $allergy_history 过敏史描述
* @property int $is_family_history 是否存在家族病史0: 1:是)
* @property string $family_history 家族病史描述
* @property int $is_pregnant 是否备孕、妊娠、哺乳期0: 1:是)
* @property string $pregnant 备孕、妊娠、哺乳期描述
* @property int $is_taboo 是否服用过禁忌药物且无相关禁忌0: 1:是)问诊购药时存在
* @property int $is_take_medicine 正在服药0: 1:是)
* @property string $drugs_name 正在服药名称
* @property string $nation_name 民族名称
* @property string $job_name 职业名称
* @property string $diagnosis_hospital 确诊医院
* @property int $is_operation 是否存在手术0: 1:是)
* @property string $operation 手术描述
* @property int $drink_wine_status 饮酒状态1:从不 2:偶尔 3:经常 4:每天 5:已戒酒)
* @property int $smoke_status 吸烟状态1:从不 2:偶尔 3:经常 4:每天 5:已戒烟)
* @property int $chemical_compound_status 化合物状态1:从不 2:偶尔 3:经常 4:每天)
* @property string $chemical_compound_describe 化合物描述
* @property \Carbon\Carbon $created_at 创建时间
* @property \Carbon\Carbon $updated_at 修改时间
*/
class PatientPathography extends Model
{
use Snowflake;
/**
* The table associated with the model.
*/
protected ?string $table = 'patient_pathography';
/**
* The attributes that are mass assignable.
*/
protected array $fillable = ['pathography_id', 'user_id', 'patient_id', 'family_id', 'order_inquiry_id', 'order_prescription_id', 'disease_class_id', 'nation_id', 'job_id', 'relation', 'status', 'name', 'sex', 'age', 'height', 'weight', 'disease_class_name', 'diagnosis_date', 'disease_desc', 'diagnose_images', 'is_allergy_history', 'allergy_history', 'is_family_history', 'family_history', 'is_pregnant', 'pregnant', 'is_taboo', 'is_take_medicine', 'drugs_name', 'nation_name', 'job_name', 'diagnosis_hospital', 'is_operation', 'operation', 'drink_wine_status', 'smoke_status', 'chemical_compound_status', 'chemical_compound_describe', 'created_at', 'updated_at'];
protected string $primaryKey = "pathography_id";
/**
* 获取信息-单条
* @param array $params
* @param array $fields
* @return object|null
*/
public static function getOne(array $params, array $fields = ['*']): object|null
{
return self::where($params)->first($fields);
}
/**
* 获取信息-单条
* @param array $params
* @param array $fields
* @return object|null
*/
public static function getLastOne(array $params, array $fields = ['*']): object|null
{
return self::where($params)->latest("created_at")->first($fields);
}
/**
* 获取数据-
* @param array $params
* @param array $fields
* @return Collection|array
*/
public static function getList(array $params = [], array $fields = ['*']): Collection|array
{
return self::where($params)->get($fields);
}
/**
* 新增
* @param array $data
* @return \Hyperf\Database\Model\Model|PatientPathography
*/
public static function addPatientPathography(array $data): \Hyperf\Database\Model\Model|PatientPathography
{
return self::create($data);
}
/**
* 修改
* @param array $params
* @param array $data
* @return int
*/
public static function edit(array $params = [], array $data = []): int
{
return self::where($params)->update($data);
}
}

View File

@ -0,0 +1,79 @@
<?php
declare(strict_types=1);
namespace App\Model;
use Hyperf\Database\Model\Collection;
use Hyperf\Snowflake\Concern\Snowflake;
/**
* @property int $pathography_product_id 主键id
* @property int $pathography_id 病情记录id
* @property int $product_id 商品id
* @property int $case_product_num 药品数量
* @property \Carbon\Carbon $created_at 创建时间
* @property \Carbon\Carbon $updated_at 修改时间
*/
class PatientPathographyProduct extends Model
{
use Snowflake;
/**
* The table associated with the model.
*/
protected ?string $table = 'patient_pathography_product';
/**
* The attributes that are mass assignable.
*/
protected array $fillable = ['pathography_product_id', 'pathography_id', 'product_id', 'case_product_num', 'created_at', 'updated_at'];
protected string $primaryKey = "pathography_product_id";
/**
* 获取信息-单条
* @param array $params
* @param array $fields
* @return object|null
*/
public static function getOne(array $params, array $fields = ['*']): object|null
{
return self::where($params)->first($fields);
}
/**
* 获取数据-
* @param array $params
* @param array $fields
* @return Collection|array
*/
public static function getList(array $params = [], array $fields = ['*']): Collection|array
{
return self::where($params)->get($fields);
}
/**
* 新增
* @param array $data
* @return \Hyperf\Database\Model\Model|PatientPathographyProduct
*/
public static function addPatientPathographyProduct(array $data): \Hyperf\Database\Model\Model|PatientPathographyProduct
{
return self::create($data);
}
/**
* 修改
* @param array $params
* @param array $data
* @return int
*/
public static function edit(array $params = [], array $data = []): int
{
return self::where($params)->update($data);
}
}

View File

@ -10,6 +10,7 @@ use App\Model\OrderProduct;
use App\Model\PatientFamily as PatientFamilyModel; use App\Model\PatientFamily as PatientFamilyModel;
use App\Model\PatientFamilyHealth; use App\Model\PatientFamilyHealth;
use App\Model\PatientFamilyPersonal as PatientFamilyPersonalModel; use App\Model\PatientFamilyPersonal as PatientFamilyPersonalModel;
use App\Model\PatientPathography;
use App\Utils\Mask; use App\Utils\Mask;
use Extend\VerifyDun\IdCard; use Extend\VerifyDun\IdCard;
use GuzzleHttp\Exception\GuzzleException; use GuzzleHttp\Exception\GuzzleException;
@ -994,6 +995,13 @@ class PatientFamilyService extends BaseService
return success(null); return success(null);
} }
// 获取病情记录
$params = array();
$params['user_id'] = $user_info['user_id'];
$params['patient_id'] = $user_info['client_user_id'];
$params['family_id'] = $family_id;
$patient_pathography = PatientPathography::getLastOne($params);
$result = array(); $result = array();
$result['user_id'] = $user_info['user_id']; $result['user_id'] = $user_info['user_id'];
$result['patient_id'] = $user_info['client_user_id']; $result['patient_id'] = $user_info['client_user_id'];
@ -1007,6 +1015,7 @@ class PatientFamilyService extends BaseService
$result['family_history'] = null; // 家族病史描述 $result['family_history'] = null; // 家族病史描述
$result['is_pregnant'] = null; // 是否备孕、妊娠、哺乳期0:否 1:是) $result['is_pregnant'] = null; // 是否备孕、妊娠、哺乳期0:否 1:是)
$result['pregnant'] = null; // 备孕、妊娠、哺乳期描述 $result['pregnant'] = null; // 备孕、妊娠、哺乳期描述
$result['disease_desc'] = ""; // 病情描述(主诉)
if (!empty($patient_family_personal)) { if (!empty($patient_family_personal)) {
if ($patient_family_personal['is_allergy_history'] != null) { if ($patient_family_personal['is_allergy_history'] != null) {
@ -1025,6 +1034,13 @@ class PatientFamilyService extends BaseService
} }
} }
// 病情主诉
if (!empty($patient_pathography)){
if ($patient_pathography['disease_desc'] != null){
$result['disease_desc'] = $patient_pathography['disease_desc']; // 病情描述(主诉)
}
}
return success($result); return success($result);
} }
} }