Guide with complete solution
Caboodle Dictionary
Basic metadata for tables. Find Descriptions of tables and columns available in data
model. Identify tables that can be linked together.
Caboodle Dictionary Editor
In depth view of Caboodle ETL packages and data lineage. Shows Clarity tables data
that extracted from when populating tables, which ETL packages are used by Caboodle
tables and dependencies amongst the tables in Caboodle.
Caboodle Executions
Where Caboodle administrators can create, edit, run and monitor executions. Can be
used to schedule recurring executions.
Caboodle Workqueues
Logs the different types of issues that can occur during the ETL process that require
manual intervention to resolve.
Caboodle configurations
modify settings, perform customizations such as adding attributes to the data model and
view reports related to Caboodle configuration and operation.
Caboodle BI Developers
write Caboodle reports and should have access to the Caboodle Dictionary on the
Console. Dictionary provides table descriptions, data lineage for tables and columns
and foreign key information. BI Developers should be familiar with Caboodles
dimensional data model and at least one area of healthcare reportings such as revenue
or clinical reporting.
Caboodle Administrators
have access to all activities on the Caboodle Console. Administrators monitor
executions, troubleshoot work queue errors and establish system level configurations.
Caboodle ETL Developers
create custom EPIC and n on Epic content for extraction into the data warehouse,
document their work in the dictionary editor and test their work using the ETL tools
available in the console. Custom development notes and documentation relevant to
report writers will be visible in the dictionary.
Why use Caboodle
Accessibility, Efficiency and fewer tables and simpler joins.
SSIS package
SQL Server Integration packages : Data is extracted from source systems (Clarity)
transformed in the staging database and presented for users in the reporting database.
DMCs
Data Model Components
Data Model Compenents
collection of metadata tables that support the ETL process and reporting views stored in
the FullAccess schema.
DMC type and suffixes
, Each DMC gets a type and suffix. Dim for dimensions, Fact for facts, Bridge for bridges,
Datamart for data marts, AttributeValueDim for EAV tables, X for custom tables
Caboodle Star Schema
where one central fact table will join to many associated lookup or dimension tables.
Dimensional Data Model
This structure intentionally makes some compromises to the normalized data model
used by Clarity in order to facilitate report writing. The trade off is that it requires more
complicated ETL process to maintain.
Caboodle consists of a reporting database and a staging database
dbo
Staging database: import tables and mapping tables live here. Used by administrators
for moving data into Caboodle. Reporting Database: dbo schema stores reporting data
and acts as the data source for SlicerDicer. Caboodle Dictionary reflects the contents of
the dbo schema
EPIC
Staging Database: Epic schema on the staging database contains the _IdLookup
tables, which map source IDs to system-generated Caboodle primary keys in the
reporting database. Reporting Database: Prior to Epic 2018 this schema stored the
tables used by the SlicerDicer patients data model.
FullAccess
Staging Database: The FullAccess schema does not exist on the staging database
Reporting Database: The FullAccess schema houses view that timplify reporting.
FullAccess should be your default schema when reporting.
DMC
Data Model Components
Business Key
Indentifier: combination of columns that identify records
Data Lineage
A precise technical explanation of where data in a package is extracted from in a source
database.
Durable Key
An identifier for a record in Caboodle shared across rows for the same record. Example
a single patient record might have multiple rows associated with it in Patient Dim. Each
row has the same durablekey to make it easy to find all rows associated.
Foreign Key
the primary key for a row in a different able in Caboodle, used to link two tables
together.
Foreign keys have referential integrity
Foreign key columns never contain null or unmatched values.
-1 foreign key value
the foreign key is unspecified in source system
-2 foreign key value
when a foreign key doesnt apply for a certain row, it is unapplicable. Example the
admitting provider for hospital encounter, professional accounts wouldnt have an
admitting provider
-3 foreign key value