CommonServies.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538
  1. <?php
  2. declare (strict_types=1);
  3. namespace app\zskk\servies;
  4. use app\common\library\Gm;
  5. use app\common\library\Handle;
  6. use app\zskk\model\CallRecord;
  7. use app\zskk\model\Patient;
  8. use think\facade\Config;
  9. class CommonServies
  10. {
  11. public $patientModel = null;
  12. public $callRecordModel = null;
  13. public function __construct(Patient $patientModel, CallRecord $callRecord)
  14. {
  15. $this->patientModel = $patientModel;
  16. $this->callRecordModel = $callRecord;
  17. }
  18. public function getMpiModel($idCard)
  19. {
  20. $mpiIdCard = Gm::encrypt(Config::get('gm.key'),$idCard);
  21. $mpiModel = $this->patientModel->getMpi($mpiIdCard);
  22. if($mpiModel) {
  23. return $mpiModel;
  24. }
  25. $mpiKey = Handle::makeMpiKey($idCard);
  26. $mpi = Handle::makeMpi();
  27. $this->patientModel->saveMpi($mpi, $idCard, $mpiKey);
  28. return [
  29. 'MPI' => $mpi,
  30. 'ID_CARDNUM' => $idCard,
  31. 'MPI_KEY' => $mpiKey
  32. ];
  33. }
  34. public function handlePATIENT($data, $MEDICAL_INFORMATION)
  35. {
  36. // 姓名
  37. // 证件类型
  38. // 证件号码
  39. // 性别
  40. // 出生日期
  41. $NAME = $data['NAME'];
  42. $ID_CARD_CODE = $data['ID_CARD_CODE'];
  43. $ID_CARDNUM = $data['ID_CARDNUM'];
  44. $GENDER_CODE = $data['GENDER_CODE'];
  45. $BIRTH_DATE = $data['BIRTH_DATE'];
  46. $ID_CARD = $this->getID_CARDByCode($ID_CARD_CODE);
  47. $GENDER = $this->getGENDERByCode($GENDER_CODE);
  48. $MPI_MODEL = $this->getMpiModel($ID_CARDNUM);
  49. $MPI_KEY = $MPI_MODEL['MPI_KEY'];
  50. $MPI = $MPI_MODEL['MPI'];
  51. $PATIENT_CODE = $this->getPATIENT_CODE($MPI_KEY, $MEDICAL_INFORMATION['ORGCODE'], $MEDICAL_INFORMATION['SERIESNUM']);
  52. $PATIENT = [
  53. 'NAME' => $NAME,
  54. 'PATIENT_CODE' => $PATIENT_CODE,
  55. 'ID_CARD_CODE' => $ID_CARD_CODE,
  56. 'ID_CARD' => $ID_CARD,
  57. 'ID_CARDNUM' => $ID_CARDNUM,
  58. 'GENDER_CODE' => $GENDER_CODE,
  59. 'GENDER' => $GENDER,
  60. 'BIRTH_DATE' => $BIRTH_DATE,
  61. 'MPI_KEY' => $MPI_KEY,
  62. 'MPI' => $MPI,
  63. 'create_time' => $MEDICAL_INFORMATION['ENCOUNTER_DATE']
  64. ];
  65. return $PATIENT;
  66. }
  67. public function handleMEDICAL_INFORMATION($data, $PATIENT) {
  68. // 就诊类型
  69. // 就诊卡号
  70. // 就诊号
  71. // 医院主索引
  72. // 就诊时间
  73. // 就诊科室名称
  74. // 主诉
  75. // 年龄
  76. // 机构编码
  77. // 机构名称
  78. // 诊断编码
  79. // 诊断名称
  80. // 接诊医生名称
  81. // 接诊医生编号
  82. $CLASS_CODE = $data['CLASS_CODE'];
  83. $ENCOUNTER_CARD_NO = $data['ENCOUNTER_CARD_NO'];
  84. $SERIESNUM = $data['SERIESNUM'];
  85. $HOS_EMPI = $data['HOS_EMPI'];
  86. $ENCOUNTER_DATE = $data['ENCOUNTER_DATE'];
  87. $DEPTNAME = $data['DEPTNAME'];
  88. $CHIEFCOMPLAINT = $data['CHIEFCOMPLAINT'];
  89. $AGE = $data['AGE'];
  90. $ORGCODE = $data['ORGCODE'];
  91. $ORGNAME = $data['ORGNAME'];
  92. $DIAGNOSECODE = $data['DIAGNOSECODE'];
  93. $DIAGNOSENAME = $data['DIAGNOSENAME'];
  94. $DOCTORNAME = $data['DOCTORNAME'];
  95. $DOCTORCODE = $data['DOCTORCODE'];
  96. $PATIENT_CODE = $PATIENT['PATIENT_CODE'];
  97. $CLASS = $this->getCLASSByCode($CLASS_CODE);
  98. $NAME = $PATIENT['NAME'];
  99. $GENDER = $PATIENT['GENDER'];
  100. $GENDER_CODE = $PATIENT['GENDER_CODE'];
  101. $MPI = $PATIENT['MPI'];
  102. $MPI_KEY = $PATIENT['MPI_KEY'];
  103. $CALL_FLAG = $this->getCALL_FLAG($DOCTORNAME, $ORGNAME, $MPI_KEY);
  104. $MEDICAL_INFORMATION = [
  105. 'PATIENT_CODE' => $PATIENT_CODE,
  106. 'CLASS_CODE' => $CLASS_CODE,
  107. 'ENCOUNTER_CARD_NO' => $ENCOUNTER_CARD_NO,
  108. 'SERIESNUM' => $SERIESNUM,
  109. 'HOS_EMPI' => $HOS_EMPI,
  110. 'ENCOUNTER_DATE' => $ENCOUNTER_DATE,
  111. 'DEPTNAME' => $DEPTNAME,
  112. 'CHIEFCOMPLAINT' => $CHIEFCOMPLAINT,
  113. 'AGE' => $AGE,
  114. 'ORGCODE' => $ORGCODE,
  115. 'ORGNAME' => $ORGNAME,
  116. 'DIAGNOSECODE' => $DIAGNOSECODE,
  117. 'DIAGNOSENAME' => $DIAGNOSENAME,
  118. 'CLASS' => $CLASS,
  119. 'NAME' => $NAME,
  120. 'GENDER' => $GENDER,
  121. 'GENDER_CODE' => $GENDER_CODE,
  122. 'MPI' => $MPI,
  123. 'MPI_KEY' => $MPI_KEY,
  124. 'DOCTORNAME' => $DOCTORNAME,
  125. 'DOCTORCODE' => $DOCTORCODE,
  126. 'CALL_FLAG' => $CALL_FLAG,
  127. ];
  128. return $MEDICAL_INFORMATION;
  129. }
  130. public function getCALL_FLAG($DOCTORCODE, $ORGNAME, $MPI_KEY) {
  131. // $res = $this->callRecordModel->field('ID')
  132. // ->where('DOCTORCODE', '=', $DOCTORCODE)
  133. // ->where('ORGNAME', '=', $ORGNAME)
  134. // ->where('MPI_KEY', '=', $MPI_KEY)
  135. // ->find();
  136. // if($res) {
  137. // return 1;
  138. // }
  139. // return 0;
  140. return rand(0, 1);
  141. }
  142. public function handleEXAM($datas, $MEDICAL_INFORMATION) {
  143. $EXAM_APPLICATIONS = array();
  144. $EXAM_REPORTS = array();
  145. $MPI = $MEDICAL_INFORMATION['MPI'];
  146. $MPI_KEY = $MEDICAL_INFORMATION['MPI_KEY'];
  147. $PATIENT_CODE = $MEDICAL_INFORMATION['PATIENT_CODE'];
  148. $NAME = $MEDICAL_INFORMATION['NAME'];
  149. $SERIESNUM = $MEDICAL_INFORMATION['SERIESNUM'];
  150. $GENDER = $MEDICAL_INFORMATION['GENDER'];
  151. $GENDER_CODE = $MEDICAL_INFORMATION['GENDER_CODE'];
  152. $AGE = $MEDICAL_INFORMATION['AGE'];
  153. foreach($datas as $data) {
  154. // 申请单编号/医嘱编号
  155. // 报告单编号
  156. // 检查类型
  157. // 检查项目名称
  158. // 检查项目编码
  159. // 检查部位
  160. // 检查所见/影像所见
  161. // 影像诊断/意见
  162. // 检查结果类别
  163. // 互认范围
  164. // 互认项目编码
  165. // 报告机构
  166. // 报告机构编码
  167. // 报告科室名称
  168. // 报告医生姓名
  169. // 审核医师姓名
  170. // 报告时间
  171. // 检查时间
  172. // 报告单内容
  173. // 互认项目
  174. // REQUESTID
  175. // REPORTID
  176. // DEVICETYPE_CODE
  177. // EXAM_ITEMNAME
  178. // EXAM_ITEMNAME_CODE
  179. // BODYSITE
  180. // OBSERVATIONS_COMMENT
  181. // OBSERVATIONS_RESULT
  182. // RESULT_STATUS_CODE
  183. // HR_RANGE
  184. // HR_ITEMNAME_CODE
  185. // ORGNAME
  186. // ORGCODE
  187. // DEPTNAME
  188. // PRACTITIONERNAME
  189. // AUDITNAME
  190. // REPORTTIME
  191. // STUDYTIME
  192. // REPORT
  193. // HR_ITEMNAME
  194. $REQUESTID = $data['REQUESTID'];
  195. $REPORTID = $data['REPORTID'];
  196. $DEVICETYPE_CODE = $data['DEVICETYPE_CODE'];
  197. $EXAM_ITEMNAME = $data['EXAM_ITEMNAME'];
  198. $EXAM_ITEMNAME_CODE = $data['EXAM_ITEMNAME_CODE'];
  199. $BODYSITE = $data['BODYSITE'];
  200. $OBSERVATIONS_COMMENT = $data['OBSERVATIONS_COMMENT'];
  201. $OBSERVATIONS_RESULT = $data['OBSERVATIONS_RESULT'];
  202. $RESULT_STATUS_CODE = $data['RESULT_STATUS_CODE'];
  203. $HR_RANGE = $data['HR_RANGE'];
  204. $HR_ITEMNAME_CODE = $data['HR_ITEMNAME_CODE'];
  205. $ORGNAME = $data['ORGNAME'];
  206. $ORGCODE = $data['ORGCODE'];
  207. $DEPTNAME = $data['DEPTNAME'];
  208. $PRACTITIONERNAME = $data['PRACTITIONERNAME'];
  209. $AUDITNAME = $data['AUDITNAME'];
  210. $REPORTTIME = $data['REPORTTIME'];
  211. $STUDYTIME = $data['STUDYTIME'];
  212. $REPORT = $data['REPORT'];
  213. $HR_ITEMNAME = $data['HR_ITEMNAME'];
  214. // $RECOG_STATUS = $data['RECOG_STATUS'];
  215. $EXAM_APPLICATION_CODE = $this->getEXAM_APPLICATION_CODE($PATIENT_CODE, $REQUESTID);
  216. $EXAM_REPORT_CODE = $this->getEXAM_REPORT_CODE($PATIENT_CODE, $REPORTID);
  217. $RESULT_STATUS = $this->getRESULT_STATUSByCode($RESULT_STATUS_CODE);
  218. $DEVICETYPE = $this->getDEVICETYPEByCode($DEVICETYPE_CODE);
  219. // $RECOG_STATUS = $this->getRECOG_STATUS($RECOG_STATUS_CODE);
  220. $EXAM_APPLICATION = [];
  221. $EXAM_REPORT = [
  222. 'MPI' => $MPI,
  223. 'MPI_KEY' => $MPI_KEY,
  224. 'PATIENT_CODE' => $PATIENT_CODE,
  225. 'NAME' => $NAME,
  226. 'SERIESNUM' => $SERIESNUM,
  227. 'GENDER' => $GENDER,
  228. 'GENDER_CODE' => $GENDER_CODE,
  229. 'AGE' => $AGE,
  230. 'REQUESTID' => $REQUESTID,
  231. 'REPORTID' => $REPORTID,
  232. 'DEVICETYPE_CODE' => $DEVICETYPE_CODE,
  233. 'EXAM_ITEMNAME' => $EXAM_ITEMNAME,
  234. 'EXAM_ITEMNAME_CODE' => $EXAM_ITEMNAME_CODE,
  235. 'BODYSITE' => $BODYSITE,
  236. 'OBSERVATIONS_COMMENT' => $OBSERVATIONS_COMMENT,
  237. 'OBSERVATIONS_RESULT' => $OBSERVATIONS_RESULT,
  238. 'RESULT_STATUS_CODE' => $RESULT_STATUS_CODE,
  239. 'HR_RANGE' => $HR_RANGE,
  240. 'HR_ITEMNAME_CODE' => $HR_ITEMNAME_CODE,
  241. 'ORGNAME' => $ORGNAME,
  242. 'ORGCODE' => $ORGCODE,
  243. 'DEPTNAME' => $DEPTNAME,
  244. 'PRACTITIONERNAME' => $PRACTITIONERNAME,
  245. 'AUDITNAME' => $AUDITNAME,
  246. 'REPORTTIME' => $REPORTTIME,
  247. 'STUDYTIME' => $STUDYTIME,
  248. 'REPORT' => $REPORT,
  249. 'EXAM_APPLICATION_CODE' => $EXAM_APPLICATION_CODE,
  250. 'EXAM_REPORT_CODE' => $EXAM_REPORT_CODE,
  251. 'RESULT_STATUS' => $RESULT_STATUS,
  252. 'DEVICETYPE' => $DEVICETYPE,
  253. 'HR_ITEMNAME' => $HR_ITEMNAME,
  254. 'DOCTORNAME' => $MEDICAL_INFORMATION['DOCTORNAME'],
  255. 'DOCTORCODE' => $MEDICAL_INFORMATION['DOCTORCODE'],
  256. 'CALL_FLAG' => $MEDICAL_INFORMATION['CALL_FLAG'],
  257. // 'RECOG_STATUS' => $RECOG_STATUS,
  258. // todo
  259. 'create_time' => $REPORTTIME,
  260. ];
  261. $EXAM_APPLICATIONS[] = $EXAM_APPLICATION;
  262. $EXAM_REPORTS[] = $EXAM_REPORT;
  263. }
  264. return [
  265. 'EXAM_APPLICATIONS' => $EXAM_APPLICATIONS,
  266. 'EXAM_REPORTS' => $EXAM_REPORTS,
  267. ];
  268. }
  269. public function handleINSPECT_REPORTS($datas, $MEDICAL_INFORMATION) {
  270. $INSPECT_REPORTS = array();
  271. $INSPECT_REPORT_ITEMS = array();
  272. $MPI = $MEDICAL_INFORMATION['MPI'];
  273. $MPI_KEY = $MEDICAL_INFORMATION['MPI_KEY'];
  274. $PATIENT_CODE = $MEDICAL_INFORMATION['PATIENT_CODE'];
  275. $NAME = $MEDICAL_INFORMATION['NAME'];
  276. $SERIESNUM = $MEDICAL_INFORMATION['SERIESNUM'];
  277. $GENDER = $MEDICAL_INFORMATION['GENDER'];
  278. $GENDER_CODE = $MEDICAL_INFORMATION['GENDER_CODE'];
  279. $AGE = $MEDICAL_INFORMATION['AGE'];
  280. // 报告单编号
  281. // 标本类别
  282. // 检验项目名称
  283. // 检测项目类型
  284. // 报告医生姓名
  285. // 审核医师姓名
  286. // 报告机构
  287. // 报告机构编码
  288. // 报告科室名称
  289. // 报告评语
  290. // 报告时间
  291. // 报告单
  292. // 互认项目编码
  293. // 互认范围
  294. // 互认项目
  295. // REPORTID
  296. // SPECIMEN_TYPE
  297. // LAB_ITEMNAME
  298. // LAB_ITEMNAME_TYPE_CODE
  299. // PRACTITIONERNAME
  300. // AUDITNAME
  301. // ORGNAME
  302. // ORGCODE
  303. // DEPTNAME
  304. // REPORT_COMMENT
  305. // REPORTTIME
  306. // REPORT
  307. // LAB_HR_ITEMNAME_CODE
  308. // HR_RANGE
  309. // LAB_HR_ITEMNAME
  310. foreach($datas as $data) {
  311. $REPORTID = $data['REPORTID'];
  312. $SPECIMEN_TYPE = $data['SPECIMEN_TYPE'];
  313. $LAB_ITEMNAME = $data['LAB_ITEMNAME'];
  314. $LAB_ITEMNAME_TYPE_CODE = $data['LAB_ITEMNAME_TYPE_CODE'];
  315. $PRACTITIONERNAME = $data['PRACTITIONERNAME'];
  316. $AUDITNAME = $data['AUDITNAME'];
  317. $ORGNAME = $data['ORGNAME'];
  318. $ORGCODE = $data['ORGCODE'];
  319. $DEPTNAME = $data['DEPTNAME'];
  320. $REPORT_COMMENT = $data['REPORT_COMMENT'];
  321. $REPORTTIME = $data['REPORTTIME'];
  322. $REPORT = $data['REPORT'];
  323. $LAB_HR_ITEMNAME_CODE = $data['LAB_HR_ITEMNAME_CODE'];
  324. $itemLabDict = $this->patientModel->getItemLab(['BSYBBM'=>$LAB_HR_ITEMNAME_CODE],'ITEMTYPE');
  325. $itemType = $itemLabDict['ITEMTYPE'] ?? '';
  326. $HR_RANGE = $data['HR_RANGE'];
  327. $LAB_HR_ITEMNAME = $data['LAB_HR_ITEMNAME'];
  328. // $SPECIMEN_TYPE = $this->getSPECIMEN_TYPEByCode($SPECIMEN_TYPE_CODE);
  329. $LAB_ITEMNAME_TYPE = $this->getLAB_ITEMNAME_TYPEByCode($LAB_ITEMNAME_TYPE_CODE);
  330. $INSPECT_REPORT_CODE = $this->getINSPECT_REPORT_CODE($PATIENT_CODE, $REPORTID);
  331. // $RECOG_STATUS = $data['RECOG_STATUS'];
  332. // $RECOG_STATUS_CODE = $data['RECOG_STATUS_CODE'];
  333. // $RECOG_STATUS = $this->getRECOG_STATUS($RECOG_STATUS_CODE);
  334. $INSPECT_REPORT = [
  335. 'MPI' => $MPI,
  336. 'MPI_KEY' => $MPI_KEY,
  337. 'PATIENT_CODE' => $PATIENT_CODE,
  338. 'NAME' => $NAME,
  339. 'SERIESNUM' => $SERIESNUM,
  340. 'GENDER' => $GENDER,
  341. 'GENDER_CODE' => $GENDER_CODE,
  342. 'AGE' => $AGE,
  343. 'REPORTID' => $REPORTID,
  344. // 'SPECIMEN_TYPE_CODE' => $SPECIMEN_TYPE_CODE,
  345. 'LAB_ITEMNAME' => $LAB_ITEMNAME,
  346. 'LAB_ITEMNAME_TYPE_CODE' => $LAB_ITEMNAME_TYPE_CODE,
  347. 'LAB_ITEMNAME_TYPE' => $LAB_ITEMNAME_TYPE,
  348. 'PRACTITIONERNAME' => $PRACTITIONERNAME,
  349. 'AUDITNAME' => $AUDITNAME,
  350. 'ORGNAME' => $ORGNAME,
  351. 'ORGCODE' => $ORGCODE,
  352. 'DEPTNAME' => $DEPTNAME,
  353. 'REPORT_COMMENT' => $REPORT_COMMENT,
  354. 'REPORTTIME' => $REPORTTIME,
  355. 'REPORT' => $REPORT,
  356. 'LAB_HR_ITEMNAME_CODE' => $LAB_HR_ITEMNAME_CODE,
  357. 'ITEMTYPE'=>$itemType,
  358. 'HR_RANGE' => $HR_RANGE,
  359. 'LAB_HR_ITEMNAME' => $LAB_HR_ITEMNAME,
  360. 'SPECIMEN_TYPE' => $SPECIMEN_TYPE,
  361. 'INSPECT_REPORT_CODE' => $INSPECT_REPORT_CODE,
  362. // 'RECOG_STATUS_CODE' => $RECOG_STATUS_CODE,
  363. // 'RECOG_STATUS' => $RECOG_STATUS,
  364. 'DOCTORNAME' => $MEDICAL_INFORMATION['DOCTORNAME'],
  365. 'DOCTORCODE' => $MEDICAL_INFORMATION['DOCTORCODE'],
  366. 'CALL_FLAG' => $MEDICAL_INFORMATION['CALL_FLAG'],
  367. // TODO
  368. 'create_time' => $REPORTTIME,
  369. ];
  370. $this->handleINSPECT_REPORT_ITEMS($INSPECT_REPORT_ITEMS, $data['INSPECT_REPORT_ITEMS'],[
  371. 'REPORTID' => $REPORTID,
  372. 'INSPECT_REPORT_CODE' => $INSPECT_REPORT_CODE,
  373. 'ORGCODE' => $ORGCODE,
  374. ]);
  375. $INSPECT_REPORTS[] = $INSPECT_REPORT;
  376. }
  377. return [
  378. 'INSPECT_REPORT_ITEMS' => $INSPECT_REPORT_ITEMS,
  379. 'INSPECT_REPORTS' => $INSPECT_REPORTS,
  380. ];
  381. }
  382. public function handleINSPECT_REPORT_ITEMS(&$INSPECT_REPORT_ITEMS, $datas, $INSPECT_REPORT): void {
  383. // 检验细项名称/抗生素
  384. // 检验细项缩写/英文
  385. // *检验细项序号(1-2)
  386. // 检验细项测量值(1)
  387. // 检验细项结果计量单位(1)
  388. // 检验细项结果/微生物鉴定结果
  389. // 药敏结果(2)
  390. // 参考值范围(1)
  391. // 检测方法(1)
  392. // KB*(2)
  393. // MIC*(2)
  394. // 敏感度(2)
  395. // 互认项目编码(1-2)
  396. // 互认范围(1-2)
  397. // 互认标识(1-2)
  398. // 互认项目
  399. // LAB_ITEMDETAILNAME
  400. // LAB_ITEMDETAILNAME_EN
  401. // LAB_ITEMDETAILNAME_NUMBER
  402. // LAB_ITEMDETAILVALUE
  403. // LAB_ITEMDETAILSPEC
  404. // LAB_ITEMDETAILINTERPRETATION
  405. // LAB_ITEMDETAILINTERPRETATION_BIA
  406. // LAB_ITEMDETAILRANGE
  407. // LAB_METHOD
  408. // KB
  409. // MIC
  410. // LAB_ITEMDETAILINTERPRE
  411. // LAB_HR_ITEMDETAILNAME_CODE
  412. // HR_RANGE
  413. // RECOG_STATUS
  414. // LAB_HR_ITEMDETAILNAME
  415. $INSPECT_REPORT_CODE = $INSPECT_REPORT['INSPECT_REPORT_CODE'];
  416. $REPORTID = $INSPECT_REPORT['REPORTID'];
  417. $ORGCODE = $INSPECT_REPORT['ORGCODE'];
  418. foreach($datas as $data) {
  419. $LAB_ITEMDETAILNAME = $data['LAB_ITEMDETAILNAME'];
  420. $LAB_ITEMDETAILNAME_EN = $data['LAB_ITEMDETAILNAME_EN'];
  421. $LAB_ITEMDETAILNAME_NUMBER = $data['LAB_ITEMDETAILNAME_NUMBER'];
  422. $LAB_ITEMDETAILVALUE = $data['LAB_ITEMDETAILVALUE'];
  423. $LAB_ITEMDETAILSPEC = $data['LAB_ITEMDETAILSPEC'];
  424. $LAB_ITEMDETAILINTERPRETATION = $data['LAB_ITEMDETAILINTERPRETATION'];
  425. $LAB_ITEMDETAILINTERPRETATION_BIA = $data['LAB_ITEMDETAILINTERPRETATION_BIA'];
  426. $LAB_ITEMDETAILRANGE = $data['LAB_ITEMDETAILRANGE'];
  427. $LAB_METHOD = $data['LAB_METHOD'];
  428. $KB = $data['KB'];
  429. $MIC = $data['MIC'];
  430. $LAB_ITEMDETAILINTERPRE = $data['LAB_ITEMDETAILINTERPRE'];
  431. $LAB_HR_ITEMDETAILNAME_CODE = $data['LAB_HR_ITEMDETAILNAME_CODE'];
  432. $HR_RANGE = $data['HR_RANGE'];
  433. $RECOG_STATUS = $data['RECOG_STATUS'];
  434. $LAB_HR_ITEMDETAILNAME = $data['LAB_HR_ITEMDETAILNAME'];
  435. $INSPECT_REPORT_ITEM = [
  436. 'REPORTID' => $REPORTID,
  437. 'INSPECT_REPORT_CODE' => $INSPECT_REPORT_CODE,
  438. 'ORGCODE' => $ORGCODE,
  439. 'LAB_ITEMDETAILNAME' => $LAB_ITEMDETAILNAME,
  440. 'LAB_ITEMDETAILNAME_EN' => $LAB_ITEMDETAILNAME_EN,
  441. 'LAB_ITEMDETAILNAME_NUMBER' => $LAB_ITEMDETAILNAME_NUMBER,
  442. 'LAB_ITEMDETAILVALUE' => $LAB_ITEMDETAILVALUE,
  443. 'LAB_ITEMDETAILSPEC' => $LAB_ITEMDETAILSPEC,
  444. 'LAB_ITEMDETAILINTERPRETATION' => $LAB_ITEMDETAILINTERPRETATION,
  445. 'LAB_ITEMDETAILINTERPRETATION_BIA' => $LAB_ITEMDETAILINTERPRETATION_BIA,
  446. 'LAB_ITEMDETAILRANGE' => $LAB_ITEMDETAILRANGE,
  447. 'LAB_METHOD' => $LAB_METHOD,
  448. 'KB' => $KB,
  449. 'MIC' => $MIC,
  450. 'LAB_ITEMDETAILINTERPRE' => $LAB_ITEMDETAILINTERPRE,
  451. 'LAB_HR_ITEMDETAILNAME_CODE' => $LAB_HR_ITEMDETAILNAME_CODE,
  452. 'HR_RANGE' => $HR_RANGE,
  453. 'RECOG_STATUS' => $RECOG_STATUS,
  454. 'LAB_HR_ITEMDETAILNAME' => $LAB_HR_ITEMDETAILNAME,
  455. ];
  456. $INSPECT_REPORT_ITEMS[] = $INSPECT_REPORT_ITEM;
  457. }
  458. }
  459. public function getINSPECT_REPORT_CODE($PATIENT_CODE, $REPORTID): string {
  460. return md5($PATIENT_CODE.$REPORTID);
  461. }
  462. public function getEXAM_APPLICATION_CODE($PATIENT_CODE, $EXAM_REQUESTID): string {
  463. return md5($PATIENT_CODE.$EXAM_REQUESTID);
  464. }
  465. public function getEXAM_REPORT_CODE($PATIENT_CODE, $REPORTID): string {
  466. return md5($PATIENT_CODE.$REPORTID);
  467. }
  468. public function getPATIENT_CODE($MPI_KEY, $ORGCODE, $SERIESNUM): string {
  469. return md5($MPI_KEY.$ORGCODE.$SERIESNUM);
  470. }
  471. public function getID_CARDByCode($code) {
  472. return $this->patientModel->getDictNameByCode($code, '3');
  473. }
  474. public function getGENDERByCode($code) {
  475. return $this->patientModel->getDictNameByCode($code, '1');
  476. }
  477. public function getCLASSByCode($code) {
  478. return $this->patientModel->getDictNameByCode($code, '5');
  479. }
  480. public function getRESULT_STATUSByCode($code) {
  481. return $this->patientModel->getDictNameByCode($code, '11');
  482. }
  483. public function getDEVICETYPEByCode($code) {
  484. return $this->patientModel->getDictNameByCode($code, '10');
  485. }
  486. public function getLAB_ITEMNAME_TYPEByCode($code) {
  487. return $this->patientModel->getDictNameByCode($code, '12');
  488. }
  489. }