فهرست منبع

重点人群服务完成率

jeremy 11 ماه پیش
والد
کامیت
168f8e53f5

+ 6 - 0
src/VitalMixtureService/DBService/Entities/TownHealthPlatformStatisticsEntity.cs

@@ -133,6 +133,12 @@ namespace VitalService.Entities
         /// <value></value>
         /// <value></value>
         public double KeepPeopleRenewalRate { get; set; }
         public double KeepPeopleRenewalRate { get; set; }
 
 
+        /// <summary>
+        /// 重点人群服务完成率
+        /// </summary>
+        /// <value></value>
+        public double ServiceCompletedRate { get; set; }
+
         /// <summary>
         /// <summary>
         /// 签约居民首诊率
         /// 签约居民首诊率
         /// </summary>
         /// </summary>

+ 9 - 0
src/VitalMixtureService/DBService/Service/VitalHealthStatisticDBService.DoctorChanged.cs

@@ -150,11 +150,14 @@ namespace VitalService.Service
                             Type = "",
                             Type = "",
                         }).ToList();
                         }).ToList();
                         // 健康管理效果
                         // 健康管理效果
+                        var servicePatientNum = doctorStatisticEntities.Sum(x => x.LNRNum + x.ETNum + x.YCFNum + x.FJHNum + x.JSBNum);
+                        var serviceCompletedNum = doctorStatisticEntities.Sum(x => x.LNRServiceCompletedNum + x.ETServiceCompletedNum + x.YCFServiceCompletedNum + x.FJHServiceCompletedNum + x.JSBServiceCompletedNum);
                         villageStatisticEntity.HealthManagerEffectSubordinateStatisticsData = new HealthManagerEffectSubordinateStatisticsEntity
                         villageStatisticEntity.HealthManagerEffectSubordinateStatisticsData = new HealthManagerEffectSubordinateStatisticsEntity
                         {
                         {
                             InternetPlusSignRate = MathRoundPercentage(signTotalCount, archivesTotalCount),
                             InternetPlusSignRate = MathRoundPercentage(signTotalCount, archivesTotalCount),
                             SignedResidentRenewalRate = MathRoundPercentage(doctorStatisticEntities.Sum(x => x.RenewalsNum), signTotalCount),
                             SignedResidentRenewalRate = MathRoundPercentage(doctorStatisticEntities.Sum(x => x.RenewalsNum), signTotalCount),
                             KeepPeopleRenewalRate = MathRoundPercentage(doctorStatisticEntities.Sum(x => x.KeyPeopleRenewalsNum), doctorStatisticEntities.Sum(x => x.KeyPeopleSignNum)),
                             KeepPeopleRenewalRate = MathRoundPercentage(doctorStatisticEntities.Sum(x => x.KeyPeopleRenewalsNum), doctorStatisticEntities.Sum(x => x.KeyPeopleSignNum)),
+                            ServiceCompletedRate = MathRoundPercentage(serviceCompletedNum, servicePatientNum),
                             SignedResidentFirstConsultationRate = 0,// TODO
                             SignedResidentFirstConsultationRate = 0,// TODO
                             SignedResidentEffectiveReferralRate = 0,// TODO
                             SignedResidentEffectiveReferralRate = 0,// TODO
                         };
                         };
@@ -297,11 +300,14 @@ namespace VitalService.Service
                             Type = "",
                             Type = "",
                         }).ToList();
                         }).ToList();
                         // 健康管理效果
                         // 健康管理效果
