260 likes | 470 Views
Keeping your Data Repository in Top Health. By: Ian Proffer MUSE Session 359. About the Presenter & Acmeware. This is our 10 th year at MUSE! Acmeware’s founder led the development of the DR while working at MEDITECH We work exclusively with the MEDITECH DR
E N D
Keeping your Data Repository in Top Health By: Ian Proffer MUSE Session 359
About the Presenter & Acmeware • This is our 10th year at MUSE! • Acmeware’s founder led the development of the DR while working at MEDITECH • We work exclusively with the MEDITECH DR • We have a friendly (and valued) relationship with MEDITECH • Ian Proffer • 15 years in IT, specializing in relational databases • 6+ years in healthcare, including MEDITECH C/S (Jefferson Healthcare) and Harborview Medical Center in Seattle
Session Agenda • SQL Server administration and maintenance • System-level and database monitoring • Data validation and auditing • Opening and tracking service issues with MEDITECH • Streamlining operational support • Discussion, questions and answers
Some questions about your DR • Is your database being maintained? • Are the data transfers running? • Does the data match what’s in MEDITECH? • How much time do I have to spend doing this? • Note: Meditech screenshots are C/S 5.54
SQL Server database maintenance • Database backups – a complete database backup of livedb should be done daily; transaction log backups are not necessary • Data integrity checks (DBCC CHECK DATABASE) data optimization (DBCC DBREINDEX) should be done at least weekly
System monitoring in MEDITECH First, check to see if the transfers are working…
System monitoring in MEDITECH using the View Status routine…
System monitoring in MEDITECH …and the View Pending Activity routine. Select your applications, (F9 lookup) or use ALL… …and view the results.
System monitoring in MEDITECH Going through a new implementation or ring release?
System monitoring in MEDITECH Check the status and see what’s up. BAR is still running…
System monitoring in MEDITECH The View Distinct Errors and View Errors routines What’s the difference?
System monitoring in MEDITECH View Errors - specify your applications using F9 lookup, or use ALL… …let’s narrow the search results.
System monitoring in MEDITECH View Distinct Errors - specify your applications using F9 lookup, or use ALL… Press down arrow to scroll through (up and down) the list…
System monitoring in MEDITECH …and right arrow to get more error detail. OK, now what? Let’s do something with this error log. Put a “P” here to print…
System monitoring in MEDITECH Download the file… …and open it when you’re done.
Checking for recent table updates You can manually check each table too… • Use the RowUpdateDateTime flag to determine when a table was last updatedSELECT MAX(RowUpdateDateTime)FROM AdmVisits AS LastUpdate
Data validation and auditing Why do it? • To provide confidence in your DR data and reports • You can do it manually… • Compare your DR reports to standard or custom NPR reports in MEDITECH • Use NPR Report Writer to save DPM subscripts to a file, import the file into a SQL table, write a procedure that compares your table against the SQL table from MEDITECH • …or you can buy software to do it for you. • DrAuditor by Blue Elm Software
DrAuditor • Validates primary key rows and column values • More efficient and accurate then manual audits
Opening service issues with MEDITECH www.meditech.com/customerservicehome.htm
Opening service issues with MEDITECH Some things to remember: • Submit new issues regularly (at least weekly) • Update existing issues as necessary (if the nature of a particular error message changes, for example) • Use this subject line format: 5.54.6 MriPatientVisits – Missing Primary Key • Include the error log output and other symptoms, e.g. error frequency, etc. • Review open service issues regularly; Meditech will request customer permission before taking any corrective action
Making it a little easier So what do I do with this?
Making it a little easier How we manage error logs and submit issues to MEDITECH: • The AcmeErrorManagement database • Imports error log .txt files using DTS • Parses each error into a table while eliminating extraneous rows (blank lines, page breaks) • Checks for existing tasks and DTS patches and updates new errors if they’ve already been reported • Builds a “worklist” of new errors that need to be evaluated and submitted to MEDITECH • Allows us to see common errors (and DTSes) across all our clients, helping MEDITECH resolve issues faster • Allows us to summarize and report DR error activity back to our clients
Making it a little easier How we leverage RowUpdateDateTime: spGetTableStatistics
Making it a little easier Is a table receiving updates as frequently as we expect? • AcmeMonitor examines specific tables for RowUpdateDateTime within user-defined timeframe and alerts via email when tables are out of sync
Making it a little easier What about ring release updates? • Make a list of all tables used for reporting • List all stored procedures, views and function that use these tables • Note all Meditech DTS’s that affect these tables, looking for column name changes, table name changes, etc. • Compare the schema of tables in the livedb against the testdb • Third party tools like SQL Compare, SQL Delta, etc.