|
@@ -3,6 +3,7 @@
|
|
|
namespace app\zskk\model;
|
|
|
|
|
|
use app\admin\model\dict\Commondata;
|
|
|
+use app\admin\model\dict\Examproject;
|
|
|
use app\admin\model\dict\Labitem;
|
|
|
use app\common\model\ZskkModel;
|
|
|
use think\db\exception\DataNotFoundException;
|
|
@@ -38,9 +39,9 @@ class Patient extends ZskkModel
|
|
|
(new Mpi())->save(['MPI'=>$mpi,'ID_CARDNUM'=>$idCard,'MPI_KEY'=>$mpiKey]);
|
|
|
}
|
|
|
|
|
|
- public function getPatientsByID_CARDNUM($ID_CARDNUM)
|
|
|
+ public function getPatientsByID_CARDNUM($ID_CARDNUM,$where = [])
|
|
|
{
|
|
|
- return (new Patient())->where('ID_CARDNUM', $ID_CARDNUM)->field(['NAME','ID_CARD_CODE','ID_CARDNUM','GENDER_CODE','BIRTH_DATE','PATIENT_CODE'])->select();
|
|
|
+ return (new Patient())->where('ID_CARDNUM', $ID_CARDNUM)->where($where)->field(['NAME','ID_CARD_CODE','ID_CARDNUM','GENDER_CODE','BIRTH_DATE','PATIENT_CODE','PHONE'])->select();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -174,6 +175,11 @@ class Patient extends ZskkModel
|
|
|
return (new MedicalInformation())->where('PATIENT_CODE',$patientCode)->where($medicalWhere)->field($field)->find();
|
|
|
}
|
|
|
|
|
|
+ public function getMedicalInformation($medicalWhere=[],$field=['SERIESNUM','CLASS_CODE', 'CLASS', 'ENCOUNTER_CARD_NO', 'RECORD_CODE', 'HOS_EMPI', 'NAME', 'ENCOUNTER_DATE', 'DEPTNAME', 'CHIEFCOMPLAINT', 'ORGCODE', 'ORGNAME', 'AGE', 'GENDER', 'GENDER_CODE', 'DIAGNOSECODE', 'DIAGNOSENAME','DOCTORNAME','DOCTORCODE'])
|
|
|
+ {
|
|
|
+ return (new MedicalInformation())->where($medicalWhere)->field($field)->find();
|
|
|
+ }
|
|
|
+
|
|
|
public function getMedicalData($medicalWhere=[],$field=['SERIESNUM','CLASS_CODE', 'CLASS', 'ENCOUNTER_CARD_NO', 'RECORD_CODE', 'HOS_EMPI', 'NAME', 'ENCOUNTER_DATE', 'DEPTNAME', 'CHIEFCOMPLAINT', 'ORGCODE', 'ORGNAME', 'AGE', 'GENDER', 'GENDER_CODE', 'DIAGNOSECODE', 'DIAGNOSENAME','DOCTORNAME','DOCTORCODE'])
|
|
|
{
|
|
|
return (new MedicalInformation())->where($medicalWhere)->field($field)->find();
|
|
@@ -193,7 +199,13 @@ class Patient extends ZskkModel
|
|
|
public function getExam($patientCode,$where=[])
|
|
|
{
|
|
|
// return (new ExamReport())->where('PATIENT_CODE',$patientCode)->field(['NAME','SERIESNUM', 'EXAM_REQUESTID', 'REPORTID', 'EXAM_ITEMNAME', 'BODYSITE_CATEG', 'BODYSITE_CATEG_CODE', 'BODYSITE', 'OBSERVATIONS_COMMENT', 'OBSERVATIONS_RESULT', 'BODYSITE_CATEG_CODE', 'BODYSITE', 'OBSERVATIONS_COMMENT', 'OBSERVATIONS_RESULT', 'IMAGES', 'DICOM_INDEXID', 'DICOM_INDEXID', 'OBSERVATIONS_COMMENT', 'OBSERVATIONS_RESULT', 'IMAGES', 'DICOM_INDEXID', 'EXAM_ITEMNAME','EXAM_APPLICATION_CODE','STUDYTIME','EXAM_ITEMNAME_CODE','EXAM_REPORT_CODE','PRACTITIONERNAME'])->select()->toArray();
|
|
|
- return (new ExamReport())->where('PATIENT_CODE',$patientCode)->where($where)->field(['REQUESTID','REPORTID','DEVICETYPE_CODE','EXAM_ITEMNAME','EXAM_ITEMNAME_CODE','BODYSITE','OBSERVATIONS_COMMENT','OBSERVATIONS_RESULT','RESULT_STATUS_CODE', 'RESULT_STATUS', 'HR_RANGE','HR_ITEMNAME_CODE', 'HR_ITEMNAME','IMAGES', 'ORGNAME','ORGCODE','DEPTNAME','PRACTITIONERNAME','AUDITNAME','REPORTTIME','STUDYTIME','REPORT'])->select()->toArray();
|
|
|
+ return (new ExamReport())->where('PATIENT_CODE',$patientCode)->where($where)->field(['PATIENT_CODE','SERIESNUM','REQUESTID','REPORTID','DEVICETYPE_CODE','EXAM_ITEMNAME','EXAM_ITEMNAME_CODE','BODYSITE','OBSERVATIONS_COMMENT','OBSERVATIONS_RESULT','RESULT_STATUS_CODE', 'RESULT_STATUS', 'HR_RANGE','HR_ITEMNAME_CODE', 'HR_ITEMNAME','IMAGES','STUDY_ID', 'ORGNAME','ORGCODE','DEPTNAME','PRACTITIONERNAME','AUDITNAME','REPORTTIME','STUDYTIME','REPORT'])->select()->toArray();
|
|
|
+ }
|
|
|
+
|
|
|
+ public function saveReportStudy($studyUid,$studyId)
|
|
|
+ {
|
|
|
+ return (new ExamReport())->where('STUDYUID',$studyUid)->update(['STUDY_ID' => $studyId]);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public function getExamReport($where,$field)
|
|
@@ -203,7 +215,18 @@ class Patient extends ZskkModel
|
|
|
public function getInspect($patientCode,$where=[])
|
|
|
{
|
|
|
// return (new InspectReport())->where('PATIENT_CODE',$patientCode)->field(['NAME','SERIESNUM', 'EXAM_REQUESTID', 'REPORTID', 'SPECIMEN_TYPE', 'ORGCODE', 'ORGNAME', 'DEPTNAME', 'PRACTITIONERNAME', 'AUDITNAME', 'REPORTTIME', 'REPORTSTATUS', 'GENDER', 'GENDER_CODE', 'AGE', 'LAB_ITEMNAME', 'LAB_ITEMNAME_CODE', 'LAB_ITEMNAME_NUMBER', 'LAB_HR_STATUS', 'LAB_HR_ITEMNAME', 'LAB_HR_ITEMNAME_CODE','INSPECT_REPORT_CODE'])->select()->toArray();
|
|
|
- return (new InspectReport())->where('PATIENT_CODE',$patientCode)->where($where)->field(['REPORTID','LAB_ITEMNAME','LAB_ITEMNAME_TYPE_CODE','PRACTITIONERNAME','AUDITNAME','ORGNAME','ORGCODE','DEPTNAME','REPORT_COMMENT','REPORTTIME','REPORT','LAB_HR_ITEMNAME_CODE', 'LAB_HR_ITEMNAME', 'HR_RANGE','SPECIMEN_TYPE','INSPECT_REPORT_CODE','RECOG_STATUS'])->select()->toArray();
|
|
|
+ return (new InspectReport())->where('PATIENT_CODE',$patientCode)->where($where)->field(['SERIESNUM','REPORTID','LAB_ITEMNAME','LAB_ITEMNAME_TYPE_CODE','PRACTITIONERNAME','AUDITNAME','ORGNAME','ORGCODE','DEPTNAME','REPORT_COMMENT','REPORTTIME','REPORT','LAB_HR_ITEMNAME_CODE', 'LAB_HR_ITEMNAME', 'HR_RANGE','SPECIMEN_TYPE','INSPECT_REPORT_CODE','RECOG_STATUS'])->select()->toArray();
|
|
|
+ }
|
|
|
+
|
|
|
+ public function getExamData($patientCode)
|
|
|
+ {
|
|
|
+ $field = ['m.AGE','m.GENDER','m.DIAGNOSENAME','e.NAME','e.SERIESNUM','e.REQUESTID','e.REPORTID','e.DEVICETYPE_CODE','e.EXAM_ITEMNAME','e.EXAM_ITEMNAME_CODE','e.BODYSITE','e.OBSERVATIONS_COMMENT','e.OBSERVATIONS_RESULT','e.RESULT_STATUS_CODE', 'RESULT_STATUS', 'HR_RANGE','e.HR_ITEMNAME_CODE', 'HR_ITEMNAME','e.IMAGES','e.STUDY_ID', 'e.ORGNAME','e.ORGCODE','e.DEPTNAME','e.PRACTITIONERNAME','e.AUDITNAME','e.REPORTTIME','e.STUDYTIME','e.REPORT'];
|
|
|
+ $data = (new ExamReport())->alias('e')
|
|
|
+ ->join('medical_information m','m.PATIENT_CODE = e.PATIENT_CODE')
|
|
|
+ ->where('e.PATIENT_CODE',$patientCode)
|
|
|
+ ->field($field)
|
|
|
+ ->find();
|
|
|
+ return $data;
|
|
|
}
|
|
|
|
|
|
public function getInspectData($where,$field)
|
|
@@ -212,10 +235,18 @@ class Patient extends ZskkModel
|
|
|
}
|
|
|
public function getLab($reportCode)
|
|
|
{
|
|
|
- // return (new LabData())->where('INSPECT_REPORT_CODE',$reportCode)->field(['EXAM_REQUESTID','REPORTID', 'ORGCODE', 'LAB_ITEMDETAILNAME', 'LAB_ITEMDETAILNAME_CODE', 'LAB_ITEMDETAILNAME_NUMBER', 'LAB_ITEMDETAILVALUE', 'LAB_ITEMDETAILSPEC', 'LAB_ITEMDETAILINTERPRETATION', 'LAB_ITEMDETAILRANGE', 'CRITICAL_RANGE', 'LAB_HR_ITEMDETAIL_STATUS', 'LAB_HR_ITEMDETAILNAME', 'LAB_HR_ITEMDETAILNAME_CODE'])->select()->toArray();
|
|
|
return (new LabData())->where('INSPECT_REPORT_CODE',$reportCode)->field(['LAB_ITEMDETAILNAME','LAB_ITEMDETAILNAME_EN','LAB_ITEMDETAILNAME_NUMBER','LAB_ITEMDETAILVALUE','LAB_ITEMDETAILSPEC','LAB_ITEMDETAILINTERPRETATION','LAB_ITEMDETAILINTERPRETATION_BIA','LAB_ITEMDETAILRANGE','CRITICAL_RANGE','LAB_METHOD','KB','MIC','LAB_ITEMDETAILINTERPRE','LAB_HR_ITEMDETAILNAME_CODE','LAB_HR_ITEMDETAILNAME','HR_RANGE','RECOG_STATUS','LAB_ITEMDETAILNAME_CODE'])->order('LAB_ITEMDETAILNAME_NUMBER')->select()->toArray();
|
|
|
}
|
|
|
|
|
|
+ public function getInspectReport($inspectCode)
|
|
|
+ {
|
|
|
+ return (new InspectReport())->alias('i')
|
|
|
+ ->join(['medical_information'=>'m'],'m.PATIENT_CODE=i.PATIENT_CODE')
|
|
|
+ ->where('i.INSPECT_REPORT_CODE',$inspectCode)
|
|
|
+ ->field('m.NAME,m.GENDER,m.CLASS,i.SERIESNUM,ENCOUNTER_CARD_NO,RECORD_CODE,ENCOUNTER_DATE,i.DEPTNAME,CHIEFCOMPLAINT,i.ORGNAME,m.AGE,DIAGNOSENAME,m.DOCTORNAME,SPECIMEN_TYPE,PRACTITIONERNAME,AUDITNAME,REPORTTIME,LAB_ITEMNAME,REPORT,HR_RANGE,LAB_HR_ITEMNAME')
|
|
|
+ ->find();
|
|
|
+ }
|
|
|
+
|
|
|
public function updateMiddleStatus($id,$update):void
|
|
|
{
|
|
|
(new MiddleStorage())->where('id',$id)->update($update);
|
|
@@ -260,6 +291,8 @@ class Patient extends ZskkModel
|
|
|
{
|
|
|
$model = new DelPatient();
|
|
|
unset($data['ID']);
|
|
|
+ unset($data['CREATE_TIME']);
|
|
|
+ unset($data['UPDATE_TIME']);
|
|
|
$model->save($data);
|
|
|
}
|
|
|
|
|
@@ -272,6 +305,8 @@ class Patient extends ZskkModel
|
|
|
{
|
|
|
$model = new DelMedicalInformation();
|
|
|
unset($data['ID']);
|
|
|
+ unset($data['CREATE_TIME']);
|
|
|
+ unset($data['UPDATE_TIME']);
|
|
|
$model->save($data);
|
|
|
}
|
|
|
|
|
@@ -285,6 +320,8 @@ class Patient extends ZskkModel
|
|
|
{
|
|
|
$model = new DelExamReport();
|
|
|
unset($data['ID']);
|
|
|
+ unset($data['CREATE_TIME']);
|
|
|
+ unset($data['UPDATE_TIME']);
|
|
|
$model->save($data);
|
|
|
}
|
|
|
|
|
@@ -297,6 +334,8 @@ class Patient extends ZskkModel
|
|
|
{
|
|
|
$model = new DelInspectReport();
|
|
|
unset($data['ID']);
|
|
|
+ unset($data['CREATE_TIME']);
|
|
|
+ unset($data['UPDATE_TIME']);
|
|
|
$model->save($data);
|
|
|
}
|
|
|
|
|
@@ -319,6 +358,11 @@ class Patient extends ZskkModel
|
|
|
public function saveRepeatLab($data)
|
|
|
{
|
|
|
$model = new DelLabData();
|
|
|
+ foreach ($data as $k=>&$v)
|
|
|
+ {
|
|
|
+ unset($data[$k]['CREATE_TIME']);
|
|
|
+ unset($data[$k]['UPDATE_TIME']);
|
|
|
+ }
|
|
|
$model->saveAll($data);
|
|
|
}
|
|
|
|
|
@@ -335,6 +379,11 @@ class Patient extends ZskkModel
|
|
|
public function saveRepeatBiInspect($data)
|
|
|
{
|
|
|
$model = new DelBiInspectReport();
|
|
|
+ foreach ($data as $k=>&$v)
|
|
|
+ {
|
|
|
+ unset($data[$k]['CREATE_TIME']);
|
|
|
+ unset($data[$k]['UPDATE_TIME']);
|
|
|
+ }
|
|
|
$model->saveAll($data);
|
|
|
}
|
|
|
|
|
@@ -344,6 +393,12 @@ class Patient extends ZskkModel
|
|
|
return $model->where($where)->field($value)->find();
|
|
|
}
|
|
|
|
|
|
+ public function getExamDict($where,$field)
|
|
|
+ {
|
|
|
+ $model = new Examproject();
|
|
|
+ return $model->where($where)->field($field)->find();
|
|
|
+ }
|
|
|
+
|
|
|
public function getHospitalData($param)
|
|
|
{
|
|
|
$model = new TestHospitalData();
|