U.S. Department of Health & Human Services 
Office of Inspector General 
 
 
Toolkit:  
Using Data Analysis To Calculate 
Opioid Levels and Identify 
Patients At Risk of Misuse or 
Overdose 
 
June 2018 
OEI-02-17-00560 
Jan  June 2018  U.S. Department of Health & Human Services 
OEI-02-17-00560 
Office o f Inspector General 
 
 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and 
Identify Patients At Risk of Misuse or Overdose 
What is the toolkit? 
This toolkit provides detailed steps for using prescription drug claims data to analyze patients 
opioid levels and identify certain patients who are at risk of opioid misuse or overdose.  It is based 
on the methodology that the Office of Inspector General (OIG) has developed in our extensive 
work on opioids.   
This new OIG product provides highly technical information to support our public and private 
sector partners, such as Medicare Part D plan sponsors, private health plans, and State Medicaid 
Fraud Control Units.  It is intended to assist our partners with analyzing their own prescription drug 
claims data to help combat the opioid crisis.   
Why did OIG create the toolkit? 
Opioid abuse and overdose deaths are at epidemic levels in the United States.  As one of the lead 
Federal agencies fighting health care fraud, OIG is committed to supporting our public and private 
partners in their efforts to curb the opioid epidemic.  These partners include Medicare Part D plan 
sponsors, other private health plans, State Medicaid Fraud Control Units, State prescription drug 
monitoring programs, and researchers.  They can use this toolkit to analyze claims data for 
prescription drugs and identify patients who may be misusing or abusing prescription opioids and 
may be in need of additional case management or other followup.  This toolkit can also be used to 
answer research questions about opioid utilization.   
OIG most recently analyzed opioid levels in the data brief Opioid Use in Medicare Part D Remains 
Concerning (OEI-02-18-00220), which is being released alongside this toolkit.  The data brief 
identified about 71,000 Part D beneficiaries who were at serious risk of misuse or overdose.  Some 
of these beneficiaries received extreme amounts of opioids.  Others appeared to be doctor 
shopping, i.e., receiving high amounts of opioids from multiple prescribers and multiple 
pharmacies.  The analysis identified beneficiaries who are at risk by calculating their opioid levels 
using Part D prescription drug data.   
What does the toolkit include? 
This toolkit provides steps to calculate patients average daily morphine equivalent dose (MED), 
which converts various prescription opioids and strengths into one standard value.  This measure is 
also called morphine milligram equivalent (MME).  The toolkit includes a detailed description of the 
analysis and programming code that can be applied to the users own data.  The resulting data can 
be used to identify certain patients who are at risk of opioid misuse or overdose.  Users can also 
  modify the code to meet their needs, such as identifying patients at varying levels of risk.  The 
toolkit includes the following three chapters: 
 
1.  Analysis of Prescription Drug Claims Data  
2.  Explanation of the Programming Code To Conduct the Analysis 
3.  Programming Code  
 
 
 
  BACKGROUND 
In 2016, there were over 63,000 drug overdose deaths in the United 
Statesan average of 174 deaths each day.1  Two-thirds of these deaths
over 42,000involved opioids.  In addition to the risk of death from 
overdose, opioids carry a number of other health risks, including respiratory 
depression, confusion, increased drug tolerance, and physical dependence.  
Identifying patients who are at risk of misuse or overdose is integral to 
curbing this epidemic.  
OIG has made fighting the opioid epidemic a top priority, forming 
a multidisciplinary team dedicated to protecting beneficiaries from 
prescription drug abuse and misuse.  As a part of its efforts, OIG has 
conducted extensive data analysis, which is the basis of this toolkit.  OIG 
developed this toolkit to provide detailed steps for using data from 
prescription drug claims to analyze patients opioid levels and identify 
certain patients who are at risk of opioid misuse or overdose.  The toolkit is 
intended to assist our partnerssuch as Medicare Part D plan sponsors, 
private health plans, and Medicaid Fraud Control Unitswith analyzing their 
own prescription drug claims data to help combat the opioid crisis.   
OIG most recently analyzed opioid levels in the data brief Opioid Use in 
Medicare Part D Remains Concerning (OEI-02-18-00220), which is being 
released alongside the toolkit.2  This data brief found that nearly one in 
three Medicare beneficiaries received an opioid in 2017. 3  It also identified 
71,000 beneficiaries who were at serious risk of opioid misuse or overdose.  
This included almost 58,000 beneficiaries who received extreme amounts of 
opioids for the entire year and about 15,000 beneficiaries who appeared to 
be doctor shoppingi.e., they received high amounts of opioids from 
multiple prescribers and pharmacies.  See Exhibit 1 on the following page. 
Patterns like these raise concern and warrant further scrutiny.  They may 
indicate that a patient is receiving poorly coordinated care and requires 
additional case management.  They may also indicate that a patient is 
addicted to opioids and at risk of overdose.  Alternatively, they may indicate 
that a patient is receiving medically unnecessary drugs, which could be 
diverted for resale.   
For this analysis, we identified beneficiaries on the basis of each patients 
average daily morphine equivalent dose (MED), which is also known as 
morphine milligram equivalence (MME).  MED is a unit of measurement that 
 
________________________________________ 
1 CDC, Data Brief 294. Drug Overdose Deaths in the United States, 19992016, Accessed at 
https://www.cdc.gov/nchs/data/databriefs/db294_table.pdf#page=1 on February 23, 2018.    
2 OIG, Opioid Use in Medicare Part D Remains Concerning (OEI-02-18-00220), June 2018.   
3 Ibid. 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  1 
OEI-02-17-00560  converts various prescription opioids and strengths into one standard value.  
The Centers for Disease Control and Prevention (CDC) recommends that 
physicians consider a patients MED level when prescribing opioids.  
Specifically, CDC recommends that when prescribing opioids to patients 
with chronic pain, prescribers use caution at any dosage, carefully consider 
any increases in daily dosages to 50 mg MED or more, and avoid increasing 
daily dosages to 90 mg MED or more.4 
 
Exhibit 1:  Opioids in Medicare Part D, 2017 
Nearly one in three Medicare Part D beneficiaries received 
a prescription opioid  
  In total, 14.1 million beneficiaries received opioids.  
