Vice President of Business Development From MEDITECH to Data Repository to so many places… Is everything making it through? Jennifer Fortin Vice President of Business Development Blue Elm Company BOOTH 526
Agenda Data Repository: Reminder of what’s in there DR as the source for sending/reporting data Options to compare, validate and correct data in DR Types of errors and how to troubleshoot Summary / Questions
It’s an extra stop along the way of moving data Data Repository (DR) SQL based application Copy of data generated by the MEDITECH transactional environment Hierarchical to Relational database Not bound to MEDITECH purge parameters Great for long term, statistical reporting – however… It’s an extra stop along the way of moving data
Data repository is the source for: General reporting Crystal reports, SQL Server Reporting Services (SSRS) Business Intelligence / Analytics tools Meaningful Use Reporting 2011 and 2014 CEHRT Clinical Quality Measures 90 and 365 day Functional Measures reporting requirements Pay for Performance (P4P) BCA Other third party vendors
What are the options to compare data in DR? NPR and/or Report Designer reports to compare the data Application reports to compare totals against SQL SQL Script to see if/when tables are updating DR to DR MEDITECH Validation tool Other Vendor Validation tools
Using NPR and/or Report Designer reports to compare Manual Process Extract data from MEDITECH Load data into SQL tables in another database Run a comparison report between like tables Finds missing rows and discrepancies in data
Application Reports to compare totals against SQL Manual Process Run a report within an application (ie, BAR) Note total records in report Query the same data in SQL Compare totals
SQL Script Manual Process Create a Query to check the RowUpdateDateTime Every DR table contains RowUpdateDateTime Used to determine the last time a table was updated
DR to DR Using the calculated data in DR to verify the data being used for those calculations in DR Examples: Using BAR month end data to verify the transactional data in BAR is complete Using ADM midnight run stats to determine if any ADM data in DR is missing Using data in one application to verify another – ie, comparing demo data in ABS, ADM, MRI and BAR
MEDITECH and Other Vendor Validation Tools Things to consider: Speed Ability to find discrepancies within ROW and COLUMN data Ability to conduct 100% sampling Ability to work with all platforms Algorithms used to identify discrepancies
Reasons for DR errors and how to research/resolve - Transfer, Capture and Timing Issues MEDITECH vs. SQL MEDITECH APPLICATION SIDE Programming Processing Data
Reasons for DR errors -MEDITECH APPLICATION SIDE Programming issues User changes data, DR not updated Financial Example: Close Day process fails Call to MEDITECH, programmer identifies corrupt charges from a new 3rd party billing interface BAR Programmer corrects from MT front end, forces Close Day to complete. These changes would not be sent to DR!
Reasons for DR errors - MEDITECH APPLICATION SIDE Programming issues User changes data, DR not updated Clinical Example: EDM Tracker Board enhancement released Uh-oh – during the redesign process the developers weren’t aware of the EDM to DR integration After receiving the enhancement, many DR EDM tables stopped receiving updates Initial Loads would be required once the EDM to DR integration pieces were restored
How to research programming issues = error log
Reasons for dr errors - MEDITECH APPLICATION SIDE Processing issues Jobs crash, invalid output produced File server out of space, networking issues
How to research processing issues: View Transfer job status Check MIS alerts Pending Activity viewer
Reasons for dr errors - MEDITECH APPLICATION SIDE Data issues Data doesn’t meet SQL requirements – won’t be stored correctly Example: PP.BANK.transit.number stores bank account routing numbers in payroll (defined by MT as INT type) SQL integer represents an actual quantity (number) so will remove leading zeros (ie, 0000123 to 123) DR will then contain values like 123 and 456 in the PpBank table, TransitNumber column This will never report as an error/exception!
Reasons for DR errors - MEDITECH APPLICATION SIDE Data issues Data doesn’t meet SQL reqs – Can’t be stored in DR Example: MEDITECH maps a GL NPR element, GL.BATCH.init.date.time as a DATETIME datatype in SQL User has option of entering valid datetime or “U” for Unknown GL batch data filed with a valid datetime will be sent to SQL Data filed as “U” for Unknown will fail to populate the DR SQL table
How to research data issues = Error log:
HOW TO RESEARCH DATA ISSUES = Exception log:
Reasons for dr ERRORS – SQL SIDE MEDITECH SQL Server Hardware
Reasons for dr errors - SQL SIDE MEDITECH side ODBC library is failing
Reasons for dr errors - SQL SIDE MEDITECH side DR Manager service is non-operational
Reasons for dr errors – SQL side SQL Server SQL Server service not running, SQL transaction log full Locks causing updates to timeout
Reasons for dr errors – SQL side SQL Server Various SQL Errors
Reasons for dr errors – sql side Hardware issues Machine is out of resources or crashed
How to check DR ERRORS – SQL SIDE MEDITECH Is DR Manager service running? MT Background Job daemon? SQL Server Monitor SQL Hardware Issues Monitor server Tables Run SQL queries (RowUpdateDateTime, etc.)
Correcting data in DR You found discrepancies! Now what? Report them back to DR group at MEDITECH for correction OR…
Run your own Initial Load (SPIL)! Pros – Correct your own data! Cons – Usually a Band-Aid. DR will again be inaccurate If the problem is data related it won’t fix the issue
Special initial loads (SPIL’s) This is the M-AT version but it exists in C/S too.
A few other ideas about data importance… Remember that it’s difficult/impossible to deal with data accuracy problems after MEDITECH has purged/archived “We’re not using this data now” But you’ll want it to be accurate when you DO need it… The “butterfly effect” Small problems in the data can result in big problems when it’s aggregated
DR will be the source for everything! Anything that gathers large volumes of data for reporting to government agencies and otherwise will come from Data Repository
What I hope you take away from this session The importance of accurate DR data A general understanding of where errors can occur when data is transferred from the MEDITECH applications to DR Some basics regarding how to troubleshoot these discrepancies Options available to compare, validate and correct discrepancies
Questions? Thank you!