HL7 FHIR R4 / R5 REST client: read, search with paging, create, update, patch, delete, history, transactions, operations; bearer tokens and SMART backend services
fhirhl7healthcarerestsmart-on-fhir
[decks]
"@deckyard/fhir" = "^0.1.0"| Version | Status | Kind | Pin | Requires | Engines | Capabilities |
|---|---|---|---|---|---|---|
| 0.1.0 | live | git | 068ee54688c8 | - | jennifer >=0.26.0 | net |
LGPL-3.0-only
0.1.0An HL7 FHIR R4 / R5 client for Jennifer programs: read, search with paging, create, update and JSON Patch with version checks, delete, history, transactions, batches and operations, with resources as json.Value, helpers for references, identifiers, codings, bundles and OperationOutcome, bearer tokens and SMART on FHIR backend services. Every request has a deadline and a response cap, plain http is refused except to this machine, and the token never follows a link off the server.
jvc add @deckyard/fhirThis vendors the deck to vendor/<scope>/fhir/. Without jvc, unpack the src/ subtree of a release archive (<scope>-fhir-<version>.tar.gz) there.
use io;
import "@deckyard/fhir/" as fhir;
def c as fhir.Client init fhir.withToken(fhir.client("https://fhir.example.org/r4"), $token);
for (def p in fhir.search($c, "Patient", ["family=Doe"])) {
io.printf("%s\n", fhir.referenceOf($p));
}Jennifer 0.26.0 or newer and the default jennifer binary: the deck needs net, which the stock jennifer-tiny lacks.
tools/check-all.sh # the full gate, as CI runs it
jennifer test src/fhir_test.j # the tests, against a fake server
tools/check-docs.sh # docs against the code
tools/pack.sh dist # build the release archiveLGPL-3.0-only, see LICENSE. Copyright (C) 2026 mplx <[email protected]>.
tools/check-headers.sh checks every source file's SPDX header against deck.toml.