@@ -9377,111 +9377,3 @@ IF COL_LENGTH(N'tblPayment', N'PhoneNumber') IS NOT NULL
93779377 ALTER TABLE tblPayment
93789378 ALTER COLUMN PhoneNumber NVARCHAR (50 ) NULL
93799379GO
9380-
9381- -- OTC-492
9382-
9383- IF OBJECT_ID (' uspSSRSGetClaimOverview' , ' P' ) IS NOT NULL
9384- DROP PROCEDURE uspSSRSGetClaimOverview
9385- GO
9386-
9387- CREATE PROCEDURE [dbo].[uspSSRSGetClaimOverview]
9388- (
9389- @HFID INT ,
9390- @LocationId INT ,
9391- @ProdId INT ,
9392- @StartDate DATE ,
9393- @EndDate DATE ,
9394- @ClaimStatus INT = NULL ,
9395- @ClaimRejReason xClaimRejReasons READONLY ,
9396- @Scope INT = NULL
9397- )
9398- AS
9399- BEGIN
9400- -- no scope -1
9401- -- claim only 0
9402- -- claimand rejection 1
9403- -- all 2
9404- ;WITH TotalForItems AS
9405- (
9406- SELECT C .ClaimId , SUM (CI .PriceAsked * CI .QtyProvided )Claimed,
9407- SUM (ISNULL (CI .PriceApproved , CI .PriceAsked ) * ISNULL (CI .QtyApproved , CI .QtyProvided )) Approved,
9408- SUM (CI .PriceValuated )Adjusted,
9409- SUM (CI .RemuneratedAmount )Remunerated
9410- FROM tblClaim C LEFT OUTER JOIN tblClaimItems CI ON C .ClaimId = CI .ClaimID
9411- WHERE C .ValidityTo IS NULL
9412- AND CI .ValidityTo IS NULL
9413- GROUP BY C .ClaimID
9414- ), TotalForServices AS
9415- (
9416- SELECT C .ClaimId , SUM (CS .PriceAsked * CS .QtyProvided )Claimed,
9417- SUM (ISNULL (CS .PriceApproved , CS .PriceAsked ) * ISNULL (CS .QtyApproved , CS .QtyProvided )) Approved,
9418- SUM (CS .PriceValuated )Adjusted,
9419- SUM (CS .RemuneratedAmount )Remunerated
9420- FROM tblClaim C
9421- LEFT OUTER JOIN tblClaimServices CS ON C .ClaimId = CS .ClaimID
9422- WHERE C .ValidityTo IS NULL
9423- AND CS .ValidityTo IS NULL
9424- GROUP BY C .ClaimID
9425- )
9426-
9427- SELECT C .DateClaimed , C .ClaimID , I .ItemId , S .ServiceID , HF .HFCode , HF .HFName , C .ClaimCode , C .DateClaimed , CA .LastName + ' ' + CA .OtherNames ClaimAdminName,
9428- C .DateFrom , C .DateTo , Ins .CHFID , Ins .LastName + ' ' + Ins .OtherNames InsureeName,
9429- CASE C .ClaimStatus WHEN 1 THEN N ' Rejected' WHEN 2 THEN N ' Entered' WHEN 4 THEN N ' Checked' WHEN 8 THEN N ' Processed' WHEN 16 THEN N ' Valuated' END ClaimStatus,
9430- C .RejectionReason , COALESCE (TFI .Claimed + TFS .Claimed , TFI .Claimed , TFS .Claimed ) Claimed,
9431- COALESCE (TFI .Approved + TFS .Approved , TFI .Approved , TFS .Approved ) Approved,
9432- COALESCE (TFI .Adjusted + TFS .Adjusted , TFI .Adjusted , TFS .Adjusted ) Adjusted,
9433- COALESCE (TFI .Remunerated + TFS .Remunerated , TFI .Remunerated , TFS .Remunerated )Paid,
9434- CASE WHEN @Scope = 2 OR CI .RejectionReason <> 0 THEN I .ItemCode ELSE NULL END RejectedItem, CI .RejectionReason ItemRejectionCode,
9435- CASE WHEN @Scope = 2 OR CS .RejectionReason <> 0 THEN S .ServCode ELSE NULL END RejectedService, CS .RejectionReason ServiceRejectionCode,
9436- CASE WHEN @Scope = 2 OR CI .QtyProvided <> COALESCE (CI .QtyApproved ,CI .QtyProvided ) THEN I .ItemCode ELSE NULL END AdjustedItem,
9437- CASE WHEN @Scope = 2 OR CI .QtyProvided <> COALESCE (CI .QtyApproved ,CI .QtyProvided ) THEN ISNULL (CI .QtyProvided ,0 ) ELSE NULL END OrgQtyItem,
9438- CASE WHEN @Scope = 2 OR CI .QtyProvided <> COALESCE (CI .QtyApproved ,CI .QtyProvided ) THEN ISNULL (CI .QtyApproved ,0 ) ELSE NULL END AdjQtyItem,
9439- CASE WHEN @Scope = 2 OR CS .QtyProvided <> COALESCE (CS .QtyApproved ,CS .QtyProvided ) THEN S .ServCode ELSE NULL END AdjustedService,
9440- CASE WHEN @Scope = 2 OR CS .QtyProvided <> COALESCE (CS .QtyApproved ,CS .QtyProvided ) THEN ISNULL (CS .QtyProvided ,0 ) ELSE NULL END OrgQtyService,
9441- CASE WHEN @Scope = 2 OR CS .QtyProvided <> COALESCE (CS .QtyApproved ,CS .QtyProvided ) THEN ISNULL (CS .QtyApproved ,0 ) ELSE NULL END AdjQtyService,
9442- C .Explanation ,
9443- -- ALL claims
9444- CASE WHEN @Scope = 2 THEN CS .QtyApproved ELSE NULL END ServiceQtyApproved,
9445- CASE WHEN @Scope = 2 THEN CI .QtyApproved ELSE NULL END ItemQtyApproved,
9446- CASE WHEN @Scope = 2 THEN cs .PriceAsked ELSE NULL END ServicePrice,
9447- CASE WHEN @Scope = 2 THEN CI .PriceAsked ELSE NULL END ItemPrice,
9448- CASE WHEN @Scope = 2 THEN ISNULL (cs .PriceApproved ,0 ) ELSE NULL END ServicePriceApproved,
9449- CASE WHEN @Scope = 2 THEN ISNULL (ci .PriceApproved ,0 ) ELSE NULL END ItemPriceApproved,
9450- CASE WHEN @Scope = 2 THEN ISNULL (cs .Justification ,NULL ) ELSE NULL END ServiceJustification,
9451- CASE WHEN @Scope = 2 THEN ISNULL (CI .Justification ,NULL ) ELSE NULL END ItemJustification,
9452- CASE WHEN @Scope = 2 THEN cs .ClaimServiceID ELSE NULL END ClaimServiceID,
9453- CASE WHEN @Scope = 2 THEN CI .ClaimItemID ELSE NULL END ClaimItemID,
9454- -- ,cs.PriceApproved ServicePriceApproved,ci.PriceApproved ItemPriceApproved--,
9455- CASE WHEN @Scope > 0 THEN CONCAT (CS .RejectionReason ,' - ' , XCS .Name ) ELSE NULL END ServiceRejectionReason,
9456- CASE WHEN @Scope > 0 THEN CONCAT (CI .RejectionReason , ' - ' , XCI .Name ) ELSE NULL END ItemRejectionReason
9457-
9458- -- end all claims
9459-
9460-
9461- FROM tblClaim C LEFT OUTER JOIN tblClaimItems CI ON C .ClaimId = CI .ClaimID
9462- LEFT OUTER JOIN tblClaimServices CS ON C .ClaimId = CS .ClaimID
9463- LEFT OUTER JOIN tblItems I ON CI .ItemId = I .ItemID
9464- LEFT OUTER JOIN tblServices S ON CS .ServiceID = S .ServiceID
9465- -- INNER JOIN tblProduct PROD ON PROD.ProdID = CS.ProdID AND PROD.ProdID = CI.ProdID
9466- INNER JOIN tblHF HF ON C .HFID = HF .HfID
9467- LEFT OUTER JOIN tblLocations L ON HF .LocationId = L .LocationId
9468- LEFT OUTER JOIN tblClaimAdmin CA ON C .ClaimAdminId = CA .ClaimAdminId
9469- INNER JOIN tblInsuree Ins ON C .InsureeId = Ins .InsureeId
9470- LEFT OUTER JOIN TotalForItems TFI ON C .ClaimId = TFI .ClaimID
9471- LEFT OUTER JOIN TotalForServices TFS ON C .ClaimId = TFS .ClaimId
9472- -- all claims
9473- LEFT JOIN @ClaimRejReason XCI ON XCI .ID = CI .RejectionReason
9474- LEFT JOIN @ClaimRejReason XCS ON XCS .ID = CS .RejectionReason
9475- -- and all claims
9476- WHERE C .ValidityTo IS NULL
9477- AND L .ValidityTo IS NULL
9478- AND HF .ValidityTo IS NULL
9479- AND CA .ValidityTo IS NULL
9480- AND ISNULL (C .DateTo ,C .DateFrom ) BETWEEN @StartDate AND @EndDate
9481- AND (C .ClaimStatus = @ClaimStatus OR @ClaimStatus IS NULL )
9482- AND (L .LocationId = @LocationId OR L .ParentLocationId = @LocationId OR @LocationId = 0 )
9483- AND (HF .HFID = @HFID OR @HFID = 0 )
9484- AND (CI .ProdID = @ProdId OR CS .ProdID = @ProdId
9485- OR COALESCE (CS .ProdID , CI .ProdId ) IS NULL OR @ProdId = 0 )
9486- END
9487- GO
0 commit comments