|
@@ -0,0 +1,116 @@
|
|
|
+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;
|
|
|
+
|
|
|
+namespace PTMedicalInsurance.Business
|
|
|
+{
|
|
|
+ class LocalGetPatientInfoProcess : AbstractProcess
|
|
|
+ {
|
|
|
+ public override CallResult Process(JObject input)
|
|
|
+ {
|
|
|
+
|
|
|
+ // 组织病人基本信息
|
|
|
+ Global.pat.adm_Dr = int.Parse(JsonHelper.getDestValue(input, "params[0].admID"));
|
|
|
+ Global.pat.recordID = JsonHelper.getDestValue(input, "params[0].recordID");
|
|
|
+ Global.pat.billID = JsonHelper.getDestValue(input, "params[0].billID");
|
|
|
+
|
|
|
+ Global.pat.payAuthNo = JsonHelper.getDestValue(input, "insuAdmObj.payAuthNo");
|
|
|
+ Global.pat.medType = JsonHelper.getDestValue(input, "insuAdmObj.medType");
|
|
|
+ Global.pat.mdtrtcertType = JsonHelper.getDestValue(input, "insuAdmObj.mdtrtCertType");
|
|
|
+
|
|
|
+ // 缺少姓名和证件号
|
|
|
+ string psn_setlway = JsonHelper.getDestValue(input, "insuAdmObj.psnSetlway");
|
|
|
+
|
|
|
+ Global.pat.name = JsonHelper.getDestValue(input, "insuAdmObj.name");
|
|
|
+ Global.pat.certType = "02"; //身份证
|
|
|
+ Global.pat.certNO = JsonHelper.getDestValue(input, "insuAdmObj.certNo");
|
|
|
+
|
|
|
+ //调用服务获取门诊诊断信息
|
|
|
+ string diagnoses;
|
|
|
+ if (hIS.getPatDiagnoses(Global.pat, out diagnoses) != 0)
|
|
|
+ {
|
|
|
+ return Exception(-1, "getPatDiagnoses", diagnoses);
|
|
|
+ }
|
|
|
+ JObject joHisRtnInfo = JObject.Parse(diagnoses);
|
|
|
+ JArray jaDiagnoses = JArray.Parse(JsonHelper.getDestValue(joHisRtnInfo, "diseinfo"));
|
|
|
+
|
|
|
+
|
|
|
+ //组织入参
|
|
|
+ JObject joReg = new JObject();
|
|
|
+
|
|
|
+
|
|
|
+ #region 组织挂号入参
|
|
|
+ JObject joRegInpar = new JObject();
|
|
|
+ string occurTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
+ joRegInpar.Add("psn_no", Global.pat.psn_no);
|
|
|
+ joRegInpar.Add("insutype", Global.pat.insuType);
|
|
|
+ joRegInpar.Add("begntime", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.begntime"));//挂号时间 occurTime
|
|
|
+ joRegInpar.Add("mdtrt_cert_type", Global.pat.mdtrtcertType);
|
|
|
+ joRegInpar.Add("mdtrt_cert_no", Global.pat.mdtrtcertNO);
|
|
|
+
|
|
|
+ string admDr = Utils.convertAdmDr(Global.pat.adm_Dr.ToString());
|
|
|
+ joRegInpar.Add("ipt_otp_no", admDr);
|
|
|
+
|
|
|
+ joRegInpar.Add("atddr_no", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.atddr_no"));
|
|
|
+ joRegInpar.Add("dr_name", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.chfpdr_name"));
|
|
|
+ joRegInpar.Add("dept_code", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.adm_dept_codg"));
|
|
|
+ joRegInpar.Add("dept_name", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.adm_dept_name"));
|
|
|
+ joRegInpar.Add("exp_content", "");
|
|
|
+ joRegInpar.Add("caty", "72");
|
|
|
+ joReg.Add("data", joRegInpar);
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 组织就诊信息入参
|
|
|
+ string diseCodg = "", diseName = "";
|
|
|
+ JObject joMdtrtinfo = new JObject();
|
|
|
+ for (int i = 0; i < jaDiagnoses.Count; i++)
|
|
|
+ {
|
|
|
+ diseCodg = jaDiagnoses[i]["Code"].Text();
|
|
|
+ diseName = jaDiagnoses[i]["Name"].Text();
|
|
|
+ jaDiagnoses[i]["vali_flag"] = "1";
|
|
|
+ }
|
|
|
+
|
|
|
+ joMdtrtinfo.Add("mdtrt_id", Global.pat.mdtrtID);
|
|
|
+ joMdtrtinfo.Add("psn_no", Global.pat.psn_no); //人员编号
|
|
|
+ joMdtrtinfo.Add("med_type", Global.pat.medType); //医疗类别
|
|
|
+ joMdtrtinfo.Add("begntime", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.begntime")); //开始时间
|
|
|
+ joMdtrtinfo.Add("main_cond_dscr", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.main_cond_dscr")); //主要病情描述
|
|
|
+ joMdtrtinfo.Add("dise_codg", diseCodg); //病种编码
|
|
|
+ joMdtrtinfo.Add("dise_name", diseName); //病种名称
|
|
|
+ joMdtrtinfo.Add("birctrl_type", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.birctrl_type")); //计划生育手术类别
|
|
|
+ joMdtrtinfo.Add("matn_type", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.matn_type")); //生育类别
|
|
|
+ joMdtrtinfo.Add("exp_content", ""); //字段扩展
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 组织结算入参
|
|
|
+ JObject joSetlInpar = new JObject();
|
|
|
+ joSetlInpar.Add("psn_no", Global.pat.psn_no);
|
|
|
+ joSetlInpar.Add("mdtrt_cert_type", Global.pat.mdtrtcertType);
|
|
|
+ joSetlInpar.Add("mdtrt_cert_no", Global.pat.mdtrtcertNO);
|
|
|
+ joSetlInpar.Add("med_type", Global.pat.medType);
|
|
|
+ joSetlInpar.Add("medfee_sumamt", "");
|
|
|
+ joSetlInpar.Add("psn_setlway", psn_setlway); //结算方式
|
|
|
+ joSetlInpar.Add("mdtrt_id", Global.pat.mdtrtID);
|
|
|
+ joSetlInpar.Add("chrg_bchno", Global.pat.adm_Dr.ToString());
|
|
|
+ joSetlInpar.Add("acct_used_flag", "1");//个人账户使用标志
|
|
|
+ joSetlInpar.Add("insutype", "310");//险种类型
|
|
|
+ joSetlInpar.Add("pub_hosp_rfom_flag", "");
|
|
|
+ joSetlInpar.Add("exp_content", "");
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ joReg.Add("mdtrtinfo", joMdtrtinfo);
|
|
|
+ joReg.Add("diseinfo", jaDiagnoses);
|
|
|
+ joReg.Add("settlement", joSetlInpar);
|
|
|
+
|
|
|
+ outParam = joReg.ToString();
|
|
|
+ return Success();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|