Skip to content

bind-standard/bind-typescript-sdk

Repository files navigation

BIND TypeScript SDK

TypeScript SDK for the BIND Standard — the open data model for insurance interoperability.

Includes all BIND resource types and a typed client for the BIND Terminology Server.

Install

npm install @bind-standard /sdk

Types

Every BIND resource type is exported as a TypeScript interface:

import type { Policy, Claim, Coverage, Submission, Quote } from "@bind-standard /sdk";
import type { Insured, Organization, Person, PersonRole } from "@bind-standard /sdk";
import type { Location, Risk, RiskCharacteristic } from "@bind-standard /sdk";

Base data types are also available:

import type {
  Address,
  Money,
  CodeableConcept,
  Reference,
  Period,
  Coding,
} from "@bind-standard /sdk";

You can also import from the types subpath if you only need the types:

import type { Policy } from "@bind-standard /sdk/types";

Terminology Client

A zero-dependency, typed HTTP client for the BIND Terminology Server (280+ insurance code systems):

import { TerminologyClient } from "@bind-standard /sdk";

const client = new TerminologyClient();

// List all code systems
const systems = await client.list();

// Get a full code system
const roofTypes = await client.get("roof-type");

// Look up a single concept
const metal = await client.lookup("roof-type", "metal");

// Search across all code systems
const results = await client.search("shingle");

// Localized display values
const french = await client.get("construction-type", { lang: "fr-CA" });

You can also import from the terminology subpath:

import { TerminologyClient } from "@bind-standard /sdk/terminology";
import type { CodeSystem, LookupResult } from "@bind-standard /sdk/terminology";

Custom Base URL

Point the client at a different server instance:

const client = new TerminologyClient({ baseUrl: "http://localhost:8787" });

Syncing Types from bind-standard

The canonical type definitions live in bind-standard. To sync updated types into this SDK:

pnpm run sync:types

This copies the type files from a sibling bind-standard directory. Pass a custom path with:

pnpm run sync:types -- --standard-path /path/to/bind-standard

Development

pnpm install
pnpm run typecheck    # TypeScript type checking
pnpm run check        # Biome lint + format check
pnpm run build        # Compile to dist/

CI/CD

  • CI — Runs typecheck, lint, and build on every push and pull request.
  • Publish — Publishes to npm on GitHub release. Requires an NPM_TOKEN secret.

Contributing

We welcome contributions from everyone. See CONTRIBUTING.md for details, or open a pull request directly.

For questions or ideas, reach out at contact@bind-standard.org.

License

Released under the CC0 1.0 Universal license — dedicated to the public domain. You are free to use, modify, and build upon it without restriction.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors