Sfoglia il codice sorgente

pref:增加HIS医生站调用事前提醒功能(新版)

zhanfei 8 mesi fa
parent
commit
a14ca96e8d
3 ha cambiato i file con 173 aggiunte e 60 eliminazioni
  1. 49 49
      HeFeiMI.csproj
  2. 41 0
      InsuBusiness.cs
  3. 83 11
      Readme.md

+ 49 - 49
HeFeiMI.csproj

@@ -87,73 +87,73 @@
     <Compile Include="Business\AutoResizeForm.cs" />
     <Compile Include="Business\CallResult.cs" />
     <Compile Include="Business\CenterBusiness.cs" />
-    <Compile Include="Business\core\Forms\DischargeAudit\AdmissionRegistration.cs">
+    <Compile Include="Business\Core\Forms\DischargeAudit\AdmissionRegistration.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="Business\core\Forms\DischargeAudit\AdmissionRegistration.Designer.cs">
+    <Compile Include="Business\Core\Forms\DischargeAudit\AdmissionRegistration.Designer.cs">
       <DependentUpon>AdmissionRegistration.cs</DependentUpon>
     </Compile>
-    <Compile Include="Business\core\Forms\DischargeAudit\AuditForm.cs">
+    <Compile Include="Business\Core\Forms\DischargeAudit\AuditForm.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="Business\core\Forms\DischargeAudit\AuditForm.Designer.cs">
+    <Compile Include="Business\Core\Forms\DischargeAudit\AuditForm.Designer.cs">
       <DependentUpon>AuditForm.cs</DependentUpon>
     </Compile>
-    <Compile Include="Business\core\Forms\DischargeAudit\DischargeRegistration.cs">
+    <Compile Include="Business\Core\Forms\DischargeAudit\DischargeRegistration.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="Business\core\Forms\DischargeAudit\DischargeRegistration.Designer.cs">
+    <Compile Include="Business\Core\Forms\DischargeAudit\DischargeRegistration.Designer.cs">
       <DependentUpon>DischargeRegistration.cs</DependentUpon>
     </Compile>
-    <Compile Include="Business\core\Forms\DischargeAudit\FeeDetail.cs">
+    <Compile Include="Business\Core\Forms\DischargeAudit\FeeDetail.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="Business\core\Forms\DischargeAudit\FeeDetail.Designer.cs">
+    <Compile Include="Business\Core\Forms\DischargeAudit\FeeDetail.Designer.cs">
       <DependentUpon>FeeDetail.cs</DependentUpon>
     </Compile>
-    <Compile Include="Business\core\Forms\DischargeAudit\GridViewSetter.cs" />
-    <Compile Include="Business\core\Forms\DischargeAudit\OutpatRegistration.cs">
+    <Compile Include="Business\Core\Forms\DischargeAudit\GridViewSetter.cs" />
+    <Compile Include="Business\Core\Forms\DischargeAudit\OutpatRegistration.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="Business\core\Forms\DischargeAudit\OutpatRegistration.Designer.cs">
+    <Compile Include="Business\Core\Forms\DischargeAudit\OutpatRegistration.Designer.cs">
       <DependentUpon>OutpatRegistration.cs</DependentUpon>
     </Compile>
-    <Compile Include="Business\core\Forms\DischargeAudit\PatientMIInfo.cs">
+    <Compile Include="Business\Core\Forms\DischargeAudit\PatientMIInfo.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="Business\core\Forms\DischargeAudit\PatientMIInfo.Designer.cs">
+    <Compile Include="Business\Core\Forms\DischargeAudit\PatientMIInfo.Designer.cs">
       <DependentUpon>PatientMIInfo.cs</DependentUpon>
     </Compile>
