-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
Short answers to the common questions. For detail, see API-Reference and Getting-Started.
Every request carries a bearer API key. You pass it once as apiKey when you create the client, and the client sends it as Authorization: Bearer <apiKey> on each request. Keys start with holon_. Request one through the developer dashboard.
HOLON is a normalized layer over SNOMED CT, RxNorm, LOINC, ICD, and more. The client speaks all of them through one concept model, so you work with a concept instead of a code per system.
A conceptId is HOLON's stable numeric identifier for a clinical idea; it stays the same across every vocabulary. A code is the identifier a single vocabulary (RxNorm, SNOMED, LOINC) assigns to that idea, and it differs between systems. When you hold a code, concepts.getByCode(code, vocabulary) resolves it to the concept. See Concepts.
A non-2xx response, or a network or timeout failure, throws a HolonError from @ontomorph/holon-types. Catch it, check err instanceof HolonError, and branch on err.code (an ErrorCode). err.details holds { status, body }. Common codes include CONCEPT_NOT_FOUND, NO_MAPPING_FOUND, UNAUTHORIZED, and RATE_LIMIT_EXCEEDED. Full list in API-Reference.
Node.js 18+, Bun, Deno, and any runtime with a global fetch. No extra polyfill is needed on those runtimes.
@ontomorph/holon-types is the client's one dependency and its peer. It carries the shared enums (ErrorCode, VocabularyId, DomainId), the error classes (HolonError), and entity types. You import runtime error handling (HolonError, ErrorCode) from @ontomorph/holon-types, and you import the client plus its response types from @ontomorph/holon-client.
@ontomorph/dtp-sdk is the DTP digital-twin SDK. It re-exports this client as dtp.holon. If you already use the DTP SDK, you reach the same HOLON namespaces through dtp.holon without installing this package separately.
Yes. The client is fully typed. Response and entity types (HolonClient, ConceptResponse, SearchResponse, InteractionsResponse, MappingEntry, ReferenceRangeEntry, PhenotypeMatch) are exported from @ontomorph/holon-client. The lower-level *Api classes are exported too, if you want to construct a single namespace on its own.
Yes. The *Api classes (ConceptsApi, InteractionsApi, MappingsApi, ReferenceRangesApi, PhenotypeApi) are exported, so you can construct a single namespace instead of the full client.
Developer docs live at https://developer.ontomorph.com/docs and the API reference at https://developer.ontomorph.com/api-reference. Report issues at https://github.com/ontomorph-core/holon-client/issues.