Download presentation
Presentation is loading. Please wait.
Published byHarriet Bryant Modified over 9 years ago
1
A Prescription Cost Outlier Detection Tool Richard Pham., PharmD, MS 1 ; Joy Meier, PharmD 1,2 ; Bob Coleman, RPh, MSc 1 ; Jan Carmichael, PharmD 1 1 Veterans Integrated Service Network (VISN) 21 Pharmacy Benefits Management ; 2 Pharmacy Service, Northern California Health Care System (NCHCS) Abstract Objectives Results Conclusions BACKGROUND: Maintaining accurate drug expenditure records is a requirement from VACO PBM. This is difficult, because VistA Drug Accountability programs load invoice prices at the time of medication order and recite from suppliers. VistA does not update the price at the time of dispense, so any changes to the drug price between ordering and dispensing are not taken into account nor are inventory prices averaged. This difference can be substantial, so a tool was developed at VACO PBM to help address this problem. The Rx Cost Update program, can be run on VistA to update drug prices to correct incorrect pricing due to changes in price between ordering and dispensing a prescription. This solution is labor-intensive and is hard to perform in a timely fashion before monthly cost tracing data is uploaded to National PBM. In addition, it does not accuratately reflect the pricing of the 85% of prescription fills done by the Consolidated Mail Outpatient Pharmacy (CMOP). In addition to maintaining accurate drug expenditure records, the VISN PBM is charged with enforcing compliance with procuring the lowest cost product on contract for a given drug entity. While the VACO PBM data is good for tracking data historically, problems identified with procurement may be out-of-control by the time this data updates. VISN 21 needed a faster process for identifying procurement issues and incorrect price entries. OBJECTIVE: Build a user-friendly and intuitive report to find possible pricing discrepancies in the VISN 21 Prescription File from OI&T Region I prescription data. RESULTS/DISCUSSION: VISN 21 has improved their prescription files to reflect current pharmaceutical expenditures minimizing data defects from other processes. Our local sites could compare prices against peers at the station, VISN, Region, and National levels to track down price discrepancies. CONCLUSION: This tool is a low-cost, intuitive method to monitor VistA for accurate drug prices. This tool has made targeting drug cost updates to be more efficient. Because of the availability of prescription data in the Corporate Data Warehouse, this methodology can be extended to the rest of the country for use in tracking high cost prescriptions and pricing discrepancies. Background Methods SQL Server 2008 (Daily) Monthly Extraction and Transformation VISTA SQL Server Reporting Service (RDW) Multi-dimensional Data SQL Server 2008 SharePointPerformance Point VISN 21 Clinical Data Warehouse VA PBM Fiscal Performance Measures VistA - Rx Cost Update Need for more timely corrections to the prescription file To build a daily updating report that tracks high drug prices for each station within VISN 21 with exportability to Region I. To allow users to quickly compare their own drug prices with those of their peers to ensure accurate drug file costs. Vista File and Field Numbers Needed Access Dashboard in CPRS Median Calculation A Prescription Cost Outlier Tool is useful in identifying cost discrepancies in the prescription file. Easily scalable and distributable to VISNs in Region I and IV (VISNs 1-5 and 18-22) VistA Column FileField Ending Pointer ColumnData Type Number526 File 50/Field 0.001 NationalDrugIENNumeric Current Unit Price of Drug 52.11.2 File 52.1/Field 1.2 UnitPrice Numeric, Money Generic Name 526 Field 50/Field 0.01 LocalDrugNameWithDoseVarchar(250) Released Date/Time 52.117 Field 52.1/Field 17 ReleaseDateTimeDateTime Sta3n590.06 File 59/Field 0.06 Sta3nNumeric VISN Imputed from VAST VISNNumeric Outpatient Site 528 File 59/Field 0.01 PharmacySiteNameVarchar (20) RegionImputed from VAST RegionNumeric. /* Median Price - Nation */ SELECT NationalDrugIEN, AVG(UnitPrice) AS NationMedianPrice INTO Nation.MedianPrice FROM ( SELECT NationalDrugIEN, UnitPrice, ROW_NUMBER() OVER ( PARTITION BY NationalDrugIEN ORDER BY UnitPrice ASC, NationalDrugIEN ASC) AS AscPrice, ROW_NUMBER() OVER ( PARTITION BY NationalDrugIEN ORDER BY UnitPrice DESC, NationalDrugIEN DESC) AS DescPrice FROM Nation.DrugCostReport WHERE UnitPrice <> 0 AND NationalDrugIEN IS NOT NULL ) AS A WHERE AscPrice IN (DescPrice, DescPrice - 1, DescPrice + 1) GROUP BY NationalDrugIEN ORDER BY NationalDrugIEN How This Works 1. First, rank by each NationalDrugIEN by UnitPrice in BOTH ascending and descending orders. SELECT NationalDrugIEN, UnitPrice, ROW_NUMBER() OVER ( PARTITION BY NationalDrugIEN ORDER BY UnitPrice ASC, NationalDrugIEN ASC) AS AscPrice, ROW_NUMBER() OVER ( PARTITION BY NationalDrugIEN ORDER BY UnitPrice DESC, NationalDrugIEN DESC) AS DescPrice FROM Nation.DrugCostReport WHERE UnitPrice <> 0 AND NationalDrugIEN IS NOT NULL This is the tricky part; the rows that are of interest to find the median are the ones where the ascending and descending rows exactly match, the ascending row matches the descending row lagged by 1, and when the ascending row matches the descending row leading by 1. There are three values specified, but the calculation actually can only end up with one or two rows depending if there are an even or odd number of UnitPrices for the NationalDrugIEN. Even Rows: If the number of prices is even for a given drug, then it will take the average of the ascending row matched with the lag and leading descending rows. There is never a case where the AscPrice = DescPrice. NationalDrugIENPriceAscPriceDescPrice Used In Median Average Calculation 1$114No 1$223Yes 1$332Yes 1$441No Mean and Standard Deviation Calculation Odd Rows: If the number of rows is odd for a given drug, then it will take the “average” of the one entry where the entries are equal. As you can see, there is never a chance for a situation where a lagged or leading descending row would be 1 away from a ascending row. NationalDrugIENPriceAscPriceDescPrice Used In Median Average Calculation 1$115No 1$224No 1$333Yes 1$442No 1$551No /* /*Mode Price - Nation */ SELECT NationalDrugIEN, UnitPrice AS NationModePrice, NationModeNumberofPrescriptionsAtPrice, NationModeTotalDispensingUnits INTO Nation.ModePrice FROM ( SELECT *, ROW_NUMBER() OVER(PARTITION BY NationalDrugIEN ORDER BY UnitPrice) AS UnitPriceRank FROM ( SELECT *, RANK() OVER(PARTITION BY nationaldrugien order by NationModenumberofprescriptionsatprice DESC) as ModeRank from ( select distinct nationaldrugien, unitprice, COUNT(*) AS NationModeNumberofPrescriptionsAtPrice, SUM(qtynumeric) AS NationModeTotalDispensingUnits from Nation.DrugCostReport where NationalDrugIEN is not null and unitprice <> 0 group by NationalDrugIEN, UnitPrice) AS ModeTable ) AS ModeRankTable WHERE ModeRank=1 ) AS UnitPriceTable WHERE UnitPriceRank=1 How This Works The mode is the hardest function to write in SQL. To calculate the mode, one has to: 1.For each distinct drug entity, find the drug prices and how many times it occurs. 2.Rank each of them and take the entry (entries) with the most occurrences 3. To break ties, take the highest price. /*Average and Standard Deviation - Nation */ SELECT NationalDrugIEN, CAST (AVG(UnitPrice) as numeric (9,2)) AS NationalAveragePrice, cast(STDEV(UnitPrice) as numeric (9,2)) AS NationalStandardDeviationFromAveragePrice, cast(AVG(UnitPrice) - STDEV(UnitPrice) as numeric (9,2)) AS NationalLowerRange, cast(AVG(UnitPrice) + STDEV(UnitPrice) as numeric (9,2)) AS NationalUpperRange INTO Nation.AveragePrice FROM Nation.DrugCostReport WHERE UnitPrice <> 0 GROUP BY NationalDrugIEN How This Works The AVG function calculates a mean. The STDEV function calculates a standard deviation. The LowerRange is a marker for a drug price that is notably lower than the mean price. The UpperRange is a marker for a drug price that is notably higher than the mean price. The GROUP BY function calculates this average for each unique NationalDrugIEN. Mean and Standard Deviation Calculation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.