# 医保业务DLL库使用说明 该项目遵循以下原则: 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的报错