CommonServies.php 20 KB

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