Almost 460,000 beneficiaries received high amounts of opioids in 
2017 
  Each of these beneficiaries had an average daily MED greater 
than 120 mg a day for at least 3 months and did not have 
cancer or a hospice stay in 2017. 
Almost 71,000 beneficiaries are at serious risk of misuse or 
overdose 
  58,000 beneficiaries received extreme amounts of opioids.  Each 
had an average daily MED that exceeded 240 mg for the entire 
year.  This amount is more than two and a half times the dose 
that CDC recommends avoiding.   
  15,000 beneficiaries appear to be doctor shopping.  Each 
received a high amount of opioids (an average daily MED of 
120 mg for at least 3 months) AND had four or more prescribers 
and four or more pharmacies in the year. 
  None of these beneficiaries had cancer or were in hospice care 
in 2017. 
Source:  OIG, Opioid Use in Medicare Part D Remains Concerning (OEI-02-18-00220), June 
2018.   
 
Like OIG, CMS uses MED to identify Part D beneficiaries who are at high risk 
of overutilizing opioids and may be in need of case management.5  This is 
 
________________________________________ 
4 CDC, CDC Guideline for Prescribing Opioids for Chronic PainUnited States, 2016.  
MMWR Recomm Rep, March 18, 2016.  Accessed at https://www.cdc.gov/mmwr/volumes/ 
65/rr/rr6501e1.htm on January 16, 2018.  Also see CDC, Calculating Total Daily Dose of Opioids 
for Safer Dosages.  Accessed online at https://www.cdc.gov/drugoverdose/pdf/ 
calculating_total_daily_dose-a.pdf on February 14, 2018.  
5 CMS uses the term MME to refer to MED.  As noted earlier, they are equivalent. 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  2 
OEI-02-17-00560  the focus of CMSs Overutilization Monitoring System.  CMS shares a list of 
these beneficiaries with Part D plan sponsors on a quarterly basis.  Sponsors 
are instructed to conduct reviews of these beneficiaries to determine which 
beneficiaries require greater oversight or coordination of care. 
This toolkit provides steps to calculate patients average daily MED and 
gives a detailed description of the analysis and SAS programming code that 
can be applied to the users own data.6  Users can modify the code to meet 
their needs, such as identifying patients at varying levels of risk.  The toolkit 
includes the following three chapters:  (1) Analysis of Prescription Drug 
Claims Data; (2) Explanation of the Programming Code To Conduct the 
Analysis; and, (3) Programming Code.   
Standards  
This study was conducted in accordance with the Quality Standards for 
Inspection and Evaluation issued by the Council of the Inspectors General on 
Integrity and Efficiency. 
 
   
 
________________________________________ 
6 SAS and all other SAS Institute Inc. product or service names are registered trademarks or 
trademarks of SAS Institute Inc. in the United States and other countries. 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  3 
OEI-02-17-00560  1.  ANALYSIS OF PRESCRIPTION DRUG DATA 
This chapter provides an overview of the steps that are needed to conduct 
the analysis.  It contains the following sections. 
Sections 
1.1  Collecting Prescription Drug Claims Data  
1.2  Merging Data for MED Calculation 
1.3  Conducting Quality Control Checks 
1.4  Reviewing Patients With Certain Conditions 
1.5  Identifying At-Risk Patients 
 
1.1 Collecting  The first step is to collect the data needed for the analysis.   
Prescription Drug 
To calculate a patients average daily MED over time, five data fields from 
Claims Data  the prescription drug claims are necessary:   
  Unique Patient Identifier 
  Prescription Fill Date 
  Quantity Dispensed, or the number of units dispensed 
  Days Supply 
  National Drug Code (NDC) 
It is also valuable to combine the MED analysis with additional patient-level 
data to further identify patients and patterns of concern.  The following two 
additional fields may be particularly helpful: 
  Unique Prescriber Identifier  
  Unique Pharmacy Identifier7  
Other data that may be helpful include patient-level medical data (e.g., data 
on diagnoses and medical services) and demographic data (e.g., date of 
birth and geographic location).  These data can be used to conduct 
 
________________________________________ 
7 The code in this toolkit includes an optional section that counts the number of pharmacies 
and the number of prescribers from which each patient received opioids.  If unique identifiers 
for either the prescribers or pharmacies are not available, that portion of the code can be 
skipped. 
 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  4 
OEI-02-17-00560  additional analyses to better understand the at-risk patient population.  
They can also be used to identifyor to exclude from the analysis
beneficiaries who have cancer or are in hospice care.   
Next, the timeframe for the analysis needs to be selected.  A timeframe of at 
least 6 months is recommended.8  In order to capture all prescriptions that 
a patient used in the timeframe, the analysis should include data for certain 
prescriptions dispensed before the timeframe.  For example, for OIGs 
timeframe of January 1, 2017, to December 31, 2017, we included 
prescriptions that had a Prescription Fill Date in 2016, but had at least 1 day 
of supply in 2017.  To identify these prescriptions, we calculated the last day 
of supply for each 2016 prescription using this calculation:  
Last day of supply = Prescription Fill Date+Days supply1 
If the last day of supply was in 2017, we included the prescription in our 
analysis. 
 
1.2  Merging Data  The next step is to merge the prescription drug data with CDCs MME 
conversion data based on NDC.  CDCs data include two fieldsMME 
for MED Calculation 
conversion factor and strength per unitthat are needed for the MED 
calculation.  In addition, if users have prescription data that include opioids 
and other types of prescriptions drugs, merging the data with CDCs data 
will identify which prescriptions are opioids.   
The MME conversion factor reflects the potency of each opioid prescription 
drug.  For example, hydrocodone has a conversion factor of 1, meaning that 
its potency is similar to that of morphine.  Hydromorphone, on the other 
hand, has a conversion factor of 4, meaning that it is about 4 times more 
potent than morphine.   
The strength per unit field contains a numeric value that indicates the 
strength of the opioid in each drug.  For example, a 30-mg tablet of 
oxycodone hydrochloride (HCl) has a strength per unit of 30.  For 
combination drugs in this analysis, the strength per unit is the strength of 
the opioid ingredient.  For example, what is called a 10-325 mg tablet of 
oxycodone-acetaminophen contains 10 mg of oxycodone and 325 mg of 
acetaminophen, so the strength per unit is 10.   
 