-    <Compile Include="Business\core\Process\ReadCardProcess.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\ProcessScheduler\DischargeAuditService.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\ProcessScheduler\IPAdmRegService.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\ProcessScheduler\IPSettlementService.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\ProcessScheduler\OPRegService.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\ProcessScheduler\OPSettlementService.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\ProcessScheduler\PatientService.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\InPat\AdmissionRegistration.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\InPat\CancelAdmissionRegistration.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\InPat\DischargeRegistration.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\InPat\GetAdmissionRequirements.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\InPat\OrganizeIPPatientInparam.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\InPat\PreSettlement.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\InPat\Settlement.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\InPat\ShowDischargeAuditForm.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\InPat\UploadFee.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\InPat\VerifyNameConsistency.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\OutPat\InProcessHandler.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\OutPat\OrganizePatientRegistrationInfo.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\OutPat\PreSettlement.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\OutPat\PreWarning.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\OutPat\Register.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\OutPat\Settlement.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\OutPat\ShowOutPatRegisterForm.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\OutPat\UploadAdmInfo.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\OutPat\UploadFee.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\ReadCard\FilterPatInfo.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\ReadCard\ReadCardProcess.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\ReadCard\SetGlobalVariablesAfaterShowPatInfo.cs" />
-    <Compile Include="Business\core\SelfServiceMachine\Process\ReadCard\ShowPatInfo.cs" />
+    <Compile Include="Business\Core\Process\ReadCardProcess.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\ProcessScheduler\DischargeAuditService.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\ProcessScheduler\IPAdmRegService.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\ProcessScheduler\IPSettlementService.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\ProcessScheduler\OPRegService.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\ProcessScheduler\OPSettlementService.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\ProcessScheduler\PatientService.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\InPat\AdmissionRegistration.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\InPat\CancelAdmissionRegistration.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\InPat\DischargeRegistration.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\InPat\GetAdmissionRequirements.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\InPat\OrganizeIPPatientInparam.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\InPat\PreSettlement.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\InPat\Settlement.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\InPat\ShowDischargeAuditForm.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\InPat\UploadFee.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\InPat\VerifyNameConsistency.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\OutPat\InProcessHandler.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\OutPat\OrganizePatientRegistrationInfo.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\OutPat\PreSettlement.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\OutPat\PreWarning.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\OutPat\Register.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\OutPat\Settlement.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\OutPat\ShowOutPatRegisterForm.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\OutPat\UploadAdmInfo.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\OutPat\UploadFee.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\ReadCard\FilterPatInfo.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\ReadCard\ReadCardProcess.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\ReadCard\SetGlobalVariablesAfaterShowPatInfo.cs" />
+    <Compile Include="Business\Core\SelfServiceMachine\Process\ReadCard\ShowPatInfo.cs" />
     <Compile Include="Business\IMobilePay.cs" />
     <Compile Include="Business\metalkeyboard\JustTideEPP\JustTideEPPDrv.cs" />
     <Compile Include="Business\metalkeyboard\JustTideEPP\MetalKeypadPasswordReader.cs" />
@@ -510,22 +510,22 @@
     <Folder Include="ControlSetter\" />
   </ItemGroup>
   <ItemGroup>
-    <EmbeddedResource Include="Business\core\Forms\DischargeAudit\AdmissionRegistration.resx">
+    <EmbeddedResource Include="Business\Core\Forms\DischargeAudit\AdmissionRegistration.resx">
       <DependentUpon>AdmissionRegistration.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="Business\core\Forms\DischargeAudit\AuditForm.resx">
+    <EmbeddedResource Include="Business\Core\Forms\DischargeAudit\AuditForm.resx">
       <DependentUpon>AuditForm.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="Business\core\Forms\DischargeAudit\DischargeRegistration.resx">
+    <EmbeddedResource Include="Business\Core\Forms\DischargeAudit\DischargeRegistration.resx">
       <DependentUpon>DischargeRegistration.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="Business\core\Forms\DischargeAudit\FeeDetail.resx">
+    <EmbeddedResource Include="Business\Core\Forms\DischargeAudit\FeeDetail.resx">
       <DependentUpon>FeeDetail.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="Business\core\Forms\DischargeAudit\OutpatRegistration.resx">
