Phenoml Logo

FHIR

FHIR server operations including resource CRUD, search, and batch operations.

13 endpoints
POST/fhir-provider

Creates a new FHIR provider configuration with authentication credentials.

Note: The "sandbox" provider type cannot be created via this API - it is managed internally.

Input
name: Epic Sandboxdescription: Epic sandbox environment for testingprovider: epicauth
Result
success
Success
messageFHIR provider created successfully
data
id1716d214-de93-43a4-aa6b-a878d864e2ad
nameEpic Sandbox
descriptionEpic sandbox environment for testing
providerepic
base_urlhttps://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4
client_idyour-client-id
auth_configs{}
last_updated2024-01-15T10:30:00Z
GET/fhir-provider/{fhir_provider_id}

Retrieves a specific FHIR provider configuration by its ID.

Sandbox providers return FhirProviderSandboxInfo. On shared instances, only sandbox providers can be accessed.

Input
fhir_provider_idpathabc-123-def-456
Result
success
Success
messageFHIR provider retrieved successfully
data
id1716d214-de93-43a4-aa6b-a878d864e2ad
nameEpic Sandbox
descriptionEpic sandbox environment for testing
providerepic
base_urlhttps://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4
client_idyour-client-id
auth_configs{}
last_updated2024-01-15T10:30:00Z
DELETE/fhir-provider/{fhir_provider_id}

Deletes a FHIR provider.

Note: Sandbox providers cannot be deleted.

Input
fhir_provider_idpathabc-123-def-456
Result
success
Success
messageFhir provider deleted successfully
POST/fhir-provider/{fhir_provider_id}/fhir

Executes a FHIR Bundle transaction or batch operation on the specified provider. This allows multiple FHIR resources to be processed in a single request.

The request body should contain a valid FHIR Bundle resource with transaction or batch type.

The request is proxied to the configured FHIR server with appropriate authentication headers.

Input
Result{}
GET/fhir-provider/{fhir_provider_id}/fhir/{fhir_path}

Retrieves FHIR resources from the specified provider. Supports both individual resource retrieval (e.g. Patient/123 via the path) and search operations.

FHIR search parameters are passed through to the upstream server verbatim as native query-string parameters; this proxy does not model, validate, or transform them. Append standard FHIR search parameters directly to the request URL. Supported parameters include:

  • Resource-specific search parameters (e.g. name for Patient, status for Observation)
  • Common search parameters (_id, _lastUpdated, _tag, _profile, _security, _text, _content, _filter)
  • Result parameters (_count, _offset, _sort, _include, _revinclude, _summary, _elements)
  • Search prefixes for dates, numbers, and quantities (eq, ne, gt, ge, lt, le, sa, eb, ap)

Examples:

  • Patient?name=John%20Doe&_count=10&_sort=family
  • Observation?patient=Patient/123&date=ge2023-01-01&category=vital-signs&_sort=-date

When using a generated SDK, supply these via the client's request-level query-parameter option (the SDK escape hatch) rather than a typed argument.

The request is proxied to the configured FHIR server with appropriate authentication headers.

Result
resourceType: Bundletotal: 2
PUT/fhir-provider/{fhir_provider_id}/fhir/{fhir_path}

Creates or updates a FHIR resource on the specified provider. If the resource exists, it will be updated; otherwise, it will be created.

The request is proxied to the configured FHIR server with appropriate authentication headers.

Input
Result{}
POST/fhir-provider/{fhir_provider_id}/fhir/{fhir_path}

Creates a new FHIR resource on the specified provider. The request body should contain a valid FHIR resource in JSON format.

The request is proxied to the configured FHIR server with appropriate authentication headers.

Input
Result{}
DELETE/fhir-provider/{fhir_provider_id}/fhir/{fhir_path}

Deletes a FHIR resource from the specified provider.

The request is proxied to the configured FHIR server with appropriate authentication headers.

Input
fhir_provider_idpath550e8400-e29b-41d4-a716-446655440000
Result{}
PATCH/fhir-provider/{fhir_provider_id}/fhir/{fhir_path}

Partially updates a FHIR resource on the specified provider.

Two body formats are supported, selected by request content type:

  • application/json-patch+json — an array of JSON Patch operations as defined in RFC 6902. Each operation specifies:
    • op: The operation type (add, remove, replace, move, copy, test)
    • path: JSON Pointer to the target location in the resource
    • value: The value to use (required for add, replace, and test operations)
  • application/fhir+json — a partial FHIR resource for merge-patch semantics.

Note: This proxy currently forwards the request body to the upstream FHIR server with Content-Type: application/fhir+json regardless of the declared request content type. JSON Patch (RFC 6902) therefore only succeeds against upstream servers that accept patch arrays under application/fhir+json; servers that strictly enforce patch media types may reject or misinterpret it. Support for either format ultimately depends on the upstream FHIR server.

The request is proxied to the configured FHIR server with appropriate authentication headers.

Input
[
  {
    "op": "replace",
    "path": "/name/0/family",
    "value": "NewFamilyName"
  }
]
Result{}
PATCH/fhir-provider/{fhir_provider_id}/add-auth-config

Adds a new authentication configuration to an existing FHIR provider. This enables key rotation and multiple auth configurations per provider.

Note: Sandbox providers cannot be modified.

Input
Result
success
Success
messageAuth configuration added successfully
data
id1716d214-de93-43a4-aa6b-a878d864e2ad
nameEpic Sandbox
descriptionEpic sandbox environment for testing
providerepic
base_urlhttps://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4
client_idyour-client-id
auth_configs{}
last_updated2024-01-15T10:30:00Z
PATCH/fhir-provider/{fhir_provider_id}/remove-auth-config

Removes an authentication configuration from a FHIR provider. Cannot remove the currently active auth configuration.

Note: Sandbox providers cannot be modified.

Input
auth config id: auth-config-123
Result
success
Success
messageAuth configuration removed successfully
data
id1716d214-de93-43a4-aa6b-a878d864e2ad
nameEpic Sandbox
descriptionEpic sandbox environment for testing
providerepic
base_urlhttps://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4
client_idyour-client-id
auth_configs{}
last_updated2024-01-15T10:30:00Z
PATCH/fhir-provider/{fhir_provider_id}/set-active-auth-config

Sets which authentication configuration should be active for a FHIR provider. Only one auth config can be active at a time.

If the specified auth config is already active, the request succeeds without making any changes and returns a message indicating the config is already active.

Note: Sandbox providers cannot be modified.

Input
auth config id: auth-config-123
Result
success
Success
message

Active auth configuration set successfully, or the config was already active. Check the message field to determine which case occurred.

data
id1716d214-de93-43a4-aa6b-a878d864e2ad
nameEpic Sandbox
descriptionEpic sandbox environment for testing
providerepic
base_urlhttps://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4
client_idyour-client-id
auth_configs{}
last_updated2024-01-15T10:30:00Z
Terms of Service|Privacy Policy