________________________________________ 
8 The analysis is conducted over 90-day periods; a 6-month timeframe allows the user to 
detect patterns using a substantive amount of data.  
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  5 
OEI-02-17-00560  CDC publishes these data on its website.  The data are available for 
download in both SAS and Excel versions at 
https://www.cdc.gov/drugoverdose/resources/data.html.9    
The Documentation tab in the CDCs Excel spreadsheet contains important 
information about the conversion factors.  A few things to note: 
  CDC updates the conversion factor data about once a year.  These 
updates add new NDCs and occasionally change some drugs 
conversion factors. 
  The CDCs spreadsheet excludes certain opioids, such as some 
cough and cold formulations, injectable opioids, intravenous (IV) 
opioids, and drugs not typically used in outpatient settings.  
As a result, claims for these opioids will not match with an MME 
conversion factor and will therefore need to be excluded from the 
MED analysis.   
  The CDCs spreadsheet includes buprenorphine products; however, 
in the 2017 version, CDC removed the MME conversion factor for 
these drugs.  Although buprenorphine is an opioid, a number of the 
products containing buprenorphine are indicated for the treatment 
of opioid dependence rather than pain.  (Such treatment is known as 
medication-assisted treatment.) Depending on the objectives of 
their analysis, users should consider options for how to handle 
buprenorphine products.  
  CDCs spreadsheet includes an MME conversion factor for 
methadone.  Methadone is indicated both for pain and for 
treatment of opioid addiction.  Users should determine whether 
these drugs are included in their data and then assess whether to 
include them in their analysis. 
CDCs spreadsheet also contains information (e.g., NDCs, drug names) 
for benzodiazepines, muscle relaxants, stimulants, and zolpidem.10  
These data may be helpful for additional analysis.  Benzodiazepines, for 
example, are known potentiator drugsi.e., drugs that increase the 
euphoria when mixed with opioids and increase the risk of overdose.   
 
   
 
________________________________________ 
9 The files are called Oral MMEsSAS Data File and Oral MMEsExcel Data File.  They 
can be merged using the NDC.  
10 Zolpidem is a sedative sold under the brand name Ambien.    
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  6 
OEI-02-17-00560  1.3 Conducting  Next, it is important to conduct quality control checks on the prescription 
drug claims data.  There are many ways to check for errors in the data.  The 
Quality Control 
most appropriate methods depend on the data.  Two steps that may be 
Checks  
helpful are to check for missing or zero values and to check for erroneous 
values that may impact the MED calculation.11  
Missing/Zero Values:  Missing or zero values may underestimate a patients 
average daily MED.  We addressed this issue by excluding prescription drug 
claims data that had missing or zero values for the following fields that 
affect the MED calculation:  Unique Patient Identifier, Prescription Fill Date, 
Quantity Dispensed, and Days Supply. 
Erroneous Values:  Erroneous data may cause inaccuracies in the MED 
calculation.  Users should assess their own data and determine the best way 
to identify erroneous values.  One method is to calculate the ratio of the 
Quantity Dispensed field to the Days Supply field and identify outliers.  Both 
of these fields impact the MED calculation.   
Once these outlier values are identified, it is important to review the data 
and determine the next steps.  If the outliers appear to be erroneous values, 
one way to address this is to exclude them from the analysis.  Excluding 
such values reduces the risk of inappropriately flagging some patients; 
however, it may also underestimate the amounts of opioids taken by these 
patients.   
 
1.4 Reviewing  It is important to review patient diagnosis codes and medical claims dataif 
availableto identify patients with certain conditions.  Patients at the end of 
Patients With 
their lives or those with certain conditions, such as active cancer-related 
Certain Conditions  
pain, may have different patterns of opioid use.  It may be helpful to 
exclude these types of patients from the analysis or to flag them for 
separate analysis.    
For instance, we excluded patients who were receiving hospice care.  To 
identify these patients, we looked for hospice claims in the timeframe.  We 
also excluded patients who had diagnoses of cancer.  In its Overutilization 
Monitoring System, CMS excludes patients that it identifies as having 
hospice care or a diagnosis of cancer.  The Pharmacy Quality Alliance 
provides ICD-10 codes that can be used to identify patients with cancer.12  
See Exhibit 2.   
 
________________________________________ 
11 OIG conducted a number of quality control checks.  These two steps are not a complete 
list.  
12 ICD-10 diagnosis codes became effective in October 2015.  For analysis of data 
prior to October 2015, ICD-9 diagnosis codes are needed. 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  7 
OEI-02-17-00560   
Exhibit 2:  ICD-10 Codes That Can Be Used To Identify Patients 
With Cancer 
C00C14  Malignant neoplasms of lip, oral cavity, and pharynx 
C15C26  Malignant neoplasms of digestive organs 
C30C39  Malignant neoplasms of respiratory and intrathoracic organs 
C40C41  Malignant neoplasms of bone and articular cartilage 
C43  Malignant melanoma of skin 
C4A  Merkel cell carcinoma 
C45C49  Malignant neoplasms of mesothelial and soft tissue 
C50  Malignant neoplasms of breast 
C51C58  Malignant neoplasms of female genital organs 
C60C63  Malignant neoplasms of male genital organs 
C64C68  Malignant neoplasms of urinary tract 
C69C72  Malignant neoplasms of eye, brain, and other parts of central 
nervous system 
C73C75  Malignant neoplasms of thyroid and other endocrine glands 
C7A  Malignant neuroendocrine tumors 
C7B  Secondary neuroendocrine tumors 
C76C80  Malignant neoplasms of ill-defined, other secondary and 
unspecified sites 
C81C96  Malignant neoplasms of lymphoid, hematopoietic and related 
tissue 
D37D48    Neoplasms of uncertain behavior, polycythemia vera and 
myelodysplastic syndromes 
D49             Neoplasms of unspecified behavior 
Q85.0  Neurofibromatosis (nonmalignant) 
Source:  Pharmacy Quality Alliance ICD Code Value Sets, Cancer Exclusion  
 