+                        var servicePatientNum = villageStatisticEntities.Sum(x => x.OldPeopleStatisticsData.Quantity + x.ChildrenStatisticsData.Quantity + x.MaternalStatisticsData.Quantity + x.PhthisisPatientStatisticsData.Quantity + x.MentalPatientsStatisticsData.Quantity);
+                        var serviceCompletedNum = villageStatisticEntities.Sum(x => x.OldPeopleStatisticsData.QualifiedNum + x.ChildrenStatisticsData.QualifiedNum + x.MaternalStatisticsData.QualifiedNum + x.PhthisisPatientStatisticsData.QualifiedNum + x.MentalPatientsStatisticsData.QualifiedNum);
                         townStatisticEntity.HealthManagerEffectSubordinateStatisticsData = new HealthManagerEffectSubordinateStatisticsEntity
                         townStatisticEntity.HealthManagerEffectSubordinateStatisticsData = new HealthManagerEffectSubordinateStatisticsEntity
                         {
                         {
                             InternetPlusSignRate = MathRoundPercentage(signTotalCount, archivesTotalCount),
                             InternetPlusSignRate = MathRoundPercentage(signTotalCount, archivesTotalCount),
                             SignedResidentRenewalRate = MathRoundPercentage(villageStatisticEntities.Sum(x => x.ArchivesStatisticsData.RenewalsNum), signTotalCount),
                             SignedResidentRenewalRate = MathRoundPercentage(villageStatisticEntities.Sum(x => x.ArchivesStatisticsData.RenewalsNum), signTotalCount),
                             KeepPeopleRenewalRate = MathRoundPercentage(villageStatisticEntities.Sum(x => x.ArchivesStatisticsData.KeyPeopleRenewalsNum), villageStatisticEntities.Sum(x => x.ArchivesStatisticsData.KeyPeopleSignNum)),
                             KeepPeopleRenewalRate = MathRoundPercentage(villageStatisticEntities.Sum(x => x.ArchivesStatisticsData.KeyPeopleRenewalsNum), villageStatisticEntities.Sum(x => x.ArchivesStatisticsData.KeyPeopleSignNum)),
+                            ServiceCompletedRate = MathRoundPercentage(serviceCompletedNum, servicePatientNum),
                             SignedResidentFirstConsultationRate = 0,// TODO
                             SignedResidentFirstConsultationRate = 0,// TODO
                             SignedResidentEffectiveReferralRate = 0,// TODO
                             SignedResidentEffectiveReferralRate = 0,// TODO
                         };
                         };
@@ -452,11 +458,14 @@ namespace VitalService.Service
                             return townInfo;
                             return townInfo;
                         }).ToList();
                         }).ToList();
                         // 健康管理效果
                         // 健康管理效果
+                        var servicePatientNum = townStatisticEntities.Sum(x => x.OldPeopleStatisticsData.Quantity + x.ChildrenStatisticsData.Quantity + x.MaternalStatisticsData.Quantity + x.PhthisisPatientStatisticsData.Quantity + x.MentalPatientsStatisticsData.Quantity);
+                        var serviceCompletedNum = townStatisticEntities.Sum(x => x.OldPeopleStatisticsData.QualifiedNum + x.ChildrenStatisticsData.QualifiedNum + x.MaternalStatisticsData.QualifiedNum + x.PhthisisPatientStatisticsData.QualifiedNum + x.MentalPatientsStatisticsData.QualifiedNum);
                         countryStatisticEntity.HealthManagerEffectStatisticsData = new HealthManagerEffectSubordinateStatisticsEntity
                         countryStatisticEntity.HealthManagerEffectStatisticsData = new HealthManagerEffectSubordinateStatisticsEntity
                         {
                         {
                             InternetPlusSignRate = MathRoundPercentage(signTotalCount, archivesTotalCount),
                             InternetPlusSignRate = MathRoundPercentage(signTotalCount, archivesTotalCount),
                             SignedResidentRenewalRate = MathRoundPercentage(townStatisticEntities.Sum(x => x.VillageArchivesStatisticsData.RenewalsNum), signTotalCount),
                             SignedResidentRenewalRate = MathRoundPercentage(townStatisticEntities.Sum(x => x.VillageArchivesStatisticsData.RenewalsNum), signTotalCount),
                             KeepPeopleRenewalRate = MathRoundPercentage(townStatisticEntities.Sum(x => x.VillageArchivesStatisticsData.KeyPeopleRenewalsNum), townStatisticEntities.Sum(x => x.VillageArchivesStatisticsData.KeyPeopleSignNum)),
                             KeepPeopleRenewalRate = MathRoundPercentage(townStatisticEntities.Sum(x => x.VillageArchivesStatisticsData.KeyPeopleRenewalsNum), townStatisticEntities.Sum(x => x.VillageArchivesStatisticsData.KeyPeopleSignNum)),
+                            ServiceCompletedRate = MathRoundPercentage(serviceCompletedNum, servicePatientNum),
                             SignedResidentFirstConsultationRate = 0,// TODO
                             SignedResidentFirstConsultationRate = 0,// TODO
                             SignedResidentEffectiveReferralRate = 0,// TODO
                             SignedResidentEffectiveReferralRate = 0,// TODO
                         };
                         };