You are on page 1of 132

MUSE International Tuesday Workshop – Session 807

May 31, 2011, 1:00P – 3:30P
Glen D’Abate
DR Reporting Made Easy
with Report Builder 3.0

 Instructors
 Acmeware
 Course Participants
Course Overview
The objective of this workshop is to
provide an overview and demonstration
of SQL Server 2008 Release 2 (R2)
Business Intelligence (BI) Report Model
development process as well as a
demonstration of the easy-to-use SSRS
Report Builder 3.0 application.
Workshop Overview
 Overview of DR reporting strategies in context of Report
 Identification of DR data and strategies for extracting to a
Report Model datamart
 SSRS Report Model Projects
 Creating Data Source Views
 Creating Report Models
 Using Report Builder to access Report Models
 Demonstration of Development of Reports Using Report
 Connecting to Report Models
 Using the Report Wizard
 Formatting Reports
 Filtering Report Data
 Advanced Features
Glossary of Terms
 MEDITECH Application database – Proprietary database structures (NPR or
Advanced Technology - AT) in which MEDITECH applications directly file data
 Data Repository (DR) – Replications of data from Application Database into an
open (ODBC or OLE DB) accessible SQL Server RDMS
 SQL Server Databases (livedb, testdb, livefdb, livendb, livemdb)
– DR databases in which application data (test or live, NPR or AT) is stored
 SQL Server Reporting Services (SSRS) – Feature of SQL Server RDMS
that allows reports to be designed, developed and deployed for consumption
 Datamart – Extraction, transformation, filtering, and indexing of data into
structures specifically formatted for construction of Report Models
 SSRS Report Manager – Web based application for hosting and managing
reports. Also the application from which the Report Builder tool is launched.
 SSRS Report Models – IT developed data structures on which the Report Builder
application runs
 SSRS Report Builder – Web-based application for non-technical staff to develop
ad hoc reports
Course Format
 Modular sections
 Lecture on topic with slide presentation
 Provide example demonstration building Report Models
and reports as we go
 Each section builds on previous section
 Interactive discussion is encouraged throughout!
