123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- using Newtonsoft.Json.Linq;
- using PTMedicalInsurance.Common;
- using PTMedicalInsurance.Helper;
- using PTMedicalInsurance.Variables;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace PTMedicalInsurance.Business
- {
- class InpatientRegistionProcess : AbstractProcess
- {
- public override CallResult Process(JObject input)
- {
- JObject joReg = new JObject();
- string errMsg = "";
- string patInfo = JsonHelper.getDestValue(input, "patientInfo");
- //显示登记面板
- if (hBus.showInPatRegisterForm(patInfo,out joReg) == 0)
- {
- //上传给中心
- JObject joRegOut = invoker.invokeCenterService(TradeEnum.InpatientReg, joReg);
- //将中心返回的结果返回HIS,调用HIS服务进行保存
- if (JsonHelper.parseCenterRtnValue(joRegOut, out errMsg) == 0)
- {
- // 基线版扩展
- joRegOut.Extend("validflag", 1);
- joRegOut.Extend("regstate", 1);
- joRegOut.Extend("type", 1);
- joRegOut.Extend("ExpContent", "");
- Global.pat.mdtrtID = JsonHelper.getDestValue(joRegOut, "output.result.mdtrt_id");
- //插入患者本次就诊用的参保信息
- if (hBus.insertPatCurInsuInfo(patInfo, out outParam) != 0)
- {
- if (DialogResult.Yes == MessageBox.Show(outParam, " 是否继续? ", MessageBoxButtons.YesNo))
- {
- }
- else
- {
- return Exception("插入患者本次就诊用的参保信息,请联系管理员!", outParam);
- }
- }
- // 保存时需要公共参数
- JObject joRegInput = JObject.Parse(JsonHelper.setCenterInpar("2401",joReg));
- //插入医保平台
- if (mIS.saveInpatRegisterInfo(joRegInput, joRegOut, out outParam) != 0)
- {
- return Exception("云平台保存登记信息", outParam);
- }
- JObject joOutput = new JObject();
- joOutput.Add("output", JObject.Parse(JsonHelper.getDestValue(input, "patientInfo.output")));
- //插入医保平台全量信息表
- if (mIS.saveMIPatFullInsuInfo(joOutput, out outParam) != 0)
- {
- return Exception("云平台保存登记全量信息失败", outParam);
- }
- JObject joRegIn = JObject.Parse(JsonHelper.setCenterInpar("2401", joReg));
- //插入费用核查表 入院登记
- if (mIS.saveDischargeAudit(3, 2, 0, joRegIn, out outParam) != 0)
- {
- return Exception("云平台保存费用核查入院登记信息", outParam);
- }
- //插入费用核查表 出院登记 默认,具体需要最终审核
- JObject joDisReg = (JObject)joRegIn.DeepClone();
- Global.writeLog(joDisReg.ToString());
- //joDisReg["input"]["mdtrtinfo"]["psn_setlway"] = new JObject();
- joDisReg["input"]["mdtrtinfo"]["psn_setlway"] = "01";
- //joDisReg["input"]["mdtrtinfo"]["acct_used_flag"] = new JObject();
- joDisReg["input"]["mdtrtinfo"]["acct_used_flag"] = "1";
- //joDisReg["input"]["mdtrtinfo"]["mid_setl_flag"] = new JObject();
- joDisReg["input"]["mdtrtinfo"]["mid_setl_flag"] = "0";
- if (mIS.saveDischargeAudit(3, 3, 0, joDisReg, out outParam) != 0)
- {
- return Exception("云平台保存费用核查出院登记信息", outParam);
- }
- //返回登记信息,插入HIS
- if (hIS.returnRegisterInfo(joRegInput, joRegOut, out outParam) != 0)
- {
- return Exception("HIS平台保存登记信息", outParam);
- }
-
- return IrisReturn("登记成功",null);
- }
- else
- {
- return Exception("展示登记界面", errMsg);
- }
- }
- else
- {
- return Exception("展示登记界面", joReg.ToString());
- }
- }
- }
- }
|