|
@@ -765,6 +765,86 @@ namespace PTMedicalInsurance.Business
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ private JArray ConvertDiagnoses(JArray jaDiagnoses,out string dscg_maindiag_code,out string dscg_maindiag_name)
|
|
|
|
+ {
|
|
|
|
+ dscg_maindiag_code = "";
|
|
|
|
+ dscg_maindiag_name = "";
|
|
|
|
+ JArray jaConvertedDiagnoses = new JArray();
|
|
|
|
+ JArray jaInPatDiagnoses = new JArray();
|
|
|
|
+ JArray jaOutPatDiagnoses = new JArray();
|
|
|
|
+
|
|
|
|
+ for (int i = 0; i < jaDiagnoses.Count; i++)
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ string diag_type = JsonHelper.getDestValue((JObject)jaDiagnoses[i], "diag_type");
|
|
|
|
+ switch (diag_type)
|
|
|
|
+ {
|
|
|
|
+ case "1":
|
|
|
|
+ {
|
|
|
|
+ jaDiagnoses[i]["diag_type_name"] = new JObject();
|
|
|
|
+ jaDiagnoses[i]["diag_type_name"] = "西医主要诊断";
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ case "2":
|
|
|
|
+ {
|
|
|
|
+ jaDiagnoses[i]["diag_type_name"] = new JObject();
|
|
|
|
+ jaDiagnoses[i]["diag_type_name"] = "西医其他诊断";
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ case "3":
|
|
|
|
+ {
|
|
|
|
+ jaDiagnoses[i]["diag_type_name"] = new JObject();
|
|
|
|
+ jaDiagnoses[i]["diag_type_name"] = "中医主病诊断";
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ case "4":
|
|
|
|
+ {
|
|
|
|
+ jaDiagnoses[i]["diag_type_name"] = new JObject();
|
|
|
|
+ jaDiagnoses[i]["diag_type_name"] = "中医主证诊断";
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (jaDiagnoses[i]["diaTypeCode"].ToString() == "ADD")
|
|
|
|
+ {
|
|
|
|
+ jaInPatDiagnoses.Add(jaDiagnoses[i]);
|
|
|
|
+ }
|
|
|
|
+ if (jaDiagnoses[i]["diaTypeCode"].ToString() == "OPD")
|
|
|
|
+ {
|
|
|
|
+ jaOutPatDiagnoses.Add(jaDiagnoses[i]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (jaInPatDiagnoses.Count > 0)
|
|
|
|
+ {
|
|
|
|
+ jaConvertedDiagnoses = (JArray)jaInPatDiagnoses.DeepClone();
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ jaConvertedDiagnoses = (JArray)jaOutPatDiagnoses.DeepClone();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for (int i = 0; i < jaConvertedDiagnoses.Count; i++)
|
|
|
|
+ {
|
|
|
|
+ jaConvertedDiagnoses[i]["diag_srt_no"] = i + 1;
|
|
|
|
+ if (jaConvertedDiagnoses[i]["maindiag_flag"].ToString() == "1")
|
|
|
|
+ {
|
|
|
|
+ dscg_maindiag_code = jaConvertedDiagnoses[i]["diag_code"].ToString();
|
|
|
|
+ dscg_maindiag_name = jaConvertedDiagnoses[i]["diag_name"].ToString();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return jaConvertedDiagnoses;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -789,72 +869,8 @@ namespace PTMedicalInsurance.Business
|
|
JArray jaDiagnoses = JArray.Parse(JsonHelper.getDestValue(joHisRtnInfo, "diseinfo"));
|
|
JArray jaDiagnoses = JArray.Parse(JsonHelper.getDestValue(joHisRtnInfo, "diseinfo"));
|
|
string dscg_maindiag_code = "",dscg_maindiag_name = "";
|
|
string dscg_maindiag_code = "",dscg_maindiag_name = "";
|
|
|
|
|
|
- JArray jaConvertedDiagnoses = new JArray();
|
|
+ JArray jaConvertedDiagnoses = ConvertDiagnoses(jaDiagnoses, out dscg_maindiag_code, out dscg_maindiag_name);
|
|
- JArray jaInPatDiagnoses = new JArray();
|
|
+
|
|
- JArray jaOutPatDiagnoses = new JArray();
|
|
|
|
- for (int i = 0; i < jaDiagnoses.Count; i++)
|
|
|
|
- {
|
|
|
|
-
|
|
|
|
- string diag_type = JsonHelper.getDestValue((JObject)jaDiagnoses[i], "diag_type");
|
|
|
|
- switch (diag_type)
|
|
|
|
- {
|
|
|
|
- case "1":
|
|
|
|
- {
|
|
|
|
- jaDiagnoses[i]["diag_type_name"] = new JObject();
|
|
|
|
- jaDiagnoses[i]["diag_type_name"] = "西医主要诊断";
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- case "2":
|
|
|
|
- {
|
|
|
|
- jaDiagnoses[i]["diag_type_name"] = new JObject();
|
|
|
|
- jaDiagnoses[i]["diag_type_name"] = "西医其他诊断";
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- case "3":
|
|
|
|
- {
|
|
|
|
- jaDiagnoses[i]["diag_type_name"] = new JObject();
|
|
|
|
- jaDiagnoses[i]["diag_type_name"] = "中医主病诊断";
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- case "4":
|
|
|
|
- {
|
|
|
|
- jaDiagnoses[i]["diag_type_name"] = new JObject();
|
|
|
|
- jaDiagnoses[i]["diag_type_name"] = "中医主证诊断";
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- if (jaDiagnoses[i]["diaTypeCode"].ToString() == "ADD")
|
|
|
|
- {
|
|
|
|
- jaInPatDiagnoses.Add(jaDiagnoses[i]);
|
|
|
|
- }
|
|
|
|
- if (jaDiagnoses[i]["diaTypeCode"].ToString() == "OPD")
|
|
|
|
- {
|
|
|
|
- jaOutPatDiagnoses.Add(jaDiagnoses[i]);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (jaInPatDiagnoses.Count > 0)
|
|
|
|
- {
|
|
|
|
- jaConvertedDiagnoses = (JArray)jaInPatDiagnoses.DeepClone();
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- jaConvertedDiagnoses = (JArray)jaOutPatDiagnoses.DeepClone();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- for (int i = 0; i < jaConvertedDiagnoses.Count; i++)
|
|
|
|
- {
|
|
|
|
- jaConvertedDiagnoses[i]["diag_srt_no"] = i + 1;
|
|
|
|
- if (jaConvertedDiagnoses[i]["maindiag_flag"].ToString() == "1")
|
|
|
|
- {
|
|
|
|
- dscg_maindiag_code = jaConvertedDiagnoses[i]["diag_code"].ToString();
|
|
|
|
- dscg_maindiag_name = jaConvertedDiagnoses[i]["diag_name"].ToString();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
|
|
OutpatientRegistration frmReg = new OutpatientRegistration();
|
|
OutpatientRegistration frmReg = new OutpatientRegistration();
|
|
|
|
|
|
@@ -1174,16 +1190,17 @@ namespace PTMedicalInsurance.Business
|
|
frmReg.DtDiagnose = (DataTable)jaConvertedDiagnoses.ToObject(typeof(DataTable));
|
|
frmReg.DtDiagnose = (DataTable)jaConvertedDiagnoses.ToObject(typeof(DataTable));
|
|
if (frmReg.ShowDialog() == DialogResult.OK)
|
|
if (frmReg.ShowDialog() == DialogResult.OK)
|
|
{
|
|
{
|
|
- string diseCodg = "", diseName = "";
|
|
+ string diseCodg = frmReg.diseCodg, diseName = frmReg.diseName;
|
|
-
|
|
+
|
|
- if (string.IsNullOrEmpty(frmReg.diseCodg))
|
|
+ if (string.IsNullOrEmpty(diseCodg))
|
|
{
|
|
{
|
|
diseCodg = JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.dscg_maindiag_code");
|
|
diseCodg = JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.dscg_maindiag_code");
|
|
- };
|
|
+ }
|
|
- if (string.IsNullOrEmpty(frmReg.diseName))
|
|
+ if (string.IsNullOrEmpty(diseCodg))
|
|
{
|
|
{
|
|
diseName = JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.dscg_maindiag_name");
|
|
diseName = JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.dscg_maindiag_name");
|
|
- };
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
if (Global.pat.RYorCY == "2")
|
|
if (Global.pat.RYorCY == "2")
|
|
@@ -1226,7 +1243,23 @@ namespace PTMedicalInsurance.Business
|
|
joDscgInfo.Add("insutype", frmReg.insuType);
|
|
joDscgInfo.Add("insutype", frmReg.insuType);
|
|
|
|
|
|
|
|
|
|
- joDscgInfo.Add("endtime", Global.pat.hisDischargeTime);
|
|
+ if ("1".Equals(frmReg.midSettleFlag))
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ string dischargeTime = Global.pat.hisDischargeTime;
|
|
|
|
+ if (Global.pat.adm_Dr == 1346320) {
|
|
|
|
+ dischargeTime = "2023-12-31 23:59:59";
|
|
|
|
+ }
|
|
|
|
+ Global.pat.midSettlementFlag = true;
|
|
|
|
+ Global.pat.hisDischargeTime = dischargeTime;
|
|
|
|
+
|
|
|
|
+ joDscgInfo.Add("endtime", dischargeTime);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ joDscgInfo.Add("endtime", Global.pat.hisDischargeTime);
|
|
|
|
+ }
|
|
joDscgInfo.Add("dise_codg", diseCodg);
|
|
joDscgInfo.Add("dise_codg", diseCodg);
|
|
joDscgInfo.Add("dise_name", diseName);
|
|
joDscgInfo.Add("dise_name", diseName);
|
|
joDscgInfo.Add("oprn_oprt_code", frmReg.oprn_oprt_code);
|
|
joDscgInfo.Add("oprn_oprt_code", frmReg.oprn_oprt_code);
|
|
@@ -1273,7 +1306,7 @@ namespace PTMedicalInsurance.Business
|
|
joSetlInpar.Add("fulamt_ownpay_amt", JsonHelper.getDestValue(joSumFee, "data.FullOwnPayAmount"));
|
|
joSetlInpar.Add("fulamt_ownpay_amt", JsonHelper.getDestValue(joSumFee, "data.FullOwnPayAmount"));
|
|
joSetlInpar.Add("overlmt_selfpay", JsonHelper.getDestValue(joSumFee, "data.OverLimitAmount"));
|
|
joSetlInpar.Add("overlmt_selfpay", JsonHelper.getDestValue(joSumFee, "data.OverLimitAmount"));
|
|
joSetlInpar.Add("preselfpay_amt", JsonHelper.getDestValue(joSumFee, "data.PreSelfPayAmount"));
|
|
joSetlInpar.Add("preselfpay_amt", JsonHelper.getDestValue(joSumFee, "data.PreSelfPayAmount"));
|
|
- joSetlInpar.Add("dscgTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
+ joSetlInpar.Add("dscgTime", Global.pat.hisDischargeTime);
|
|
|
|
|
|
JObject joDataExp = new JObject();
|
|
JObject joDataExp = new JObject();
|
|
joDataExp.Add("acct_payamt", "0.00");
|
|
joDataExp.Add("acct_payamt", "0.00");
|
|
@@ -2172,13 +2205,36 @@ namespace PTMedicalInsurance.Business
|
|
JObject joRtn = JObject.Parse(outParam);
|
|
JObject joRtn = JObject.Parse(outParam);
|
|
JObject jo2402Inpar = JObject.Parse(JsonHelper.getDestValue(joRtn, "DischargeRegister"));
|
|
JObject jo2402Inpar = JObject.Parse(JsonHelper.getDestValue(joRtn, "DischargeRegister"));
|
|
|
|
|
|
-
|
|
+
|
|
- JObject jo2402Rtn = invoker.invokeCenterService("2402", JsonHelper.setCenterInpar("2402", jo2402Inpar));
|
|
+ if (Global.pat.midSettlementFlag)
|
|
-
|
|
|
|
- if (JsonHelper.parseCenterRtnValue(jo2402Rtn, out errMsg) != 0)
|
|
|
|
{
|
|
{
|
|
- outParam = JsonHelper.setExceptionJson(-1, "预结算失败:出院登记失败", errMsg).ToString();
|
|
+
|
|
- return -1;
|
|
+ string dise_code, dise_name;
|
|
|
|
+ JObject joAdmInfo = GetMdtrtInfo(joDiagnoses);
|
|
|
|
+ JArray oldDiagArray = JArray.Parse(JsonHelper.getDestValue(joDiagnoses, "diseinfo"));
|
|
|
|
+ JArray jaDiseInfo = ConvertDiagnoses(oldDiagArray, out dise_code,out dise_name );
|
|
|
|
+
|
|
|
|
+ dynamic jo2403Inpar = new JObject();
|
|
|
|
+ jo2403Inpar.adminfo = joAdmInfo;
|
|
|
|
+ jo2403Inpar.diseinfo = jaDiseInfo;
|
|
|
|
+
|
|
|
|
+ JObject jo2403Rtn = invoker.invokeCenterService("2403", JsonHelper.setCenterInpar("2403", jo2403Inpar));
|
|
|
|
+
|
|
|
|
+ if (JsonHelper.parseCenterRtnValue(jo2403Rtn, out errMsg) != 0)
|
|
|
|
+ {
|
|
|
|
+ outParam = JsonHelper.setExceptionJson(-1, "住院信息变更", errMsg).ToString();
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ JObject jo2402Rtn = invoker.invokeCenterService("2402", JsonHelper.setCenterInpar("2402", jo2402Inpar));
|
|
|
|
+
|
|
|
|
+ if (JsonHelper.parseCenterRtnValue(jo2402Rtn, out errMsg) != 0)
|
|
|
|
+ {
|
|
|
|
+ outParam = JsonHelper.setExceptionJson(-1, "出院登记失败", errMsg).ToString();
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
@@ -2232,6 +2288,38 @@ namespace PTMedicalInsurance.Business
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private JObject GetMdtrtInfo(JObject joHisRtnInfo)
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ JObject joMdtrtinfo = new JObject();
|
|
|
|
+ joMdtrtinfo.Add("mdtrt_id",Global.pat.mdtrtID);
|
|
|
|
+ joMdtrtinfo.Add("psn_no", Global.pat.psn_no);
|
|
|
|
+ joMdtrtinfo.Add("begntime", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.begntime"));
|
|
|
|
+ joMdtrtinfo.Add("endtime", Global.pat.hisDischargeTime);
|
|
|
|
+ joMdtrtinfo.Add("mdtrt_cert_type", Global.pat.mdtrtcertType);
|
|
|
|
+ joMdtrtinfo.Add("med_type", Global.pat.medType);
|
|
|
|
+
|
|
|
|
+ string ipAdmNo = Utils.convertAdmDr(JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.ipt_no"));
|
|
|
|
+
|
|
|
|
+ joMdtrtinfo.Add("ipt_otp_no", ipAdmNo);
|
|
|
|
+ joMdtrtinfo.Add("medrcdno", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.medrcdno"));
|
|
|
|
+ joMdtrtinfo.Add("atddr_no", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.atddr_no"));
|
|
|
|
+ joMdtrtinfo.Add("chfpdr_name", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.chfpdr_name"));
|
|
|
|
+ joMdtrtinfo.Add("adm_diag_dscr", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.adm_diag_dscr"));
|
|
|
|
+ joMdtrtinfo.Add("adm_dept_codg", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.adm_dept_codg"));
|
|
|
|
+ joMdtrtinfo.Add("adm_dept_name", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.adm_dept_name"));
|
|
|
|
+ joMdtrtinfo.Add("adm_bed", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.adm_bed"));
|
|
|
|
+ joMdtrtinfo.Add("dscg_maindiag_code", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.dscg_maindiag_code"));
|
|
|
|
+ joMdtrtinfo.Add("dscg_maindiag_name", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.dscg_maindiag_name"));
|
|
|
|
+ joMdtrtinfo.Add("matn_type", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.matn_type"));
|
|
|
|
+ joMdtrtinfo.Add("birctrl_type", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.birctrl_type"));
|
|
|
|
+ joMdtrtinfo.Add("latechb_flag", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.latechb_flag"));
|
|
|
|
+ joMdtrtinfo.Add("pret_flag", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.pret_flag"));
|
|
|
|
+ joMdtrtinfo.Add("dise_type_code", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.dise_type_code"));
|
|
|
|
+ joMdtrtinfo.Add("exp_content", "");
|
|
|
|
+ return joMdtrtinfo;
|
|
|
|
+ }
|
|
|
|
+
|
|
public int returnToFrontEndAfterSettlement(JObject joCenterRtn,JObject joHisServieRtn, out string outParam)
|
|
public int returnToFrontEndAfterSettlement(JObject joCenterRtn,JObject joHisServieRtn, out string outParam)
|
|
{
|
|
{
|
|
outParam = "";
|
|
outParam = "";
|