The next step is to select the opioid levels for review.  The resulting data can 
1.5 Identifying 
be used to identify certain patients who are at risk of opioid misuse or 
At-Risk Patients  
overdose.  Users can also modify the code to meet their needs, such as 
identifying patients at varying levels of risk.     
Depending on the purpose of the analysis, users may opt to identify 
patients at different opioid levels.  For example, if the purpose of the 
analysis is to identify patients who would benefit from additional case 
management, the user may choose an MED level that is lower than if the 
purpose of the analysis were to identify patients to be investigated for 
possible drug diversion.  A lower MED level may also be appropriate when 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  8 
OEI-02-17-00560  identifying patients who are mixing opioids with potentiator drugs, such as 
benzodiazepines.      
To identify at-risk patients in Medicare Part D, OIG used the following three 
measures: (1) patients who received high amounts of opioids (i.e., an 
average daily MED greater than 120 mg) for any 90-day period in the year; 
(2) patients who received extreme amounts of opioids (average daily MED 
greater than 240 mg) for the entire year; and (3) patients who appear to be 
doctor shopping (i.e., those with high amounts of opioids (as described 
above) AND four or more prescribers and four or more pharmacies in the 
year).  There may be other patients who are also at risk, but do not meet 
these criteria.    
OIGs third measure uses criteria similar to those that CMSs Overutilization 
Monitoring System uses to identify high-risk patients.  From 2013 to 2017, 
CMS considered patients to be high risk if they had a daily MED exceeding 
120 mg for at least 90 consecutive days and received opioids from four or 
more prescribers and four or more pharmacies in 12 months.  For 2018, CMS 
revised its criteria for identifying high-risk patients.13  It is also planning 
additional revisions for 2019.14  
After identifying at-risk patients, it is important to conduct additional 
followup.  For example, this followup may include contacting the patients 
prescriber or conducting additional data analyses to determine the best 
course of action.  
 
 
 
________________________________________ 
13 For 2018, CMS considers patients to be high risk if, during the previous 6 months, they 
have had an average MED greater than 90 mg for any period of time and received opioids 
from more than three prescribers and more than three pharmacies OR more than five 
prescribers regardless of the number of pharmacies.  Beginning in 2018, CMS also considered 
multiple prescribers with associated the same Tax Identification Number to be a single 
prescriber.  For more information, see CMS, Announcement of Calendar Year (CY) 2018 
Medicare Advantage Capitation Rates and Medicare Advantage and Part D Payment Policies 
and Final Call Letter and Request for Information.  Accessed at 
https://www.cms.gov/Medicare/Health-
Plans/MedicareAdvtgSpecRateStats/Downloads/Announcement2018.pdf on April 24, 2018.   
14 See 83 Fed. Reg. 16452 (April 16, 2018).  Accessed at https://www.gpo.gov/fdsys/pkg/FR-
2018-04-16/pdf/2018-07179.pdf on April 18, 2018. 
 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  9 
OEI-02-17-00560  2.  EXPLANATION OF PROGRAMMING CODE 
This chapter explains the SAS code.  The code uses two macros and creates 
three patient-level datasets: 
1) Overview MED datasetprovides an overview of each patients 
opioid utilization.  
2) Daily MED datasetprovides detailed daily MED amounts for 
selected patients. 
3) At-Risk MED datasetidentifies at-risk patients who had certain 
MED levels.  
Sections 
2.1  Macro To Create Overview of Each Patients Opioid 
Utilization  
2.2  Macro To Create Detailed Patient Data  
2.3  Code To Identify At-Risk Patients 
 
2.1 Macro To Create  The first macro creates the Overview MED dataset.  For each Unique 
Patient Identifier, it creates three fields:  
Overview of 
1.  Number of Days of Opioid Use (OPIOID_DAYS)  
Patients Opioid 
2.  Average Daily MED for the entire study timeframe 
Utilization 
(ALL_AVG_MED)  
3.  Highest Average Daily MED for any 90 days (MAX_AVG_MED_90) 
First, the macro calculates each patients Daily MED for each day within 
the timeframe.  The Daily MED includes all opioid prescriptions a patient 
received on a given day.  To calculate this, the macro uses a temporary 
array for each patient.  The array creates a field for each day in the study 
timeframe (D1, D2, D3, etc.)  It begins by assigning a value of zero to each 
day.   
For each of the patients prescriptions, the macro calculates the MED.  The 
MED converts opioids of different ingredients, strengths, and forms into 
equivalent milligrams of morphine.  It is calculated by using the following 
equation.  See Exhibit 3.   
 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  10 
OEI-02-17-00560  Exhibit 3:  MED Calculation for a Prescription 
(Strength per unit)(Quantity dispensed)(MME conversion factor)
MED=  
(Days supply)
The macro assigns the MED to the appropriate day based on the 
Prescription Fill Date and Days Supply. 15  If the day already has an MED 
value greater than zero, the macro sums the two MED values.     
Second, the macro calculates the days of opioid use.  To do this, it counts 
the number of days during the timeframe that the patient has a daily MED 
that is greater than zero. 
Third, the macro calculates the average daily MED over the entire timeframe 
for the patient.  See Exhibit 4. 
Exhibit 4:  Calculation for Patients Average Daily MED 
Total MED of all prescriptions in the timeframe
Average daily MED =  
Total number of days in the timeframe
Fourth, the macro calculates the average daily MED for the patient over 
every 90-day time period.  The denominator for this calculation is 90, which 
is the number of days in the timeframe.  (The denominator is not the 
number of days within the 90-day period on which the patient received 
opioids.)  The macro then outputs the highest average of any 90-day 
period.  See Exhibit 5.  
Exhibit 5:  Determining Each Patients Highest Average Daily 
MED for 90 Days 
1.  For the first 90-day period, the average daily MED over 90 days is: 
D1 + D2 + D3 + ... + D98 + D89 + D90
90-Day Average MED =   
90 
2.  For the second 90-day period, the average daily MED over 90 days is: 
D2 + D3 + D4+ ... + D89 + D90 + D91
90-Day Average MED =   
90 
3.  This repeats until the last possible 90-day combination.  Then the 
highest average for any 90 days outputs as MAX_AVG_MED_90. 
 
