Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

node-wire-fhir-epic

Epic FHIR R4 connector for Node Wire. Lets an agent or app read and search patients, search encounters, and create and search document references in an Epic EHR. It connects as a SMART on FHIR backend service (OAuth 2.0 client credentials with a signed JWT).

Part of Node Wire. Every call runs through the Node Wire runtime, so it gets input validation, retries with a circuit breaker, scope policy, a shared error taxonomy, and OpenTelemetry tracing. A Node Wire host exposes each action over REST, gRPC and MCP.

Install

pip install node-wire-fhir-epic

This pulls in node-wire-runtime. Pre-releases are published as X.Y.ZbN; install one with pip install --pre node-wire-fhir-epic. To install every connector at once, use node-wire-connectors.

Wheels are compiled with Cython and contain no Python source. They are built for CPython 3.11, 3.12 and 3.13 on Linux x86_64 (manylinux and musllinux), macOS arm64 and Windows x64.

Actions

The connector registers as fhir_epic. MCP tool names are <connector_id>_<action>, with dots replaced by underscores.

Action MCP tool What it does
read_patient fhir_epic_read_patient Reads one Patient by ID ({"resource_id": "..."})
search_patients fhir_epic_search_patients Finds Patients by ID list or by name and birth date
search_encounter fhir_epic_search_encounter Finds a patient's Encounters, optionally filtered by status and date
create_document_reference fhir_epic_create_document_reference Writes a clinical document (a DocumentReference with attachment) for a patient
search_document_reference fhir_epic_search_document_reference Finds DocumentReferences with FHIR search parameters

Arguments accept common aliases that language models produce, such as patientId for resource_id. search_encounter requires a patient filter and refuses to call Epic without one.

Configuration

Add the connector to config/connectors.yaml:

connectors:
  fhir_epic:
    enabled: true
    exposed_via: ["rest", "grpc", "mcp"]
    auth:
      provider: oauth2
      grant_method: private_key_jwt
      token_url_secret: EPIC_TOKEN_URL
      client_id_secret: EPIC_CLIENT_ID
      private_key_secret: EPIC_PRIVATE_KEY
      kid_secret: EPIC_KID
      algorithm: RS384

Secrets are read through the configured secret provider (environment variables by default):

Variable Purpose
EPIC_FHIR_BASE_URL Base URL of the Epic FHIR R4 endpoint
EPIC_TOKEN_URL OAuth 2.0 token endpoint
EPIC_CLIENT_ID Client ID of the backend app registered with Epic
EPIC_KID Key ID of the public key registered with Epic
EPIC_PRIVATE_KEY RSA private key (PEM) that signs the client assertion

Usage

Set NW_ALLOWED_CONNECTORS=fhir_epic (comma-separate several). Node Wire loads only the connectors listed there, and discovers them through the node_wire.connectors entry point. A Node Wire host (the REST, gRPC or MCP server, or ConnectorFactory) then builds the connector from the configuration above. See Use a connector.

Security notes

Logs record the operation mode, HTTP status and result counts, never request parameters or FHIR resource bodies. See Privacy.

Documentation

License

Apache-2.0. See LICENSE.

Metadata

Release files for node-wire-fhir-epic 1.0.0b1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for node-wire-fhir-epic 1.0.0b1
File
node_wire_fhir_epic-1.0.0b1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
node_wire_fhir_epic-1.0.0b1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
node_wire_fhir_epic-1.0.0b1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
node_wire_fhir_epic-1.0.0b1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
node_wire_fhir_epic-1.0.0b1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
node_wire_fhir_epic-1.0.0b1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
node_wire_fhir_epic-1.0.0b1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
node_wire_fhir_epic-1.0.0b1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
node_wire_fhir_epic-1.0.0b1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
node_wire_fhir_epic-1.0.0b1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
node_wire_fhir_epic-1.0.0b1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
node_wire_fhir_epic-1.0.0b1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 8.5 MB

Release files / node_wire_fhir_epic-1.0.0b1-cp313-cp313-win_amd64.whl