+    <EmbeddedResource Include="Business\Core\Forms\DischargeAudit\OutpatRegistration.resx">
       <DependentUpon>OutpatRegistration.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="Business\core\Forms\DischargeAudit\PatientMIInfo.resx">
+    <EmbeddedResource Include="Business\Core\Forms\DischargeAudit\PatientMIInfo.resx">
       <DependentUpon>PatientMIInfo.cs</DependentUpon>
     </EmbeddedResource>
     <EmbeddedResource Include="Forms\AddSignleDirectory.resx">

+ 41 - 0
InsuBusiness.cs

@@ -1932,6 +1932,47 @@ namespace PTMedicalInsurance
                                 rtnResult = JsonHelper.setIrisReturnValue(0, "事前事中服务接口未开启", null).ToString();
                             }
 
+                            break;
+                        }
+                    case "PreAndInProcessAnalysisNew"://事前分析  诊间只有住院的事前分析
+                        {
+                            if (!Global.curEvt.ext.isOpenAnalysis)
+                            {
+                                rtnResult = JsonHelper.setIrisReturnValue(-1, "事前事中服务接口未开启", null).ToString();
+                                break;
+                            }
+                            
+                            Global.pat.adm_Dr = int.Parse(JsonHelper.getDestValue(joInParam, "params[0].admID"));
+                            //Global.pat.psn_no = JsonHelper.getDestValue(joInParam, "params[0].insuData.patient_dtos[0].patn_id");
+
+                            Global.pat.psn_no = JsonHelper.getDestValue(joInParam, "insuAdmObj.psn_no");
+                            Global.pat.insuplc_admdvs = JsonHelper.getDestValue(joInParam, "params[0].insuData.patient_dtos[0].poolarea");
+                            Global.pat.insuType = JsonHelper.getDestValue(joInParam, "params[0].insuData.patient_dtos[0].fsi_encounter_dtos[0].insutype");
+                            Global.pat.medType = JsonHelper.getDestValue(joInParam, "params[0].insuData.patient_dtos[0].fsi_encounter_dtos[0].med_type");
+
+                            JObject joResult = new JObject();
+                            joResult.Add("result", JObject.Parse(JsonHelper.getDestValue(joParam, "insuData")));
+
+                            //场景
+                            string trig_scen = JsonHelper.getDestValue(joInsuAdmObj, "scen");
+
+                            PreAndInProcessAnalysis preAnalysis = new PreAndInProcessAnalysis(joResult.ToString());
+                            if (preAnalysis.setPatientByHisBaseInfo(out errMsg) != 0)
+                            {
+                                rtnResult = JsonHelper.setIrisReturnValue(-1, "医生站事前服务" + errMsg, null).ToString();
+                                break;
+                            }
+                            string inpar3101 = preAnalysis.Get3101Inpar(trig_scen, Global.pat).ToString();
+                            JObject joRtn = invoker.invokeCenterService("3101", JsonHelper.setCenterInpar("3101", inpar3101));
+                            if (JsonHelper.parseCenterRtnValue(joRtn, out errMsg) != 0)
+                            {
+                                rtnResult = JsonHelper.setIrisReturnValue(-1, "医生站事前服务" + errMsg, null).ToString();
+                                break;
+                            }
+                            else
+                            {
+                                rtnResult = JsonHelper.setIrisReturnValue(0, "医生站事前服务" + errMsg, null).ToString();
+                            }
                             break;
                         }
                     case "AssistSelect"://辅助查询

+ 83 - 11
Readme.md

@@ -1,20 +1,92 @@
-## 医保业务DLL库使用说明:
-  该项目遵循以下原则:
+# 医保业务DLL库使用说明
 
- #### 1.Master为空项目,仅保留说明文件,便于其他新分支的建立
+该项目遵循以下原则:
 
- #### 2.按市+医保类型建立代码分支,如“安徽基线版”,分支名为:AnHui_Base,医保类型包括:Base(基线版)、工伤(Injury)、异地(Offsite)、其它(Other),如果没有可适当增加
+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)。
 