________________________________________ 
15 The MED calculation assumes that the patient took the full prescription as prescribed each 
day starting on the Prescription Fill Date until the last day of the supply.  
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  11 
OEI-02-17-00560   
2.2 Macro To  The second macro creates the Daily MED dataset.  This dataset provides the 
daily MED for each day in the study timeframe for selected patients.  This 
Provide Detailed 
macro can be used to look more closely at the daily MED for selected 
Daily Patient Data 
patients with concerning patterns.  For example, if a patient has an average 
daily MED that is extremely high, this data will show on which days during 
the timeframe the patient received the highest amounts.  It can also be used 
to identify the drugs associated with those days.  For an analysis with 
365 days, the data would contain the daily MED for day 1 (D1) through 
day 365 (D365).  See Exhibit 6.   
 
Exhibit 6:  Example of Daily MED Output 
Patient ID  D1  D2  D3  ...  D364  D365 
X12345  525  525  525  ...  495  495 
 
2.3 Code To  Using the data created with the step above, the next section of the code 
identifies patients whobased on their average daily MEDare at risk of 
Identify At-Risk 
opioid misuse or overdose.   
Patients 
The code identifies patients who met the criteria for the measures used in 
OIGs data brief Opioid Use in Medicare Part D Remains Concerning (OEI-02-
18-00220).  These include:  
  Patients who received high amounts of opioids:  Patients with an 
average daily MED greater than 120 mg for any 90-day period and had 
at least 90 days of opioid use (HIGH_MED). 
  Patients who received extreme amounts of opioids:  Patients with an 
average daily MED that was greater than 240 mg for the entire year and 
had at least 360 days of opioid use (EXTREME_MED). 
  Patients who appear to be doctor shopping:  Patients with high 
amounts of opioidsi.e., an average daily MED greater than 120 mg for 
any 90-day periodand who received opioid prescriptions from four or 
more prescribers AND four or more pharmacies during the year 
(DOCTORSHOP_MED).16 
 
________________________________________ 
16 To identify these patients, the code includes an optional section that calculates the total 
number of prescribers and pharmacies that dispensed opioids to each patient during the 
timeframe.   
 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  12 
OEI-02-17-00560  There may be other patients who are also at risk, but do not meet these 
criteria.  This section of the code can be adjusted depending on each users 
needs.  For example, if the purpose of the analysis is to identify patients who 
may benefit from additional case management, the MED levels can be 
lowered.  If the purpose is to refer incidents of possible drug diversion to 
law enforcement, the MED levels can be increased.  Similarly, if the users 
analysis is based on a timeframe shorter or longer than 1 year, the days of 
opioid use can be changed.   
 
Notice 
Note that the Office of Inspector General (OIG) is providing this toolkit, 
including the associated SAS programming code, to assist users in analyzing 
large datasets of prescription drug claims to identify individuals at risk of 
potential opioid abuse or misuse.  This toolkit was prepared as a technical 
resource and is not intended to, and does not, create any rights, privileges, or 
benefits, substantive or procedural, enforceable by a party against the United 
States; its agencies or instrumentalities; its officers or employees; or any other 
person.  The toolkit is provided in as-is condition, and OIG and its 
employees, agents, and staff disclaim any express or implied representation, 
warranty, or guarantee, including, but not limited to, the implied warranties 
of merchantability and fitness for a particular purpose.  In particular, no 
representation is made that the information included in the toolkit, or any 
data the toolkit produces, is error free.  The toolkit should not be used as the 
sole basis to determine whether an individual is abusing or overdosing on 
opioids or other prescription drugs, or in any determinations of coverage or 
dispensing by an insurer, pharmacy, provider, or other individual or 
organization.  The toolkit is not intended to be used to determine compliance 
with any laws, regulations or other guidance.  In no event shall OIG or its 
employees, agents, or staff be liable for any claim, damages, or liability, 
whether in an action of contract, tort or otherwise, and including direct, 
indirect, incidental, special, exemplary, or consequential damages, however 
caused, and on any theory of liability, arising in any way out of the use of this 
toolkit or its associated code, even if advised of the possibility of such damage.  
Compatibility of the toolkit with any user systems is not guaranteed, and any 
   
manipulation or alteration of the code is the sole responsibility of the user. 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  13 
OEI-02-17-00560  3.  PROGRAMMING CODE 
This SAS code can also be downloaded at oig.hhs.gov/oei/reports/oei-02-17-00560.asp. 
/*  U.S. Department of Health & Human Services 
    Office of Inspector General (OIG) 
    Office of Evaluation and Inspections 
 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify  
Patients At Risk of Misuse or Overdose 
OEI-02-17-00560, June 2018 
 
 
This code uses prescription drug data to analyze patients' opioid levels and  
identify patients who are at risk of opioid misuse or overdose.  It is based on  
the methodology OIG developed for its data brief Opioid Use in Medicare Part D 
Remains Concerning (OEI-02-18-00220), which was released in June 2018 alongside 
this toolkit. 
 
This code is being shared as part of the OIG Toolkit: Using Data Analysis  
To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  
(OEI-02-17-00560).  Please read the full toolkit.  It provides important  
information about preparing the data for the analysis, including how to merge data  
from the Centers for Disease Control and Prevention.  The toolkit may be accessed  
at www.oig.hhs.gov/oei/reports/oei-02-17-00560.asp. 
 
The code calculates patients' average daily morphine equivalent dose (MED), which  
converts various prescription opioids and strengths into one standard value:  
equivalent milligrams of morphine.  This measure is also called morphine milligram  
equivalent (MME).  Users can use these data to identify patients at varying  
levels of risk. 
 
The code uses two macros and creates three patient-level datasets: 
1) OVERVIEW_MED dataset provides an overview of each patient's opioid utilization.  
2) DAILY_MED dataset provides detailed daily MED amounts for selected patients. 
3) AT_RISK_MED dataset identifies at-risk patients who had certain MED levels. 
 
 
 
 
/********************************************************************************/ 
/* ENTER TIMEFRAME, DATASET NAMES, AND FIELD NAMES */ 
 
    /* Before running this code, the user must enter the timeframe, the name of  
    the dataset that contains the prescription drug data, and the field names,  
    as described below. 
 
    /* Enter first date of the timeframe.  Format: month (M), date (D), year  
        (YYYY). 
        For example, for a timeframe of calendar year 2017, the first date is 
        January 1, 2017.  This is 1,1,2017.  */ 
%let FIRST_DATE = 1,1,2017 ;  
 
    /* Enter number of days in the timeframe. 
        For example, a timeframe of calendar year 2017 */ 
