recognize and prevent medication diversion pyxis and meditech data jamie mcdonald

25
Recognize and Prevent Medication Diversion Pyxis and Meditech Data Jamie McDonald

Upload: myrtle-knight

Post on 17-Dec-2015

225 views

Category:

Documents


1 download

TRANSCRIPT

Recognize and Prevent Medication Diversion

Pyxis and Meditech Data

Jamie McDonald

Proactive Diversion Report allows the facility to view controlled

medication activity

Topics Primary objective Technical issues Data decisions Reports developed

Primary Objective

Monitor controlled medications withdrawals and administrations

to identify possible diversions before it gets out of hand

Items to Resolve

Archive Files from Pyxis (technical issues) Automate the archival process Automate the process of importing Pyxis data

into the Data Repository

Measuring the data (data issues) What method of measurement? How are we going to display the data?

User names that don’t match in Pyxis and MT

Automating Pyxis Archive Solution

We have a PC that has the location of the Pyxis Archive Files mapped to the W drive \\172.20.100.63\f$\v4\maintain\archives\

We move the Pyxis Archive Files to a network folder.   “S:\Pharmacy\PyxisNT\”

At 5am each day, the files are moved from one location to another.  This is accomplished using Window’s Task Scheduler and a batch file.  “CopyPyxisArchiveData2NetworkFolder.bat”

The batch file command is made up of one line of text.  “move w:\*.* s:\Pharmacy\PyxisNT\”

PyxisMedTransactions Data Import

Task: Automate the moving of data from daily files

(through yesterday) into database tables.

Wrinkles: "Daily" files are moved by a human to their folder.

Which means yesterday's file may not have been moved into the folder yet today.

Perhaps more than just yesterday’s file may not have been moved into the folder (vacations happen).

This automated daily job may not have run yesterday for some reason.

PyxisMedTransactions Data Import

Solution Algorithm: Givens:

File has name of mmddyy.PYX and will always be in the same folder.

General Solution: Generate all filenames holding data – starting with

the last date this automated job ran through yesterday.

Pull data from all those files and insert into a table in the DR.

PyxisMedTransactions Data Import

Start

Generate today’s filename

Any Missing

FilesFound?

Done Move Missing Filename to

“Found” table

Run DTS to pullFilename from “Found” table,Move data from“Found” File to

“Today’s-run” table

Update “Today’s Run”

table

Copy “Today’s-Run”Table to Final

Destination table

NoYes

Algorithm Schematic

PyxisMedTransactions Data Import Specific Algorithm:

1. Create a Stored Procedure that will generate all possible filenames from the last date

this automatic job was run through yesterday to be sought in the folder and insert the names into a "Missing" table in the database.

To do the above, we pull the “Last Date" that the "Missing" filenames were generated from the Final Destination table.

Start date for generating the "Missing" filenames is the last date they were generated + 1 day.

If the date for the filename we just generated is not yesterday, insert the filename into the “Missing” table and continue generating the next filename by adding 1 day to that last filename.

PyxisMedTransactions Data Import

Specific Algorithm (continued)

2. Create a Stored Procedure to see if any file in the "Missing" table is now in the folder, if so then move the filename from the “Missing” table to the “Found” table (remove the filename from the “Missing” table).

PyxisMedTransactions Data Import

Specific Algorithm (continued)

3. Create a DTS that walks down the “Found” table to import the data from the filenames obtained from the “Found” table until no more filenames are left in the “Found” table.

DTS pulls the top filename from the "Found" table and stores in a global variable.

If no filename is found (“Found” table is empty) then skip move data step otherwise set DataSource to be the global variable.

Move Data from DataSource to “Today’s-run” table. Delete the top filename from the "Found" table. If “Found” table is not empty loop to first step of DTS. "Found" table is empty – DTS returns success result.

PyxisMedTransactions Data Import

Dynamically set global variable filename from top of “Found” table for use by Connection1.

Move data from the Connection1 DataSource file to “Today’s-run” table in the database.

Update “Found” table. If more filenames in “Found” loop back to set global variable else report successful completion.

The DTS workhorse…

If “Found” table is empty we will skip Transform Data Task. Else reset DataSource for Connection1 to be global variable filename.

PyxisMedTransactions Import Data

Specific Algorithm (continued)

4. Create a stored procedure to update a couple of columns in the "Today's-run” table (per

customer request).

5. Create a stored procedure to copy all "Today's-run" table data to final destination table if it exists.

Whether there is data in “Today’s-run” table or not, update “Last Date” field in final destination table to be today’s date.

PyxisMedTransactions Import Data

Finish automating the task by creating a job with these 5 steps and schedule it for nightly run.

User Names…..

Issues Table has to be maintained by

pharmacy and IT. Current Maintenance

Communication between PHA on Pyxis user id changes and Monitor Meditech user name changes.

What did we do?Created a table that maps all Meditech UserID’S and Pyxis UserID’S that are not the same

General Data Decisions

Use statistically significant data to determine outliers

Display Meditech data along with Pyxis transaction data.

All transactions performed in Pyxis for a particular medication and location

Summary of transactions per patient and medication.

• Proactive Diversion Report, main reportParameters passed (data range, location, medication)

• Patient Details by Nurse - drill down report(1)Parameters passed (date range, nurse, medication)

• Patient Details by Medication - drill down report(1a)Parameters passed (account number, medication)

• Pyxis Transactions by User - drill down report(2)Parameters passed (date range, nurse, medication)

• All Medications for Nurse and Selected Date Range - drill down report

(3)Parameters passed (date range, nurse)

Reports Developed

Report on Report Manager View

Dropdown selection for a single

medication or all

Dropdown for all locations or a specific

department

The Statistics show the number of days a nurse withdrew a medication for a location, the number of doses, the

number of patients, the doses per day, and the standard deviation of the doses per day along with the total

withdrawals from Pyxis and the total administrations in Meditech

Exported View of Diversion Report

1. Drill down on patient count

3. Drill down on

user name

2. Drill down on count of

Days

(1) Drill down on Patients from Main Report

1-a. Drill down to patient account for all user transactions for this medication

( 1 a) Drill down on patient from Patient Details by Nurse

Displays all medication withdrawals, cancellations, wastes, and administrations

(2) Drill down on Days from Diversion Report

Displays all transactions out of Pyxis for selected Date Range and Medication for the user

(3) Drill down on user name from Diversion Report

Calculates stats for all controlled medications for the user and selected date range.

Other reports options not shown

• Automated time period (last 30 days)

• Email to Nurse Managers weekly• Set of a reports to monitor high

dollar medications

Thank you for attending!

Acmeware Inc.Jamie McDonald781-329-4300 ext. [email protected]