- #### 3.每个分支下存放每个省的业务逻辑代码项目,项目名应遵循与分支名保持一致,如AnHui_Base
+## Git提交说明
+        init:初始化,
+        fix:bug修复,
+        feat:增加特性(功能),
+        perf:优化,
+        chroe:代码重构
+        merge: 合并
+        revert:回滚
 
- #### 4.每个分支的根目录应保留本Readme.md文档,同时应将各个分支的特殊业务场景或版本更新日志放到此文档
+## 业务分支说明
 
- #### 5.使用手册见文档:https://dqqslxaq2y.feishu.cn/docx/VxZhdSrFDonnwTxxTPZctr7onSb?from=from_copylink
- 
+### 名称:安徽基线版医保
 
+- **接口开发**:易联众
+- **上线范围**:结算(社保、身份证、电子医保卡)、进销存、事前事中、Lis项目、清单上传
 
-## 业务分支说明(分支特性,请做相应调整)
- 名称:XXX医保
+### 版本特性
 
-### 版本特性:
+#### 版本 1.0.0.2  
+- **时间**:2025年10月23日
+- **改进点**:
+  - **功能增加**:增加自助机相关功能。
+  - **功能增加**:增加事前事中关功能。
+  - **功能增加**:增加新版数据维护功能。支持附属目录下载等新功能
+       - *优化1312功能* 
+           -合肥版本的1312返回的是时间戳,需要进行转换
+           -1312的入参释义:
+               -query_date:查询时间点,该参数取当前时间,中心会返回在该时间点还生效的数据。所有时间点合肥版本可以穿NULL值,不能传空值
+               -begndate:开始时间。该参数用户自定义,中心会返回开始时间此时间之后的数据
+               -updt_time:更新时间。该参数用户自定义,中心会返回中心更新时间此时间之后的数据
+               -page_num:当前页数。一般选1
+               -page_size:本页数据量。当前页数包含的数据条数。如果时间过早,建议该值填大一点,否则返回的数据有缺失。
 
+
+### 版本 1.0.0.3(2025年10月26日)
+
+- **功能优化**
+
+  - `FilterPatInfo.Process`:将 1101 接口返回的时间戳字段转换为标准日期格式  
+    涉及字段:
+    ```csharp
+    // baseinfo
+    brdy
+
+    // insuinfo 数组
+    psn_insu_date, paus_insu_date
+
+    // idetinfo 数组
+    begntime, endtime
+    ```
+
+  - `PreAndInProcessAnalysis.GetFsi_encounter_dtos`:修正医疗机构行政区划编码长度  
+    ```csharp 
+    // 原代码(错误):
+    // joInpar.Add("medins_admdvs", Global.inf.areaCode);
+
+    // 新代码(取第2至第7位,共6位):
+    joInpar.Add("medins_admdvs", Global.inf.hospitalNO.Substring(1, 6));
+    ```
+    > ⚠️ 说明:传340100报错,必须传340104。 “FSI-事前控制失败:医疗机构行政区划编码填写错误,请按照接口文档规范要求进行填写。”
+    
+  -`InvokeHelper.setCenterURL`:增加3103交易对应的URL(事前事中必须走省平台)
+    ```csharp
+    // 原代码(错误):
+    case "3101":
+    case "3102":
+    prefix = "http://10.66.155.173:8086/1.0.0/hsa-fsi-";
+    break;
+
+    // 新代码(取第2至第7位,共6位):
+    case "3101":
+    case "3102":
+    case "3103":
+    prefix = "http://10.66.155.173:8086/1.0.0/hsa-fsi-";
+    break;
+    ```
+### 版本 1.0.0.4(2025年12月9日)
+
+- **功能新增**:
+- AgentFun.PreAndInProcessAnalysisNew
+- 增加HIS医生站调用事前提醒功能(新版)。该功能界面以及反馈由HIS组织数据,医保动态库负责根据各地政策进行场景字段的转换以及医保目录数据转换。
+-