%let DAYS_IN_TIMEFRAME = 365 ; 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  14 
OEI-02-17-00560   
 
    /* Enter name of cleaned dataset of opioid prescription data.  Please note that  
        the code does not exclude cancer and hospice patients.  Please see the  
        toolkit text for more information about excluding these patients from the  
        analysis.*/ 
%let DATA_CLEANED = work.data_cleaned ; 
 
 
    /* Enter Prescription Fill Date field name.  Note: The code requires the  
        prescription fill date field to be in the SAS date format.  */ 
%let PRESCRIPTION_FILL_DATE = prescription_fill_date ; 
 
    /* Enter Unique Patient Identifier field name.  Note: The analysis relies on  
        each patient having a unique identifier.  If the prescription drug data  
        do not contain a unique identifier for each patient, additional steps  
        should be taken to create one. */ 
%let PATIENT_ID = patient_id ; 
 
    /* Enter Strength per Unit field name */ 
%let STRENGTH_PER_UNIT = strength_per_unit ; 
 
    /* Enter Quantity Dispensed field name */ 
%let QUANTITY_DISPENSED = quantity_dispensed ; 
 
    /* Enter Morphine Milligram Equivalent (MME) Conversion Factor field name */ 
%let MME_CONVERSION_FACTOR = mme_conversion_factor ; 
 
    /* Enter Days Supply field name */ 
%let DAYS_SUPPLY = days_supply ; 
 
    /* If available:  Enter pharmacy unique identifier field name.  Note:  This  
        field is optional. */ 
%let PHARMACY_ID = pharmacy_id ; 
 
    /* If available:  Enter prescriber unique identifier field name.  Note:  This  
        field is optional. */ 
%let PRESCRIBER_ID = prescriber_id ; 
 
 
 
/********************************************************************************/ 
/* 1) OVERVIEW_MED MACRO 
 
    This macro provides an overview of each patients opioid utilization.  The  
    output data contains the following fields for each patient: 
     PATIENT_ID     Unique patient identifier. 
     OPIOID_DAYS    Days of opioid use, or the number of days during the  
                    timeframe when the patient has a daily MED that is  
                    greater than zero. 
     ALL_AVG_MED    Average daily MED for the entire study timeframe.  For  
                    example, for a timeframe of 1 year, this is the  
                    patient's average daily MED for that year. 
     MAX_AVG_MED_90 Highest average daily MED for any 90 days.  This is the 
                    maximum average daily MED over any 90-day period in the 
                    timeframe. 
 
    Brief explanation of the code: 
    a.  PROC SORT sorts the prepared data of opioid prescription claims by  
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  15 
OEI-02-17-00560              patient ID.  The code analyzes the data by patient ID. 
    b.  ARRAY creates a field for each day in the timeframe (D1, D2, D3, etc.)  
            for each patient ID. 
    c.  DAILY_MED calculates the daily MED for each opioid prescription  =  
            (Quantity dispensed * Strength per unit * MME conversion factor)/ 
            (Days supply). 
            The daily MED is assigned to the appropriate day (D1, D2, etc.) in  
            the timeframe based on the Date of Service and Days Supply.  If the  
            day already has an MED value greater than zero, the macro sums the  
            two values.  When the code reaches the last opioid prescription for a  
            patient, each day field contains that patient's total MED for that  
            day. 
    d.  OPIOID_DAYS is days of opioid use.  When the code reaches the last opioid  
            prescription for a patient, it counts the number of days during  
            the timeframe when the patient has a daily MED that is greater than  
            zero. 
    e.  ALL_AVG_MED calculates the average daily MED over the entire timeframe 
            for the patient.  ALL_AVG_MED = (Total MED of all prescriptions  
    in the timeframe)/(Total number of days in the timeframe). 
    f.  MAX_AVG_MED_&SELTIME becomes MAX_AVG_MED_90, or highest average daily MED  
            for any 90 days.  It calculates the average daily MED for the patient  
            over every 90-day time period in the timeframe and outputs the highest 
            value. 
*/ 
%macro overview_med; 
%let seltime = 90;      /* 90-day periods */ 
/* a */ 
proc sort data=&DATA_CLEANED; 
    by &PATIENT_ID; 
run; 
 
data overview_med (keep =   &PATIENT_ID 
                            opioid_days 
                            all_avg_med 
                            max_avg_med_&seltime); 
    set &data_cleaned (keep =   &PRESCRIPTION_FILL_DATE 
                                &PATIENT_ID 
                                &STRENGTH_PER_UNIT 
                                &QUANTITY_DISPENSED 
                                &MME_CONVERSION_FACTOR 
                                &DAYS_SUPPLY); 
    by &patient_id; 
/* b */ 
    array d{&DAYS_IN_TIMEFRAME} _temporary_; 
    if first.&PATIENT_ID then do; 
        do i = 1 to &DAYS_IN_TIMEFRAME; 
        d{i} = 0; 
        end; 
    end; 
/* c */ 
    daily_med = (&QUANTITY_DISPENSED * &STRENGTH_PER_UNIT * 
        &MME_CONVERSION_FACTOR) / &DAYS_SUPPLY; 
    do i = 1 to &DAYS_IN_TIMEFRAME; 
        if &PRESCRIPTION_FILL_DATE <= mdy(&FIRST_DATE) + (i - 1) 
            <= &PRESCRIPTION_FILL_DATE + (&DAYS_SUPPLY - 1) then do; 
                d{i} + daily_med; 
            end; 
    end; 
/* d */ 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  16 
OEI-02-17-00560      if last.&PATIENT_ID then do; 
        opioid_days = 0; 
        totl_time_med_&DAYS_IN_TIMEFRAME = 0; 
        do i = 1 to &DAYS_IN_TIMEFRAME; 
            if d{i} > 0 then opioid_days = opioid_days + 1; 
            totl_time_med_&DAYS_IN_TIMEFRAME =  
                totl_time_med_&DAYS_IN_TIMEFRAME + d{i}; 
        end; 
/* e */ 
        all_avg_med = totl_time_med_&DAYS_IN_TIMEFRAME / &DAYS_IN_TIMEFRAME; 
