123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359 |
- <?php
- namespace app\zskk\model;
- use app\admin\model\dict\Commondata;
- use app\admin\model\dict\Labitem;
- use app\common\model\ZskkModel;
- use think\db\exception\DataNotFoundException;
- use think\db\exception\DbException;
- use think\db\exception\ModelNotFoundException;
- /**
- * ZskkTest模型
- * @property int $id ID
- * @property string $a 测试参数a
- * @property string $b 测试参数b
- * @property string $c 测试参数c
- */
- class Patient extends ZskkModel
- {
-
- protected array $encrypts = ['ID_CARDNUM','NAME','INSUR_CARD_NO'];
- protected array $blurs = ['ID_CARDNUM','NAME','INSUR_CARD_NO'];
- protected array $blur_funs = [
- 'NAME' => 'blur1',
- 'ID_CARDNUM' => 'blur2',
- 'INSUR_CARD_NO' => 'blur3'
- ];
- protected array $decrypts = ['ID_CARDNUM','NAME','INSUR_CARD_NO','PATIENTNAME','CARDNUM'];
- public function saveMpi($mpi,$idCard,$mpiKey)
- {
- (new Mpi())->save(['MPI'=>$mpi,'ID_CARDNUM'=>$idCard,'MPI_KEY'=>$mpiKey]);
- }
- public function getPatientsByID_CARDNUM($ID_CARDNUM)
- {
- return (new Patient())->where('ID_CARDNUM', $ID_CARDNUM)->field(['NAME','ID_CARD_CODE','ID_CARDNUM','GENDER_CODE','BIRTH_DATE','PATIENT_CODE'])->select();
- }
-
- /**
- * @throws DataNotFoundException
- * @throws \think\exception\DbException
- * @throws ModelNotFoundException
- * @throws DbException
- */
- public function getMpi($idCard)
- {
- return (new Mpi())->where('ID_CARDNUM',$idCard)->find();
- }
- /**
- * @throws DataNotFoundException
- * @throws \think\exception\DbException
- * @throws ModelNotFoundException
- * @throws DbException
- */
- public function getMpiData($where)
- {
- return (new Mpi())->where($where)->find();
- }
- public function saveMedical($data):void
- {
- $MedicalInformation = new MedicalInformation;
- $MedicalInformation->save($data);
- }
- /**
- * @throws \Exception
- */
- public function saveDiagnose($data):void
- {
- $diagnose = new Diagnose();
- $diagnose->saveAll($data);
- }
- /**
- * @throws \Exception
- */
- public function saveApplication($data):void
- {
- $ExamApplication = new ExamApplication;
- $ExamApplication->saveAll($data);
- }
- /**
- * @throws \Exception
- */
- public function saveOrders($data):void
- {
- $MedicalOrders = new MedicalOrders;
- $MedicalOrders->saveAll($data);
- }
- /**
- * @throws \Exception
- */
- public function saveExamReport($data):void
- {
- $ExamReport = new ExamReport;
- $ExamReport->saveAll($data);
- }
- /**
- * @throws \Exception
- */
- public function saveInspectReport($data):void
- {
- $InspectReport = new InspectReport;
- $InspectReport->saveAll($data);
- }
- /**
- * @throws \Exception
- */
- public function saveLabData($data):void
- {
- $LabData = new LabData;
- $LabData->saveAll($data);
- }
- public function saveBiInspect($data): void
- {
- $biInspect = new BiInspectReport();
- $biInspect->saveAll($data);
- }
- /**
- * @throws \Exception
- */
- public function saveLabDataOrganism($data):void
- {
- $LabData = new LabDataOrganism;
- $LabData->saveAll($data);
- }
- /**
- * @throws ModelNotFoundException
- * @throws DbException
- * @throws DataNotFoundException
- */
- public function getMapping($where):array
- {
- return (new Mapping)->where($where)->select()->toArray();
- }
- /**
- * @throws ModelNotFoundException
- * @throws DbException
- * @throws DataNotFoundException
- */
- public function getAllMapping($where=[]):array
- {
- return (new Mapping)->where($where)->select()->toArray();
- }
- /**
- * @throws ModelNotFoundException
- * @throws DataNotFoundException
- * @throws DbException
- */
- public function getPatient($where,$field =['NAME', 'MPI','MPI_KEY', 'GENDER', 'ID_CARD', 'ID_CARD_CODE','ID_CARDNUM','GENDER_CODE','BIRTH_DATE','PATIENT_CODE','NAME AS PATIENTNAME','ID_CARDNUM AS CARDNUM'] )
- {
- return (new Patient())->where($where)->field($field)->find();
- }
- public function getMedical($patientCode,$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('PATIENT_CODE',$patientCode)->where($medicalWhere)->field($field)->find();
- }
- public function getDiagnoses($patientCode)
- {
- return (new Diagnose())->where('PATIENT_CODE',$patientCode)->field(['DIAGNOSECODE','DIAGNOSENAME'])->select()->toArray();
- }
- public function getApplication($patientCode)
- {
- return (new ExamApplication())->where('PATIENT_CODE',$patientCode)->field(['EXAM_APPLICATION_CODE','REQUESTID','NAME','SERIESNUM','DEVICETYPE','DEVICETYPE_CODE','EXAM_ITEMNAME','EXAM_ITEMNAME_CODE','BODYSITE_CATEG','BODYSITE_CATEG_CODE','BODYSITE','EXAM_METHOD','ORGCODE','ORGNAME','DEPTNAME','PRACTITIONERNAME','REQUESTTIME','GENDER','GENDER_CODE','AGE'])->select()->toArray();
- }
- public function getOrders($patientCode)
- {
- return (new MedicalOrders())->where('PATIENT_CODE',$patientCode)->field(['MEDICAL_ORDER_CODE','ORDERID','NAME','SERIESNUM','LAB_ITEMNAME','LAB_ITEMNAME_CODE','SPECIMEN_TYPE','SPECIMEN_NUM','SPECIMEN_STATUS','SPECIMEN_COLLETIME','SPECIMEN_RECEITIME','ORGCODE','ORGNAME','DEPTNAME','PRACTITIONERNAME','REQUESTTIME','REPORTSTATUS','REPORTSTATUS_CODE','GENDER','GENDER_CODE','AGE'])->select()->toArray();
- }
- 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', 'ORGNAME','ORGCODE','DEPTNAME','PRACTITIONERNAME','AUDITNAME','REPORTTIME','STUDYTIME','REPORT'])->select()->toArray();
- }
- public function getExamReport($where,$field)
- {
- return (new ExamReport())->where($where)->field($field)->find();
- }
- 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();
- }
- public function getInspectData($where,$field)
- {
- return (new InspectReport())->where($where)->field($field)->find();
- }
- 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 updateMiddleStatus($id,$update):void
- {
- (new MiddleStorage())->where('id',$id)->update($update);
- }
- public function getMpiByKey($key)
- {
- return (new Mpi())->where('MPI_KEY',$key)->value('mpi');
- }
- public function getDictNameByCode($code, $type)
- {
- return (new Commondata())->where('code',$code)->where('type', $type)->value('name');
- }
- public function saveRepeatData($data)
- {
- (new RepeatPost())->save($data);
- }
- public function HospitalPatient($data)
- {
- $model = new HospitalPatient();
- if(empty($data['MPI_KEY']))
- {
- $model->where('PATIENT_CODE', $data['PATIENT_CODE'])->delete();
- }else{
- $info = $model->where('PATIENT_CODE', $data['PATIENT_CODE'])->find();
- if (empty($info)) {
- $model->save($data);
- // HospitalPatient::insert($data);
- } else {
- // $info->data($data);
- // $model->where('PATIENT_CODE',$data['PATIENT_CODE'])->update($data);
- $info->save($data);
- // HospitalPatient::where('PATIENT_CODE',$data['PATIENT_CODE'])->update($data);
- }
- }
- }
- public function saveRepeatPatient($data): void
- {
- $model = new DelPatient();
- unset($data['ID']);
- $model->save($data);
- }
- public function delOldPatient($where): void
- {
- $this->where($where)->delete();
- }
- public function saveRepeatInformation($data): void
- {
- $model = new DelMedicalInformation();
- unset($data['ID']);
- $model->save($data);
- }
- public function delOldInformation($where): void
- {
- $model = new MedicalInformation();
- $model->where($where)->delete();
- }
- public function saveRepeatReport($data): void
- {
- $model = new DelExamReport();
- unset($data['ID']);
- $model->save($data);
- }
- public function delOldReport($where): void
- {
- $model = new ExamReport();
- $model->where($where)->delete();
- }
- public function saveRepeatInspect($data): void
- {
- $model = new DelInspectReport();
- unset($data['ID']);
- $model->save($data);
- }
- public function delOldInspect($where): void
- {
- $model = new InspectReport();
- $model->where($where)->delete();
- }
- public function getOldLab($where)
- {
- $arr = (new LabData())->where('INSPECT_REPORT_CODE','in',$where)->select()->toArray();
- return $arr;
- }
- public function delOldLab($where)
- {
- (new LabData())->where('INSPECT_REPORT_CODE','in',$where)->delete();
- }
- public function saveRepeatLab($data)
- {
- $model = new DelLabData();
- $model->saveAll($data);
- }
- public function getBiInspect($where)
- {
- $arr = (new BiInspectReport())->where('INSPECT_REPORT_CODE','in',$where)->select()->toArray();
- return $arr;
- }
- public function delBiInspect($where)
- {
- (new BiInspectReport())->where('INSPECT_REPORT_CODE','in',$where)->delete();
- }
- public function saveRepeatBiInspect($data)
- {
- $model = new DelBiInspectReport();
- $model->saveAll($data);
- }
- public function getItemLab($where, $value)
- {
- $model = new Labitem();
- return $model->where($where)->field($value)->find();
- }
- public function getHospitalData($param)
- {
- $model = new TestHospitalData();
- return $model->where('TYPE',$param['type'] ?? 1)->select()->toArray();
- }
- public function getCheck($param)
- {
- $model = new TestCheckRecognition();
- return $model->where('TYPE',$param['type'] ?? 1)->select()->toArray();
- }
- public function getInpection($param)
- {
- $model = new TestInspectionRecognition();
- return $model->where('TYPE',$param['type'] ?? 1)->select()->toArray();
- }
- }
|