/******************************************************************************
* 文件名称: CardReader.cs
* 文件说明: 读卡的封装,包括社保卡,身份证,电子凭证等等
* 当前版本: V1.0
* 创建日期: 2022-06-25
*
* * 2020-06-20: 增加 IrisServices 类(基类)
* ***** 2020-06-25: 增加 CardReader 方法,获取URL地址,USER信息,地方版SSCard.dll使用
* ***** 2020-06-25: 增加 CardReader 方法重载,国家版电子凭证使用
*
*
* * 2020-06-20: 增加 HisIrisServices 类(子类)
* ***** 2020-06-25: 增加 CardReader 方法,获取URL地址,USER信息,地方版SSCard.dll使用
* ***** 2020-06-25: 增加 CardReader 方法重载,国家版电子凭证使用
*
*
* * 2020-06-20: 增加 MIIrisServices 类(子类)
* ***** 2020-06-25: 增加 CardReader 方法,获取URL地址,USER信息,地方版SSCard.dll使用
* ***** 2020-06-25: 增加 CardReader 方法重载,国家版电子凭证使用
******************************************************************************/
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using PTMedicalInsurance.Variables;
using PTMedicalInsurance.Helper;
using System.Windows.Forms;
using Newtonsoft.Json;
namespace PTMedicalInsurance.Business
{
class IrisServices
{
}
class HisIrisServices
{
InvokeHelper invoker = new InvokeHelper();
///
/// 获取患者基本信息
///
///
///
public int GetHisPatBaseInfo(out string errMsg)
{
errMsg = "";
try
{
//MessageBox.Show(Global.pat.adm_Dr.ToString());
dynamic joTmp = new JObject();
joTmp.admID = Global.pat.adm_Dr;
JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110021", joTmp).ToString(), "获取HIS患者基本信息");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
errMsg = "获取HIS患者基本信息失败,请联系管理员!" + errMsg;
return -1;
}
else
{
errMsg = joRtn.ToString();
return 0;
}
}
catch (Exception ex)
{
errMsg = "GetHisPatBaseInfo异常:" + ex.Message;
return -1;
}
}
///
/// 获取HIS就诊信息
///
///
///
///
public JObject GetHISRegInfo(JObject joParam)
{
//string errMsg;
try
{
string serviceCode = "09030048";
string inpar = JsonHelper.setIrisInpar(serviceCode, joParam).ToString();
JObject joRtn = invoker.invokeHISService(inpar, "获取HIS就诊信息");
return joRtn;
}
catch (Exception ex)
{
return JsonHelper.setExceptionJson(-1, "获取HIS就诊信息异常:", ex.Message);
}
}
///
/// 获取HIS处方明细信息
///
///
///
///
public JObject GetHISPrescFeeInfo(JObject joParam)
{
//string errMsg;
try
{
string serviceCode = "09030049";
string inpar = JsonHelper.setIrisInpar(serviceCode, joParam).ToString();
JObject joRtn = invoker.invokeHISService(inpar, "获取HIS处方信息");
return joRtn;
}
catch (Exception ex)
{
return JsonHelper.setExceptionJson(-1, "获取HIS处方信息异常:", ex.Message);
}
}
///
/// 获取HIS处方明细信息
///
///
///
///
public JObject GetPreVerificationData(JObject joParam)
{
//string errMsg;
try
{
string serviceCode = "09030050";
string inpar = JsonHelper.setIrisInpar(serviceCode, joParam).ToString();
JObject joRtn = invoker.invokeHISService(inpar, "组织处方预核验数据");
return joRtn;
}
catch (Exception ex)
{
return JsonHelper.setExceptionJson(-1, "组织处方预核验数据异常:", ex.Message);
}
}
///
/// 电子处方PDF生成Base64Str
///
/// 文件名
/// HIS处方号
/// 医院ID
/// 返回值
///
public int GetPrescPDFBase64Str(string PDFName,string PresNo,string HospID,out string OutMsg)
{
//string errMsg;
try
{
JObject joTmp = new JObject();
joTmp.Add("pdfName", PDFName);
joTmp.Add("ordPrescNo", PresNo);
joTmp.Add("hospID", HospID);
string inpar = JsonHelper.setIrisInpar("09030055", joTmp).ToString();
JObject joRtn = invoker.invokeHISService(inpar, "电子处方PDF生成Base64Str");
if (JsonHelper.parseIrisRtnValue(joRtn, out string errMsg) != 0)
{
OutMsg = "获取电子处方PDF生成Base64Str失败,请联系管理员!" + errMsg;
return -1;
}
else
{
if (JsonHelper.getDestValue(joRtn, "result") == "")
{
OutMsg = "获取电子处方PDF生成Base64Str失败,请联系管理员" + errMsg;
return -1;
}
OutMsg = joRtn.ToString();
return 0;
}
}
catch (Exception ex)
{
OutMsg = "电子处方PDF生成Base64Str异常:" + ex.Message;
//OutMsg = JsonHelper.setExceptionJson(-1, "电子处方PDF生成Base64Str异常:", ex.Message).ToString();
return -1;
}
}
///
/// 电子处方上传成功后更新HIS处方状态
///
///
///
/// C:撤销 上传:U
public int updateHISPrecNoStatus(string HISPrecNo, string INSUPrecNo, string status, out string OutMsg)
{
try
{
JObject joTmp = new JObject();
joTmp.Add("HISPrecNo", HISPrecNo);
joTmp.Add("INSUPrecNo", INSUPrecNo);
joTmp.Add("status", status);
joTmp.Add("businessCode", "prescUpload");
string inpar = JsonHelper.setIrisInpar("09030033", joTmp).ToString();
JObject joRtn = invoker.invokeHISService(inpar, "电子处方上传成功后更新HIS处方状态");
if (JsonHelper.parseIrisRtnValue(joRtn, out string errMsg) != 0)
{
OutMsg = "医保电子处方上传成功后更新HIS处方状态失败,请联系管理员!" + errMsg;
return -1;
}
else
{
if (JsonHelper.getDestValue(joRtn, "result") == "")
{
OutMsg = "电子处方上传成功后更新HIS处方状态,请联系管理员" + errMsg;
return -1;
}
OutMsg = joRtn.ToString();
return 0;
}
}
catch (Exception ex)
{
OutMsg = "电子处方上传成功后更新HIS处方状态:" + ex.Message;
return -1;
}
}
///
/// 获取诊断信息
///
///
///
///
public int getPatDiagnoses(Patients pat, out string outParam)
{
outParam = "";
string errMsg;
try
{
JObject joTmp = new JObject();
joTmp.Add("admID", pat.adm_Dr);
joTmp.Add("psn_no", pat.psn_no);
//JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110001", joTmp).ToString(), "获取诊断信息");
JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110014", joTmp).ToString(), "获取诊断信息");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = "获取诊断信息失败,请联系管理员!" + errMsg;
return -1;
}
else
{
outParam = joRtn.ToString();
return 0;
}
}
catch (Exception ex)
{
outParam = "getPatDiagnoses 异常:" + ex.Message;
return -1;
}
}
///
/// 获取医院用户信息
///
///
///
public JObject GetHosUserInfo(string UserID)
{
try
{
JObject joInput = new JObject();
joInput.Add("hospID", Global.inf.hisHospitalDr);
joInput.Add("userID", UserID);
string inpar = JsonHelper.setIrisInpar("01040297", joInput).ToString();
JObject joRtn = invoker.invokeHISService(inpar, "获取医院用户信息");
return joRtn;
}
catch (Exception ex)
{
return JsonHelper.setExceptionJson(-1, "获取医院用户信息异常:", ex.Message);
}
}
///
/// 返回登记信息给HIS
///
///
///
///
///
public int returnRegisterInfo(JObject joRegIn, JObject joRegOut, out string outParam)
{
string errMsg;
try
{
JObject joSendToIris2401 = joRegIn;
joSendToIris2401.Add("admID", Global.pat.adm_Dr);
joSendToIris2401.Add("mdtrt_id", JsonHelper.getDestValue(joRegOut, "output.result.mdtrt_id"));
joSendToIris2401.Add("interfaceDr", Global.inf.interfaceDr);
joSendToIris2401.Add("billID", Global.pat.billID);
string serviceCode = "05110002", serviceName = "将登记信息返回给HIS";
string inpar = JsonHelper.setIrisInpar(serviceCode, joRegIn).ToString();
JObject joRtn = invoker.invokeHISService(inpar,serviceName);
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = "中心登记成功但云HIS平台保存失败,请联系管理员!" + errMsg;
return -1;
}
else
{
outParam = "返回给HIS成功";
return 0;
}
}
catch (Exception ex )
{
outParam = "HIS保存登记信息出现异常:!" + ex.Message;
return -1;
}
}
///
/// 门诊返回登记信息给HIS
///
///
///
///
///
public int returnRegisterInfo(JObject joRegIn, string mdtrtID, out string outParam)
{
string errMsg;
try
{
JObject joSendToIris2401 = joRegIn;
joSendToIris2401.Add("admID", Global.pat.adm_Dr);
joSendToIris2401.Add("mdtrt_id", mdtrtID);
joSendToIris2401.Add("interfaceDr", Global.inf.interfaceDr);
joSendToIris2401.Add("billID", Global.pat.billID);
joSendToIris2401.Add("insutype", Global.pat.insuType);
string serviceCode = "05110002", serviceName = "将门诊登记信息返回给HIS";
string inpar = JsonHelper.setIrisInpar(serviceCode, joRegIn).ToString();
JObject joRtn = invoker.invokeHISService(inpar, serviceName);
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = "中心登记成功但云HIS平台保存失败,请联系管理员!" + errMsg;
return -1;
}
else
{
outParam = "返回给HIS成功";
return 0;
}
}
catch (Exception ex)
{
outParam = "HIS保存登记信息出现异常:!" + ex.Message;
return -1;
}
}
///
/// 获取His费用
///
///
///
///
public int getHisFee(Patients pat, out string outParam)
{
outParam = "";
string errMsg;
try
{
dynamic joIrisParam = new JObject();
JArray jaIrisParams = new JArray();
JObject joIrisTmp = new JObject();
joIrisParam.code = "05110003";
joIrisParam.session = Global.curEvt.jaSession;
joIrisTmp.Add("admID", pat.adm_Dr);
joIrisTmp.Add("billID", pat.billID);
joIrisTmp.Add("recordID", pat.recordID);
jaIrisParams.Add(joIrisTmp);
joIrisParam.Add("params", JArray.FromObject(jaIrisParams));
JObject joRtn = invoker.invokeHISService(joIrisParam.ToString(), "获取HIS费用");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = errMsg;
return -1;
}
else
{
outParam = joRtn.ToString();
return 0;
}
}
catch (Exception ex)
{
outParam = "deleteFee 异常:" + ex.Message;
return -1;
}
}
///
/// 取消登记信息
///
///
///
public int cancleRegister( out string outParam)
{
outParam = "";
string errMsg;
try
{
dynamic joTmp = new JObject();
joTmp.Add("admID", Global.pat.adm_Dr);
joTmp.Add("interfaceDr", Global.inf.interfaceDr);
joTmp.Add("billID", Global.pat.billID);
string serviceCode = "05110004";
string inpar = JsonHelper.setIrisInpar(serviceCode, joTmp).ToString();
JObject joRtn = invoker.invokeHISService(inpar, "取消HIS登记信息");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = joRtn.ToString();
return -1;
}
else
{
outParam = joRtn.ToString();
return 0;
}
}
catch (Exception ex)
{
outParam = "取消登记异常" + ":" + ex.Message;
return -1;
}
}
///
/// HIS预结算
///
///
///
///
///
public int preSettlementInfo(JObject joParam, JObject joSetlinfo, out string outParam)
{
string errMsg;
try
{
dynamic joTmp = new JObject();
joTmp = joParam.DeepClone();
joTmp.insuPayInfo = joSetlinfo;
joTmp.updateUserID = Global.user.ID;
joTmp.middleSettleFlag = "";
JObject joSumFee = new JObject();
if (sumInsuRtnSettlInfo(joSetlinfo, out joSumFee, out errMsg) != 0)
{
outParam = "汇总结算结果失败,请联系管理员!" + errMsg;
return -1;
}
joTmp.sumFeeObj = joSumFee;
JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110020", joTmp).ToString(), "返回2303结算结果给HIS");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = "返回2303结算结果给HIS失败,请联系管理员!" + errMsg;
return -1;
}
else
{
outParam = joRtn.ToString();
return 0;
}
}
catch (Exception ex)
{
outParam = "返回2303结算结果给HIS出现异常:!" + ex.Message;
return -1;
}
}
//public int preSettlementInfo(JObject joParam, JObject joSetlinfo, out string outParam)
//{
// string errMsg;
// try
// {
// dynamic joTmp = new JObject();
// joTmp = joParam.DeepClone();
// joTmp.insuPayInfo = joSetlinfo;
// joTmp.updateUserID = Global.user.ID;
// joTmp.middleSettleFlag = "";
// JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110011", joTmp).ToString(), "返回2304结算结果给HIS");
// if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
// {
// outParam = "返回2303结算结果给HIS失败,请联系管理员!" + errMsg;
// return -1;
// }
// else
// {
// outParam = joRtn.ToString();
// return 0;
// }
// }
// catch (Exception ex)
// {
// outParam = "返回2303结算结果给HIS出现异常:!" + ex.Message;
// return -1;
// }
//}
///
/// 返回住院结算信息给HIS
///
///
///
///
///
public int returnInpatSettlementInfo(JObject joParam, JObject joSetlinfo, out string outParam)
{
string errMsg;
try
{
dynamic joTmp = new JObject();
joTmp = joParam.DeepClone();
joTmp.insuPayInfo = joSetlinfo;
joTmp.updateUserID = Global.user.ID;
joTmp.middleSettleFlag = "";
JObject joSumFee = new JObject();
if (sumInsuRtnSettlInfo(joSetlinfo, out joSumFee, out errMsg) != 0)
{
outParam = "汇总结算结果失败,请联系管理员!" + errMsg;
return -1;
}
joTmp.sumFeeObj = joSumFee;
//JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110007", joTmp).ToString(), "返回2304结算结果给HIS");
JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110017", joTmp).ToString(), "返回2304结算结果给HIS");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = "返回2304结算结果给HIS失败,请联系管理员!" + errMsg;
return -1;
}
else
{
outParam = joRtn.ToString();
return 0;
}
}
catch (Exception ex)
{
outParam = "返回2304结算结果给HIS出现异常:!" + ex.Message;
return -1;
}
}
///
/// 预结算后返回门诊结算信息给HIS,HIS进行预结算
///
///
///
///
///
public int preSettlement(JObject joSetlInpar, JObject joSetlinfo, out string outParam)
{
string errMsg;
try
{
JObject joSumFee = new JObject();
if (sumInsuRtnSettlInfo(joSetlinfo, out joSumFee, out errMsg) != 0)
{
outParam = "汇总结算结果失败,请联系管理员!" + errMsg;
return -1;
}
dynamic joTmp = new JObject();
joTmp.settleInfo = joSetlinfo;
joTmp.updateUserID = Global.user.ID;
joTmp.regInfo = joSetlInpar;
joTmp.middleSettleFlag = "";
joTmp.interfaceDr = Global.inf.interfaceDr;
dynamic joHisInfo = new JObject();
joHisInfo.admID = Global.pat.adm_Dr;
joHisInfo.billID = Global.pat.billID;
joHisInfo.recordID = Global.pat.recordID;
joTmp.hisInfo = joHisInfo;
joTmp.psn_type = Global.pat.psn_type;
joTmp.sumFeeObj = joSumFee;
JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110019", joTmp).ToString(), "返回2206结算结果给HIS进行预结算");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = "返回2206结算结果给HIS进行预结算失败,请联系管理员!" + errMsg;
return -1;
}
else
{
outParam = joRtn.ToString();
return 0;
}
}
catch (Exception ex)
{
outParam = "返回2206结算结果给HIS进行预结算异常!" + ex.Message;
return -1;
}
}
///
/// 返回门诊结算信息给HIS
///
///
///
///
///
public int returnOutpatSettlementInfo(JObject joSetlInpar, JObject joSetlinfo, out string outParam)
{
string errMsg;
try
{
JObject joSumFee = new JObject();
if (sumInsuRtnSettlInfo(joSetlinfo, out joSumFee, out errMsg) != 0)
{
outParam = "返回2207结算结果给HIS失败,请联系管理员!";
return -1;
}
joSetlInpar.Add("insuplc_admdvs", Global.pat.insuplc_admdvs);
joSetlInpar.Add("mdtrtarea_admvs", Global.inf.areaCode);
dynamic joTmp = new JObject();
joTmp.settleInfo = joSetlinfo;
joTmp.updateUserID = Global.user.ID;
joTmp.regInfo = joSetlInpar;
joTmp.middleSettleFlag = "";
joTmp.interfaceDr = Global.inf.interfaceDr;
dynamic joHisInfo = new JObject();
joHisInfo.admID = Global.pat.adm_Dr;
joHisInfo.billID = Global.pat.billID;
joHisInfo.recordID = Global.pat.recordID;
joTmp.hisInfo = joHisInfo;
joTmp.psn_type = Global.pat.psn_type;
joTmp.sumFeeObj = joSumFee;
//0511018 {"feeObj":{"ybAmt":"医保支付","psnAcctAmt":"个人账户","psnCashAmt":"个人现金","hospAmt":"医院垫付"}}
JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110018", joTmp).ToString(), "返回2207结算结果给HIS");
//JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110009", joTmp).ToString(), "返回2207结算结果给HIS");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = "返回2207结算结果给HIS失败,请联系管理员!" + errMsg;
return -1;
}
else
{
outParam = joRtn.ToString();
return 0;
}
}
catch (Exception ex)
{
outParam = "返回22207结算结果给HIS出现异常:!" + ex.Message;
return -1;
}
}
///
/// 获取结算费用的封装
///
///
///
///
private decimal getFee(JObject jo, string path)
{
try
{
string temp = JsonHelper.getDestValue(jo, path);
if (temp == "")
{
return 0;
}
else
{
return decimal.Parse(temp);
}
}
catch (Exception ex)
{
Global.writeLog("getFee异常:" + ex.Message);
return 0;
}
}
///
/// 汇总医保返回的结算金额(按照HIS的原则汇总,后期HIS按照这个来进行勾稽关系判断)
///
///
///
public int sumInsuRtnSettlInfo(JObject jo, out JObject joSumFee, out string errMsg)
{
// 医疗费总额是患者在医药机构花费的所有诊疗、药品、耗材、服务设施等项目费用的总和 = 基金支付总额 + 个人负担总金额 + 其他(如医院负担金额);
//3、基金支付总额 = 基本医保统筹基金支出(含职工基本医疗保险、居民基本医疗保险)+补充医疗保险基金支出 (含覆盖全体参保人的居民大病保险和大额医疗费用补助、覆盖部分参保人的企业职工大额医疗费用补助和公务员医疗补助等)+医疗救助基金支出 + 其他支出(如伤残人员医疗保障基金支出);
//5、个人账户支出中包含账户共济支付金额
joSumFee = new JObject();
errMsg = "";
decimal ybAmt, psnAcctAmt, hospAmt, psnCashAmt, medFee, acctMulaidPay;
try
{
ybAmt = getFee(jo, "hifp_pay") //基本医保统筹基金支出
+ getFee(jo, "hifes_pay") //企业补充医疗保险基金支出
+ getFee(jo, "hifmi_pay") //居民大病保险
//+ getFee(jo, "hifob_pay") //大额医疗费用补助
+ getFee(jo, "hifob_pay") //职工大额医疗费用补助
+ getFee(jo, "cvlserv_pay") //公务员医疗补助
+ getFee(jo, "maf_pay") //医疗救助基金支出
+ getFee(jo, "oth_pay"); //其他支出
acctMulaidPay= getFee(jo, "acct_mulaid_pay"); //个人账户共济支付金额
psnAcctAmt = getFee(jo, "acct_pay"); //账户支付金额
psnCashAmt = getFee(jo, "psn_cash_pay"); //现金支付金额
hospAmt = getFee(jo, "hosp_part_amt"); //医院承担金额
medFee = getFee(jo, "medfee_sumamt"); //总费用
joSumFee.Add("ybAmt", ybAmt);
joSumFee.Add("psnAcctAmt", psnAcctAmt + acctMulaidPay);
joSumFee.Add("hospAmt", hospAmt);
joSumFee.Add("psnCashAmt", psnCashAmt);
if (medFee != (ybAmt + psnAcctAmt + psnCashAmt + hospAmt + acctMulaidPay))
{
errMsg = " ybAmt + psnAcctAmt(psnAcctAmt + acctMulaidPay) + psnCashAmt + hospAmt != medFee ";
return -1;
}
return 0;
}
catch (Exception ex)
{
errMsg = ex.Message;
return 1;
}
}
///
/// 取消结算信息
///
///
///
///
public int cancleSettlementInfo(JObject joParam, out string outParam)
{
string errMsg;
try
{
dynamic joTmp = new JObject();
joTmp = joParam.DeepClone();
joTmp.updateUserID = Global.user.ID;
joTmp.middleSettleFlag = "";
JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110008", joTmp).ToString(), "取消HIS医保结算信息");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = "取消HIS医保结算信息失败,请联系管理员!" + errMsg;
return -1;
}
else
{
outParam = "取消HIS医保结算信息成功";
return 0;
}
}
catch (Exception ex)
{
outParam = "返回2304结算结果给HIS出现异常:!" + ex.Message;
return -1;
}
}
public int getHISDir(JArray jaPagination, JArray jaParams, out JObject joRtn, out string outParam)
{
string errMsg;
joRtn = new JObject();
try
{
dynamic joTmp = new JObject();
joTmp.pagination = jaPagination;
joTmp.session = Global.curEvt.jaSession;
joTmp.Add("params",jaParams);
joTmp.code = "05111002";
joRtn = invoker.invokeHISService(joTmp.ToString(), "查询HIS目录分页");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = "查询HIS目录分页失败,请联系管理员!" + errMsg;
return -1;
}
else
{
if (joRtn["result"]["Data"] == null)
{
outParam = "Data节点不存在";
return -1;
}
outParam = "查询HIS目录分页成功";
return 0;
}
}
catch (Exception ex)
{
outParam = "查询HIS目录分页异常:!" + ex.Message;
return -1;
}
}
///
/// 从HIS获取医保事前事中服务交易入参报文
///
///
///
///
public int GetInsuPatInfo(string TrigScen, Patients pat, out string outParam)
{
outParam = "";
string errMsg;
try
{
dynamic joIrisParam = new JObject();
JArray jaIrisParams = new JArray();
JObject joIrisTmp = new JObject();
joIrisParam.code = "05110015";
joIrisParam.session = Global.curEvt.jaSession;
joIrisTmp.Add("admID", pat.adm_Dr);
joIrisTmp.Add("billID", pat.billID);
joIrisTmp.Add("recordID", pat.recordID);
joIrisTmp.Add("userID",Global.user.ID);
joIrisTmp.Add("hospID", Global.inf.hisHospitalDr);
joIrisTmp.Add("psnNo", Global.pat.psn_no);
joIrisTmp.Add("mdtrtId", Global.pat.mdtrtID);
joIrisTmp.Add("InsuredType", Global.pat.insuType);
joIrisTmp.Add("MedicalType", Global.pat.medType);
joIrisTmp.Add("YBArea", Global.pat.insuplc_admdvs);
joIrisTmp.Add("TrigScen", TrigScen);
joIrisTmp.Add("InterfaceID", Global.inf.interfaceDr);
jaIrisParams.Add(joIrisTmp);
joIrisParam.Add("params", JArray.FromObject(jaIrisParams));
JObject joRtn = invoker.invokeHISService(joIrisParam.ToString(), "获取HIS费用");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = errMsg;
return -1;
}
else
{
outParam = joRtn.ToString();
return 0;
}
}
catch (Exception ex)
{
outParam = "GetInsuPatInfo医保事前事中服务报文获取 异常:" + ex.Message;
return -1;
}
}
}
class MIIrisServices
{
private InvokeHelper invoker = new InvokeHelper();
public JObject GetNoMappHISDir(JObject joHisRtnDir)
{
try
{
//传给医保平台,进行对照匹配
dynamic joParam = new JObject();
joParam.TotalCount = joHisRtnDir["result"]["TotalCount"];
joParam.HospitalDr = Global.inf.hospitalDr;
joParam.InterfaceDr = Global.inf.interfaceDr;
joParam.Data = joHisRtnDir["result"]["Data"];
JObject joRtn = invoker.invokeInsuService(JsonHelper.setIrisInpar("09010088", joParam).ToString(), "获取未对照目录");
return joRtn;
}
catch (Exception ex)
{
return JsonHelper.setExceptionJson(-1, "获取未对照目录异常:", ex.Message);
}
}
///
/// 获取接口信息
///
///
public JObject getInterface()
{
dynamic joParam = new JObject();
joParam.HospitalDr = Global.inf.hospitalDr;
joParam.InterfaceID = "";
JObject joInparam = JsonHelper.setIrisInpar("09010003", joParam);
InvokeHelper invoker = new InvokeHelper();
return invoker.invokeInsuService(joInparam.ToString(), "获取接口信息");
}
public JObject getInterface(string interfaceID)
{
dynamic joParam = new JObject();
joParam.HospitalDr = Global.inf.hospitalDr;
joParam.InterfaceID = interfaceID;
JObject joInparam = JsonHelper.setIrisInpar("09010003", joParam);
InvokeHelper invoke = new InvokeHelper();
JObject joRtn = invoke.invokeInsuService(joInparam.ToString(), "获取接口信息");
JObject joInterfaceInfo = JObject.Parse(JsonHelper.getDestValue(joRtn, "result.data[0]"));
joInterfaceInfo.Add("operatorNO", "0");
joInterfaceInfo.Add("operatorName", "管理员");
return joInterfaceInfo;
}
public JObject getInterface_TY(string interfaceID, string hospitalDr)
{
dynamic joParam = new JObject();
joParam.HospitalDr = hospitalDr;
joParam.InterfaceID = interfaceID;
JObject joInparam = JsonHelper.setIrisInpar("09010003", joParam);
InvokeHelper invoke = new InvokeHelper();
JObject joRtn = invoke.invokeInsuService(joInparam.ToString(), "获取接口信息");
JObject joInterfaceInfo = JObject.Parse(JsonHelper.getDestValue(joRtn, "result.data[0]"));
joInterfaceInfo.Add("operatorNO", "0");
joInterfaceInfo.Add("operatorName", "管理员");
return joInterfaceInfo;
}
public string GetCommonInterface_Dr(string interfaceID, string hospitalDr)
{
dynamic joParam = new JObject();
joParam.HospitalDr = hospitalDr;
joParam.InterfaceID = interfaceID;
JObject joInparam = JsonHelper.setIrisInpar("09010003", joParam);
InvokeHelper invoke = new InvokeHelper();
JObject joRtn = invoke.invokeInsuService(joInparam.ToString(), "获取接口信息");
JObject joInterfaceInfo = JObject.Parse(JsonHelper.getDestValue(joRtn, "result.data[0]"));
if (JsonHelper.getDestValue(joInterfaceInfo, "InsuCurrencyCataLogue") != "")
return JsonHelper.getDestValue(joInterfaceInfo, "InsuCurrencyCataLogue");
else
return interfaceID;
}
///
/// 判断是否签到过,如果未签到,返回false,如果签到则返回ture,同时返回签到号
///
///
///
public bool isSigned(ref string signno)
{
JObject joIn = new JObject();
joIn.Add("operatorNO", Global.user.ID.ToUpper());
joIn.Add("operatorName", Global.user.name);
joIn.Add("mac", Global.curEvt.mac);
joIn.Add("ip", Global.curEvt.ip);
joIn.Add("hospitalDr", Global.inf.hospitalDr);
joIn.Add("interfaceDr", Global.inf.interfaceDr);
joIn.Add("date", DateTime.Now.ToString("yyyy-MM-dd"));
string data = JsonHelper.setIrisInpar("09010064", joIn).ToString();
JObject joRtn = invoker.invokeInsuService(data, "查询签到信息");
string errMsg = "";
//MessageBox.Show("查询签到信息:"+joRtn.ToString());
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
signno = "";
return false;
}
else
{
signno = JsonHelper.getDestValue(joRtn, "result.SignNo");
return true;
}
}
///
///保存签到信息
///
///
///
public int saveSignRecord(string signno, out string errMsg)
{
if (signno == "")
{
errMsg = "signno不能为空!";
return -1;
}
errMsg = ""; ;
JObject joIn = new JObject();
joIn.Add("operatorNO", Global.user.ID);
joIn.Add("operatorName", Global.user.name);
joIn.Add("mac", Global.curEvt.mac);
joIn.Add("ip", Global.curEvt.ip);
joIn.Add("hospitalDr", Global.inf.hospitalDr);
joIn.Add("interfaceDr", Global.inf.interfaceDr);
joIn.Add("date", DateTime.Now.ToString("yyyy-MM-dd"));
joIn.Add("signNo", signno);
joIn.Add("createTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
joIn.Add("division", Global.inf.areaCode);
string data = JsonHelper.setIrisInpar("09010065", joIn).ToString();
//MessageBox.Show("插入签到信息入参:"+ data);
JObject joRtn = invoker.invokeInsuService(data, "插入签到信息");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
return -1;
}
else
{
return 0;
}
}
///
/// 保存住院登记信息
///
///
///
///
///
public int saveInpatRegisterInfo(JObject joRegIn, JObject joRegOut, out string outParam)
{
//插入云医保平台
JObject joTmp = new JObject();
string errMsg = "";
try
{
//Global.pat.mdtrtcertType = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.mdtrt_cert_type");
//if (Global.pat.mdtrtcertType == "01")
//{
// Global.pat.mdtrtcertType = "02";
// Global.pat.mdtrtcertNO = Global.pat.certNO;
//}
//else
//{
// Global.pat.mdtrtcertType = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.mdtrt_cert_type");
// Global.pat.mdtrtcertNO = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.mdtrt_cert_no");
//}
joTmp.Add("HospitalDr", Global.inf.hospitalDr);
joTmp.Add("InterfaceDr", Global.inf.interfaceDr);
joTmp.Add("AdmDr", Global.pat.adm_Dr);
joTmp.Add("PatientName", Global.pat.name);
joTmp.Add("PersonalNO", Global.pat.psn_no);
joTmp.Add("InsuRegID", JsonHelper.getDestValue(joRegOut, "output.result.mdtrt_id"));
joTmp.Add("RegDate", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.begntime"));
joTmp.Add("InsuType", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.insutype"));
joTmp.Add("CertificateType", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.mdtrt_cert_type"));
joTmp.Add("CertificateNO", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.mdtrt_cert_no"));
joTmp.Add("MedicalType", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.med_type"));
joTmp.Add("AttendDoctorNO", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.atddr_no"));
joTmp.Add("ChiefPhyDocName", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.chfpdr_name"));
joTmp.Add("AdmInDiagDesc", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.adm_diag_dscr"));
joTmp.Add("AdmInDepCode", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.adm_dept_codg"));
joTmp.Add("AdmInDepName", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.adm_dept_name"));
joTmp.Add("AdmBed", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.adm_bed"));
joTmp.Add("MainDiagCode", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.dscg_maindiag_code"));
joTmp.Add("MainDiagName", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.dscg_maindiag_name"));
joTmp.Add("MainConditionDesc", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.main_cond_dscr"));
joTmp.Add("DiseasecCode", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.dise_codg"));
joTmp.Add("DiseasecName", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.dise_name"));
joTmp.Add("OperationCode", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.oprn_oprt_code"));
joTmp.Add("OperationName", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.oprn_oprt_name"));
joTmp.Add("DiseasecTypeCode", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.dise_type_code"));
joTmp.Add("InsuranceAreaCode", Global.pat.insuplc_admdvs);
joTmp.Add("TreatmentAreaCode", Global.pat.mdtrtarea_admvs);
joTmp.Add("RegState", JsonHelper.getDestValue(joRegOut, "regstate"));
joTmp.Add("ValidFlag", JsonHelper.getDestValue(joRegOut, "validflag"));
joTmp.Add("Type", JsonHelper.getDestValue(joRegOut, "type"));
joTmp.Add("updateUserID", Global.user.ID);
joTmp.Add("MSGID", Global.curEvt.msgid);
joTmp.Add("OccurTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
joTmp.Add("ConerName", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.coner_name"));
joTmp.Add("Tel", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.tel"));
joTmp.Add("patID", JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.patID"));
string serviceCode = "09010044";
string inpar = JsonHelper.setIrisInpar(serviceCode, joTmp).ToString();
JObject joRtn = invoker.invokeInsuService(inpar, "新增住院登记信息");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = joRtn.ToString();
return -1;
}
else
{
outParam = joRtn.ToString();
return 0;
}
}
catch (Exception ex)
{
outParam = "保存住院登记信息异常:" + ex.Message;
return -1;
}
}
///
///
///
///
///
///
public int saveMIPatFullInsuInfo(JObject joFullInfo, out string outParam)
{
string errMsg;
string serviceCode = "09010135";
JObject joTmp = new JObject();
joTmp.Add("HospitalDr", Global.inf.hospitalDr);
joTmp.Add("InterfaceDr", Global.inf.interfaceDr);
joTmp.Add("AdmID", Global.pat.adm_Dr);
joTmp.Add("OccurTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
joTmp.Add("FullInfo", joFullInfo);
string inpar = JsonHelper.setIrisInpar(serviceCode, joTmp).ToString();
JObject joRtn = invoker.invokeInsuService(inpar, "新增/修改出院审核表(费用核查)");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = errMsg;
return -1;
}
else
{
outParam = joRtn.ToString();
return 0;
}
}
///
/// 保存出院核查主表
///
///
///
///
public int saveDischargeAuditMaintable(JObject joAudit, out string outParam)
{
string errMsg;
string serviceCode = "09010138";
string inpar = JsonHelper.setIrisInpar(serviceCode, joAudit).ToString();
JObject joRtn = invoker.invokeInsuService(inpar, "新增/修改出院审核表(费用核查)");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = errMsg;
return -1;
}
else
{
outParam = joRtn.ToString();
return 0;
}
}
///
/// 保存出院核查信息,包含主表以及明细表
///
///
///
///
public int saveDischargeAudit(JObject joAudit, out string outParam)
{
string errMsg;
string serviceCode = "09010136";
string inpar = JsonHelper.setIrisInpar(serviceCode, joAudit).ToString();
JObject joRtn = invoker.invokeInsuService(inpar, "新增/修改出院审核表(费用核查及明细)");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
outParam = errMsg;
return -1;
}
else
{
outParam = joRtn.ToString();
return 0;
}
}
///
/// 保存费用审核相关信息 ;
/// scene场景类型 0.窗口门诊 1.窗口住院 2.自助机门诊 3.自助机住院 4.线上支付门诊 5.线上支付住院 ;
/// RegType登记类型 0.通用 部分地区门诊出入院都一样 1.门诊登记 2.入院登记 3.出院登记;
///
///
///
///
///
///
public int saveDischargeAudit(int scene, int regType, int auditMethod, JObject joReg, out string outParam)
{
//插入云医保平台
JObject joAudit = new JObject();
JArray jaAuditDetail = new JArray();
string errMsg = "";
try
{
joAudit.Add("HospitalDr", Global.inf.hospitalDr);
joAudit.Add("InterfaceDr", Global.inf.interfaceDr);
joAudit.Add("AdmID", Global.pat.adm_Dr);
joAudit.Add("BillID", Global.pat.billID);
joAudit.Add("OccurTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
joAudit.Add("Scene", scene);
joAudit.Add("AuditStatus", 0);
joAudit.Add("Memo", "");
joAudit.Add("ValidFlag", 1);
joAudit.Add("AuditMethod", auditMethod); //审核方式 0.Manual (人工) 1.Automated (自动审核)
joAudit.Add("AuditorNO",Global.user.ID);
joAudit.Add("Auditor", Global.user.name);
joAudit.Add("RegType", regType);
jaAuditDetail = getDisachargeAuditDetailArray(regType, joReg);
joAudit.Add("AuditDetail", jaAuditDetail);
return saveDischargeAudit(joAudit, out outParam);
}
catch (Exception ex)
{
outParam = "新增/修改出院审核表(费用核查及明细)异常:" + ex.Message;
return -1;
}
}
//private JArray getDisachargeAuditDetailArray(int regType, JObject joRegIn)
//{
// var anon = new[] {
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "psn_no",
// // DetailName = "人员编号",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.psn_no"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "insutype",
// // DetailName = "险种类型",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.insutype"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "coner_name",
// // DetailName = "联系人姓名",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.coner_name"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "tel",
// // DetailName = "联系电话",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.tel"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "begntime",
// // DetailName = "开始时间",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.begntime"),
// // ValueDesc = "",
// // RegType = regType
// //},
// new {
// AdmID = Global.pat.adm_Dr,
// DetailCode = "mdtrt_cert_type",
// DetailName = "就诊凭证类型",
// Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.mdtrt_cert_type"),
// ValueDesc = "",
// RegType = regType
// },
// new {
// AdmID = Global.pat.adm_Dr,
// DetailCode = "mdtrt_cert_no",
// DetailName = "就诊凭证编号",
// Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.mdtrt_cert_no"),
// ValueDesc = "",
// RegType = regType
// },
// new {
// AdmID = Global.pat.adm_Dr,
// DetailCode = "med_type",
// DetailName = "医疗类别",
// Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.med_type"),
// ValueDesc = "",
// RegType = regType
// },
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "ipt_no",
// // DetailName = "住院号",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.ipt_no"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "medrcdno",
// // DetailName = "病历号",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.medrcdno"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "atddr_no",
// // DetailName = "主治医生编码",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.atddr_no"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "chfpdr_name",
// // DetailName = "主诊医师姓名",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.chfpdr_name"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "adm_diag_dscr",
// // DetailName = "入院诊断描述",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.adm_diag_dscr"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "adm_dept_codg",
// // DetailName = "入院科室编码",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.adm_dept_codg"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "adm_dept_name",
// // DetailName = "入院科室名称",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.adm_dept_name"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "adm_bed",
// // DetailName = "入院床位",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.adm_bed"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "dscg_maindiag_code",
// // DetailName = "住院主诊断代码",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.dscg_maindiag_code"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "dscg_maindiag_name",
// // DetailName = "住院主诊断名称",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.dscg_maindiag_name"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "main_cond_dscr",
// // DetailName = "主要病情描述",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.main_cond_dscr"),
// // ValueDesc = "",
// // RegType = regType
// //},
// new {
// AdmID = Global.pat.adm_Dr,
// DetailCode = "dise_codg",
// DetailName = "病种编码",
// Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.dise_codg"),
// ValueDesc = "",
// RegType = regType
// },
// new {
// AdmID = Global.pat.adm_Dr,
// DetailCode = "dise_name",
// DetailName = "病种名称",
// Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.dise_name"),
// ValueDesc = "",
// RegType = regType
// },
// new {
// AdmID = Global.pat.adm_Dr,
// DetailCode = "oprn_oprt_code",
// DetailName = "手术操作代码",
// Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.oprn_oprt_code"),
// ValueDesc = "",
// RegType = regType
// },
// new {
// AdmID = Global.pat.adm_Dr,
// DetailCode = "oprn_oprt_name",
// DetailName = "手术操作名称",
// Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.oprn_oprt_name"),
// ValueDesc = "",
// RegType = regType
// },
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "fpsc_no",
// // DetailName = "计划生育服务证号",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.fpsc_no"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "matn_type",
// // DetailName = "生育类别",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.matn_type"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "birctrl_type",
// // DetailName = "计划生育手术类别",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.birctrl_type"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "latechb_flag",
// // DetailName = "晚育标志",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.latechb_flag"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "geso_val",
// // DetailName = "孕周数",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.geso_val"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "fetts",
// // DetailName = "胎次",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.fetts"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "fetus_cnt",
// // DetailName = "胎儿数",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.fetus_cnt"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "pret_flag",
// // DetailName = "早产标志",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.pret_flag"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "birctrl_matn_date",
// // DetailName = "计划生育手术或生育日期",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.birctrl_matn_date"),
// // ValueDesc = "",
// // RegType = regType
// //},
// new {
// AdmID = Global.pat.adm_Dr,
// DetailCode = "dise_type_code",
// DetailName = "病种类型",
// Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.dise_type_code"),
// ValueDesc = "",
// RegType = regType
// },
// new {
// AdmID = Global.pat.adm_Dr,
// DetailCode = "exp_content",
// DetailName = "字段扩展",
// Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.exp_content"),
// ValueDesc = "",
// RegType = regType
// },
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "insuplc_admdvs",
// // DetailName = "参保地医保区划",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.insuplc_admdvs"),
// // ValueDesc = "",
// // RegType = regType
// //},
// //new {
// // AdmID = Global.pat.adm_Dr,
// // DetailCode = "mdtrtarea_admvs",
// // DetailName = "就医地医保区划",
// // Value = JsonHelper.getDestValue(joRegIn, "input.mdtrtinfo.mdtrtarea_admvs"),
// // ValueDesc = "",
// // RegType = regType
// //}
// };
// // 使用Newtonsoft.Json的JArray.FromObject方法将匿名对象数组转换为JArray
// return JArray.FromObject(anon);
//}
private JArray getDisachargeAuditDetailArray(int regType, JObject joReg)
{
var details = new List