/* f */ 
        max_avg_med_&seltime = 0; 
        totl_time_med_&seltime = 0; 
        do s = 1 to ((&DAYS_IN_TIMEFRAME - &seltime) + 1); 
            totl_time_med_&seltime = 0; 
            do i = s to (s + (&seltime - 1)); 
                totl_time_med_&seltime = totl_time_med_&seltime + d{i}; 
            end; 
            avg_med_&seltime = totl_time_med_&seltime / &seltime; 
            if avg_med_&seltime > max_avg_med_&seltime 
            then max_avg_med_&seltime = avg_med_&seltime; 
        end; 
 
        if last.&PATIENT_ID then output; 
    end; 
run; 
%mend overview_med; 
%overview_med 
 
 
 
/********************************************************************************/ 
/* 2) DAILY_MED MACRO 
 
    This macro provides the daily MED for each day in the study timeframe for  
    selected patients.  This macro can be used to look more closely at the daily  
    MED for selected patients with concerning patterns.  For example, if a  
    patient has an extremely high average daily MED, these data will show which  
    days during the timeframe the patient received the highest amounts. 
    The output data contains the following fields: 
     PATIENT_ID             Unique patient identifier. 
     D1 to D[N]             The day in the timeframe.  Each day in the timeframe  
                            has that day's total daily MED.  N is the number of  
                            days in the timeframe. 
 
    For example, for a patient with 365 days in the timeframe, the output data  
    contain 366 fields:  PATIENT_ID, D1, D2, D3 ... D363, D364, and D365.  The  
    field names correspond to the day in the analysis.  D1 is day 1 in  
    the timeframe, and D365 is day 365 in the timeframe. 
 
    The code works similarly to OVERVIEW_MED.  It uses the ARRAY and DAILY_MED code  
    from the OVERVIEW_MED macro. 
*/ 
%macro daily_med(PATIENT); 
data daily_med_&PATIENT (keep = &PATIENT_ID d1-d&DAYS_IN_TIMEFRAME); 
    set &DATA_CLEANED (keep =   &PRESCRIPTION_FILL_DATE 
                                &PATIENT_ID 
                                &STRENGTH_PER_UNIT 
                                &QUANTITY_DISPENSED 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  17 
OEI-02-17-00560                                  &MME_CONVERSION_FACTOR 
                                &DAYS_SUPPLY); 
    where &PATIENT_ID = &PATIENT; 
    by &PATIENT_ID; 
 
    array days_arr{&DAYS_IN_TIMEFRAME} d1-d&DAYS_IN_TIMEFRAME; 
    if first.&PATIENT_ID then do; 
        do i = 1 to &DAYS_IN_TIMEFRAME; 
        days_arr{i} = 0; 
        end; 
    end; 
 
    daily_med = (&QUANTITY_DISPENSED * &STRENGTH_PER_UNIT * 
        &MME_CONVERSION_FACTOR) / &DAYS_SUPPLY; 
    do i = 1 to &DAYS_IN_TIMEFRAME; 
        if &PRESCRIPTION_FILL_DATE <= mdy(&FIRST_DATE) + (i - 1) 
            <= &PRESCRIPTION_FILL_DATE + (&DAYS_SUPPLY - 1) then do; 
                days_arr{i} + daily_med; 
                end; 
    end; 
 
    if last.&PATIENT_ID then output; 
run; 
%mend daily_med; 
    /* Insert patient ID of specific patients.  If the patient ID is a character 
    field, then place the patient ID in quotes. */ 
%daily_med(PATIENT) 
 
 
 
/********************************************************************************/ 
/* 3) AT_RISK_MED CODE  
 
    This code identifies patients who, based on their average daily MED, are at 
    risk of opioid misuse or abuse.  The code identifies patients who met the  
    criteria in the measures used in OIGs data brief, Opioid Use in Medicare  
    Part D Remains Concerning (OEI-02-18-00220). This analysis used calendar year  
    2017 as the timeframe. 
 
    This section of the code can be adjusted depending on each user's needs.  For  
    example, if the purpose of the analysis is to identify patients who may  
    benefit from additional case management, the MED thresholds can be lowered.   
    If the purpose is to refer incidences of possible drug diversion to law  
    enforcement, the MED thresholds can be increased.  Similarly, if the user's  
    analysis is based on a shorter or longer timeframe than 1 year, the days of  
    opioid use can be changed. 
 
    The code identifies patients who appear to be doctor shopping.  This analysis  
    requires unique pharmacy identifiers and unique prescriber identifiers in the 
    opioid prescription data.  For each patient, it counts the number of distinct 
    pharmacies and prescribers that had at least 1 opioid prescription with a fill 
    date in the timeframe.  As noted below, this section of the code is optional  
    and should be skipped if these unique identifiers are not available. 
 
    The output dataset contains the following fields in addition to the fields   
    from the OVERVIEW_MED dataset: 
     HIGH_MED           Patients who received high amounts of opioids.  Patients  
                        with an average daily MED greater than 120 mg for any  
                        90-day period and had at least 90 days of opioid use. 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  18 
OEI-02-17-00560                          1=Yes, 0=No. 
     EXTREME_MED        Patients who received extreme amounts of opioids.  Patients  
                        with an average daily MED that was greater than 240 mg  
                        for the entire year and had at least 360 days of  
                        opioid use.  1=Yes, 0=No. 
     DOCTORSHOP_MED     Patients who appear to be doctor  
                        shopping.  Patients with a high amount of opioids (i.e.,  
                        average daily MED greater than 120 mg for any 90-day  
                        period) and who received opioid prescriptions from four  
                        or more prescribers and four or more pharmacies during  
                        the year.  1=Yes, 0=No. */ 
 
proc sql;   /* Do not run this SQL step if unique pharmacy identifier or unique 
                patient identifier are not available */ 
    create table pharm_presc_counts as 
    select  &PATIENT_ID, 
            count(distinct (case when &PRESCRIPTION_FILL_DATE between 
                mdy(&FIRST_DATE) and (mdy(&FIRST_DATE) + &DAYS_IN_TIMEFRAME - 1) 
                then &PHARMACY_ID end)) 
                as PHARMACY_COUNT, 
            count(distinct (case when &PRESCRIPTION_FILL_DATE between 
                mdy(&FIRST_DATE) and (mdy(&FIRST_DATE) + &DAYS_IN_TIMEFRAME - 1) 
                then &PRESCRIBER_ID end)) 
                as PRESCRIBER_COUNT 
    from    &DATA_CLEANED 
    group by &PATIENT_ID; 
 
    create table overview_med as 
    select  a.*, 
            b.PHARMACY_COUNT, 
            b.PRESCRIBER_COUNT 
    from  overview_med a 
            left join pharm_presc_counts b 
            on a.&PATIENT_ID = b.&PATIENT_ID; 
