ソースを参照

晶奇数据推送 中医体质、老年人自理能力评估

jeremy 8 ヶ月 前
コミット
9bec18f69d

+ 75 - 0
src/VitalMixtureService/Factury/JingQiApiHelper.cs

@@ -250,6 +250,64 @@ namespace VitalService.Factury
             return JsonConvert.SerializeObject(dic);
         }
 
+        /// <summary>
+        /// 转换老年人自理能力评估结果
+        /// </summary>
+        /// <param name="examInfo"></param>
+        /// <param name="registerInfo"></param>
+        /// <param name="url"></param>
+        /// <returns></returns>
+        public string GetLNRPostContentAsync(RegisterPersonInfoDTO registerInfo, FacturyOrgModel facturyInfo, Dictionary<string, string> examData, DateTime examTime, out string url)
+        {
+            url = $"{_serverUrl}/api/phychn";
+
+            var jingQiInfos = registerInfo.JingQiExamInfos;
+            var pyhId = GetValue(jingQiInfos, "pyhid");
+
+            var dic = new Dictionary<string, string>();
+            dic.Add("pyhid", pyhId);
+            dic.Add("personId", GetValue(jingQiInfos, "PatientID"));
+            dic.Add("no", GetValue(jingQiInfos, "NO"));
+            dic.Add("idNo", registerInfo.IDCardNo);
+
+            dic.Add("createCode", facturyInfo.FacturyUserCode);
+            dic.Add("createName", facturyInfo.FacturyUserName);
+            dic.Add("createOrganizationCode", facturyInfo.FacturyOrgCode);
+            dic.Add("createOrganizationName", facturyInfo.FacturyOrgName);
+            dic.Add("updateCode", facturyInfo.FacturyUserCode);
+            dic.Add("updateName", facturyInfo.FacturyUserName);
+            dic.Add("updateOrganizationCode", facturyInfo.FacturyOrgCode);
+            dic.Add("updateOrganizationName", facturyInfo.FacturyOrgName);
+
+            dic.Add("oldTotal", GetValue(examData, "SelfCareScore"));
+            dic.Add("assessType", GetAssessType(GetValue(examData, "SelfCareConclusion")));
+            dic.Add("assessTime", examTime.ToLocalTime().ToString("yyyy-MM-dd"));
+            dic.Add("assessName", facturyInfo.FacturyUserName);
+            dic.Add("assessCode", facturyInfo.FacturyUserCode);
+            // 进餐
+            var oldEating = GetValue(examData, "qusition1");
+            dic.Add("oldEating", oldEating);
+            dic.Add("oldEatingType", oldEating == "0" ? "1" : oldEating == "3" ? "3" : oldEating == "5" ? "4" : "1");
+            // 梳洗
+            var oldWash = GetValue(examData, "qusition2");
+            dic.Add("oldWash", oldWash);
+            dic.Add("oldWashType", oldWash == "0" ? "1" : oldWash == "1" ? "2" : oldWash == "3" ? "3" : oldWash == "7" ? "4" : "1");
+            // 穿衣
+            var oldDress = GetValue(examData, "qusition3");
+            dic.Add("oldDress", oldDress);
+            dic.Add("oldDressType", oldDress == "0" ? "1" : oldDress == "3" ? "3" : oldDress == "5" ? "4" : "1");
+            // 如厕
+            var oldToilet = GetValue(examData, "qusition4");
+            dic.Add("oldToilet", oldToilet);
+            dic.Add("oldToiletType", oldToilet == "0" ? "1" : oldToilet == "1" ? "2" : oldToilet == "5" ? "3" : oldToilet == "10" ? "4" : "1");
+            // 活动
+            var oldActivity = GetValue(examData, "qusition5");
+            dic.Add("oldActivity", oldActivity);
+            dic.Add("oldActivityType", oldActivity == "0" ? "1" : oldActivity == "1" ? "2" : oldActivity == "5" ? "3" : oldActivity == "10" ? "4" : "1");
+
+            return JsonConvert.SerializeObject(dic);
+        }
+
         private string GetValue(Dictionary<string, string> dic, string key)
         {
             foreach (var k in dic.Keys)
@@ -319,6 +377,23 @@ namespace VitalService.Factury
             }
         }
 
+        private string GetAssessType(string selfCareConclusion)
+        {
+            switch (selfCareConclusion)
+            {
+                case "可自理":
+                    return "1";
+                case "轻度依赖":
+                    return "2";
+                case "中度依赖":
+                    return "3";
+                case "不能自理":
+                    return "4";
+                default:
+                    return "";
+            }
+        }
+
         private async Task<JingQiResult<TResult>> GetJingQiResult<TResult>(string url, string request, Dictionary<string, string> headers, string idCardNo)
         {
             try

+ 4 - 0
src/VitalMixtureService/FrontService/Service/FacturyPostHistoryService.cs

@@ -141,6 +141,10 @@ namespace VitalService.Service
                             {
                                 rpcContent = _jingQiApiHelper.GetZYPostContentAsync(registerInfo, facturyInfo, examData, examTime, out xyUrl);
                             }
+                            else if (examKey == "LNRZLNLPG")
+                            {
+                                rpcContent = _jingQiApiHelper.GetLNRPostContentAsync(registerInfo, facturyInfo, examData, examTime, out xyUrl);
+                            }
                             if (!string.IsNullOrWhiteSpace(rpcContent))
                             {
                                 await _vitalFacturyPostHistoryDBService.CreateFacturyPostHistoryDBAsync(new CreateFacturyPostHistoryDBRequest