jennifer registry

@deckyard/fhir

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

Depend on it

[decks]
"@deckyard/fhir" = "^0.1.0"

Versions

VersionStatusKindPinRequiresEnginesCapabilities
0.1.0livegit068ee54688c8-jennifer >=0.26.0net

License

LGPL-3.0-only

Source

Released from
0.1.0
Published under
@deckyard mplx
Repository owner
deckyard

Readme

@deckyard/fhir

test Documentation release

An 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.

Documentation

Install

jvc add @deckyard/fhir

This vendors the deck to vendor/<scope>/fhir/. Without jvc, unpack the src/ subtree of a release archive (<scope>-fhir-<version>.tar.gz) there.

Usage

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));
}

Requirements

Jennifer 0.26.0 or newer and the default jennifer binary: the deck needs net, which the stock jennifer-tiny lacks.

Development

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 archive

Licence

LGPL-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.

This deck as JSON