Controlled Substance Prescribing and PDMP Data

This dataset provides comprehensive records of controlled substance prescriptions, including DEA schedules, opioid MME calculations, PDMP query results, and regulatory prescribing limits. It enables detailed analysis of opioid stewardship, prescriber behavior, and compliance with controlled substance regulations, supporting public health and risk mitigation efforts.

  • last updated 2 Nov 2025
  • by GoMask
The brief that made it

Opioid stewardship and regulatory compliance monitoring

Sample rows

preview · 8 of 100 rows · all 29 columns
prescription_idstringprescribing_limit_typestringdosage_strength_mgfloatprescribing_limit_exceededbooleanpdmp_query_resultstringprescriber_idstringprescriber_namestringprescriber_dea_numberstringpatient_idstringpatient_dobdatepatient_genderstringdrug_namestringdrug_ndcstringdea_schedulestringprescription_datedatedispense_datedatequantity_dispensedintegerdays_supplyintegertotal_mmefloatis_opioidbooleanpdmp_query_datedateprescription_statusstringpharmacy_idstringpharmacy_namestringpharmacy_street_addressstringpharmacy_citystringpharmacy_statestringpharmacy_postal_codestringpharmacy_countrystring
RX20240001none10falseno concernPR1001Dr. Jennifer SmithB12345678PT20011978-11-25femaleOxycodone12345-6789-01II2024-03-102024-03-113015450true2024-03-09filledPH3001Main Street Pharmacy101 Main StCincinnatiOH45202USA
RX20240002days supply7.5trueearly refillPR1002Dr. Michael LeeC87654321PT20021983-04-08maleHydrocodone/Acetaminophen54321-678-2II2024-02-212024-02-212010150true2024-02-20activePH3002Riverfront Rx200 Riverfront AveLouisvilleKY40202USA
RX20240003MME15truehigh riskPR1003Dr. Alice KimD13579246PT20031952-12-15femaleMorphine23456-7890-10II2024-01-172024-01-186030900true2024-01-17filledPH3003Cleveland Clinic Pharmacy300 Euclid AveClevelandOH44115USA
RX20240004none0.5falseno concernPR1004Dr. Kevin LiuE24681357PT20042000-09-03maleAlprazolam34567-8901-1IV2024-03-022024-03-0315150false2024-03-01activePH3004Lexington Drugs400 Vine StLexingtonKY40507USA
RX20240005quantity2.5truemultiple prescribersPR1005Dr. Rachel EvansF31415926PT20051967-06-14femaleFentanyl45678-9012-05II2024-02-052024-02-05105500true2024-02-04voidedPH3005Bluegrass Pharmacy500 Elm StLexingtonKY40508USA
RX20240006none8falseotherPR1001Dr. Jennifer SmithB12345678PT20061972-08-30maleBuprenorphine56789-1234-6III2024-02-152024-02-163015240true2024-02-14activePH3002Riverfront Rx200 Riverfront AveLouisvilleKY40202USA
RX20240007none30falseno concernPR1006Dr. Samuel CarterG98765432PT20071995-07-18maleLisdexamfetamine67890-2345-01II2024-01-292024-01-3030300false2024-01-29filledPH3006Northern Rx600 Lake DrColumbusOH43215USA
RX20240008none5falseno concernPR1007Dr. Emily TurnerH24680135PT20081988-02-23femaleDiazepam78901-3456-2IV2024-03-142024-03-1410100false2024-03-13activePH3007Southside Pharmacy700 Oak StDaytonOH45402USA

What the 100 rows show

from the 100-row sample

MME (prescribing limit type) stands out: 20 of its 20 rows have prescribing_limit_exceeded = true, against 5 of 80 for the rest.

  • 25%prescribing_limit_exceeded = true
  • 10.0median dosage_strength_mg
  • 2pharmacy countries
  • 3patient genders
  • 3prescription statuses
  • 4dea schedules
Prescribing limit exceeded rate by prescribing_limit_typeprescribing_limit_exceeded = true
0%50%100%100%MME20 of 20100%days sup…2 of 2100%quantity3 of 30%none0 of 75
dosage_strength_mg100 rows, in bands of 50
045908610000040200350dosage_strength_mg →

Median 10.0, from 0.50 to 350.0.

pdmp_query_result75 rows with a value · 25 left blank
  1. no concern37
  2. high risk12
  3. early refill11
  4. multiple prescribers8
  5. other7
29 columns by typefrom the column list below
  • string 19
  • integer 2
  • float 2
  • date 4
  • boolean 2

Columns

