npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

deanumber-generator

v0.0.6

Published

dea number generator

Readme

deanumber-generator

Installation / setup

install CLI

 npm install -g deanumber-generator

update CLI

 npm update -g deanumber-generator

CLI usage

deanumber-generator --help
deanumber-generator --number 3 --deanumber
deanumber-generator --number 3 --deanumber
deanumber-generator --deanumber-practitioner

NPM usage

npm run help 
npm run deanumber
npm run deanumber-practitioner
npm run deanumber-midlevel-practitioner
npm run deanumber-dod

Code usage

const {DeaNumberGenerator} = require('deanumber-generator');
const deaNumberGenerator = new DeaNumberGenerator();

console.log(`*** Generate random DEA Numbers of various kinds ***`);
console.log(`dea number: ${deaNumberGenerator.generateRandomDeaNumber()}`);
console.log(`dea number practitioner: ${deaNumberGenerator.generateRandomDeaNumberPractitioner()}`);
console.log(`dea number mid-level practitioner: ${deaNumberGenerator.generateRandomDeaNumberMidLevelPractitioner()}`);
console.log(`dea number dod: ${deaNumberGenerator.generateRandomDeaNumberDod()}`);

output (example)

*** Generate random DEA Numbers of various kinds ***
dea number: BG7845071
dea number practitioner: AL7584457
dea number mid-level practitioner: MX6261135
dea number dod: GO3381528

sample DEA Numbers

sample practitioner DEA Number

deanumber-generator --deanumber-practitioner
BI1126627
FV2783961
AG3585253

sample mid-level practitioner DEA Number

deanumber-generator --deanumber-midlevel-practitioner
MF6367557

sample mid-level practitioner DEA Number

deanumber-generator --deanumber-dod
GU3012438

registrant types (first letter of DEA number)

  • A/B/F/G – Hospital/Clinic/Practitioner/Teaching Institution/Pharmacy
  • M – Mid-Level Practitioner (NP/PA/OD/ET, etc.)
  • P/R – Manufacturer/Distributor/Researcher/Analytical Lab/Importer/Exporter/Reverse Distributor/Narcotic Treatment Program

dea number format from HERE

  • 2 letters, 6 numbers, and 1 check digit

Links

Dev-Links

Terminology

  • DEA : Drug Enforcement Agency
  • DEA Number : DEA Number

Notes

  • DEA numbers are required for any drugs that are classified Schedule II-V under the Controlled Substances Act.
  • Schedule I drugs (e.g. heroin, lysergic acid diethylamide (LSD), marijuana (cannabis), peyote, methaqualone, and 3,4-methylenedioxymethamphetamine ("Ecstasy")) are completely illegal at the federal level and have no accepted medical use.

How to publish

// after git committing
npm version patch
npm publish --access public

Future Improvements

  • add last name option (used for determining 2nd letter in dea number)
  • add is-business option (an alternative to last name)
  • move to promises (async/await)

releases

0.0.5 (11/12/2021)

  • option: --last-name <last_name>
    • will honor the 2nd digit based on last name
  • option: --registrant-uses-business-address
    • will honor the 2nd digit based on presumption the registrants will use a business address instead of last name