Discussion of Alternative DR Report
Development Options to SSRS 2008 R2
 Microsoft Access 2007
 Crystal Reports 2008 / 2011
 Microsoft Excel - SQL T-SQL Downloads to .CSV
 SQL Server Analysis Services (OLAP Cubes)
 SSRS – Report Server Projects (i.e., full use of
Visual Studio tools for SSRS report development)
 Earlier versions of SSRS Report Builder (v1.0,
 SQL Service Reporting Services (SSRS) Report
Models and Report Builder Version 3.0
SQL Server Reporting Suite - Flexibility / Complexity Trade-off
SSAS is easiest to use. Drag &
Drop, Slice & Dice. Only provides
numeric analysis. Difficult to
develop & modify data.
Report Projects require programmer-level technical
skill set to develop reports. Uses Visual Studio
programmer environment for report development.
Most flexibility in report design and can link to
complex T-SQL statements for reports requiring data
manipulation and analysis.
Too Hot!
Too Cold!
Just Right!
Report Builder allows non-technical users to build
and format custom ad-hoc reports. Report
developers need not understand data relationships.
Requires IT to build Report Models which limit
available data columns. Complex data analysis /
manipulation is not possible.
Report Model / Designer Approach
 Allows reports to be dynamically generated by “end-users.” No need
to come to IT for “one more column” on a report
 Web-based reports can be nicely designed and formatted
 Report Models can be indexed for excellent performance
 Report Manager provides secure access to report execution
 No software to load / support on developer’s systems
 Requires technical staff to develop and maintain underlying SSRS
Report Models
 Cannot address more complex reports (e.g., reports that require
multiple passes at HCIS data to produce result set of interest)
Recipe for Constructing Reports
 Identify data-of-interest for end users (typically within one or a few
MEDITECH applications)
 Develop data access strategy. We typically recommend scheduled
extraction to a datamart but it is possible to build Report Model
Views directly against the DR using SQL Tables or SQL Views
 Construct helpful data transformations in datamart extract logic
(e.g., convert text Lab Results values to numeric fields, convert CDS
Response to datetime datatype, etc.)
 Build SSRS Report Views using Datamart tables. This re-establishes
“relationships” implicit in the NPR or M-AT data structures.
 Build SSRS Report Models using Report Views. Internal fields can be
hidden, other fields identified for filter selection
 Deploy Report Models to Web Portal (Report Manager or SharePoint
 Train super-users to build there own custom Reports Builder
 Monitor Report utilization, report sharing, data access, etc. with
SSRS Report metadata (i.e., who ran a report, when, what
parameters, etc.)
Where Does the Data Come From?
Data Repository
Tables Directly
Custom Datamart
Other Data Sources
Where Are Models Developed?
Visual Studio Business
Intelligence Studio (BIDS)
Models are Based on Data
Defined and Available from
Data Sources
BIDs is installed from the
SSRS 2008 R2 Media,
Selecting the option under
“Shared Features”
Where Are Reports Developed?
Launches Report Builder
application. Can open
existing reports or build
new reports from scratch.
Web Server Hosting SSRS
Report Manager
Can also be Launched from Start Button
SSRS Report Builder User Interface
Office 2010 Look & Feel
column data
field in dataset
Design View for construction report format and layout
Grouping and Report Hierarchical
or Cross Tab Layout
DR Data Access
Strategies for SSRS
Report Models
SSRS Data Model’s Data Sources
 SSRS Data Models can include data from any
available open data source
 Available data sources include any information
that can be accessed using available Microsoft
Data Access Components (MDAC)
 Typically (for us) this is MEDITECH DR data but
can include: Excel Spreadsheets, Comma
Separated Files (.csv – NPR Report Downloads),
other vendor data (e.g., Kronos T & A, Craig Cost
Accounting, Picis ORM, etc.)
 Other data must have a relationship key to Join
with DR data

SSRS Model Data Access Option
 Directly using Data Repository Tables
 Constructing SQL Views
 Constructing and Updating Datamarts
DR has 6000+ Tables
as well as two Live
Databases in 6.0 +
Identifying the appropriate source of specific application
data from within the DR is one of the most challenging
aspects of any report development using the DR
Data is highly de-normalized in the DR. “Name” in the
AdmVisits table is very different than “Name” in DLabTest
table, and very different than “Name” in MriPatients table.
Many factors determine what data to include in
datamart including focus of Report Model,
inclusion of Inpatients and/or Outpatients,
length of history required and more.
Using SQL Views or SQL Datamarts:
 Multiple related DR tables have data combined
into a single table (e.g., visit level admission and
abstracting data combined)
 Default values can be entered where NULL data
(e.g., replaced with “N/A”)
 Text values, common in MEDITECH fields are
converted to move useful data types (e.g.,
Numeric Response to SQL Numeric datatype)
 Data can be filtered to meet reporting criteria
(e.g., remove confidential patients)
 Data can be filtered to a smaller set for efficiency
(do you really need the ND test results from
1998?) [SQL Datamart Only]
Example SQL View – Non Conf. Patients
Example of Registration Datamart Extract
Internal ID fields are not for Report
Builder but used in Report Views
Typical data fields available in Report Model
DR Fields modified to better format
New Age field computed for Report Model
Inpatient or Outpatient Locations
recombined to one field
Visit Provider Type data flattened
for ease-of-use in Model
Incremental Data Extracts to Datamart
The DR table column RowUpdateDateTime
can be used to identify “changes” to data
for incremental updates
Cancelled Admissions or other filtering
(e.g., remove confidential patients) can
be include in datamart extract
Adding DR livedb or Datamart Indexes
Restricting the volume of data and
highly indexing data, especially at
the Report View highest aggregate
level (i.e., typically visit for
MEDITECH application data) is
highly effective at making report
output very responsive
Example Datamarts at a Client
Customer Defined Screen queries
and responses (includes multiples)
and time dated repeat results
ADM registration data as well as
some ABS data
Charge, receipt, adjustment, refunds
and other transaction level details
Visit level financial (B/AR) data
ITS Report summary information
(though no text reports yet)
Materials Management Data
Laboratory Specimen Tests & Results
Patient Allergy information including
free text descriptions
Audit Activity
Creating SSRS Report
Model Projects
What is a Report Model Project
 In order to build a Report Model, you need to create
a Report Model Project using Visual Studio Business
Intelligence Studio (BIDs) available from SQL Server
 A Report Model Project contains the components or
objects that are used to build and deploy Report
Models to the Report Manager web site
 A Report Model Project is comprised of one or more
Data Source (.ds) files, one or more Data Source
View (.dsv) files, and one or more Report Model file
(.smdl) files

Report Model Project Components
 Data Source (.ds) – this determines the source(s) of
data to be used within the Report Model and
available for the Report Builder application to use
when generate ad-hoc reports
 Data Source Views (.dsv) – this file defines the
relationship between data gathered from multiple
sources (views, tables, etc.). This takes the burden
of this complicated task of the Report Builder report
developer (though they must still understand the
 Report Model (.smdl) – this is the “object” that is
deployed to the Report Manager web site and made
available for the Report Builder

Launching BIDs (Visual Studio 2008)
Creating a New BI Report Model Project
OLAP Cubes
Report Server Projects use the
capabilities of the full Visual Studio
IDE for Report Development
What we are
working with
Give a meaningful Report Model name
Add to existing Solution or Create a new Solution container
Importing /
Exporting Data
Data Source View Wizard
Previously defined data
New Data Source Designer
Can use a SQL service
account or Windows
credentials (depends on
security configuration)
Datamart database or DR livedb,
livemdb, livendb, livefdb, etc.
Your DR Server or IP address or the SQL
Server where your datamart resides
Establishing a Data Source for the Report
Model lets it know where to go to find
data on upon which reports (using Report
Builder) will be built
Solution Explorer
Solution is simply a
container in which
Projects are loaded
Project contains the
objects (i.e., code)
that comprise a Report
Data Sources
Data Source Views
Data Models
Project Properties
Project Properties
determine where the
Report Models will be
deployed (must be a web
server where the Report
Manager application is
Web server
Deployment Folder Locations
Visual Studio 2008 R2 IDE
Available Tables/Columns
as Determined by Data
Source View Design
Example View Design
Tabs for .dsv and .smdl
Creating Data
Source Views
Data Source View Features
 A Data Source View is a description of components of
the database to which the Data Source is pointing
(Typically the SQL Tables, Views or Datamart)
 This Data Source View describes the selected DR tables,
their contents, and the relationships between them
 Table in a Data Source View MUST have primary keys
defined explicitly to determine uniqueness of records in
the table
 Table relationships established in the Data Source View
are critical to the correct output being generated in
Report Builder developed reports
 Typically, defined relationships reconstruct the data
relationships that exist in the MEDITECH applications
Adding or Importing a .dsv File
Acmeware typically has a Development
project and a Production project
Add a New or Existing Data Source View
New Data Source View
launches wizard
Allows an existing .dsv file to be
copied into project (e.g., copying
a development .dsv to production)
Data Source View Wizard
Default .dsv Relationship
DR lacks defined FK constraints
Selecting this option usually selects some
of the correct columns but inevitably the
defined relationship will need to be
modified after completing the wizard
While adding foreign key constrains to a datamarts would be ideal, in
practice, this is very difficult since MEDITECH does not ensure the
sequence in which data hits the DR (and therefore the potential order in
which it hits a datamart). For example, it is technically possible for a new
Lab Test Print # to appear in a patient result before the corresponding Lab
Test Dictionary receives an entry for the Print #.
We typically uncheck this and build
the relationships from scratch
Select Datamart Tables in a .dsv
Creating a Data Source View
to allow for ad hoc Abstract
Module reporting
One patient visit may have
multiple diagnosis, DRGs, or
ICD-9 Procedures
Name the .dsv
Meaningful name to identify .dsv
file when building Report Models
Relationships Must be Defined
Default relationship created by wizard
is typically incorrect in the context of
MEDITECH DR (and corresponding
datamart) schema design
All three keys are required to
identify a unique record in this
table. This is not typical to a
relational database schema.
Relationship Arrows should point
from summary level tables to detail
level tables
Relationships Must Be Modified
The labels do not seem to make sense
but his configuration has been tested
and appears to be what is required
Summary level data is the “Source”,
Detail level data is the “Destination”
Design View of Registration .dsv
Enter Friendly Name Property
Properties for selected object
(Registration Data table/entity)
Modifying the Friendly Name Property will default
to the Entity Name in the Report Builder
Creating Report
Report Model Features
 A Report Model (.smdl file) provides metadata (data about data)
for the data being referenced by the Data Source View.
 When the Report Model file is generated, entities, roles, and fields
are automatically created
 Typically, these entities and fields relate back to the datamart
columns and their data within the database
 Field properties are automatically generated based on the
system’s analysis of the data in a .dsv field
 A Report Model Design wizard steps through each option and
setting required to build a .smdl file from a .dsv file
 After running the Report Model Design wizard, the model can be
published to the report catalog, assigned the appropriate role
permissions, and then used in Report Builder
 To make it even easier for users to create reports using this
model, it can be further refined after the wizard is completed

Adding a New Report Model
Like .dsv files, Report Models
(.smdl) files can be created as
new its using a wizard or can be
imported as existing Items
We recommend having a Production Project to
which .dsv and .smdl files are only copied (i.e.,
never modify in PROD). If Data Source Name is
the same in DEV and PROD, no changes are
necessary when importing to PROD.
Report Models are Generated for a
Single Data Source View (.dsv) File
A single .dsv file is used by a
single Report Model (.smdl file)
Report Model Generation Options
We have primarily
taken the default
generation rules
Report Model Statistics
Recompile statistics if the .dsv
changed in any way. I typically
always choose the “Update
model statistics” option.
Naming a Report Model
Do not publish a new model with the same name
because you will invalidate existing reports that
are generated against this model. If you do
create a new model with the same name and try
to publish the model, you will see an error
message. Always work on the same model to
ensure that the IDs remain the same.
Use a meaningful name as this will be
seen in the Report Builder tool
Modifying Report Model Properties
ValueSelection property determines
how a column will be treated when a
filter is applied in Report Builder
Internal fields should be hidden
Roles can be given
a friendly name
Building & Deploying Report Models
A Solution, one or more Projects,
or one or more Report Models
may be built or deployed
Build and deployment Status
Viewing Report Models in Report Manager
Report Models can bee seen in
Report Manager assuming
appropriate security settings
Launch Report Builder to
develop ad hoc reports using the
Report Models we have created
Give me a Break!
Reporting Builder
Launching Report Builder
Report Builder Automatic Install
Create Report Options
Data Source – Using Report Models
Design a Query
Simple Filter for Inpatients
Viewing Query Results
Defining the Matrix – Adding Groups
Layout Options & Group Drilldown
Style Options
Completed Wizard Output
Running the Report
Report Builder’s
Environment (IDE)
IDE Windows
IDE Design Toolbar
Office Button, Settings & Resources
Report Data Window
Row Groups / Column Groups
Design View Window
Status Bar
Report Data Filters
Filtering Result Data
 Report Builder provides a Filter Building Dialog Box that
simplifies the construction of report filters
 Filtering result data allows a report to contain only data
records of interest
 Reports can filter on data that is not displayed in the output
 Filters can be on field data as well as computed fields
 Filters can be statically entered in the report design or
dynamically collected through prompts during report execution
 Filter groups are available for sets of ‘OR’ statements
 Filters can be applied to the Report Query or can be applied to
the dataset returned by the Query

Query Filter (Using Wizard )
Small Balance Write-off By FC/Ins
Modifying Filters by Editing Query
Adding a Relative Date Filter
Using a fixed from/thru date range
Numeric Filter with Range
Filter with Drop-down Box
(Determined by Model)
Filtering with List (Multi-Selection)
Text Filtering
Report Output of Filtered Data
Report Parameters &
Formula Fields
Dropdown Parameter Filter
Parameter in Report Data Window
Parameter Filter as Dropdown
Single Select
Adding a Second Filter Prompt
Allowing Multiple Selections
Multi-Select Parameter Filter
Parameters use Hidden Datasets
User-Defined Formula Fields
 Formulas allow you to combine, aggregate, filter, and
evaluate both numeric and text data. You can create
formulas and save them as new fields
 All formulas are defined within the context of an entity.
This means that the formula returns a single value for
each item within the entity. For example, suppose you
create a formula within the Registration entity. The
formula returns a single value for each Visit (Registration)
 A formula can contain any or all of the following: user
created fields, functions, operators, and constants
 You will need to create fields for specific types of
information such as the count of records or the count of
any item. This is not something that can be pre-populated
 From and through date ranges will need to be created if
you want to set those values as a prompt
Adding a Computed Query Field
Defining AR Age Days with a Fx()
Computed Fields in Output
Adding a Post Query Calculated Field
Formula Fields in Parameters
Adding From / Thru Date Range
Make Sure Parameter Type is Set
Date Range Prompts in Report
Dataset Based Filters
Report Comparing Two Data Fields
Formatting and Layout
Users Have Great Flexibility in
Report layout and Formatting

 Data Type Formatting
 Placement
 Alignment
 Borders
 Fill
 Images
Text Box Formatting
Report Title Formatting
Date Data Type Formatting
Layout Options (col. Widths, page #, more)
Layout Options Output
Setting Property Based on Values
Images and Conditional Formatting
Group Features
Report Grouping
 Report Grouping allows data to be
aggregated “by” some grouping
 Grouping is typically by a value (e.g.,
Insurance, Facility, Provider) or by a
component of the time domain
(admissions by month, revenue by quarter)
 Report Builder allows for Group Headers
and Group Footers to be added to a Report
 Grouping can be added as columns (in a
typical tabular report, or as Rows in a
cross-tap (or pivot table) report

Add Facility to Census Report
Group Methods and Properties
More Group Properties
Page Break with Each New Location
Tablix Member Properties
Advanced Mode – Static Fields
Repeating Report Title on Pages
Adding a New Facility Group
Splitting & Merging Text Boxes
Grouped By Facility
Charts & Maps
(Time Permitting)
Example of Admissions By Month
ED Turnaround Times
Discussion, Questions & Answers
Thank You!
Acmeware Educational Sessions
 Friday 6/3, 10:00A – Replacement Session - 6.0 Custom Reports
with Data Repository and SSRS 2008, Ian Proffer presenting
 Friday 6/3, 11:00A - 372 – Basic Meaningful Use Reporting From
Data Repository, Glen D’Abate presenting
 Friday 6/3, 1:30P - 334 – Inspiring Reporting Options in the World
of 6.0, Jamie Gerardo presenting