SlideShare una empresa de Scribd logo
1 de 81
Descargar para leer sin conexión
1Copyright © 2013 Allscripts Healthcare Solutions, Inc.
Super Analytics
Power of Indicators and
more…
8/28/2013
Sunrise Clinical Analytics (SCA) Clinical Performance
Management(CPM)
2Copyright © 2013 Allscripts Healthcare Solutions, Inc.
Kintu Shah, Solutions
Architect
Presenter
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 3
3
Introductions & Background
•Kintu Shah
•Solutions Architect, Allscripts
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 4
4
Learning Objectives
1. Gain Advance configuration knowledge of SCA / CPM
2. Learn Tips and Tricks for SCA / CPM configuration
3. Utilize SCA / CPM beyond ARRA
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 5
This Session
• Enterprise Defined Indicator
• Where Clauses
• Indicator from External Source
• Reporting Using Enterprise Defined Indicators
• Model Reporting / Sub-report
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 6
It is not just ARRA
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 7
Population sets & Indicators
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 8
Population sets & Indicators
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 9
Enterprise Defined Indicators
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 10
Enterprise Defined Indicators
• Out-of-box Indicators
– SCA Version 11
• 184
– CPM Version 12
• 140
• Most out of Box indicators are designed to be used for ARRA
meaningful use measures or Core Measure Reports
• You can create new indicators for your needs
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 11
Same but different
• Enterprise defined indicators acts the same way but still they are
different
• Similarity
– Calculated objects that Flags the Visits into a “yes” or “no” bullion question
– Allows data to be counted, compared and aggregated
– Can be used as Numerator
– Can be kept Up-to-date by the ETL process
– Can have multiple Rules
– Rules are based on Search Types
• Differences
– Enterprise defined indicators are defined only at Visit level while Out-of-box
indicators can be Visit level or patient level.
– Out of Box indicators get stored as columns in database as well as rows in
SCA Visit Indicator table while Enterprise defined indicators only get stored
as rows in SCA Visit Indicator table.
– Out-of-box indicators stores “true” as well as “false” while the enterprise
defined indicators stores only true values.
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 12
Challenges and Solutions
• Challenge:
– Generic Search Types are not sufficient for the need
• Solution:
– Where clause
• Challenge:
– Data is not in Sunrise Clinical Manager but other databases
• Solution:
– Indicator from External Source
• Challenge:
– SCA_Acutecare Model is too restricting for reporting using enterprise
defined indicators
• Solution
– Non-model based reporting
– Pivot View
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 13
Where clause is not Where clause
• What is Where clause?
– It helps enhance the search types
– Insert SQL in Template code of Search types
• What I need to know to write Where clause?
– SCA / CPM Acute care database repository architecture
– How do Search type generates query
– Little knowledge of SQL
• What Search Type works best to write Where clause
– It Depends
– Visit > Visit (My Favorite Why – it is very simple)
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 14
Data Model
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 15
Data Model
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 16
Transfusions with Hemoglobin over 7
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 17
Transfusions with Hemoglobin over 7
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 18
HadHGBGT7BeforeTransfusion
• What is needed?
– When Transfusion was ordered the last HGB Result was over 7.0
• Simplify the Requirement
1. Visits with Transfusion Orders
2. Visits with Transfusion Orders and HGB Results
3. When Transfusion was ordered the last HGB Result was over 7.0
• Steps:
– Method 1
• What Search type is appropriate?
– Order
• Where clause to look at Result
– Method 2
• What Search type is appropriate?
– Visit
• Where clause to look at Order and Result
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 19
HadHGBGT7BeforeTransfusion1
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 20
HadHGBGT7BeforeTransfusion
• Configure with what closest match search type
• Use Test function to test and have system generates SQL
• SELECT (set of Columns)
• FROM (General Visit Related Tables)
• Search type related tables
• Rule Criteria
• Population Set condition
1
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 21
SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID'
,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date'
,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service'
,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name'
,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status'
,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number'
,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason'
FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit
INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim
ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year]
AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month]
AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day]
AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders'))
AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses'))
INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation
ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationsetID = 158
HadHGBGT7BeforeTransfusion1
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 22
SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID'
,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date'
,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service'
,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name'
,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status'
,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number'
,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason'
FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit
INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim
ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year]
AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month]
AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day]
AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders'))
AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses'))
INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation
ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationsetID = 158
HadHGBGT7BeforeTransfusion1
Select (Set of Columns)
Bunch of Columns – not important for Where
Clause writing
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 23
SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID'
,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date'
,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service'
,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name'
,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status'
,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number'
,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason'
FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit
INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim
ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year]
AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month]
AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day]
AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders'))
AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses'))
INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation
ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 158
HadHGBGT7BeforeTransfusion
Select (Set of
Columns)
1
FROM (General Visit Related Tables)
SCAVisit SCAPatientDim
SCADemographicDim SCAProviderDim
SCAVisitStatus SCAVisitLocation
SCAServicedim SCAAdmitReasonDim
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 24
SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID'
,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date'
,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service'
,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name'
,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status'
,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number'
,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason'
FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit
INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim
ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year]
AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month]
AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day]
AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders'))
AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses'))
INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation
ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 158
HadHGBGT7BeforeTransfusion
Select (Set of
Columns)
FROM (General Visit
Related Tables)
Search type related
tables
1
Search type related tables
SCAOrder Orders
SCAOrderTypeDim Order Types
SCAOrderCatalogDim Order Catalog
SCAOrderStatusDim Order Status
SCADateDim Order Create Date
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 25
SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID'
,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date'
,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service'
,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name'
,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status'
,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number'
,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason'
FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit
INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim
ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year]
AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month]
AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day]
AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders'))
AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses'))
INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation
ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 158
HadHGBGT7BeforeTransfusion
Select (Set of
Columns)
FROM (General Visit
Related Tables)
Search type related
tables
1
Rule Criteria
AND Order Item Name IN Reference set “PRBC Orders”
AND Order Status IN Reference set “Completed Order Statuses”
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 26
SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID'
,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date'
,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service'
,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name'
,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status'
,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number'
,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason'
FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit
INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim
ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year]
AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month]
AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day]
AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders'))
AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses'))
INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation
ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 158
HadHGBGT7BeforeTransfusion
Select (Set of
Columns)
FROM (General Visit
Related Tables)
Search type related
tables
Rule Criteria
1
Population Test Criteria
Rule testing criteria – not important for Where
Clause writing.. Ignore it!!!
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 27
SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID'
,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date'
,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service'
,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name'
,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status'
,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number'
,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason'
FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit
INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim
ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year]
AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month]
AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day]
AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders'))
AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses'))
INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation
ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 158
HadHGBGT7BeforeTransfusion
Select (Set of
Columns)
FROM (General Visit
Related Tables)
Search type related
tables
Rule Criteria
Population Test
Criteria
Where clause goes here
1
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 28
HadHGBGT7BeforeTransfusion
INNER JOIN [SCA_Acutecare].[dbo].[SCAResult] As SCAResult
on SCAResult.[VisitID] = ScaVisit.[VisitID]
AND SCAResult.resultdtm < SCAOrder.RequestedDtm
AND SCAResult.[IsActive] = 1
AND DATEDIFF(dd,SCAResult.resultdtm,SCAOrder.RequestedDtm)
BETWEEN 0 AND 1
INNER JOIN [SCA_Acutecare].[dbo].[SCAResultCatalogDim]
SCAResultCatalogDim
ON SCAResultCatalogDim.[ResultCatalogDimID] =
SCAResult.[ResultCatalogDimID]
AND SCAResultCatalogDim.ResultCatalogName IN (SELECT * FROM
dbo.SANReplacementStringTableFn('Hemoglobin Result Items'))
AND SCAResult.NumericValue > 7
1
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 29
HadHGBGT7BeforeTransfusion2
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 30
SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID'
,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date'
,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service'
,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name'
,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status'
,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number',
SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason'
FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit
INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAQualityMeasure] AS SCAQualityMeasure ON SCAVisit.VisitID = SCAQualityMeasure.VisitID
INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation
ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 26
HadHGBGT7BeforeTransfusion
Select (Set of
Columns)
FROM (General Visit
Related Tables)
Search type related
tables
Population Test
Criteria
Where clause
SQL
2
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 31
HadHGBGT7BeforeTransfusion
INNER JOIN (
SELECT DISTINCT v.VisitID, o.RequestedDtm, MAX(r.ResultDtm) AS Resdtm
FROM [SCA_Acutecare].[dbo].SCAVisit v
INNER JOIN [SCA_Acutecare].[dbo].SCAOrder o on o.VisitID = v.VisitID
INNER JOIN [SCA_Acutecare].[dbo].SCAOrderCatalogDim ocd on ocd.OrderCatalogDimID =
o.OrderCatalogDimID
AND ocd.OrderItemName in (SELECT * from dbo.SANReplacementStringTableFn('PRBC Orders'))
INNER JOIN [SCA_Acutecare].[dbo].[SCAResult] As r
ON r.[VisitID] = v.[VisitID]
AND r.resultdtm < o.RequestedDtm
AND r.[IsActive] = 1
INNER JOIN [SCA_Acutecare].[dbo].[SCAResultCatalogDim] rcd
ON rcd.[ResultCatalogDimID] = r.[ResultCatalogDimID]
AND rcd.ResultCatalogName IN (SELECT * FROM dbo.SANReplacementStringTableFn('Hemoglobin
Result Items' ))
GROUP BY v.VisitID, o.RequestedDtm
) AS Res ON Res.VisitID = ScaVisit.VisitID
INNER JOIN [SCA_Acutecare].[dbo].[SCAResult] As r2
ON r2.[VisitID] = ScaVisit.[VisitID]
AND r2.ResultDtm = res.Resdtm
AND r2.NumericValue > 7
INNER JOIN [SCA_Acutecare].[dbo].[SCAResultCatalogDim] rcd2
ON rcd2.[ResultCatalogDimID] = r2.[ResultCatalogDimID]
AND rcd2.ResultCatalogName IN (SELECT * FROM dbo.SANReplacementStringTableFn('Hemoglobin
Result Items'))
2
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 32
Reporting with Model
• What is Report Model?
– SCA / CPM Product Philosophy
– What do Report writer need to know
• Model Power Vs. Restrictions
– Model Architecture
– Model Designer
• Out of Box Models
– SA Clinical
– SA Patient Profiler
Visit
Pop
Set
Observations
Orders
Results
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 33
Transfusions with Hemoglobin over 7
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 34
Sub Reporting
• Create Two reports separately
• Put multiple reports on one report
• What you need to know?
• How those different report will relate?
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 35
Create Population Set
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 36
Transfusions with Hemoglobin over 7
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 37
Transfusions with Hemoglobin over 7
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 38
Transfusions with Hemoglobin over 7
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 39
How to create Sub Report
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 40
Insert Sub report in Main Report
1
2
3
4
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 41
Insert Sub report in Main Report
1
2
3
4
5
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 42
Insert Sub report in Main Report
1
2
3
4
5
6
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 43
Insert Sub report in Main Report
1
2
3
4
5
6
7
8
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 44
Insert Sub report in Main Report
9 10
11 12
13
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 45
Transfusions with Hemoglobin over 7
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 46
Re-admission report
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 47
Readmission Report
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 48
Is7DayReadmissionVisit
• Currently readmitted inpatients within 7 days of Discharge
• Definition of inpatient: Patient anytime in inpatient beds – that includes
ED and Observation patients in inpatient beds.
• Create an Indicator to flag the visits
– What Search type works best in this situation: Visit
– Need to define inpatients
– Need to find set of previous visits in last 7 days
• Create Population set using this indicator
• Write Report
– Use Population set
– put previous visits for these patients
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 49
Is7DayReadmissionVisit
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 50
SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID'
,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date'
,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service'
,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name'
,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status'
,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number',
SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason'
FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit
INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID
INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID]
INNER JOIN [SCA_Acutecare].[dbo].[SCAQualityMeasure] AS SCAQualityMeasure ON SCAVisit.VisitID = SCAQualityMeasure.VisitID
INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation
ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 26
Is7DayReadmissionVisit
Select (Set of
Columns)
FROM (General Visit
Related Tables)
Search type related
tables
Population Test
Criteria
Where clause
SQL
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 51
Is7DayReadmissionVisit
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitLocation] VLC on SCAVisit.VisitID = VLC.VisitID
INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] LDC on VLC.LocationDimID =
LDC.LocationDimID
AND LDC.LocationName IN (SELECT * FROM dbo.SANReplacementStringTableFn('Inpatient
Beds'))
INNER JOIN
(
SELECT DISTINCT V.PatientDimID, V.VisitID, V.DischargeDtm
FROM [SCA_Acutecare].[dbo].[SCAVisit] AS V
INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitLocation] VL on V.VisitID = VL.VisitID
INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] LD on VL.LocationDimID = LD.LocationDimID
AND LD.LocationName IN (SELECT * FROM dbo.SANReplacementStringTableFn('Inpatient
Beds'))
) PrevVisit ON PrevVisit.PatientDimID = SCAVisit.PatientDimID
AND DATEDIFF(dd,PrevVisit.DischargeDtm,ScaVisit.AdmitDtm) BETWEEN 0 AND 6
AND SCAVisit.VisitID <> PrevVisit.VisitID
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 52
Readmission Report
Current In-house Patient
Previous Visits
1
2
1
2
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 53
Create Population set
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 54
Sub Report (Previous Visits)
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 55
Sub Report (Previous Visits)
1
2
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 56
Sub Report (Previous Visits)
2
1
3 4
2
1 3
4
5
Show visits in reverse
chronological order
Latest Visit first
Do not show Current
Visit
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 57
Main Report (Shows currently readmit
Visits)
Add Row inside Group for sub-report
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 58
Main Report (Shows currently readmit
Visits)
1
2
Make space for multi column sub-report using merge button
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 59
Main Report (Shows currently readmit
Visits)
Pass [Patient_MRN] and [Visit_ID] as parameter to sub-report
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 60
Readmission Report
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 61
Indicators from an external data source
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 62
Indicators from External data source
• We have created a list of Visits from our billing system for women who
had a C-section and we want to get the gestational age from SCA
(Allscripts). Can this be done?
• Yes
• How?
• Creating an Indicator from external data source.
• What do I need?
• Ability to Export list of visit with SCM visit number periodically /
continuous from an external system. SCA V11 or CPM V12
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 63
Create
an
Indicator
Indicators from External data source
Build the
Indicator
Load Data
From
External
System
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 64
Creating an Indicator from an external
data
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 65
Load Data From External System
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 66
Load Data From External System
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 67
Build the Indicator
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 68
Build Score Card Style report with Enterprise
defined indicators
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 69
Fall Risk Card
• Create Population set
• Create Indicators
– HadFallRiskAssessed
– IsAtFallrisk
– HadFallEvent
Question: How to create this report?
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 70
Indicators: Storage
• Indicators are represented in the SCA database also as rows in
SCAVisitIndicator table. Each qualified visit gets added as a row in this
table
• All use defined indicators only got stored in SCAVisitIndicator table.
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 71
Challenge
• Enterprise Defined Indicators are stored as rows in a table
• Only Visits with value 1 is added to the table
• Report need it as a column
• SCA Report model does not support these indicators as columns
Solution
• Create Pivot view for enterprise defined indicators
• Non-model based reporting
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 72
Create Pivot View of all indicators
• Compile this procedure against SCA_Metadata
• Execute this procedure
• Creates SCAPivotClinicalIndicatorVW
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 73
New Report > Table or Matrix Wizard
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 74
Choose a Data set
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 75
Choose a connection
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 76
Report Data source
Default Path: http://<ReportServer>/SCA/DataSources
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 77
Choose a connection
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 78
Design a query
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 79
Design a query
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 80
Non-model based reporting
SELECT p.PatientName, p.MRN,v.EncounterNumber, a.AgeYear,d.Gender
FROM [SCA_AcuteCare].[dbo].RMPopulationVW pop
INNER JOIN [SCA_AcuteCare].[dbo].SCAVisit v ON pop.VisitID = v.VisitID
INNER JOIN [SCA_Metadata].[dbo]. SCAPivotClinicalIndicatorVW ci ON ci.VisitID =
V.VisitID
INNER JOIN [SCA_AcuteCare].[dbo].SCAPatientDim p ON p.PatientDimID =
v.PatientDimID
INNER JOIN [SCA_AcuteCare].[dbo].SCADemographicDim d ON d.DemographicDimID =
v.DemographicDimID
INNER JOIN [SCA_AcuteCare].[dbo].SCAAgeDim a ON a.AgeDimID = v.AgeDimID
INNER Join [SCA_AcuteCare].[dbo].SCAQualityMeasure q on q.VisitID = v.VisitID
WHERE pop.PopulationSet = @PopulationSet
Change the query as needed for your report need. Add or remove
some tables. And finish creating report.
Copyright © 2013 Allscripts Healthcare Solutions, Inc. 81
Questions

Más contenido relacionado

Destacado

STORYTELLING: КАК РАЗРАБОТАТЬ КУРС В ВОВЛЕКАЮЩИМ СЦЕНАРИЕМ
STORYTELLING: КАК РАЗРАБОТАТЬ КУРС В ВОВЛЕКАЮЩИМ СЦЕНАРИЕМSTORYTELLING: КАК РАЗРАБОТАТЬ КУРС В ВОВЛЕКАЮЩИМ СЦЕНАРИЕМ
STORYTELLING: КАК РАЗРАБОТАТЬ КУРС В ВОВЛЕКАЮЩИМ СЦЕНАРИЕМPharm.education
 
Work Power and Energy
Work Power and EnergyWork Power and Energy
Work Power and EnergyZargham Shafi
 
CRM Readiness Tips For CRM
CRM Readiness Tips For CRMCRM Readiness Tips For CRM
CRM Readiness Tips For CRMmotu
 
Валерий Артюшин, РСВО
Валерий Артюшин, РСВОВалерий Артюшин, РСВО
Валерий Артюшин, РСВОconnecticalab
 
Владислав Перевозчиков - Технический анализ VS фундаментальный анализ
Владислав Перевозчиков - Технический анализ VS фундаментальный анализВладислав Перевозчиков - Технический анализ VS фундаментальный анализ
Владислав Перевозчиков - Технический анализ VS фундаментальный анализiTrader
 
Uriel sanchez mgt505 final
Uriel sanchez mgt505 finalUriel sanchez mgt505 final
Uriel sanchez mgt505 finalusanchez24
 
malattie mitocondrali
malattie mitocondralimalattie mitocondrali
malattie mitocondralibarbie93
 
Synthesis multimedia learning
Synthesis multimedia learningSynthesis multimedia learning
Synthesis multimedia learningkylealee
 

Destacado (13)

STORYTELLING: КАК РАЗРАБОТАТЬ КУРС В ВОВЛЕКАЮЩИМ СЦЕНАРИЕМ
STORYTELLING: КАК РАЗРАБОТАТЬ КУРС В ВОВЛЕКАЮЩИМ СЦЕНАРИЕМSTORYTELLING: КАК РАЗРАБОТАТЬ КУРС В ВОВЛЕКАЮЩИМ СЦЕНАРИЕМ
STORYTELLING: КАК РАЗРАБОТАТЬ КУРС В ВОВЛЕКАЮЩИМ СЦЕНАРИЕМ
 
Transformar imágenes power point
Transformar imágenes power pointTransformar imágenes power point
Transformar imágenes power point
 
Work Power and Energy
Work Power and EnergyWork Power and Energy
Work Power and Energy
 
Pat1
Pat1Pat1
Pat1
 
CRM Readiness Tips For CRM
CRM Readiness Tips For CRMCRM Readiness Tips For CRM
CRM Readiness Tips For CRM
 
Space Lock Web UI
Space Lock Web UISpace Lock Web UI
Space Lock Web UI
 
Валерий Артюшин, РСВО
Валерий Артюшин, РСВОВалерий Артюшин, РСВО
Валерий Артюшин, РСВО
 
Animoto
AnimotoAnimoto
Animoto
 
Green
GreenGreen
Green
 
Владислав Перевозчиков - Технический анализ VS фундаментальный анализ
Владислав Перевозчиков - Технический анализ VS фундаментальный анализВладислав Перевозчиков - Технический анализ VS фундаментальный анализ
Владислав Перевозчиков - Технический анализ VS фундаментальный анализ
 
Uriel sanchez mgt505 final
Uriel sanchez mgt505 finalUriel sanchez mgt505 final
Uriel sanchez mgt505 final
 
malattie mitocondrali
malattie mitocondralimalattie mitocondrali
malattie mitocondrali
 
Synthesis multimedia learning
Synthesis multimedia learningSynthesis multimedia learning
Synthesis multimedia learning
 

Similar a Kintu Shah+ACE13

Transforming Business Intelligence Testing
Transforming Business Intelligence TestingTransforming Business Intelligence Testing
Transforming Business Intelligence TestingMethod360
 
How to seize B2B market opportunities thanks to Big Data
How to seize B2B market opportunities thanks to Big DataHow to seize B2B market opportunities thanks to Big Data
How to seize B2B market opportunities thanks to Big DataMark Beekman
 
Presentation on six sigma
Presentation on six sigmaPresentation on six sigma
Presentation on six sigmaMANOJ ARORA
 
Why analytics matters
Why analytics mattersWhy analytics matters
Why analytics mattersChad Richeson
 
Secure Salesforce: Code Scanning with Checkmarx
Secure Salesforce: Code Scanning with CheckmarxSecure Salesforce: Code Scanning with Checkmarx
Secure Salesforce: Code Scanning with CheckmarxSalesforce Developers
 
Introduction to Data mining
Introduction to Data miningIntroduction to Data mining
Introduction to Data miningHadi Fadlallah
 
Supply Chain Transformation
Supply Chain TransformationSupply Chain Transformation
Supply Chain TransformationElm Valle
 
A Journey towards Self-Service Analytics
A Journey towards Self-Service AnalyticsA Journey towards Self-Service Analytics
A Journey towards Self-Service AnalyticsPatrick Deglon
 
Insight Facts & Figures
Insight Facts & FiguresInsight Facts & Figures
Insight Facts & FiguresVince Caldwell
 
Accelerating Your Retail Environment - Agile-Driven QA and Testing
Accelerating Your Retail Environment - Agile-Driven QA and TestingAccelerating Your Retail Environment - Agile-Driven QA and Testing
Accelerating Your Retail Environment - Agile-Driven QA and TestingMethod360
 
Measuring What Really Matters: Search Engine Metrics & Tracking Tips - David ...
Measuring What Really Matters: Search Engine Metrics & Tracking Tips - David ...Measuring What Really Matters: Search Engine Metrics & Tracking Tips - David ...
Measuring What Really Matters: Search Engine Metrics & Tracking Tips - David ...Energy Digital Summit
 
Understanding the Medical device Single Audit Program (MDSAP) & How to Prepar...
Understanding the Medical device Single Audit Program (MDSAP) & How to Prepar...Understanding the Medical device Single Audit Program (MDSAP) & How to Prepar...
Understanding the Medical device Single Audit Program (MDSAP) & How to Prepar...Greenlight Guru
 
Xybion Webinar - Rumors, Risks and Realities of spreadsheet validation
Xybion Webinar - Rumors, Risks and Realities of spreadsheet validationXybion Webinar - Rumors, Risks and Realities of spreadsheet validation
Xybion Webinar - Rumors, Risks and Realities of spreadsheet validationXybion Corporation
 
Infinitive slingshot whitepaper
Infinitive slingshot whitepaperInfinitive slingshot whitepaper
Infinitive slingshot whitepaperReza Rosli
 
Six Sigma For Managers (Explore HR.Org)
Six Sigma For Managers (Explore HR.Org)Six Sigma For Managers (Explore HR.Org)
Six Sigma For Managers (Explore HR.Org)Kaustav Lahiri
 
Account-Based Marketing: Foundations and Strategy
Account-Based Marketing: Foundations and Strategy Account-Based Marketing: Foundations and Strategy
Account-Based Marketing: Foundations and Strategy Demandbase
 
Alveris Corporate Presentation - 2010
Alveris Corporate Presentation - 2010Alveris Corporate Presentation - 2010
Alveris Corporate Presentation - 2010Alveris
 

Similar a Kintu Shah+ACE13 (20)

Smart analyzer v9 product profile
Smart analyzer v9 product profileSmart analyzer v9 product profile
Smart analyzer v9 product profile
 
Transforming Business Intelligence Testing
Transforming Business Intelligence TestingTransforming Business Intelligence Testing
Transforming Business Intelligence Testing
 
How to seize B2B market opportunities thanks to Big Data
How to seize B2B market opportunities thanks to Big DataHow to seize B2B market opportunities thanks to Big Data
How to seize B2B market opportunities thanks to Big Data
 
Presentation on six sigma
Presentation on six sigmaPresentation on six sigma
Presentation on six sigma
 
Why analytics matters
Why analytics mattersWhy analytics matters
Why analytics matters
 
Secure Salesforce: Code Scanning with Checkmarx
Secure Salesforce: Code Scanning with CheckmarxSecure Salesforce: Code Scanning with Checkmarx
Secure Salesforce: Code Scanning with Checkmarx
 
Introduction to Data mining
Introduction to Data miningIntroduction to Data mining
Introduction to Data mining
 
Supply Chain Transformation
Supply Chain TransformationSupply Chain Transformation
Supply Chain Transformation
 
A Journey towards Self-Service Analytics
A Journey towards Self-Service AnalyticsA Journey towards Self-Service Analytics
A Journey towards Self-Service Analytics
 
Insight Facts & Figures
Insight Facts & FiguresInsight Facts & Figures
Insight Facts & Figures
 
Accelerating Your Retail Environment - Agile-Driven QA and Testing
Accelerating Your Retail Environment - Agile-Driven QA and TestingAccelerating Your Retail Environment - Agile-Driven QA and Testing
Accelerating Your Retail Environment - Agile-Driven QA and Testing
 
Measuring What Really Matters: Search Engine Metrics & Tracking Tips - David ...
Measuring What Really Matters: Search Engine Metrics & Tracking Tips - David ...Measuring What Really Matters: Search Engine Metrics & Tracking Tips - David ...
Measuring What Really Matters: Search Engine Metrics & Tracking Tips - David ...
 
Understanding the Medical device Single Audit Program (MDSAP) & How to Prepar...
Understanding the Medical device Single Audit Program (MDSAP) & How to Prepar...Understanding the Medical device Single Audit Program (MDSAP) & How to Prepar...
Understanding the Medical device Single Audit Program (MDSAP) & How to Prepar...
 
Sales forecasting
Sales forecastingSales forecasting
Sales forecasting
 
Xybion Webinar - Rumors, Risks and Realities of spreadsheet validation
Xybion Webinar - Rumors, Risks and Realities of spreadsheet validationXybion Webinar - Rumors, Risks and Realities of spreadsheet validation
Xybion Webinar - Rumors, Risks and Realities of spreadsheet validation
 
Supplier Selection
Supplier SelectionSupplier Selection
Supplier Selection
 
Infinitive slingshot whitepaper
Infinitive slingshot whitepaperInfinitive slingshot whitepaper
Infinitive slingshot whitepaper
 
Six Sigma For Managers (Explore HR.Org)
Six Sigma For Managers (Explore HR.Org)Six Sigma For Managers (Explore HR.Org)
Six Sigma For Managers (Explore HR.Org)
 
Account-Based Marketing: Foundations and Strategy
Account-Based Marketing: Foundations and Strategy Account-Based Marketing: Foundations and Strategy
Account-Based Marketing: Foundations and Strategy
 
Alveris Corporate Presentation - 2010
Alveris Corporate Presentation - 2010Alveris Corporate Presentation - 2010
Alveris Corporate Presentation - 2010
 

Kintu Shah+ACE13

  • 1. 1Copyright © 2013 Allscripts Healthcare Solutions, Inc. Super Analytics Power of Indicators and more… 8/28/2013 Sunrise Clinical Analytics (SCA) Clinical Performance Management(CPM)
  • 2. 2Copyright © 2013 Allscripts Healthcare Solutions, Inc. Kintu Shah, Solutions Architect Presenter
  • 3. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 3 3 Introductions & Background •Kintu Shah •Solutions Architect, Allscripts
  • 4. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 4 4 Learning Objectives 1. Gain Advance configuration knowledge of SCA / CPM 2. Learn Tips and Tricks for SCA / CPM configuration 3. Utilize SCA / CPM beyond ARRA
  • 5. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 5 This Session • Enterprise Defined Indicator • Where Clauses • Indicator from External Source • Reporting Using Enterprise Defined Indicators • Model Reporting / Sub-report
  • 6. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 6 It is not just ARRA
  • 7. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 7 Population sets & Indicators
  • 8. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 8 Population sets & Indicators
  • 9. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 9 Enterprise Defined Indicators
  • 10. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 10 Enterprise Defined Indicators • Out-of-box Indicators – SCA Version 11 • 184 – CPM Version 12 • 140 • Most out of Box indicators are designed to be used for ARRA meaningful use measures or Core Measure Reports • You can create new indicators for your needs
  • 11. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 11 Same but different • Enterprise defined indicators acts the same way but still they are different • Similarity – Calculated objects that Flags the Visits into a “yes” or “no” bullion question – Allows data to be counted, compared and aggregated – Can be used as Numerator – Can be kept Up-to-date by the ETL process – Can have multiple Rules – Rules are based on Search Types • Differences – Enterprise defined indicators are defined only at Visit level while Out-of-box indicators can be Visit level or patient level. – Out of Box indicators get stored as columns in database as well as rows in SCA Visit Indicator table while Enterprise defined indicators only get stored as rows in SCA Visit Indicator table. – Out-of-box indicators stores “true” as well as “false” while the enterprise defined indicators stores only true values.
  • 12. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 12 Challenges and Solutions • Challenge: – Generic Search Types are not sufficient for the need • Solution: – Where clause • Challenge: – Data is not in Sunrise Clinical Manager but other databases • Solution: – Indicator from External Source • Challenge: – SCA_Acutecare Model is too restricting for reporting using enterprise defined indicators • Solution – Non-model based reporting – Pivot View
  • 13. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 13 Where clause is not Where clause • What is Where clause? – It helps enhance the search types – Insert SQL in Template code of Search types • What I need to know to write Where clause? – SCA / CPM Acute care database repository architecture – How do Search type generates query – Little knowledge of SQL • What Search Type works best to write Where clause – It Depends – Visit > Visit (My Favorite Why – it is very simple)
  • 14. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 14 Data Model
  • 15. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 15 Data Model
  • 16. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 16 Transfusions with Hemoglobin over 7
  • 17. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 17 Transfusions with Hemoglobin over 7
  • 18. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 18 HadHGBGT7BeforeTransfusion • What is needed? – When Transfusion was ordered the last HGB Result was over 7.0 • Simplify the Requirement 1. Visits with Transfusion Orders 2. Visits with Transfusion Orders and HGB Results 3. When Transfusion was ordered the last HGB Result was over 7.0 • Steps: – Method 1 • What Search type is appropriate? – Order • Where clause to look at Result – Method 2 • What Search type is appropriate? – Visit • Where clause to look at Order and Result
  • 19. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 19 HadHGBGT7BeforeTransfusion1
  • 20. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 20 HadHGBGT7BeforeTransfusion • Configure with what closest match search type • Use Test function to test and have system generates SQL • SELECT (set of Columns) • FROM (General Visit Related Tables) • Search type related tables • Rule Criteria • Population Set condition 1
  • 21. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 21 SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID' ,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date' ,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service' ,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name' ,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status' ,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number' ,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason' FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1 INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year] AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month] AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day] AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders')) AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses')) INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationsetID = 158 HadHGBGT7BeforeTransfusion1
  • 22. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 22 SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID' ,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date' ,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service' ,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name' ,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status' ,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number' ,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason' FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1 INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year] AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month] AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day] AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders')) AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses')) INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationsetID = 158 HadHGBGT7BeforeTransfusion1 Select (Set of Columns) Bunch of Columns – not important for Where Clause writing
  • 23. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 23 SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID' ,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date' ,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service' ,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name' ,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status' ,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number' ,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason' FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1 INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year] AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month] AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day] AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders')) AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses')) INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 158 HadHGBGT7BeforeTransfusion Select (Set of Columns) 1 FROM (General Visit Related Tables) SCAVisit SCAPatientDim SCADemographicDim SCAProviderDim SCAVisitStatus SCAVisitLocation SCAServicedim SCAAdmitReasonDim
  • 24. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 24 SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID' ,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date' ,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service' ,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name' ,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status' ,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number' ,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason' FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1 INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year] AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month] AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day] AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders')) AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses')) INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 158 HadHGBGT7BeforeTransfusion Select (Set of Columns) FROM (General Visit Related Tables) Search type related tables 1 Search type related tables SCAOrder Orders SCAOrderTypeDim Order Types SCAOrderCatalogDim Order Catalog SCAOrderStatusDim Order Status SCADateDim Order Create Date
  • 25. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 25 SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID' ,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date' ,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service' ,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name' ,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status' ,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number' ,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason' FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1 INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year] AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month] AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day] AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders')) AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses')) INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 158 HadHGBGT7BeforeTransfusion Select (Set of Columns) FROM (General Visit Related Tables) Search type related tables 1 Rule Criteria AND Order Item Name IN Reference set “PRBC Orders” AND Order Status IN Reference set “Completed Order Statuses”
  • 26. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 26 SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID' ,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date' ,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service' ,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name' ,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status' ,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number' ,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason' FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1 INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year] AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month] AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day] AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders')) AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses')) INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 158 HadHGBGT7BeforeTransfusion Select (Set of Columns) FROM (General Visit Related Tables) Search type related tables Rule Criteria 1 Population Test Criteria Rule testing criteria – not important for Where Clause writing.. Ignore it!!!
  • 27. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 27 SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID' ,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date' ,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service' ,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name' ,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status' ,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number' ,SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason' FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAOrder] AS SCAOrder ON SCAOrder.VisitID = SCAVisit.VisitID And SCAOrder.isactive = 1 INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderTypeDim] AS SCAOrderTypeDim ON SCAOrderTypeDim.OrderTypeDimID = SCAOrder.OrderTypeDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderCatalogDim] AS SCAOrderCatalogDim ON SCAOrder.OrderCatalogDimID = SCAOrderCatalogDim.OrderCatalogDimID INNER JOIN [SCA_Acutecare].[dbo].[SCAOrderStatusDim] SCAOrderStatusDim ON SCAOrder.OrderStatusDimID = SCAOrderStatusDim.OrderStatusDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADateDim] AS SCADateDim ON YEAR(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Year] AND MONTH(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Month] AND DAY(SCAOrder.[OrderCreatedDtm]) = SCADateDim.[Day] AND SCAOrderCatalogDim.OrderItemName IN (SELECT * FROM dbo.SANReplacementStringTableFn('PRBC Orders')) AND SCAOrderStatusDim.OrderStatus IN (SELECT * FROM dbo.SANReplacementStringTableFn('Completed Order Statuses')) INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 158 HadHGBGT7BeforeTransfusion Select (Set of Columns) FROM (General Visit Related Tables) Search type related tables Rule Criteria Population Test Criteria Where clause goes here 1
  • 28. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 28 HadHGBGT7BeforeTransfusion INNER JOIN [SCA_Acutecare].[dbo].[SCAResult] As SCAResult on SCAResult.[VisitID] = ScaVisit.[VisitID] AND SCAResult.resultdtm < SCAOrder.RequestedDtm AND SCAResult.[IsActive] = 1 AND DATEDIFF(dd,SCAResult.resultdtm,SCAOrder.RequestedDtm) BETWEEN 0 AND 1 INNER JOIN [SCA_Acutecare].[dbo].[SCAResultCatalogDim] SCAResultCatalogDim ON SCAResultCatalogDim.[ResultCatalogDimID] = SCAResult.[ResultCatalogDimID] AND SCAResultCatalogDim.ResultCatalogName IN (SELECT * FROM dbo.SANReplacementStringTableFn('Hemoglobin Result Items')) AND SCAResult.NumericValue > 7 1
  • 29. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 29 HadHGBGT7BeforeTransfusion2
  • 30. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 30 SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID' ,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date' ,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service' ,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name' ,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status' ,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number', SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason' FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAQualityMeasure] AS SCAQualityMeasure ON SCAVisit.VisitID = SCAQualityMeasure.VisitID INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 26 HadHGBGT7BeforeTransfusion Select (Set of Columns) FROM (General Visit Related Tables) Search type related tables Population Test Criteria Where clause SQL 2
  • 31. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 31 HadHGBGT7BeforeTransfusion INNER JOIN ( SELECT DISTINCT v.VisitID, o.RequestedDtm, MAX(r.ResultDtm) AS Resdtm FROM [SCA_Acutecare].[dbo].SCAVisit v INNER JOIN [SCA_Acutecare].[dbo].SCAOrder o on o.VisitID = v.VisitID INNER JOIN [SCA_Acutecare].[dbo].SCAOrderCatalogDim ocd on ocd.OrderCatalogDimID = o.OrderCatalogDimID AND ocd.OrderItemName in (SELECT * from dbo.SANReplacementStringTableFn('PRBC Orders')) INNER JOIN [SCA_Acutecare].[dbo].[SCAResult] As r ON r.[VisitID] = v.[VisitID] AND r.resultdtm < o.RequestedDtm AND r.[IsActive] = 1 INNER JOIN [SCA_Acutecare].[dbo].[SCAResultCatalogDim] rcd ON rcd.[ResultCatalogDimID] = r.[ResultCatalogDimID] AND rcd.ResultCatalogName IN (SELECT * FROM dbo.SANReplacementStringTableFn('Hemoglobin Result Items' )) GROUP BY v.VisitID, o.RequestedDtm ) AS Res ON Res.VisitID = ScaVisit.VisitID INNER JOIN [SCA_Acutecare].[dbo].[SCAResult] As r2 ON r2.[VisitID] = ScaVisit.[VisitID] AND r2.ResultDtm = res.Resdtm AND r2.NumericValue > 7 INNER JOIN [SCA_Acutecare].[dbo].[SCAResultCatalogDim] rcd2 ON rcd2.[ResultCatalogDimID] = r2.[ResultCatalogDimID] AND rcd2.ResultCatalogName IN (SELECT * FROM dbo.SANReplacementStringTableFn('Hemoglobin Result Items')) 2
  • 32. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 32 Reporting with Model • What is Report Model? – SCA / CPM Product Philosophy – What do Report writer need to know • Model Power Vs. Restrictions – Model Architecture – Model Designer • Out of Box Models – SA Clinical – SA Patient Profiler Visit Pop Set Observations Orders Results
  • 33. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 33 Transfusions with Hemoglobin over 7
  • 34. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 34 Sub Reporting • Create Two reports separately • Put multiple reports on one report • What you need to know? • How those different report will relate?
  • 35. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 35 Create Population Set
  • 36. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 36 Transfusions with Hemoglobin over 7
  • 37. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 37 Transfusions with Hemoglobin over 7
  • 38. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 38 Transfusions with Hemoglobin over 7
  • 39. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 39 How to create Sub Report
  • 40. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 40 Insert Sub report in Main Report 1 2 3 4
  • 41. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 41 Insert Sub report in Main Report 1 2 3 4 5
  • 42. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 42 Insert Sub report in Main Report 1 2 3 4 5 6
  • 43. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 43 Insert Sub report in Main Report 1 2 3 4 5 6 7 8
  • 44. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 44 Insert Sub report in Main Report 9 10 11 12 13
  • 45. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 45 Transfusions with Hemoglobin over 7
  • 46. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 46 Re-admission report
  • 47. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 47 Readmission Report
  • 48. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 48 Is7DayReadmissionVisit • Currently readmitted inpatients within 7 days of Discharge • Definition of inpatient: Patient anytime in inpatient beds – that includes ED and Observation patients in inpatient beds. • Create an Indicator to flag the visits – What Search type works best in this situation: Visit – Need to define inpatients – Need to find set of previous visits in last 7 days • Create Population set using this indicator • Write Report – Use Population set – put previous visits for these patients
  • 49. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 49 Is7DayReadmissionVisit
  • 50. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 50 SELECT DISTINCT SCAVisit.[VisitID] AS 'Visit ID' ,SCAVisit.[ClientVisitGUID] AS 'SCM Visit ID', SCAPatientDim.[MRN] AS 'MRN', SCAVisit.[AdmitDtm] AS 'Admit Date' ,SCALocationDim.[LocationName] AS 'Location', SCAVisit.[SrcUpdtDtm] AS 'Touched When', SCAServiceDim.[Service] AS 'Service' ,SCAProviderDim.[ProviderDisplayName] AS 'Attending Provider', SCAPatientDim.[PatientName] AS 'Patient Name' ,SCAPatientDim.[BirthDtm] AS 'Birth Date', SCAVisitTypeDim.[VisitType] AS 'Visit Type', SCAVisitStatusDim.[VisitStatus] AS 'Visit Status' ,SCADemographicDim.[Gender] AS 'Gender',SCAVisit.EncounterNumber as 'Encounter Number', SCAVisit.LOSDays as 'LOS', SCAAdmitReasonDim.AdmitReason as 'Admit Reason' FROM [SCA_Acutecare].[dbo].[SCAVisit] AS SCAVisit INNER JOIN [SCA_Acutecare].[dbo].[SCAPatientDim] AS SCAPatientDim ON SCAPatientDim.PatientDimID = SCAVisit.PatientDimID INNER JOIN [SCA_Acutecare].[dbo].[SCADemographicDim] AS SCADemographicDim ON SCAVisit.[DemographicDimID] = SCADemographicDim.[DemographicDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAProviderDim] AS SCAProviderDim ON SCAVisit.[ProviderDimID] = SCAProviderDim.[ProviderDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitStatusDim] AS SCAVisitStatusDim ON SCAVisit.[VisitStatusDimID] = SCAVisitStatusDim.[VisitStatusDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitTypeDim] AS SCAVisitTypeDim ON SCAVisit.[VisitTypeDimID] = SCAVisitTypeDim.[VisitTypeDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] AS SCALocationDim ON SCAVisit.[DischargeLocationDimID] = SCALocationDim.[LocationDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAServiceDim] AS SCAServiceDim ON SCAVisit.[ServiceDimID] = SCAServiceDim.[ServiceDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAAdmitReasonDim] AS SCAAdmitReasonDim ON SCAVisit.[AdmitReasonDimID] = SCAAdmitReasonDim.[AdmitReasonDimID] INNER JOIN [SCA_Acutecare].[dbo].[SCAQualityMeasure] AS SCAQualityMeasure ON SCAVisit.VisitID = SCAQualityMeasure.VisitID INNER JOIN [SCA_Acutecare].[dbo].[SCAPopulation] SCAPopulation ON SCAPopulation.VisitID = SCAVisit.VisitID AND SCAPopulation.PopulationSetID = 26 Is7DayReadmissionVisit Select (Set of Columns) FROM (General Visit Related Tables) Search type related tables Population Test Criteria Where clause SQL
  • 51. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 51 Is7DayReadmissionVisit INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitLocation] VLC on SCAVisit.VisitID = VLC.VisitID INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] LDC on VLC.LocationDimID = LDC.LocationDimID AND LDC.LocationName IN (SELECT * FROM dbo.SANReplacementStringTableFn('Inpatient Beds')) INNER JOIN ( SELECT DISTINCT V.PatientDimID, V.VisitID, V.DischargeDtm FROM [SCA_Acutecare].[dbo].[SCAVisit] AS V INNER JOIN [SCA_Acutecare].[dbo].[SCAVisitLocation] VL on V.VisitID = VL.VisitID INNER JOIN [SCA_Acutecare].[dbo].[SCALocationDim] LD on VL.LocationDimID = LD.LocationDimID AND LD.LocationName IN (SELECT * FROM dbo.SANReplacementStringTableFn('Inpatient Beds')) ) PrevVisit ON PrevVisit.PatientDimID = SCAVisit.PatientDimID AND DATEDIFF(dd,PrevVisit.DischargeDtm,ScaVisit.AdmitDtm) BETWEEN 0 AND 6 AND SCAVisit.VisitID <> PrevVisit.VisitID
  • 52. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 52 Readmission Report Current In-house Patient Previous Visits 1 2 1 2
  • 53. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 53 Create Population set
  • 54. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 54 Sub Report (Previous Visits)
  • 55. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 55 Sub Report (Previous Visits) 1 2
  • 56. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 56 Sub Report (Previous Visits) 2 1 3 4 2 1 3 4 5 Show visits in reverse chronological order Latest Visit first Do not show Current Visit
  • 57. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 57 Main Report (Shows currently readmit Visits) Add Row inside Group for sub-report
  • 58. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 58 Main Report (Shows currently readmit Visits) 1 2 Make space for multi column sub-report using merge button
  • 59. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 59 Main Report (Shows currently readmit Visits) Pass [Patient_MRN] and [Visit_ID] as parameter to sub-report
  • 60. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 60 Readmission Report
  • 61. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 61 Indicators from an external data source
  • 62. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 62 Indicators from External data source • We have created a list of Visits from our billing system for women who had a C-section and we want to get the gestational age from SCA (Allscripts). Can this be done? • Yes • How? • Creating an Indicator from external data source. • What do I need? • Ability to Export list of visit with SCM visit number periodically / continuous from an external system. SCA V11 or CPM V12
  • 63. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 63 Create an Indicator Indicators from External data source Build the Indicator Load Data From External System
  • 64. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 64 Creating an Indicator from an external data
  • 65. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 65 Load Data From External System
  • 66. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 66 Load Data From External System
  • 67. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 67 Build the Indicator
  • 68. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 68 Build Score Card Style report with Enterprise defined indicators
  • 69. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 69 Fall Risk Card • Create Population set • Create Indicators – HadFallRiskAssessed – IsAtFallrisk – HadFallEvent Question: How to create this report?
  • 70. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 70 Indicators: Storage • Indicators are represented in the SCA database also as rows in SCAVisitIndicator table. Each qualified visit gets added as a row in this table • All use defined indicators only got stored in SCAVisitIndicator table.
  • 71. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 71 Challenge • Enterprise Defined Indicators are stored as rows in a table • Only Visits with value 1 is added to the table • Report need it as a column • SCA Report model does not support these indicators as columns Solution • Create Pivot view for enterprise defined indicators • Non-model based reporting
  • 72. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 72 Create Pivot View of all indicators • Compile this procedure against SCA_Metadata • Execute this procedure • Creates SCAPivotClinicalIndicatorVW
  • 73. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 73 New Report > Table or Matrix Wizard
  • 74. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 74 Choose a Data set
  • 75. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 75 Choose a connection
  • 76. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 76 Report Data source Default Path: http://<ReportServer>/SCA/DataSources
  • 77. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 77 Choose a connection
  • 78. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 78 Design a query
  • 79. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 79 Design a query
  • 80. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 80 Non-model based reporting SELECT p.PatientName, p.MRN,v.EncounterNumber, a.AgeYear,d.Gender FROM [SCA_AcuteCare].[dbo].RMPopulationVW pop INNER JOIN [SCA_AcuteCare].[dbo].SCAVisit v ON pop.VisitID = v.VisitID INNER JOIN [SCA_Metadata].[dbo]. SCAPivotClinicalIndicatorVW ci ON ci.VisitID = V.VisitID INNER JOIN [SCA_AcuteCare].[dbo].SCAPatientDim p ON p.PatientDimID = v.PatientDimID INNER JOIN [SCA_AcuteCare].[dbo].SCADemographicDim d ON d.DemographicDimID = v.DemographicDimID INNER JOIN [SCA_AcuteCare].[dbo].SCAAgeDim a ON a.AgeDimID = v.AgeDimID INNER Join [SCA_AcuteCare].[dbo].SCAQualityMeasure q on q.VisitID = v.VisitID WHERE pop.PopulationSet = @PopulationSet Change the query as needed for your report need. Add or remove some tables. And finish creating report.
  • 81. Copyright © 2013 Allscripts Healthcare Solutions, Inc. 81 Questions

Notas del editor

  1. 179 / 225 tables
  2. A subreport is a report item that displays another report inside the body of a main report. Conceptually, a subreport in a report is similar to a frame in a Web page. It is used to embed a report within a report. Any report can be used as a subreport. The report that is displayed as the subreport is stored on a report server, usually in the same folder as the parent report. You can design the parent report to pass parameters to the subreport. A subreport can be repeated within data regions, using a parameter to filter data in each instance of the subreport.
  3. Indicators can also be run/re-run manually.
  4. This creates SCAPivoteClinicalIndicatorPr When run it creates SCAPivotClinicalIndicatorVW