quit; 
data AT_RISK_MED; 
    set overview_med; 
    if max_avg_med_90 > 120 and     /* The MED and days of opioid use may */ 
        opioid_days ge 90           /* be adjusted as needed */ 
        then high_med = 1; 
        else high_med = 0; 
    if all_avg_med > 240 and        /* The MED and days of opioid use may */ 
        opioid_days ge 360          /* be adjusted as needed */ 
        then extreme_med = 1; 
        else extreme_med = 0; 
/* Do not run the IF/THEN condition for DOCTORSHOP_MED if pharmacy and  
        prescriber counts are not available */ 
    if max_avg_med_90 > 120 and     /* The MED and days of opioid use may */ 
        opioid_days ge 90 and       /* be adjusted as needed */ 
        pharmacy_count ge 4 and   /*Criteria for prescribers and pharmacies */ 
        prescriber_count ge 4       /* may be adjusted as needed */ 
        then doctorshop_med = 1; 
        else doctorshop_med = 0; 
run; 
 
/*Note that the Office of Inspector General (OIG) is providing this toolkit, 
including this associated SAS programming code, to assist users in analyzing large 
datasets of prescription drug claims to identify individuals at risk of potential 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  19 
OEI-02-17-00560  opioid abuse or misuse.  This toolkit was prepared as a technical resource and is 
not intended to, and does not, create any rights, privileges, or benefits, 
substantive or procedural, enforceable by a party against the United States; its 
agencies or instrumentalities; its officers or employees; or any other person.  The 
toolkit is provided in as-is condition, and OIG and its employees, agents, and 
staff disclaim any express or implied representation, warranty, or guarantee, 
including, but not limited to, the implied warranties of merchantability and 
fitness for a particular purpose.  In particular, no representation is made that 
the information included in the toolkit, or any data the toolkit produces, is error 
free.  The toolkit should not be used as the sole basis to determine whether an 
individual is abusing or overdosing on opioids or other prescription drugs, or in 
any determinations of coverage or dispensing by an insurer, pharmacy, provider, or 
other individual or organization.  The toolkit is not intended to be used to 
determine compliance with any laws, regulations, or other guidance.  In no event 
shall OIG or its employees, agents, or staff be liable for any claim, damages, or 
liability, whether in an action of contract, tort or otherwise, and including 
direct, indirect, incidental, special, exemplary, or consequential damages, however 
caused, and on any theory of liability, arising in any way out of the use of this 
toolkit or its associated code, even if advised of the possibility of such damage.  
Compatibility of the toolkit with any user systems is not guaranteed, and any 
manipulation or alteration of the code is the sole responsibility of the user. */   
 
 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  20 
OEI-02-17-00560  ACKNOWLEDGMENTS 
Miriam Anderson served as the team leader for this study.  Others in the 
Office of Evaluation and Inspections who conducted the study include 
Margaret Himmelright and Jason Kwong.  Office of Evaluation and 
Inspections staff who provided support include Althea Hosein, 
Christine Moritz, Berivan Demir Neubert, and Meghan Riggs.  We would 
also like to acknowledge the contributions of other Office of Inspector 
General staff, including Robert Gibbons. 
This report was prepared under the direction of Jodi Nudelman, Regional 
Inspector General for Evaluation and Inspections in the New York regional 
office; Nancy Harrison, Deputy Regional Inspector General; and 
Meridith Seife, Deputy Regional Inspector General. 
Toolkit:  Using Data Analysis To Calculate Opioid Levels and Identify Patients At Risk of Misuse or Overdose  21 
OEI-02-17-00560  ABOUT THE OFFICE OF INSPECTOR GENERAL 
The mission of the Office of Inspector General (OIG), as mandated by Public 
Law 95-452, as amended, is to protect the integrity of the Department of 
Health and Human Services (HHS) programs, as well as the health and 
welfare of beneficiaries served by those programs.  This statutory mission is 
carried out through a nationwide network of audits, investigations, and 
inspections conducted by the following operating components: 
Office of Audit  The Office of Audit Services (OAS) provides auditing services for HHS, either 
by conducting audits with its own audit resources or by overseeing audit 
Services 
work done by others.  Audits examine the performance of HHS programs 
and/or its grantees and contractors in carrying out their respective 
responsibilities and are intended to provide independent assessments of 
HHS programs and operations.  These assessments help reduce waste, 
abuse, and mismanagement and promote economy and efficiency 
throughout HHS. 
Office of Evaluation  The Office of Evaluation and Inspections (OEI) conducts national evaluations 
to provide HHS, Congress, and the public with timely, useful, and reliable 
and Inspections 
information on significant issues.  These evaluations focus on preventing 
fraud, waste, or abuse and promoting economy, efficiency, and 
effectiveness of departmental programs.  To promote impact, OEI reports 
also present practical recommendations for improving program operations.   
Office of  The Office of Investigations (OI) conducts criminal, civil, and administrative 
investigations of fraud and misconduct related to HHS programs, 
Investigations 
operations, and beneficiaries.  With investigators working in all 50 States 
and the District of Columbia, OI utilizes its resources by actively 
coordinating with the Department of Justice and other Federal, State, and 
local law enforcement authorities.  The investigative efforts of OI often lead 
to criminal convictions, administrative sanctions, and/or civil monetary 
penalties. 
Office of Counsel to  The Office of Counsel to the Inspector General (OCIG) provides general 
legal services to OIG, rendering advice and opinions on HHS programs and 
the Inspector 
operations and providing all legal support for OIGs internal operations.  
General 
OCIG represents OIG in all civil and administrative fraud and abuse cases 
involving HHS programs, including False Claims Act, program exclusion, and 
civil monetary penalty cases.  In connection with these cases, OCIG also 
negotiates and monitors corporate integrity agreements.  OCIG renders 
advisory opinions, issues compliance program guidance, publishes fraud 
alerts, and provides other guidance to the health care industry concerning 
the anti-kickback statute and other OIG enforcement authorities.