29 columns in four groups
blueprint · 29 columns
columntypedescriptionexample
Text 19 columns
prescription_idstringUnique identifier for each controlled substance prescription recorduniqueRX20240001
prescriber_idstringUnique identifier for the healthcare provider who issued the prescriptionPR1001
prescriber_namestringFull name of the healthcare provideroptionalDr. Jennifer Smith
prescriber_dea_numberstringDEA registration number of the prescriberB12345678
patient_idstringUnique identifier for the patient receiving the prescriptionPT2001
patient_genderstringGender of the patientmale · female · other · unknown · optionalfemale
drug_namestringName of the controlled substance prescribedOxycodone
drug_ndcstringNational Drug Code (NDC) for the prescribed drugoptional12345-6789-01
dea_schedulestringDEA schedule classification of the drug (I-V)I · II · III · IV · VII
pdmp_query_resultstringSummary result of the PDMP query (e.g., 'no concern', 'multiple prescribers', 'early refill')5 values · optionalno concern
prescribing_limit_typestringType of prescribing limit exceeded (e.g., 'MME', 'days supply', 'quantity', 'none')MME · days supply · quantity · none · other · optionalnone
prescription_statusstringCurrent status of the prescription (e.g., 'active', 'voided', 'cancelled', 'expired')active · voided · cancelled · expired · filledfilled
pharmacy_idstringUnique identifier for the pharmacy dispensing the prescriptionoptionalPH3001
pharmacy_namestringName of the pharmacy dispensing the prescriptionoptionalMain Street Pharmacy
pharmacy_street_addressstringStreet address of the pharmacyoptional101 Main St
pharmacy_citystringCity where the pharmacy is locatedoptionalCincinnati
pharmacy_statestringState where the pharmacy is locatedoptionalOH
pharmacy_postal_codestringPostal code of the pharmacyoptional45202
pharmacy_countrystringCountry where the pharmacy is located2 countries · optionalUSA
Numbers 4 columns
quantity_dispensedintegerNumber of units dispensed1 or more30
days_supplyintegerNumber of days the prescription is intended to last1 or more15
dosage_strength_mgfloatDosage strength per unit in milligrams0.01 or more10
total_mmefloatTotal Morphine Milligram Equivalent (MME) for the prescription0 or more450
Dates and times 4 columns
patient_dobdateDate of birth of the patientoptional1978-11-25
prescription_datedateDate the prescription was written2024-03-10
dispense_datedateDate the prescription was dispensed to the patientoptional2024-03-11
pdmp_query_datedateDate the prescriber queried the PDMP for the patientoptional2024-03-09
True or false 2 columns
is_opioidbooleanIndicates if the prescribed drug is classified as an opioidtrue
prescribing_limit_exceededbooleanIndicates if the prescription exceeds regulatory or institutional opioid prescribing limitsfalse

Use it for

  • prescribing li…25%25 of 100 rowsmean dosage strength …10.6MME8.8days…3.3quan…30.8none

    A healthcare dashboard

    The prescribing_limit_exceeded rate, dosage_strength_mg by prescribing_limit_type and a breakdown of pdmp_query_result. Excel, Power BI or Tableau.

  • Why do 25 of 100 rows have prescribing_limit_exceeded = true?

    A root-cause class exercise

    Hand out the rows and one question. The answer is in the data, not in the brief.

  • A software demo

    Believable prescriptions with prescriber_id, prescriber_name and prescriber_dea_number to fill a screen in front of a buyer.

Not quite right?

Make it yours.

Same 29 columns, your size and your rules. See 20 rows before you pay.

Preview 20 rows free

1,000 rows: $1.99 · 10,000: $12.99One-time. No subscription. All prices

This dataset100 rows29 columns
Yours1,000 rows29 columnspharmacy_street_address: UK only

blueprint · controlled-substance-prescribing-and-pdmp-data

Behind this dataset

Same schema. As many rows as you need.

These 100 rows came out of a blueprint — 29 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.

Rules it was built with
  • Prescription ID for controlled substance
  • DEA schedule: II (high abuse), III, IV, V
  • Prescriber DEA number required
  • Opioid MME (Morphine Milligram Equivalent) calculation
  • MME thresholds: caution at 50 MME, high risk at 90+ MME
  • PDMP query required in most states before prescribing
  • Doctor shopping detection (multiple prescribers)
  • Overlapping opioid prescriptions flagged
Rows
Open the blueprint in Data Factory

1 credit per row. Preview 20 rows free. Buy rows for the full run.

Exports
CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
Licence
yours to use, including commercially
API slug
controlled-substance-prescribing-and-pdmp-data

What should your data show?

Preview 20 rows free
No signup. No card.