我已经写了下面的存储过程,搜索具有指定为指定的程序和标志一个或多个收费代码记录那些为ProcGrouper = 1和必要性识别那些没有对比费用的账户(标记为ContrastGrouper = 0)。
当我运行sproc和审计帐户时,我看到很多对比费用。因此,CTE似乎没有正确评估所有标准。我该如何补救?
with cteGrouper
as
(
SELECT [ENCOUNTER NUMBER],
[DATE OF SERVICE], [FEEDER KEY],
[CHGDTL CPT4 CODE], CASE
WHen [FEEDER KEY] IN ('76803520121','76803520120','76803520112','76803520111',
'76803520110','76803520109','76803520108','76803520034','76803520030','76803520027',
'76803520025','76803520017','76803520015','76803520014','76803510073','76803510072',
'76803510064','76803510012','76803510011','76803510008','76803510003','76803510002',
'76803510068','76803520031','76803520028','76803520107','76803520022','76803520020',
'76803520106','76803510009','76803510070','76803510069','76803510067','76803510065',
'76803510074','76704027052','76606123003','76606123001','76606120012','76606111003',
'76606102043','76606100011','76606102040','76606121006','76606121009','76606123002',
'76606102053','76606102042') then 1 else 0
end as ProcGrouper,
Case when [Feeder Key] in ('76806360076', '76806360077','76806360089','76806360090',
'76306360509','76306360513','76306360514','75706362105','76806366053','75706366054',
'75706366055','76606360099') then 1 else 0
end as ContrastGrouper
FROM ENCOUNTERCHGDTL
where ([Date of Service] between @StartDate and @EndDate)
),
cteFilterAccounts
as
(
Select [Encounter Number],
[Date of Service], [Feeder Key],
[Chgdtl CPT4 Code], ProcGrouper, ContrastGrouper
from cteGrouper
where ProcGrouper=1
and ContrastGrouper=1
)
Select [Encounter Number],
[Feeder Key],
[Date of Service],
[Chgdtl CPT4 Code]
,[ADMITDATE - CCYYMMDD], [DISCHARGEDATE - CCYYMMDD],
[DISCHARGEDISPOSITION], ProcGrouper, ContrastGrouper
from cteGrouper
join Encounter on [Encounter Number]=[EncounterNumber]
and AdmitSubService <>'SIG'
and HSP#='1'
and ActualTotalCharge>0
where ProcGrouper=1
and ContrastGrouper=0
and [Encounter Number] not in
(Select [Encounter Number] from cteFilterAccounts)
Order by [ENCOUNTER NUMBER]
END
也许关于你得到什么结果和你期望得到的结果的更多细节可以帮助我们摆脱困境。 – HLGEM
@HLGEM我在ContrastGrouper语句中看到有一个馈线键的帐户。只要他们的ProcGrouper的评估结果为1,我想排除这些帐户。 – SidC
在指定的时间段内,是否可以有多个具有相同帐户的行?如果是这样,他们可以有不同的馈线键吗? –