@br-health-kit/ans
v1.0.0
Published
Registro de operadoras de planos de saude da ANS, tipado e versionado
Maintainers
Readme
@br-health-kit/ans
The ANS register of active health plan operators, typed and versioned.
npm install @br-health-kit/ansimport { ans } from '@br-health-kit/ans'
ans.find('419761') // by ANS registration number
ans.find(419761) // accepts a number; spreadsheets eat the zero
ans.findByCnpj('19.541.931/0001-25') // formatted or bare
ans.isValidRegistro('419761')
ans.byUf('SP')
ans.byModalidade('Cooperativa Médica')
ans.search('unimed')
ans.modalidades()The ANS number is not the CNPJ
The identifier used in TISS guides, billing and regulatory reporting is the ANS registration number (six digits), not the CNPJ. The two are frequently confused. This package indexes by both.
What the dataset contains
Active operators. Each record carries the legal name, trading name, legal
form (modalidade), address, contact, legal representative,
commercialisation region (1 to 6) and the ANS registration date.
Fields absent at the source become null, never an empty string.
Versioning
The source is updated continuously, so the version names the day ANS
published, 2026.08.25, derived from the official file's Last-Modified.
ans.metadata.publishedAt // publication date at the source
ans.load('2026.08.25') // pinned
ans.latest() // followsIntegrity guarantee
The pipeline refuses to publish if any CNPJ fails its check digits: that
indicates a shifted column during parsing, not an invalid company. An
unrecognised modalidade produces a warning rather than an error, because ANS
does create new ones and that must not block a publication.
Environment
Node 20+ through the default entry, which reads its data from disk, including Next.js server components, route handlers and Remix loaders.
For a client bundle use @br-health-kit/ans/web. See
docs/browser.md.
Provenance
ANS open data (PDA), redistributed without content modification. Code under MIT.
