ALTER PROCEDURE RapidReport_YTD_By_Site(@Month int, @Year int, @Site varchar(10)) as
SET NOCOUNT ON
DECLARE @sSite_Num varchar(10)
DECLARE @sSite_Code varchar(10)
DECLARE @sSite_Name varchar(80)
DECLARE @iNumPatientsTotal int
DECLARE @iPulse int
DECLARE @iOxygen int
DECLARE @iBetaAgonist int
DECLARE @iSteroidsED int
DECLARE @iSteroidsDC int
DECLARE @iLHCExam int
DECLARE @Table1 table
(Site_Num varchar(10),
Site_Code varchar(10),
Site_Name varchar(80),
NumPatients int,
Pulse int,
PulsePct decimal (8,2),
Oxygen int,
OxygenPct decimal(8,2),
BetaAgonist int,
BetaAgonistPct decimal (8,2),
SteroidsED int,
SteroidsEDPct decimal(8,2),
SteroidsDC int,
SteroidsDCPct decimal(8,2),
LHCExam int,
LHCExamPct decimal(8,2))
BEGIN
BEGIN
SELECT @sSite_Num = A.HospitalID, @sSite_Code = S.facility_code, @sSite_Name = S.facility_name,
@iNumPatientsTotal = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1 ---Has been emailed to the practitioner already
AND A.ChartReviewCompleted = 1 --The chart is marked as completed
AND A.HospitalID = @Site
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
GROUP BY A.HospitalID, S.facility_code, S.facility_name
SELECT @iPulse = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1
AND A.ChartReviewCompleted=1
AND A.HospitalID = @Site
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
AND A.PulseOximetry = '1'
SELECT @iOxygen = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1
AND A.ChartReviewCompleted=1
AND A.HospitalID = @Site
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
AND A.OxygenGiven = '1'
SELECT @iBetaAgonist = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1
AND A.ChartReviewCompleted=1
AND A.HospitalID = @Site
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
AND A.BetaAgonist = '1'
SELECT @iSteroidsED = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1
AND A.ChartReviewCompleted=1
AND A.HospitalID = @Site
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
AND A.SysSteroidsED = '1'
SELECT @iSteroidsDC = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1
AND A.ChartReviewCompleted=1
AND A.HospitalID = @Site
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
AND ((A.SysSteroidsDC = '1') --Yes
OR (A.SysSteroidsDC='2' AND A.Disposition in ('01','02','03','04','50','51','52','70')))
SELECT @iLHCExam = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1
AND A.ChartReviewCompleted=1
AND A.HospitalID = @Site
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
AND A.LHCExam = 1
INSERT INTO @Table1 VALUES (@sSite_Num, @sSite_Code, @sSite_Name, @iNumPatientsTotal,
@iPulse,
dbo.PercentDoc(@iPulse, @iNumPatientsTotal),
@iOxygen,
dbo.PercentDoc(@iOxygen, @iNumPatientsTotal),
@iBetaAgonist,
dbo.PercentDoc(@iBetaAgonist, @iNumPatientsTotal),
@iSteroidsED,
dbo.PercentDoc(@iSteroidsED, @iNumPatientsTotal),
@iSteroidsDC,
dbo.PercentDoc(@iSteroidsDC, @iNumPatientsTotal),
@iLHCExam,
dbo.PercentDoc(@iLHCExam, @iNumPatientsTotal)
)
END
BEGIN
set @sSite_Num = ''
set @sSite_Code = ''
set @sSite_Name = 'All Sites'
set @iNumPatientsTotal = 0
set @iPulse = 0
set @iOxygen = 0
set @iBetaAgonist = 0
set @iSteroidsED = 0
set @iSteroidsDC = 0
set @iLHCExam = 0
SELECT @iNumPatientsTotal = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1 ---Has been emailed to the practitioner already
AND A.ChartReviewCompleted = 1 --The chart is marked as completed
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
SELECT @iPulse = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1
AND A.ChartReviewCompleted=1
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
AND A.PulseOximetry = '1'
SELECT @iOxygen = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1
AND A.ChartReviewCompleted=1
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
AND A.OxygenGiven = '1'
SELECT @iBetaAgonist = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1
AND A.ChartReviewCompleted=1
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
AND A.BetaAgonist = '1'
SELECT @iSteroidsED = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1
AND A.ChartReviewCompleted=1
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
AND A.SysSteroidsED = '1'
SELECT @iSteroidsDC = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1
AND A.ChartReviewCompleted=1
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
AND ((A.SysSteroidsDC = '1') --Yes
OR (A.SysSteroidsDC='2' AND A.Disposition in ('01','02','03','04','50','51','52','70')))
SELECT @iLHCExam = count(*)
FROM Asthma A LEFT Join SiteMgmt.dbo.SiteAddress S on A.HospitalID = S.facility_site_num
WHERE A.Emailed = 1
AND A.ChartReviewCompleted=1
AND datepart(mm, A.EmailSent) <= @Month
AND datepart(yyyy, A.EmailSent) = @Year
AND A.LHCExam = 1
INSERT INTO @Table1 VALUES (@sSite_Num, @sSite_Code, @sSite_Name, @iNumPatientsTotal,
@iPulse,
dbo.PercentDoc(@iPulse, @iNumPatientsTotal),
@iOxygen,
dbo.PercentDoc(@iOxygen, @iNumPatientsTotal),
@iBetaAgonist,
dbo.PercentDoc(@iBetaAgonist, @iNumPatientsTotal),
@iSteroidsED,
dbo.PercentDoc(@iSteroidsED, @iNumPatientsTotal),
@iSteroidsDC,
dbo.PercentDoc(@iSteroidsDC, @iNumPatientsTotal),
@iLHCExam,
dbo.PercentDoc(@iLHCExam, @iNumPatientsTotal)
)
END
SELECT * FROM @Table1
END
GO