|
@@ -43,77 +43,139 @@ class Dcom extends Controller //Base
|
|
|
|
|
|
public function insertPatient($info)
|
|
|
{
|
|
|
- $data = [
|
|
|
- 'id'=>UUIDs::uuid16(),
|
|
|
- 'name'=>$info['patientName'],
|
|
|
- 'sex'=>$info['patientSex'],
|
|
|
- 'age'=>$info['patientAge'],
|
|
|
- 'birthday'=>$info['birthDate'],
|
|
|
- 'createdAt'=>date('Y-m-d H:i:s'),
|
|
|
- 'temp_patient_id'=>$info['patientId'],
|
|
|
+ $where = [
|
|
|
'institution_id'=>$info['institutionCode'],
|
|
|
+ 'temp_patient_id'=>$info['patientId']
|
|
|
];
|
|
|
- DB::table('patient_infos')->insert($data);
|
|
|
- return $data;
|
|
|
+ $patient = Db::table('patient_infps')->where($where)->find();
|
|
|
+ if($patient){
|
|
|
+ return $patient;
|
|
|
+ }else{
|
|
|
+ $data = [
|
|
|
+ 'id'=>UUIDs::uuid16(),
|
|
|
+ 'name'=>$info['patientName'],
|
|
|
+ 'sex'=>$info['patientSex'],
|
|
|
+ 'age'=>$info['patientAge'],
|
|
|
+ 'birthday'=>$info['birthDate'],
|
|
|
+ 'createdAt'=>date('Y-m-d H:i:s'),
|
|
|
+ 'temp_patient_id'=>$info['patientId'],
|
|
|
+ 'institution_id'=>$info['institutionCode'],
|
|
|
+ ];
|
|
|
+ DB::table('patient_infos')->insert($data);
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public function insertExam($info,$patient)
|
|
|
{
|
|
|
- $data = [
|
|
|
- 'id'=>UUIDs::uuid16(),
|
|
|
- 'patient_id'=>$patient['id'],
|
|
|
- 'institution_id'=>$info['institutionCode'],
|
|
|
+ $where = [
|
|
|
'patient_num'=>$info['patientId'],
|
|
|
- 'accession_num'=>$info['accessionNumber'],
|
|
|
- 'exam_datetime'=>$info['studyDate'],
|
|
|
- 'exam_class'=>$info['modality'],
|
|
|
- 'study_id'=>$info['studyId'],
|
|
|
- 'study_uid'=>$info['studyUid'],
|
|
|
- 'illness_desc'=>$info['studyDescription'],
|
|
|
- 'createdAt'=>date('Y-m-d H:i:s'),
|
|
|
+ 'study_id'=>$info['studyId']
|
|
|
];
|
|
|
- DB::table('exams')->insert($data);
|
|
|
- return $data;
|
|
|
+ $exam = DB::table('exams')->where($where)->find();
|
|
|
+ if($exam){
|
|
|
+ return $exam;
|
|
|
+ }else{
|
|
|
+ $data = [
|
|
|
+ 'id'=>UUIDs::uuid16(),
|
|
|
+ 'patient_id'=>$patient['id'],
|
|
|
+ 'institution_id'=>$info['institutionCode'],
|
|
|
+ 'patient_num'=>$info['patientId'],
|
|
|
+ 'accession_num'=>$info['accessionNumber'],
|
|
|
+ 'exam_datetime'=>$info['studyDate'],
|
|
|
+ 'exam_class'=>$info['modality'],
|
|
|
+ 'study_id'=>$info['studyId'],
|
|
|
+ 'study_uid'=>$info['studyUid'],
|
|
|
+ 'illness_desc'=>$info['studyDescription'],
|
|
|
+ 'createdAt'=>date('Y-m-d H:i:s'),
|
|
|
+ ];
|
|
|
+ DB::table('exams')->insert($data);
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public function insertStudy($info,$patient)
|
|
|
+ {
|
|
|
+ $where = [
|
|
|
+ 'patient_id'=>$patient['id'],
|
|
|
+ 'studyuid'=>$info['studyUid']
|
|
|
+ ];
|
|
|
+ $study = DB::table('studies')->where($where)->find();
|
|
|
+ if($study){
|
|
|
+ return $study;
|
|
|
+ }else{
|
|
|
+ $data = [
|
|
|
+ 'id'=>UUIDs::uuid16(),
|
|
|
+ 'studyuid'=>$info['studyUid'],
|
|
|
+ 'patient_id'=>$patient['id'],
|
|
|
+ 'studyid'=>$info['studyId'],
|
|
|
+ 'accession_num'=>$info['accessionNumber'],
|
|
|
+ 'studydate'=>$info['studyDate'],
|
|
|
+ 'ctime'=>date('Y-m-d H:i:s'),
|
|
|
+ 'modality'=>$info['modality'],
|
|
|
+ 'patient_age'=>$info['patientAge'],
|
|
|
+ 'institution_name'=>$info['institutionName'],
|
|
|
+ 'institution_id'=>$info['institutionCode'],
|
|
|
+ 'createdAt'=>date('Y-m-d H:i:s'),
|
|
|
+ ];
|
|
|
+ DB::table('studies')->insert($data);
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public function insertSeries($info,$exam)
|
|
|
{
|
|
|
- $data = [
|
|
|
- 'id'=>UUIDs::uuid16(),
|
|
|
+ $where = [
|
|
|
'study_id'=>$info['studyId'],
|
|
|
- 'seriesuid'=>$info['seriesUid'],
|
|
|
- 'series_num'=>$info['seriesNumber'],
|
|
|
- 'modality'=>$info['modality'],
|
|
|
- 'description'=>$info['seriesDescription'],
|
|
|
- 'createdAt'=>date('Y-m-d H:i:s'),
|
|
|
+ 'seriesuid'=>$info['seriesUid']
|
|
|
];
|
|
|
- DB::table('series')->insert($data);
|
|
|
- return $data;
|
|
|
+ $series = DB::table('series')->where($where)->find();
|
|
|
+ if($series){
|
|
|
+ return $series;
|
|
|
+ }else{
|
|
|
+ $data = [
|
|
|
+ 'id'=>UUIDs::uuid16(),
|
|
|
+ 'study_id'=>$info['studyId'],
|
|
|
+ 'seriesuid'=>$info['seriesUid'],
|
|
|
+ 'series_num'=>$info['seriesNumber'],
|
|
|
+ 'modality'=>$info['modality'],
|
|
|
+ 'description'=>$info['seriesDescription'],
|
|
|
+ 'createdAt'=>date('Y-m-d H:i:s'),
|
|
|
+ ];
|
|
|
+ DB::table('series')->insert($data);
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public function insertImages($info,$series,$path,$patient)
|
|
|
{
|
|
|
- $data = [
|
|
|
- 'id'=>UUIDs::uuid16(),
|
|
|
- 'series_id'=>$series['id'],
|
|
|
- 'image_id'=>$info['imageId'],
|
|
|
- 'sop_uid'=>$info['SOPInstanceUID'],
|
|
|
- 'image_number'=>$info['imageNumber'],
|
|
|
- 'owner'=>$patient['id'],
|
|
|
- 'window_width'=>$info['windowWidth'],
|
|
|
- 'windo_center'=>$info['windowCenter'],
|
|
|
- 'rows'=>$info['rows'],
|
|
|
- 'columns'=>$info['columns'],
|
|
|
- 'pixe_spacing'=>$info['pixelSpacing'],
|
|
|
- 'image_position'=>$info['imagePosition'],
|
|
|
- 'image_orientation'=>$info['imageOrientation'],
|
|
|
- 'createdAt'=>date('Y-m-d H:i:s'),
|
|
|
- 'institution_id'=>$info['institutionCode'],
|
|
|
- 'local_url'=>ROOT_PATH . $path,
|
|
|
- 'remote_url'=>DS.$path,
|
|
|
- 'frame'=>$info['numberOfFrames'],
|
|
|
- ];
|
|
|
- DB::table('images')->insert($data);
|
|
|
- return $data;
|
|
|
+ $where = ['image_id'=>$info['imageId']];
|
|
|
+ $image = DB::table('images')->where($where)->find();
|
|
|
+ if($image){
|
|
|
+ return $image;
|
|
|
+ }else{
|
|
|
+ $data = [
|
|
|
+ 'id'=>UUIDs::uuid16(),
|
|
|
+ 'series_id'=>$series['id'],
|
|
|
+ 'image_id'=>$info['imageId'],
|
|
|
+ 'sop_uid'=>$info['SOPInstanceUID'],
|
|
|
+ 'image_number'=>$info['imageNumber'],
|
|
|
+ 'owner'=>$patient['id'],
|
|
|
+ 'window_width'=>$info['windowWidth'],
|
|
|
+ 'windo_center'=>$info['windowCenter'],
|
|
|
+ 'rows'=>$info['rows'],
|
|
|
+ 'columns'=>$info['columns'],
|
|
|
+ 'pixe_spacing'=>$info['pixelSpacing'],
|
|
|
+ 'image_position'=>$info['imagePosition'],
|
|
|
+ 'image_orientation'=>$info['imageOrientation'],
|
|
|
+ 'createdAt'=>date('Y-m-d H:i:s'),
|
|
|
+ 'institution_id'=>$info['institutionCode'],
|
|
|
+ 'local_url'=>ROOT_PATH . $path,
|
|
|
+ 'remote_url'=>DS.$path,
|
|
|
+ 'frame'=>$info['numberOfFrames'],
|
|
|
+ ];
|
|
|
+ DB::table('images')->insert($data);
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
}
|
|
|
}
|