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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@meddeid/language-en

v0.2.1

Published

English en-GB and en-US language-profile capabilities for MedDeID

Readme

meddeid-language-en

Versioned English language capabilities for MedDeID. The package deliberately contains two locale profiles rather than a generic en profile:

  • en-GB covers England, Scotland, Wales, and Northern Ireland.
  • en-US covers the 50 states, District of Columbia, Puerto Rico, U.S. Virgin Islands, Guam, American Samoa, and the Northern Mariana Islands.

Bare en is rejected because numeric dates, addresses, identifiers, clinical terminology, and synthetic-safe phone ranges differ materially between the two profiles.

The Python package provides post-processing, structured lookup records, resource manifests, date/age parsing and pseudonymization. The npm package provides matching subannotation profiles for the browser toolchain.

English parsing and wording use the same suite-wide declarative age policy as every other profile; there is no independent English maximum-age algorithm. Trusted full patient.birth_date values are expanded only into bounded, locale-correct full-year representations.

Mixed-locale subannotation

meddeid-subannotate can route a mixed corpus without splitting it. Install this package and pin both ordinary profiles in one workspace:

npm install --no-save @meddeid/[email protected]
npm run profile -- set en-GB en-US

The application selects a child profile by an exact metadata.lang match for each document. It fails when metadata is missing or unsupported rather than guessing. The router manifest pins both profile descriptors and their lookup hashes, while every document continues to use only its locale's rules.

Resource workflow

python -m meddeid_language_en.resources audit --profile en-GB
python -m meddeid_language_en.resources audit --profile en-US
python -m meddeid_language_en.resources fetch --profile en-US --cache-dir .cache/sources
python -m meddeid_language_en.resources build --profile en-US --cache-dir .cache/sources
python -m meddeid_language_en.resources diff --profile en-US --cache-dir .cache/sources

fetch verifies the source hash recorded in sources/*/sources.lock.json. build is deterministic and writes only licence-compatible derived records. Unrestricted raw downloads remain in the ignored cache. Each runtime record retains its source identifier and regional scope.

The committed audits enforce minimum counts and category-level regional coverage, verify provenance completeness and logical multi-file hashes, and report malformed values, duplicate keys, semantic collisions, count regressions, and source drift. Current builds contain roughly 326,000 GB and 345,000 US structured lookup records; exact counts and hashes are recorded in the profile audit manifests.

The included resources are designed for recognition and deterministic synthetic generation. Real given-name and family-name tokens are sampled independently; no person-level source records are ingested. Public institution, street, and locality names may be used, while phones, email domains, and identifiers use official fictional/test or deliberately non-assignable forms.

Synthetic labels

English synthetic generation uses the 14-label token-classifier taxonomy and must never emit Anonymize_Other. The full 15-label MedDeID taxonomy remains valid for annotation import and other interoperability paths.

The generation allowlist, in its load-bearing order, is exactly:

Address_Location:Caregiver
Address_Location:Other
Address_Location:Patient
Age_Birthdate
Contactdetails
Date
ID:Caregiver
ID:Patient
Name:Caregiver
Name:Other
Name:Patient
Organization:Healthcare
Organization:Other
Profession