Skip to content

Commit f101d0a

Browse files
authored
Merge pull request #27 from openimis/feature/OP-141
OP-141: Timeout error message while generating capitation report
2 parents 78f4a35 + d073804 commit f101d0a

5 files changed

Lines changed: 357 additions & 3 deletions

File tree

7.11 MB
Binary file not shown.
4.91 KB
Binary file not shown.
4.79 KB
Binary file not shown.
4.79 KB
Binary file not shown.

Migration script/openIMIS migration v1.4.0 - v1.4.1.sql

Lines changed: 357 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@
22

33
-- Fixing uspConsumeEnrollments stored procedure
44

5-
/****** Object: StoredProcedure [dbo].[uspConsumeEnrollments] Script Date: 21/02/2020 14:06:21 ******/
5+
/****** Object: StoredProcedure [dbo].[uspConsumeEnrollments] ******/
66
SET ANSI_NULLS ON
77
GO
88
SET QUOTED_IDENTIFIER ON
99
GO
1010

11-
12-
1311
ALTER PROCEDURE [dbo].[uspConsumeEnrollments](
1412
--@File NVARCHAR(300),
1513
@XML XML,
@@ -963,3 +961,359 @@ ALTER PROCEDURE [dbo].[uspConsumeEnrollments](
963961
END
964962

965963
GO
964+
965+
966+
-- Fixing uspSSRSCapitationPayment stored procedure
967+
968+
969+
/****** Object: StoredProcedure [dbo].[uspSSRSCapitationPayment] ******/
970+
SET ANSI_NULLS ON
971+
GO
972+
SET QUOTED_IDENTIFIER ON
973+
GO
974+
975+
ALTER PROCEDURE [dbo].[uspSSRSCapitationPayment]
976+
977+
(
978+
@RegionId INT = NULL,
979+
@DistrictId INT = NULL,
980+
@ProdId INT,
981+
@Year INT,
982+
@Month INT,
983+
@HFLevel xAttributeV READONLY
984+
)
985+
AS
986+
BEGIN
987+
988+
DECLARE @Level1 CHAR(1) = NULL,
989+
@Sublevel1 CHAR(1) = NULL,
990+
@Level2 CHAR(1) = NULL,
991+
@Sublevel2 CHAR(1) = NULL,
992+
@Level3 CHAR(1) = NULL,
993+
@Sublevel3 CHAR(1) = NULL,
994+
@Level4 CHAR(1) = NULL,
995+
@Sublevel4 CHAR(1) = NULL,
996+
@ShareContribution DECIMAL(5, 2),
997+
@WeightPopulation DECIMAL(5, 2),
998+
@WeightNumberFamilies DECIMAL(5, 2),
999+
@WeightInsuredPopulation DECIMAL(5, 2),
1000+
@WeightNumberInsuredFamilies DECIMAL(5, 2),
1001+
@WeightNumberVisits DECIMAL(5, 2),
1002+
@WeightAdjustedAmount DECIMAL(5, 2)
1003+
1004+
DECLARE @FirstDay DATE = CAST(@Year AS VARCHAR(4)) + '-' + CAST(@Month AS VARCHAR(2)) + '-01';
1005+
DECLARE @LastDay DATE = EOMONTH(CAST(@Year AS VARCHAR(4)) + '-' + CAST(@Month AS VARCHAR(2)) + '-01', 0)
1006+
DECLARE @DaysInMonth INT = DATEDIFF(DAY,@FirstDay,DATEADD(MONTH,1,@FirstDay));
1007+
1008+
set @DistrictId = CASE @DistrictId WHEN 0 THEN NULL ELSE @DistrictId END
1009+
1010+
SELECT @Level1 = Level1, @Sublevel1 = Sublevel1, @Level2 = Level2, @Sublevel2 = Sublevel2, @Level3 = Level3, @Sublevel3 = Sublevel3,
1011+
@Level4 = Level4, @Sublevel4 = Sublevel4, @ShareContribution = ISNULL(ShareContribution, 0), @WeightPopulation = ISNULL(WeightPopulation, 0),
1012+
@WeightNumberFamilies = ISNULL(WeightNumberFamilies, 0), @WeightInsuredPopulation = ISNULL(WeightInsuredPopulation, 0), @WeightNumberInsuredFamilies = ISNULL(WeightNumberInsuredFamilies, 0),
1013+
@WeightNumberVisits = ISNULL(WeightNumberVisits, 0), @WeightAdjustedAmount = ISNULL(WeightAdjustedAmount, 0)
1014+
FROM tblProduct Prod
1015+
WHERE ProdId = @ProdId;
1016+
1017+
1018+
PRINT @ShareContribution
1019+
PRINT @WeightPopulation
1020+
PRINT @WeightNumberFamilies
1021+
PRINT @WeightInsuredPopulation
1022+
PRINT @WeightNumberInsuredFamilies
1023+
PRINT @WeightNumberVisits
1024+
PRINT @WeightAdjustedAmount
1025+
1026+
1027+
DECLARE @TotalPopFam TABLE (
1028+
HFID INT,
1029+
TotalPopulation DECIMAL(18, 6),
1030+
TotalFamilies DECIMAL(18, 6)
1031+
);
1032+
1033+
INSERT INTO @TotalPopFam
1034+
1035+
SELECT C.HFID HFID ,
1036+
CASE WHEN ISNULL(@DistrictId, @RegionId) IN (R.RegionId, D.DistrictId) THEN 1 ELSE 0 END * SUM((ISNULL(L.MalePopulation, 0) + ISNULL(L.FemalePopulation, 0) + ISNULL(L.OtherPopulation, 0)) *(0.01* Catchment)) TotalPopulation,
1037+
CASE WHEN ISNULL(@DistrictId, @RegionId) IN (R.RegionId, D.DistrictId) THEN 1 ELSE 0 END * SUM(ISNULL(((L.Families)*(0.01* Catchment)), 0))TotalFamilies
1038+
FROM tblHFCatchment C
1039+
LEFT JOIN tblLocations L ON L.LocationId = C.LocationId
1040+
INNER JOIN tblHF HF ON C.HFID = HF.HfID
1041+
INNER JOIN tblDistricts D ON HF.LocationId = D.DistrictId
1042+
INNER JOIN tblRegions R ON D.Region = R.RegionId
1043+
WHERE C.ValidityTo IS NULL
1044+
AND L.ValidityTo IS NULL
1045+
AND HF.ValidityTo IS NULL
1046+
GROUP BY C.HFID, D.DistrictId, R.RegionId
1047+
1048+
1049+
1050+
DECLARE @InsuredInsuree TABLE (
1051+
HFID INT,
1052+
ProdId INT,
1053+
TotalInsuredInsuree DECIMAL(18, 6)
1054+
);
1055+
1056+
INSERT INTO @InsuredInsuree
1057+
1058+
SELECT HC.HFID, @ProdId ProdId, COUNT(DISTINCT IP.InsureeId)*(0.01 * Catchment) TotalInsuredInsuree
1059+
FROM tblInsureePolicy IP
1060+
INNER JOIN tblInsuree I ON I.InsureeId = IP.InsureeId
1061+
INNER JOIN tblFamilies F ON F.FamilyId = I.FamilyId
1062+
INNER JOIN tblHFCatchment HC ON HC.LocationId = F.LocationId
1063+
INNER JOIN tblPolicy PL ON PL.PolicyID = IP.PolicyId
1064+
WHERE HC.ValidityTo IS NULL
1065+
AND I.ValidityTo IS NULL
1066+
AND IP.ValidityTo IS NULL
1067+
AND F.ValidityTo IS NULL
1068+
AND PL.ValidityTo IS NULL
1069+
AND IP.EffectiveDate <= @LastDay
1070+
AND IP.ExpiryDate > @LastDay
1071+
AND PL.ProdID = @ProdId
1072+
GROUP BY HC.HFID, Catchment--, L.LocationId
1073+
1074+
1075+
1076+
1077+
DECLARE @InsuredFamilies TABLE (
1078+
HFID INT,
1079+
TotalInsuredFamilies DECIMAL(18, 6)
1080+
);
1081+
1082+
INSERT INTO @InsuredFamilies
1083+
SELECT HC.HFID, COUNT(DISTINCT F.FamilyID)*(0.01 * Catchment) TotalInsuredFamilies
1084+
FROM tblInsureePolicy IP
1085+
INNER JOIN tblInsuree I ON I.InsureeId = IP.InsureeId
1086+
INNER JOIN tblFamilies F ON F.InsureeID = I.InsureeID
1087+
INNER JOIN tblHFCatchment HC ON HC.LocationId = F.LocationId
1088+
INNER JOIN tblPolicy PL ON PL.PolicyID = IP.PolicyId
1089+
WHERE HC.ValidityTo IS NULL
1090+
AND I.ValidityTo IS NULL
1091+
AND IP.ValidityTo IS NULL
1092+
AND F.ValidityTo IS NULL
1093+
AND PL.ValidityTo IS NULL
1094+
AND IP.EffectiveDate <= @LastDay
1095+
AND IP.ExpiryDate > @LastDay
1096+
AND PL.ProdID = @ProdId
1097+
GROUP BY HC.HFID, Catchment--, L.LocationId
1098+
1099+
1100+
1101+
DECLARE @Claims TABLE (
1102+
HFID INT,
1103+
TotalClaims INT
1104+
);
1105+
1106+
INSERT INTO @Claims
1107+
SELECT C.HFID, COUNT(C.ClaimId)TotalClaims
1108+
FROM tblClaim C
1109+
INNER JOIN (
1110+
SELECT ClaimId FROM tblClaimItems WHERE ProdId = @ProdId AND ValidityTo IS NULL
1111+
UNION
1112+
SELECT ClaimId FROM tblClaimServices WHERE ProdId = @ProdId AND ValidityTo IS NULL
1113+
) CProd ON CProd.ClaimID = C.ClaimID
1114+
WHERE C.ValidityTo IS NULL
1115+
AND C.ClaimStatus >= 8
1116+
AND YEAR(C.DateProcessed) = @Year
1117+
AND MONTH(C.DateProcessed) = @Month
1118+
GROUP BY C.HFID
1119+
1120+
DECLARE @ClaimValues TABLE (
1121+
HFID INT,
1122+
ProdId INT,
1123+
TotalAdjusted DECIMAL(18, 6)
1124+
);
1125+
1126+
INSERT INTO @ClaimValues
1127+
SELECT HFID, @ProdId ProdId, SUM(PriceValuated)TotalAdjusted
1128+
FROM(
1129+
SELECT C.HFID, CValue.PriceValuated
1130+
FROM tblClaim C
1131+
INNER JOIN (
1132+
SELECT ClaimId, PriceValuated FROM tblClaimItems WHERE ValidityTo IS NULL AND ProdId = @ProdId
1133+
UNION ALL
1134+
SELECT ClaimId, PriceValuated FROM tblClaimServices WHERE ValidityTo IS NULL AND ProdId = @ProdId
1135+
) CValue ON CValue.ClaimID = C.ClaimID
1136+
WHERE C.ValidityTo IS NULL
1137+
AND C.ClaimStatus >= 8
1138+
AND YEAR(C.DateProcessed) = @Year
1139+
AND MONTH(C.DateProcessed) = @Month
1140+
)CValue
1141+
GROUP BY HFID
1142+
1143+
DECLARE @Locations TABLE (
1144+
LocationId INT,
1145+
LocationName VARCHAR(MAX),
1146+
ParentLocationId INT
1147+
);
1148+
1149+
INSERT INTO @Locations
1150+
SELECT 0 LocationId, N'National' LocationName, NULL ParentLocationId
1151+
1152+
UNION ALL
1153+
1154+
SELECT LocationId,LocationName, ISNULL(ParentLocationId, 0)
1155+
FROM tblLocations
1156+
WHERE ValidityTo IS NULL
1157+
AND (LocationId = ISNULL(@DistrictId, @RegionId) OR
1158+
(LocationType IN ('R', 'D') AND ParentLocationId = ISNULL(@DistrictId, @RegionId)))
1159+
1160+
/*UNION ALL
1161+
1162+
SELECT L.LocationId, L.LocationName, L.ParentLocationId
1163+
FROM tblLocations L
1164+
INNER JOIN @Locations LC ON @LC.LocationId = L.ParentLocationId
1165+
WHERE L.validityTo IS NULL
1166+
AND L.LocationType IN ('R', 'D')*/
1167+
1168+
DECLARE @Allocation TABLE (
1169+
ProdId INT,
1170+
Allocated DECIMAL(18, 6)
1171+
);
1172+
1173+
INSERT INTO @Allocation
1174+
SELECT ProdId, CAST(SUM(ISNULL(Allocated, 0)) AS DECIMAL(18, 6)) Allocated
1175+
FROM
1176+
(SELECT PL.ProdID,
1177+
CASE
1178+
WHEN MONTH(DATEADD(D,-1,PL.ExpiryDate)) = @Month AND YEAR(DATEADD(D,-1,PL.ExpiryDate)) = @Year AND (DAY(PL.ExpiryDate)) > 1
1179+
THEN CASE WHEN DATEDIFF(D,CASE WHEN PR.PayDate < @FirstDay THEN @FirstDay ELSE PR.PayDate END,PL.ExpiryDate) = 0 THEN 1 ELSE DATEDIFF(D,CASE WHEN PR.PayDate < @FirstDay THEN @FirstDay ELSE PR.PayDate END,PL.ExpiryDate) END * ((SUM(PR.Amount))/(CASE WHEN (DATEDIFF(DAY,CASE WHEN PR.PayDate < PL.EffectiveDate THEN PL.EffectiveDate ELSE PR.PayDate END,PL.ExpiryDate)) <= 0 THEN 1 ELSE DATEDIFF(DAY,CASE WHEN PR.PayDate < PL.EffectiveDate THEN PL.EffectiveDate ELSE PR.PayDate END,PL.ExpiryDate) END))
1180+
WHEN MONTH(CASE WHEN PR.PayDate < PL.EffectiveDate THEN PL.EffectiveDate ELSE PR.PayDate END) = @Month AND YEAR(CASE WHEN PR.PayDate < PL.EffectiveDate THEN PL.EffectiveDate ELSE PR.PayDate END) = @Year
1181+
THEN ((@DaysInMonth + 1 - DAY(CASE WHEN PR.PayDate < PL.EffectiveDate THEN PL.EffectiveDate ELSE PR.PayDate END)) * ((SUM(PR.Amount))/CASE WHEN DATEDIFF(DAY,CASE WHEN PR.PayDate < PL.EffectiveDate THEN PL.EffectiveDate ELSE PR.PayDate END,PL.ExpiryDate) <= 0 THEN 1 ELSE DATEDIFF(DAY,CASE WHEN PR.PayDate < PL.EffectiveDate THEN PL.EffectiveDate ELSE PR.PayDate END,PL.ExpiryDate) END))
1182+
WHEN PL.EffectiveDate < @FirstDay AND PL.ExpiryDate > @LastDay AND PR.PayDate < @FirstDay
1183+
THEN @DaysInMonth * (SUM(PR.Amount)/CASE WHEN (DATEDIFF(DAY,CASE WHEN PR.PayDate < PL.EffectiveDate THEN PL.EffectiveDate ELSE PR.PayDate END,DATEADD(D,-1,PL.ExpiryDate))) <= 0 THEN 1 ELSE DATEDIFF(DAY,CASE WHEN PR.PayDate < PL.EffectiveDate THEN PL.EffectiveDate ELSE PR.PayDate END,PL.ExpiryDate) END)
1184+
END Allocated
1185+
FROM tblPremium PR
1186+
INNER JOIN tblPolicy PL ON PR.PolicyID = PL.PolicyID
1187+
INNER JOIN tblProduct Prod ON Prod.ProdId = PL.ProdID
1188+
INNER JOIN @Locations L ON ISNULL(Prod.LocationId, 0) = L.LocationId
1189+
WHERE PR.ValidityTo IS NULL
1190+
AND PL.ValidityTo IS NULL
1191+
AND PL.ProdID = @ProdId
1192+
AND PL.PolicyStatus <> 1
1193+
AND PR.PayDate <= PL.ExpiryDate
1194+
GROUP BY PL.ProdID, PL.ExpiryDate, PR.PayDate,PL.EffectiveDate)Alc
1195+
GROUP BY ProdId
1196+
1197+
1198+
DECLARE @ReportData TABLE (
1199+
RegionCode VARCHAR(MAX),
1200+
RegionName VARCHAR(MAX),
1201+
DistrictCode VARCHAR(MAX),
1202+
DistrictName VARCHAR(MAX),
1203+
HFCode VARCHAR(MAX),
1204+
HFName VARCHAR(MAX),
1205+
AccCode VARCHAR(MAX),
1206+
HFLevel VARCHAR(MAX),
1207+
HFSublevel VARCHAR(MAX),
1208+
TotalPopulation DECIMAL(18, 6),
1209+
TotalFamilies DECIMAL(18, 6),
1210+
TotalInsuredInsuree DECIMAL(18, 6),
1211+
TotalInsuredFamilies DECIMAL(18, 6),
1212+
TotalClaims DECIMAL(18, 6),
1213+
TotalAdjusted DECIMAL(18, 6),
1214+
1215+
PaymentCathment DECIMAL(18, 6),
1216+
AlcContriPopulation DECIMAL(18, 6),
1217+
AlcContriNumFamilies DECIMAL(18, 6),
1218+
AlcContriInsPopulation DECIMAL(18, 6),
1219+
AlcContriInsFamilies DECIMAL(18, 6),
1220+
AlcContriVisits DECIMAL(18, 6),
1221+
AlcContriAdjustedAmount DECIMAL(18, 6),
1222+
UPPopulation DECIMAL(18, 6),
1223+
UPNumFamilies DECIMAL(18, 6),
1224+
UPInsPopulation DECIMAL(18, 6),
1225+
UPInsFamilies DECIMAL(18, 6),
1226+
UPVisits DECIMAL(18, 6),
1227+
UPAdjustedAmount DECIMAL(18, 6)
1228+
1229+
1230+
);
1231+
1232+
1233+
INSERT INTO @ReportData
1234+
SELECT L.RegionCode, L.RegionName, L.DistrictCode, L.DistrictName, HF.HFCode, HF.HFName, Hf.AccCode,
1235+
HL.Name HFLevel,
1236+
SL.HFSublevelDesc HFSublevel,
1237+
PF.[TotalPopulation] TotalPopulation, PF.TotalFamilies TotalFamilies, II.TotalInsuredInsuree, IFam.TotalInsuredFamilies, C.TotalClaims, CV.TotalAdjusted
1238+
,(
1239+
ISNULL(ISNULL(PF.[TotalPopulation], 0) * (A.Allocated * (0.01 * @ShareContribution) * (0.01 * @WeightPopulation)) / NULLIF(SUM(PF.[TotalPopulation])OVER(),0),0)
1240+
+ ISNULL(ISNULL(PF.TotalFamilies, 0) * (A.Allocated * (0.01 * @ShareContribution) * (0.01 * @WeightNumberFamilies)) /NULLIF(SUM(PF.[TotalFamilies])OVER(),0),0)
1241+
+ ISNULL(ISNULL(II.TotalInsuredInsuree, 0) * (A.Allocated * (0.01 * @ShareContribution) * (0.01 * @WeightInsuredPopulation)) /NULLIF(SUM(II.TotalInsuredInsuree)OVER(),0),0)
1242+
+ ISNULL(ISNULL(IFam.TotalInsuredFamilies, 0) * (A.Allocated * (0.01 * @ShareContribution) * (0.01 * @WeightNumberInsuredFamilies)) /NULLIF(SUM(IFam.TotalInsuredFamilies)OVER(),0),0)
1243+
+ ISNULL(ISNULL(C.TotalClaims, 0) * (A.Allocated * (0.01 * @ShareContribution) * (0.01 * @WeightNumberVisits)) /NULLIF(SUM(C.TotalClaims)OVER() ,0),0)
1244+
+ ISNULL(ISNULL(CV.TotalAdjusted, 0) * (A.Allocated * (0.01 * @ShareContribution) * (0.01 * @WeightAdjustedAmount)) /NULLIF(SUM(CV.TotalAdjusted)OVER(),0),0)
1245+
1246+
) PaymentCathment
1247+
1248+
, A.Allocated * (0.01 * @WeightPopulation) * (0.01 * @ShareContribution) AlcContriPopulation
1249+
, A.Allocated * (0.01 * @WeightNumberFamilies) * (0.01 * @ShareContribution) AlcContriNumFamilies
1250+
, A.Allocated * (0.01 * @WeightInsuredPopulation) * (0.01 * @ShareContribution) AlcContriInsPopulation
1251+
, A.Allocated * (0.01 * @WeightNumberInsuredFamilies) * (0.01 * @ShareContribution) AlcContriInsFamilies
1252+
, A.Allocated * (0.01 * @WeightNumberVisits) * (0.01 * @ShareContribution) AlcContriVisits
1253+
, A.Allocated * (0.01 * @WeightAdjustedAmount) * (0.01 * @ShareContribution) AlcContriAdjustedAmount
1254+
1255+
, ISNULL((A.Allocated * (0.01 * @WeightPopulation) * (0.01 * @ShareContribution))/ NULLIF(SUM(PF.[TotalPopulation]) OVER(),0),0) UPPopulation
1256+
, ISNULL((A.Allocated * (0.01 * @WeightNumberFamilies) * (0.01 * @ShareContribution))/NULLIF(SUM(PF.TotalFamilies) OVER(),0),0) UPNumFamilies
1257+
, ISNULL((A.Allocated * (0.01 * @WeightInsuredPopulation) * (0.01 * @ShareContribution))/NULLIF(SUM(II.TotalInsuredInsuree) OVER(),0),0) UPInsPopulation
1258+
, ISNULL((A.Allocated * (0.01 * @WeightNumberInsuredFamilies) * (0.01 * @ShareContribution))/ NULLIF(SUM(IFam.TotalInsuredFamilies) OVER(),0),0) UPInsFamilies
1259+
, ISNULL((A.Allocated * (0.01 * @WeightNumberVisits) * (0.01 * @ShareContribution)) / NULLIF(SUM(C.TotalClaims) OVER(),0),0) UPVisits
1260+
, ISNULL((A.Allocated * (0.01 * @WeightAdjustedAmount) * (0.01 * @ShareContribution))/ NULLIF(SUM(CV.TotalAdjusted) OVER(),0),0) UPAdjustedAmount
1261+
1262+
FROM tblHF HF
1263+
INNER JOIN @HFLevel HL ON HL.Code = HF.HFLevel
1264+
LEFT OUTER JOIN tblHFSublevel SL ON SL.HFSublevel = HF.HFSublevel
1265+
LEFT JOIN uvwLocations L ON L.LocationId = HF.LocationId
1266+
LEFT OUTER JOIN @TotalPopFam PF ON PF.HFID = HF.HfID
1267+
LEFT OUTER JOIN @InsuredInsuree II ON II.HFID = HF.HfID
1268+
LEFT OUTER JOIN @InsuredFamilies IFam ON IFam.HFID = HF.HfID
1269+
LEFT OUTER JOIN @Claims C ON C.HFID = HF.HfID
1270+
LEFT OUTER JOIN @ClaimValues CV ON CV.HFID = HF.HfID
1271+
LEFT OUTER JOIN @Allocation A ON A.ProdID = @ProdId
1272+
1273+
WHERE HF.ValidityTo IS NULL
1274+
AND (((L.RegionId = @RegionId OR @RegionId IS NULL) AND (L.DistrictId = @DistrictId OR @DistrictId IS NULL)) OR CV.ProdID IS NOT NULL OR II.ProdId IS NOT NULL)
1275+
AND (HF.HFLevel IN (@Level1, @Level2, @Level3, @Level4) OR (@Level1 IS NULL AND @Level2 IS NULL AND @Level3 IS NULL AND @Level4 IS NULL))
1276+
AND(
1277+
((HF.HFLevel = @Level1 OR @Level1 IS NULL) AND (HF.HFSublevel = @Sublevel1 OR @Sublevel1 IS NULL))
1278+
OR ((HF.HFLevel = @Level2 ) AND (HF.HFSublevel = @Sublevel2 OR @Sublevel2 IS NULL))
1279+
OR ((HF.HFLevel = @Level3) AND (HF.HFSublevel = @Sublevel3 OR @Sublevel3 IS NULL))
1280+
OR ((HF.HFLevel = @Level4) AND (HF.HFSublevel = @Sublevel4 OR @Sublevel4 IS NULL))
1281+
)
1282+
1283+
1284+
1285+
1286+
1287+
SELECT MAX (RegionCode)RegionCode,
1288+
MAX(RegionName)RegionName,
1289+
MAX(DistrictCode)DistrictCode,
1290+
MAX(DistrictName)DistrictName,
1291+
HFCode,
1292+
MAX(HFName)HFName,
1293+
MAX(AccCode)AccCode,
1294+
MAX(HFLevel)HFLevel,
1295+
MAX(HFSublevel)HFSublevel,
1296+
ISNULL(SUM([TotalPopulation]),0)[Population],
1297+
ISNULL(SUM(TotalFamilies),0)TotalFamilies,
1298+
ISNULL(SUM(TotalInsuredInsuree),0)TotalInsuredInsuree,
1299+
ISNULL(SUM(TotalInsuredFamilies),0)TotalInsuredFamilies,
1300+
ISNULL(MAX(TotalClaims), 0)TotalClaims,
1301+
ISNULL(SUM(AlcContriPopulation),0)AlcContriPopulation,
1302+
ISNULL(SUM(AlcContriNumFamilies),0)AlcContriNumFamilies,
1303+
ISNULL(SUM(AlcContriInsPopulation),0)AlcContriInsPopulation,
1304+
ISNULL(SUM(AlcContriInsFamilies),0)AlcContriInsFamilies,
1305+
ISNULL(SUM(AlcContriVisits),0)AlcContriVisits,
1306+
ISNULL(SUM(AlcContriAdjustedAmount),0)AlcContriAdjustedAmount,
1307+
ISNULL(SUM(UPPopulation),0)UPPopulation,
1308+
ISNULL(SUM(UPNumFamilies),0)UPNumFamilies,
1309+
ISNULL(SUM(UPInsPopulation),0)UPInsPopulation,
1310+
ISNULL(SUM(UPInsFamilies),0)UPInsFamilies,
1311+
ISNULL(SUM(UPVisits),0)UPVisits,
1312+
ISNULL(SUM(UPAdjustedAmount),0)UPAdjustedAmount,
1313+
ISNULL(SUM(PaymentCathment),0)PaymentCathment,
1314+
ISNULL(SUM(TotalAdjusted),0)TotalAdjusted
1315+
1316+
FROM @ReportData
1317+
1318+
GROUP BY HFCode
1319+
END

0 commit comments

Comments
 (0)