Download URL node_wire_fhir_epic-1.0.0b1-cp313-cp313-win_amd64.whl
Size 171.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
71d53cbc4836ab2ce0f5060faaba1e4bb5b17bd33ae14464105e17eac11c6c72
BLAKE2b-256 checksum
How to use checksums
27b04b402f9f59e78fd8c10a3109653e33dcadf6d710843795d07512ab8b4ea1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_fhir_epic-1.0.0b1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL node_wire_fhir_epic-1.0.0b1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
542e248fd7024c5b20c097579c53ce5f2f03fa4dc8216071af4f7181a0cb1910
BLAKE2b-256 checksum
How to use checksums
061975eb19e0e1031dc0aee2c7f2bbd800d64ff5c09a07df54b3a8f2069f7527
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_fhir_epic-1.0.0b1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL node_wire_fhir_epic-1.0.0b1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
75199ec6b5a42c3709c207bf9ca926b0283ba3118515ad42ebb91ab26c9a3962
BLAKE2b-256 checksum
How to use checksums
0cc5be08ba3ded6de5dee2ba8badc1d66193de18d16411e46836c642073a41a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_fhir_epic-1.0.0b1-cp313-cp313-macosx_11_0_arm64.whl

Download URL node_wire_fhir_epic-1.0.0b1-cp313-cp313-macosx_11_0_arm64.whl
Size 191.9 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
318f7428a010ec79570cec7fed68f08c643327050d89e7d9950ed8ba327f5d83
BLAKE2b-256 checksum
How to use checksums
c942e304684bd6b8abaf76f37e2f8c10e1fcec121175f3f65e8f4fba3f0a5fc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_fhir_epic-1.0.0b1-cp312-cp312-win_amd64.whl

Download URL node_wire_fhir_epic-1.0.0b1-cp312-cp312-win_amd64.whl
Size 172.0 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f45c421082bfd1fb8602150ce1cdfa457488152e931bf9534afecafd87506146
BLAKE2b-256 checksum
How to use checksums
00a5b52dda8af0d3ce7b2791a6a3b8d41039d8405e880e14f31aa81999a18bf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_fhir_epic-1.0.0b1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL node_wire_fhir_epic-1.0.0b1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b77339321be19be69563252b0d374def804ffd6b8e83239d269cb29071042abc
BLAKE2b-256 checksum
How to use checksums
e67753e48379f4d04590da8705a7fdd68cbbe4603e76bb6f21d57d983ee80a56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_fhir_epic-1.0.0b1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL node_wire_fhir_epic-1.0.0b1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
16872e4b169dc6c3990f784b0477e63a153a4ab0aa876fc747e2fe563aad5942
BLAKE2b-256 checksum
How to use checksums
14c0a1e0a68a9082870317250cc0efb65e653f0e18a735175cf84bc0b9e45b3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_fhir_epic-1.0.0b1-cp312-cp312-macosx_11_0_arm64.whl

Download URL node_wire_fhir_epic-1.0.0b1-cp312-cp312-macosx_11_0_arm64.whl
Size 192.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9036d903d14339cd7ec6759871fdb24d3063df84ed1d52e9e468847f7f85b495
BLAKE2b-256 checksum
How to use checksums
efdb2e35914a7e52743873b44659217b4b9bf59a10c15a83a83f60ccebbedd2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_fhir_epic-1.0.0b1-cp311-cp311-win_amd64.whl

Download URL node_wire_fhir_epic-1.0.0b1-cp311-cp311-win_amd64.whl
Size 175.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
aed32e85c2722410ea1c02c9e1d86e6e656115df809eb3339f3640198025cf2e
BLAKE2b-256 checksum
How to use checksums
406bb1114bca151a58d400ed108e09ae2aa85e45b74d7e742f21939c294e80e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_fhir_epic-1.0.0b1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL node_wire_fhir_epic-1.0.0b1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c01e2e99c0b8d5f889b14edc316d47db48bc45402356e43c0c5727fd69bbe1a3
BLAKE2b-256 checksum
How to use checksums
9952b3a7db680bd6d8bbdf471179ad74d9d51af9ae0e30bfe13816d8229b67b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_fhir_epic-1.0.0b1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL node_wire_fhir_epic-1.0.0b1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8bfcc84a45ff9ae184044b0147b3ff1197cf3dcffc34e3f7c9ce27c5ede0d152
BLAKE2b-256 checksum
How to use checksums
2b43ba8535a463a99ebb5ccadff99daf9009f2199c38c04c578e8b86a961f6b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / node_wire_fhir_epic-1.0.0b1-cp311-cp311-macosx_11_0_arm64.whl

Download URL node_wire_fhir_epic-1.0.0b1-cp311-cp311-macosx_11_0_arm64.whl
Size 193.3 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b7afa4f5dee2333a68ac0faad812c88de1917ca7f73e767a33dfc42b2a3e03f3
BLAKE2b-256 checksum
How to use checksums
15dcc98430674477cb751b32ac1fd35e24567ab5d0dba14b49cac14f4d68a8e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0b1 This release

12 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page