diagnosis.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537
  1. import request from '@/utils/request.js'
  2. import {fromAnalysisModel} from "@/model/tongue-analysis.model";
  3. // 获取就诊病人信息
  4. export function getPatiiensMsg(data) {
  5. return request({
  6. url: `/outpatient/recordsMgr/${data}`,
  7. method: 'get',
  8. })
  9. };
  10. // 获取中医电子病历回显信息
  11. export function getEmrShowMsg(data) {
  12. return request({
  13. url: `/outpatient/electronicmedicalrecordMgr/infoByRecordsId?recordsId=${data.recordsId}`,
  14. method: 'post',
  15. data
  16. })
  17. };
  18. // 提交诊断页面数据
  19. export function addDiagnosisData(data) {
  20. return request({
  21. url: '/outpatient/diagnosisMgr/Add',
  22. method: 'post',
  23. data
  24. })
  25. };
  26. // 修改诊断页面数据
  27. export function editDiagnosisData(data) {
  28. return request({
  29. url: '/outpatient/diagnosisMgr/update',
  30. method: 'post',
  31. data
  32. })
  33. };
  34. // 开方获取患者基本信息
  35. export function getPatiensBasisM(data) {
  36. return request({
  37. url: '/test/outpatient/patientBaseInfo?patientId=' + data.patientId,
  38. method: 'post',
  39. // data
  40. })
  41. };
  42. // 获取表格 药品列表
  43. export function getTableDrug(data, isPurposeType = false) {
  44. if (isPurposeType) {
  45. data.name = data.key;
  46. return request({
  47. url: '/basis/stitutionsdrugMgr/materialQuery',
  48. method: 'post',
  49. data
  50. }).then(res => {
  51. const data = Array.isArray(res.Data) ? res.Data : [];
  52. res.Data = {
  53. TotalRecordCount: data.length,
  54. TotalPageCount: 1,
  55. PageSize: data.length,
  56. ButtonRight: "",
  57. CurrentPageSize: data.length,
  58. PageIndex: 1,
  59. Items: data.map(item => {
  60. return {
  61. pid: item.drugId,
  62. matid: item.drugId,
  63. ypmc: item.name,
  64. gg: item.gg,
  65. dw: item.dw,
  66. price: item.price || '',
  67. }
  68. })
  69. };
  70. return res;
  71. })
  72. }
  73. return request({
  74. url: '/test/outpatient/selectDrug?page=' + data.page + '&limit=' + data.limit,
  75. method: 'post',
  76. data
  77. })
  78. };
  79. //添加处方
  80. export function addRecipe(data) {
  81. return request({
  82. url: '/test/outpatient/addOutPatient',
  83. method: 'post',
  84. data
  85. })
  86. };
  87. //获取诊断页 回显数据
  88. export function getDiagnosisShowData(data) {
  89. return request({
  90. url: '/outpatient/diagnosisMgr/infoByRecordsId?recordsId=' + data.recordsId,
  91. method: 'post',
  92. })
  93. };
  94. // 获取处方回显数据
  95. export function getRecipeShowData(data) {
  96. return request({
  97. url: '/test/outpatient/getPrescription/' + data,
  98. method: 'get'
  99. })
  100. };
  101. // 通过 处方id 获取处方回显数据
  102. export function getRecipeDataByid(data) {
  103. return request({
  104. url: `/outpatient/patientprescriptionMgr/${data.pid}`,
  105. method: 'get'
  106. })
  107. };
  108. // 添加中医电子病历
  109. export function addEMR(data) {
  110. return request({
  111. url: '/outpatient/electronicmedicalrecordMgr/Add',
  112. method: 'post',
  113. data
  114. })
  115. };
  116. // 修改中医电子病历信息
  117. export function editEMR(data) {
  118. return request({
  119. url: '/outpatient/electronicmedicalrecordMgr/update',
  120. method: 'post',
  121. data
  122. })
  123. };
  124. // 回传his
  125. export function backToHis(data) {
  126. return request({
  127. url: '/outpatient/electronicmedicalrecordMgr/electronicmedicalRecordsReturnHis',
  128. method: 'post',
  129. data
  130. })
  131. }
  132. // 寄到本院 获取地址
  133. export function getAddressForHospital(data) {
  134. return request({
  135. url: '/test/outpatient/getAddress',
  136. method: 'post',
  137. data
  138. })
  139. }
  140. // 获取体质辨识列表接口
  141. export function getPhysicalList(data) {
  142. return request({
  143. url: '/outpatient/identificationMgr/listPain?page=' + data.page + '&limit=' + data.limit + '&name=' + data.name,
  144. method: 'post',
  145. data
  146. })
  147. };
  148. // 获取某i个用户的体质辨识记录
  149. export function getUserPhysicList(data) {
  150. return request({
  151. url: '/outpatient/identificationMgr/listPainInfo?patientId=' + data.patientId + '&limit=' + data.limit + '&page=' + data.page,
  152. method: 'post',
  153. data
  154. })
  155. };
  156. //体质辨识 添加
  157. export function addPhysicalList(data) {
  158. return request({
  159. url: '/outpatient/identificationMgr/Add',
  160. method: 'post',
  161. data
  162. })
  163. };
  164. // 获取体质辨识 详情
  165. export function getPhysicalDetail(data) {
  166. return request({
  167. url: `/outpatient/identificationresultMgr/${data.identid}`,
  168. method: 'get'
  169. })
  170. };
  171. // 获取体质辨识 详情
  172. export function getPhysicalDetailGy(data) {
  173. return request({
  174. url: `/outpatient/identificationMgr/selecthealthInterventionBydentificationId?dentificationId=${data.dentificationId}`,
  175. method: 'post',
  176. data
  177. })
  178. };
  179. // 提交体质辨识 医生建议
  180. export function submitDoctorjy(data) {
  181. return request({
  182. url: '/outpatient/identificationresultMgr/update',
  183. method: 'post',
  184. data
  185. })
  186. };
  187. // 提交健康干预
  188. export function submitDoctorGy(data) {
  189. return request({
  190. url: '/outpatient/identificationMgr/SavehealthIntervention',
  191. method: 'post',
  192. data
  193. })
  194. }
  195. // 删除体质辨识记录
  196. export function deletePhysicRecord(data) {
  197. return request({
  198. url: '/outpatient/identificationMgr/BatchDelete?ids=' + data.ids,
  199. method: 'post',
  200. data
  201. })
  202. };
  203. //根据选择的中药类型查询所属药房id
  204. export function getPharmacyID(data) {
  205. return request({
  206. url: '/basis/pharmacyMgr/getPidBytype?type=' + data.type,
  207. method: 'post',
  208. data
  209. })
  210. };
  211. // 切换药房 id
  212. export function changePharmacy(data) {
  213. if (data && Array.isArray(data.drugIds) && data.drugIds.length === 0) return Promise.resolve({
  214. "Data": [],
  215. "ResultInfo": "操作成功",
  216. "ResultCode": 0
  217. });
  218. return request({
  219. url: '/test/outpatient/changeDrug',
  220. method: 'post',
  221. data
  222. })
  223. };
  224. // 获取开方界面协定方数据
  225. export function getAgreeRecipe(data) {
  226. return request({
  227. url: '/test/outpatient/getPres?page=' + data.pageId + '&limit=' + data.pageSize,
  228. method: 'post',
  229. data
  230. })
  231. };
  232. // 根绝就诊记录id 获取就诊信息
  233. export function getSeeDByID(data) {
  234. return request({
  235. url: '/test/outpatient/byRecId',
  236. method: 'get',
  237. params: data
  238. })
  239. };
  240. // 获取病历详情数据
  241. export function getRecordDetail(data) {
  242. return request({
  243. url: '/outpatient/CaseManagement/' + data.id,
  244. method: 'get',
  245. params: data
  246. })
  247. }
  248. // 获取药品详细信息
  249. export function getDrugDetail(data) {
  250. return request({
  251. url: '/basis/stitutionsdrugMgr/stiDrugInfo?stiDrugId=' + data.stiDrugId,
  252. method: 'post',
  253. data
  254. })
  255. };
  256. //开方界面获取协定方详细信息
  257. export function getAccordDetail(data) {
  258. return request({
  259. url: '/test/outpatient/preInfo',
  260. method: 'get',
  261. params: data
  262. })
  263. };
  264. // 获取我最常用
  265. export function getMyOfenUse(data) {
  266. return request({
  267. url: '/test/outpatient/myused',
  268. method: 'get',
  269. params: data
  270. })
  271. };
  272. //协定方 转方 判断
  273. export function changeBasisPre(data) {
  274. return request({
  275. url: '/test/outpatient/changeBasisPre',
  276. method: 'post',
  277. data
  278. })
  279. };
  280. //专家经验转方判断
  281. export function changeExpre(data) {
  282. return request({
  283. url: '/test/outpatient/changeExpPre',
  284. method: 'post',
  285. data
  286. })
  287. }
  288. // 处方修改
  289. export function updateRecipe(data) {
  290. return request({
  291. url: '/test/outpatient/update',
  292. method: 'post',
  293. data
  294. })
  295. };
  296. // 开方页面选择药房
  297. export function customerQuery(data) {
  298. return request({
  299. url: "/basis/pharmacyMgr/customerQuery?type=" + data.type,
  300. method: 'post',
  301. data
  302. })
  303. }
  304. //智能辩证 问卷临时存储
  305. export function znQuestionSave(data) {
  306. return request({
  307. url: '/smartDialecticalQuestionnaireTempSave/tempSave',
  308. method: 'post',
  309. data
  310. })
  311. }
  312. // 只能辩证 问卷回显
  313. export function znQusetionShow(data) {
  314. return request({
  315. url: `/smartDialecticalQuestionnaireTempSave/echoData/${data.recordId}`,
  316. method: 'get',
  317. params: data
  318. })
  319. };
  320. // 处方是否支付
  321. export function recipeIsPay(params) {
  322. return request({
  323. url: `/outpatient/pay/checkPrescriptionPaymentStatus`, //params.preId // ${JSON.stringify(params)}
  324. method: 'post',
  325. // params
  326. data: params
  327. })
  328. }
  329. // 根据就诊记录id 查询 是否有处方
  330. export function getPreNumber(params) {
  331. return request({
  332. url: `/outpatient/recordsMgr/getPrescriptionNumberByRecordId/${params.pid}`,
  333. method: 'get',
  334. params
  335. })
  336. }
  337. // 获取药房 共享药房和 本地药房id
  338. export function getPharmacyIDS(params) {
  339. return request({
  340. url: `/basis/pharmacyMgr/getPharmacyIds`,
  341. method: 'get',
  342. params
  343. })
  344. }
  345. // 提交处方预览
  346. export function getRecipePriview(data) {
  347. return request({
  348. url: `/test/outpatient/addOutPatientPreview`,
  349. method: 'post',
  350. data
  351. })
  352. }
  353. // 获取中药制剂 包装单位
  354. export function getBzdw(params) {
  355. return request({
  356. url: '/test/outpatient/getBZDW',
  357. method: 'get',
  358. params
  359. })
  360. }
  361. // 获取健康跟踪记录 详情
  362. export function getHealthTrack(data) {
  363. return request({
  364. url: '/outpatient/identificationMgr/getHealthTrackingRecordBydentificationId?page=' + data.page + '&limit=' + data.limit + '&dentificationId=' + data.dentificationId,
  365. method: 'post',
  366. data
  367. })
  368. }
  369. // 新增健康跟踪记录
  370. export function addHealthTrack(data) {
  371. return request({
  372. url: '/outpatient/identificationMgr/addHealthTrackingRecord',
  373. method: 'post',
  374. data
  375. })
  376. }
  377. // 获取主要体质
  378. export function getMainPhysical(data) {
  379. return request({
  380. url: '/outpatient/identificationMgr/getAnalysisGroupItemName',
  381. method: 'get'
  382. })
  383. }
  384. // 中医体质统计分析
  385. export function getPhysicalTotalList(data) {
  386. return request({
  387. url: '/outpatient/identificationMgr/statisticalList?page=' + data.page + '&limit=' + data.limit,
  388. method: 'post',
  389. data
  390. })
  391. }
  392. // 中医体质统计分析导出
  393. export function exportPhysicalTotal(data) {
  394. return request({
  395. url: '/outpatient/identificationMgr/statisticalListExport?page=' + data.page + '&limit=' + data.limit,
  396. method: 'post',
  397. data
  398. })
  399. }
  400. // 中医体质分析详情 生成PDF
  401. export function createPdf(data) {
  402. return request({
  403. url: '/PDF/PDF',
  404. method: 'post',
  405. data
  406. })
  407. }
  408. // 查询是否健康干预锅
  409. export function findIsHealthGY(data) {
  410. return request({
  411. url: `/outpatient/identificationresultMgr/healthInterventionOrNot/${data.identid}`,
  412. method: 'get',
  413. params: data
  414. })
  415. }
  416. // 获取医保规则最大(最小)药味数
  417. export function getMaxMinDoaseNumber(data) {
  418. return request({
  419. url: '/basis/medicalInsuranceRegulationMgr/minimumAndMaximumDosageNumber',
  420. method: 'post',
  421. data
  422. })
  423. }
  424. // 获取合理安全用药规则
  425. export async function getRationalSafeUse() {
  426. return request({
  427. url: '/basis/medicalInsuranceRegulationMgr/minimumAndMaximumDosageNumber',
  428. method: 'post',
  429. })
  430. }
  431. export function getTongueAndFaceAnalysis(data) {
  432. return request({
  433. url: '/outpatient/electronicmedicalrecordMgr/getTongueFaceAnalysisResult',
  434. method: 'post',
  435. data,
  436. params: {recordsId: data.recordsId},
  437. }).then(res => {
  438. if (res.ResultCode == 0) {
  439. const tongue = fromAnalysisModel('tongue', res.Data);
  440. const face = fromAnalysisModel('face', res.Data);
  441. return res.Data = {
  442. id: res.Data.recordsid,
  443. time: res.Data.recordstime,
  444. tongue,
  445. face,
  446. cover: [tongue ? tongue.cover : null, face ? face.cover : null].filter(Boolean).flatMap(item => item),
  447. }, res;
  448. } else {
  449. throw res
  450. }
  451. })
  452. }
  453. export function getTongueAndFaceAnalysisRecords(patientId, page = 1, limit = 6) {
  454. // patientId = '8d12c55e-7a29-45f3-804d-ed12b0e27660'
  455. return request({
  456. url: '/outpatient/electronicmedicalrecordMgr/getRecordTfs',
  457. method: 'post',
  458. params: {patientId, page, limit},
  459. }).then(res => {
  460. if (res.ResultCode == 0) {
  461. return {
  462. total: res.Data.TotalRecordCount,
  463. data: res.Data.Items.map(item => {
  464. const tongue = fromAnalysisModel('tongue', item);
  465. const face = fromAnalysisModel('face', item);
  466. return {
  467. id: item.recordsid,
  468. time: item.recordstime,
  469. tongue,
  470. face,
  471. cover: [tongue ? tongue.cover : null, face ? face.cover : null].filter(Boolean).flatMap(item => item),
  472. }
  473. }),
  474. }
  475. } else {
  476. throw res
  477. }
  478. })
  479. }