|
|
@@ -0,0 +1,239 @@
|
|
|
+# 医保业务DLL库使用说明
|
|
|
+云地址:https://dqqslxaq2y.feishu.cn/wiki/Kb0bwJ3WJiFWvakoaHCck3Ghnee
|
|
|
+该项目遵循以下原则:
|
|
|
+
|
|
|
+1. **Master分支**:为空项目,仅保留说明文件,便于其他新分支的建立。
|
|
|
+2. **分支命名规则**:按市+医保类型建立代码分支,如“安徽基线版”,分支名为:AnHui_Base。医保类型包括:Base(基线版)、工伤(Injury)、异地(Offsite)、其它(Other)。可以根据需要适当增加新的医保类型。
|
|
|
+3. **项目命名规则**:每个分支下存放每个省的业务逻辑代码项目,项目名应与分支名保持一致,例如AnHui_Base。
|
|
|
+4. **文档维护**:每个分支的根目录应保留本Readme.md文档,并且将各个分支的特殊业务场景或版本更新日志放置在此文档中。
|
|
|
+5. **使用手册**:详细的手册见文档[这里](https://dqqslxaq2y.feishu.cn/docx/VxZhdSrFDonnwTxxTPZctr7onSb?from=from_copylink)。
|
|
|
+
|
|
|
+## Git提交说明
|
|
|
+ init:初始化,
|
|
|
+ fix:bug修复,
|
|
|
+ feat:增加特性(功能),
|
|
|
+ perf:优化,
|
|
|
+ chroe:代码重构
|
|
|
+ merge: 合并
|
|
|
+ revert:回滚
|
|
|
+
|
|
|
+## 业务分支说明
|
|
|
+
|
|
|
+### 名称:南昌医保
|
|
|
+
|
|
|
+- **接口开发**:创智
|
|
|
+- **上线范围**:结算(社保、身份证、电子医保卡)、进销存、事前事中、Lis项目、清单上传
|
|
|
+
|
|
|
+### 版本特性
|
|
|
+
|
|
|
+#### 版本 1.0.0.2
|
|
|
+- **时间**:2025年10月21日
|
|
|
+- **改进点**:
|
|
|
+ - **性能优化**:优化单条目录维护,新增目录类别,最小包装数量等属性的维护。
|
|
|
+ - **界面优化**:优化事前事中反馈界面,去除保存按钮,增加确定后安全性检查功能。
|
|
|
+#### 版本 1.0.0.3
|
|
|
+- **时间**:2025年10月21日
|
|
|
+- **改进点**:
|
|
|
+ - **Bug修复**:单条目录维护界面初始化时,增加grdSetterBase.SetCombox方法的异常展示。当查询字典返回结果为空时,会提示找不到绑定的字段。
|
|
|
+
|
|
|
+#### 版本 1.0.0.4
|
|
|
+- **时间**:2025年10月28日
|
|
|
+- **改进点**:
|
|
|
+ - **Bug修复**:
|
|
|
+ - **问题描述**:在“事前事中”分析流程中,当存在未进行对照的项目时,系统未能将这些信息在前端界面展示给用户,仅记录在 IRIS 日志中,导致用户无法及时获知问题。
|
|
|
+ - **解决方案**:修复了该问题,确保所有未对照的项目现在能够清晰地在前端界面呈现,提升用户体验和问题排查效率。
|
|
|
+ - **关联的技术变更(方法签名调整)**:
|
|
|
+ - 为支撑上述问题的修复并增强方法的健壮性,对 `PreAndInProcessAnalysis` 类中的多个核心方法进行了重构,统一将返回类型从 `JObject` 改为 `int`,并引入 `out` 参数来返回数据和错误信息。
|
|
|
+ - **变更模式**:
|
|
|
+ - **旧模式**:`public JObject Get3101Inpar(string trig_scen, Patients p)`
|
|
|
+ - **新模式**:`public int Get3101Inpar(string trig_scen, Patients p, out JObject joData, out string errMsg)`
|
|
|
+ - **涉及方法**:
|
|
|
+ - `PreAndInProcessAnalysis.Get3101Inpar`
|
|
|
+ - `PreAndInProcessAnalysis.GetPatient_dtos`
|
|
|
+ - `PreAndInProcessAnalysis.GetFsi_encounter_dtos`
|
|
|
+ - `PreAndInProcessAnalysis.GetFsi__order_dtos`
|
|
|
+ - **说明**:此变更模式设计为可扩展的,未来可应用于其他相关方法。调用方需根据返回的 `int` 值(通常0表示成功,非0表示失败)来判断执行结果,并通过 `out` 参数获取实际数据或具体的错误信息。
|
|
|
+#### 版本 1.0.0.5
|
|
|
+- **时间**:2025年10月30日
|
|
|
+- **改进点**:
|
|
|
+ - **Bug修复**:
|
|
|
+ -*PreAndInProcessAnalysis.GetFsi_encounter_dtos*:代码复制,返回值永远为-1.已修复。
|
|
|
+
|
|
|
+
|
|
|
+#### 版本 1.0.0.6
|
|
|
+- **时间**:2025年10月31日
|
|
|
+- **改进点**:
|
|
|
+ - **Bug修复**:修改事前调用时间点
|
|
|
+ *修改前*:门诊事前调用位置位于PTMedicalInsurance.Business.ReadPatientProcess.Process
|
|
|
+ *修改后*:门诊事前调用位置位于PTMedicalInsurance.Business.OPFeeUploadProcess.Process
|
|
|
+
|
|
|
+
|
|
|
+#### 版本 1.0.0.7
|
|
|
+- **时间**:2025年10月31日
|
|
|
+- **改进点**:
|
|
|
+ - **iris服务优化**:
|
|
|
+ *09010077*:ListType,ChargeItemType,ChargeItemLevel为空时的提示更具体
|
|
|
+ - **功能优化**:med_type为空判断并赋值。东莞HIS会传MED_type,所以不必取全局。其他地方HIS不传,必须取全局
|
|
|
+ - **PTMedicalInsurance.Business.GetFsi_encounter_dtos**:
|
|
|
+ *修改前*:
|
|
|
+ ```
|
|
|
+ string med_type = JsonHelper.getDestValue(jofsi_encounter_dtos, "med_type");
|
|
|
+
|
|
|
+ *修改后*:
|
|
|
+ ```
|
|
|
+ string med_type = JsonHelper.getDestValue(jofsi_encounter_dtos, "med_type");
|
|
|
+ if (string.IsNullOrEmpty(med_type))
|
|
|
+ {
|
|
|
+ med_type = Global.pat.medType;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+#### 版本 1.0.0.8
|
|
|
+- **时间**:2025年11月03日
|
|
|
+- **改进点**:
|
|
|
+ - **功能优化**:对账功能,1.优化SQL语句排版,2.统计查询将医保钱包金额并入新增字段exp__content,3201和3202上传该字段
|
|
|
+ - **PTMedicalInsurance.Forms.Clearing.Btn_Query_Click**:
|
|
|
+
|
|
|
+ -*修改前*:
|
|
|
+ ```
|
|
|
+ 无
|
|
|
+ ```
|
|
|
+ -*修改后*:
|
|
|
+ ```
|
|
|
+ // 钱包支付金额
|
|
|
+ "SUM(BillType * WalletPay) AS WalletPay ";
|
|
|
+ ```
|
|
|
+ -*单条对账新增*:
|
|
|
+ ```
|
|
|
+ JObject joExp = new JObject();
|
|
|
+ joExp.Add("wlt_fee_sumamt", dt.Rows[i]["WalletPay"].ToString());
|
|
|
+ joCheck.exp_content = joExp; //医保钱包支付金额
|
|
|
+ ```
|
|
|
+ -*单条对明细账新增*:
|
|
|
+ ```
|
|
|
+ JObject joExp = new JObject();
|
|
|
+ joExp.Add("wlt_fee_sumamt", dt.Rows[i]["WalletPay"].ToString());
|
|
|
+ joCheck.exp_content = joExp; //医保钱包支付金额
|
|
|
+ ```
|
|
|
+ - **功能优化**:结算及结算展示,钱包金额根据分项基金计算
|
|
|
+ - **PTMedicalInsurance.Forms.SettlementForm.SettlementForm**: 修改wlt_pay取值逻辑
|
|
|
+ ```
|
|
|
+ JArray jaSetlDetail = JArray.FromObject(jo["setldetail"]);
|
|
|
+ string wlt_balance = "0.00";
|
|
|
+ string wlt_pay = "0.00";
|
|
|
+ foreach (JObject joDetail in jaSetlDetail)
|
|
|
+ {
|
|
|
+ if (joDetail["fund_pay_type"].ToString() == "9999981")
|
|
|
+ {
|
|
|
+ wlt_pay = joDetail["fund_payamt"].ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tbMedInsWalletBalance.Text = wlt_balance;
|
|
|
+ tbMedInsWalletPay.Text = wlt_pay;
|
|
|
+ ```
|
|
|
+ - **PTMedicalInsurance.Business.MIIrisServices.saveSettlement**: 修改wlt_pay后台保存逻辑
|
|
|
+ ```
|
|
|
+ //新增钱包存储
|
|
|
+ JArray jaSetlDetail = JArray.FromObject(jo["setldetail"]);
|
|
|
+ string wlt_balance = "0.00";
|
|
|
+ string wlt_pay = "0.00";
|
|
|
+ foreach (JObject joDetail in jaSetlDetail)
|
|
|
+ {
|
|
|
+ if (joDetail["fund_pay_type"].ToString() == "9999981")
|
|
|
+ {
|
|
|
+ wlt_pay = joDetail["fund_payamt"].ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ joSetlinfo.Add("medIns_wallet_balance", wlt_balance); //医保钱包余额
|
|
|
+ joSetlinfo.Add("medIns_wallet_pay", wlt_pay); //医保钱包支付金额
|
|
|
+ ```
|
|
|
+
|
|
|
+#### 版本 1.0.0.9
|
|
|
+- **时间**:2025年11月11日
|
|
|
+- **改进点**:
|
|
|
+ - **功能优化**:移动支付,获取患者信息后,增加对患者信息的筛选。
|
|
|
+ - **PTMedicalInsurance.Business.MobilePay.getMPInsuInfo**:
|
|
|
+ - 具体逻辑:
|
|
|
+ - 1.参保状态不为1的过滤;
|
|
|
+ - 2.险种类型不为310或者390的过滤
|
|
|
+ - 3.上述逻辑过滤后数据条数为0或大于1的报错
|
|
|
+
|
|
|
+#### 版本 1.0.0.10
|
|
|
+- **时间**:2025年11月12日
|
|
|
+- **改进点**:
|
|
|
+ - **Bug修复**:结算取节点output.setldetail。
|
|
|
+ - **PTMedicalInsurance.Business.MIIrisServices.saveSettlement**:
|
|
|
+ -*修改前*:
|
|
|
+ ```
|
|
|
+ //新增钱包存储
|
|
|
+ JArray jaSetlDetail = JArray.FromObject(JObject.Parse(JsonHelper.getDestValue(joSettlement, "output.setldetail")));
|
|
|
+ ```
|
|
|
+ -*修改后*:
|
|
|
+ ```
|
|
|
+ //新增钱包存储
|
|
|
+ JArray jaSetlDetail = JArray.FromObject(JsonHelper.getDestValue(joSettlement, "output.setldetail"));
|
|
|
+ ```
|
|
|
+
|
|
|
+#### 版本 1.0.0.11
|
|
|
+- **时间**:2025年11月12日
|
|
|
+- **改进点**:
|
|
|
+ - **Bug修复**:结算取节点output.setldetail。
|
|
|
+ - **PTMedicalInsurance.Business.MIIrisServices.saveSettlement**:
|
|
|
+ -*修改前*:
|
|
|
+ ```
|
|
|
+ //新增钱包存储
|
|
|
+ JArray jaSetlDetail = JArray.FromObject(JsonHelper.getDestValue(joSettlement, "output.setldetail"));
|
|
|
+ ```
|
|
|
+ -*修改后*:
|
|
|
+ ```
|
|
|
+ //新增钱包存储
|
|
|
+ JArray jaSetlDetail = JArray.Parse(JsonHelper.getDestValue(joSettlement, "output.setldetail"));
|
|
|
+ ```
|
|
|
+
|
|
|
+#### 版本 1.0.0.12
|
|
|
+- **时间**:2025年11月14日
|
|
|
+- **改进点**:
|
|
|
+ - **Bug修复**:预结算展示钱包金额时需要判断分项明细数组是否为空
|
|
|
+ - **PTMedicalInsurance.Forms.SettlementForm.SettlementForm**:
|
|
|
+ -*修改后*:
|
|
|
+ ```
|
|
|
+ string wlt_balance = "0.00";
|
|
|
+ string wlt_pay = "0.00";
|
|
|
+ if (jo["setldetail"] != null)
|
|
|
+ {
|
|
|
+ JArray jaSetlDetail = JArray.FromObject(jo["setldetail"]);
|
|
|
+
|
|
|
+ foreach (JObject joDetail in jaSetlDetail)
|
|
|
+ {
|
|
|
+ if (joDetail["fund_pay_type"].ToString() == "9999981")
|
|
|
+ {
|
|
|
+ wlt_pay = joDetail["fund_payamt"].ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ - **PTMedicalInsurance.Business.MIIrisServices.saveSettlement**:
|
|
|
+ -*修改后*:
|
|
|
+ ```
|
|
|
+ //新增钱包存储
|
|
|
+ string wlt_balance = "0.00";
|
|
|
+ string wlt_pay = "0.00";
|
|
|
+ if (JsonHelper.getDestValue(joSettlement, "output.setldetail") != "")
|
|
|
+ {
|
|
|
+ JArray jaSetlDetail = JArray.Parse(JsonHelper.getDestValue(joSettlement, "output.setldetail"));
|
|
|
+
|
|
|
+ foreach (JObject joDetail in jaSetlDetail)
|
|
|
+ {
|
|
|
+ if (joDetail["fund_pay_type"].ToString() == "9999981")
|
|
|
+ {
|
|
|
+ wlt_pay = joDetail["fund_payamt"].ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ```
|
|
|
+#### 版本 1.0.0.13
|
|
|
+- **时间**:2025年11月24日
|
|
|
+- **改进点**:
|
|
|
+ - **Bug修复**:港澳通行证患者传04
|
|
|
+ - *PTMedicalInsurance.Business.ReadCardProcess.Process*
|
|
|
+ ```
|
|
|
+ Global.pat.certType ="04";
|