Connectors
Protocols & Custom Connectors
FHIR
Healthcare records over the FHIR standard: read, search, and write resources, and run bulk exports
- Signs in with
- OAuth 2.0 sign-in
- Runs on
- Cloud or On-Prem Worker
- Operations
- 56
- Ready-made triggers
- 0
Connect FHIR
- In Neblex open Connect › Connections and click New Connection.
- Search for FHIR and give the connection a clear name.
- Fill in the fields. Secret values are encrypted and never shown again.
- Click Test, then Create Connection.
For services offered under Connect a Service you only sign in and approve access. Otherwise use Connect with OAuth2 with your own OAuth app. See Authorize with OAuth.
| Field | What to enter |
|---|---|
| FHIR base URL (host and path, without https://)Required | The server's FHIR base, for example fhir.example.org/r4. Every request is sent below it.Example: fhir.example.org/r4 |
| FHIR versionRequired | Sent as the fhirVersion parameter of the FHIR media type, so a server that serves several versions answers in this one. |
| AuthenticationRequired | How the connection signs in to the server. |
| Access tokenOptionalSecret | A token you already hold, sent as Authorization: Bearer. |
| Token endpointOptional | The authorization server's token endpoint. Leave it empty to read it from the server's .well-known/smart-configuration.Example: https://auth.example.org/token |
| Client IDOptional | The client id the authorization server registered. |
| Client secretOptionalSecret | The client secret the authorization server issued. |
| Client authenticationOptional | Whether the client id and secret go in the Authorization header or in the request body. |
| Private key (PEM)OptionalSecret | The PKCS#8 private key whose public key the server holds in your JWK Set (RSA for RS384, P-384 for ES384). |
| Signing algorithmOptional | The algorithm that signs the client assertion; SMART servers support both. |
| Key ID (kid)Optional | The kid of the key in your registered JWK Set. |
| JWK Set URL (jku)Optional | The JWK Set URL registered for the client, when the server asks for it in the assertion header. |
| ScopeOptional | The scopes to request, separated by spaces, for example system/*.rs or system/Patient.rs system/Observation.rs.Example: system/*.rs |
Use it in a flow
- Open a flow, open the node library and search for FHIR.
- Drag it onto the canvas and choose an Operation and your connection.
- Map the operation's fields from earlier steps, or click Map with Matt.
- Use Test this step to see what it returns, then save.
To start a flow from FHIR without a ready-made trigger: a Poll for changes trigger can check one of its list operations on a schedule and pass on only what is new; if FHIR can send webhooks, a Webhook trigger receives them at its own URL.
Operations
56 operations in 10 groups. Each one is a step you can add to a flow.
Batch2
Run a batchbatch | POST | Send a batch Bundle: each entry is processed on its own and the response Bundle reports each outcome. |
Run a transactiontransaction | POST | Send a transaction Bundle: all entries succeed or fail together. |
Bulk Data9
Cancel an exportbulkExportCancel | DELETE | Cancel an export, or tell the server it may delete a completed export's files. |
Check an exportbulkExportStatus | GET | Poll an export's status location: while it runs the result carries progress and retryAfter (HTTP 202); when done it is the manifest listing the output files. |
Download an export filebulkExportDownload | GET | Download one output file of a completed export (a manifest output url on this server) as an NDJSON file. |
Start a group exportbulkExportGroup | GET | Start exporting data for the members of a Group ($export on a Group). |
Start a group export (POST)bulkExportGroupPost | POST | Start exporting data for the members of a Group ($export on a Group). |
Start a patient exportbulkExportPatient | GET | Start exporting data for all patients ($export on Patient). |
Start a patient export (POST)bulkExportPatientPost | POST | Start exporting data for all patients ($export on Patient). |
Start a system exportbulkExportSystem | GET | Start exporting data from the whole server ($export). |
Start a system export (POST)bulkExportSystemPost | POST | Start exporting data from the whole server ($export). |
Capabilities2
Get the CapabilityStatementcapabilities | GET | Read the server's CapabilityStatement: its FHIR version, resource types, interactions, search parameters and operations. |
Get the SMART configurationsmartConfiguration | GET | Read the server's SMART on FHIR configuration (.well-known/smart-configuration): token endpoint, supported scopes and client authentication methods. |
Everything3
Get everything for a patientpatientEverything | GET | Return the patient's whole record ($everything); every page is followed. |
Get everything for all patientspatientEverythingAll | GET | Return every patient's record ($everything at type level, where the server allows it); every page is followed. |
Get everything for an encounterencounterEverything | GET | Return the encounter's whole record ($everything); every page is followed. |
History3
Get a resource type's historyhistoryType | GET | List every version of every resource of one type; every page is followed. |
Get a resource's historyhistoryInstance | GET | List every version of one resource, newest first; every page is followed. |
Get the server's historyhistorySystem | GET | List every version of every resource on the server; every page is followed. |
Operations6
Run an operation on a resource (GET)invokeInstanceOperation | GET | Run a named operation on a resource with simple parameters in the URL (operations that change nothing). |
Run an operation on a resource (POST)invokeInstanceOperationPost | POST | Run a named operation on a resource with a Parameters resource. |
Run an operation on a resource type (GET)invokeTypeOperation | GET | Run a named operation on a resource type with simple parameters in the URL (operations that change nothing). |
Run an operation on a resource type (POST)invokeTypeOperationPost | POST | Run a named operation on a resource type with a Parameters resource. |
Run an operation on the server (GET)invokeSystemOperation | GET | Run a named operation on the server with simple parameters in the URL (operations that change nothing). |
Run an operation on the server (POST)invokeSystemOperationPost | POST | Run a named operation on the server with a Parameters resource. |
Resources12
Create a resourcecreate | POST | Create a resource. |
Delete a resourcedelete | DELETE | Delete a resource by id. |
Delete a resource version (R5)deleteHistoryVersion | DELETE | Delete one past version of a resource (R5). |
Delete a resource's history (R5)deleteHistory | DELETE | Delete every past version of a resource, keeping the current one (R5). |
Delete resources by criteriaconditionalDelete | DELETE | Delete the resource that matches the search criteria, or every match when the server supports multiple conditional delete (CapabilityStatement conditionalDelete = multiple). |
Patch a resourcepatch | PATCH | Change part of a resource with a JSON Patch document or a FHIRPath Patch Parameters resource. |
Patch a resource by criteriaconditionalPatch | PATCH | Patch the one resource that matches the search criteria. |
Read a resourceread | GET | Read the current version of a resource by type and id. |
Read a resource versionvread | GET | Read one specific version of a resource. |
Read by full URLreadByUrl | GET | Read a resource by an absolute or relative URL the server returned (a Bundle entry fullUrl or a reference). |
Update a resourceupdate | PUT | Replace a resource by id (or create it with that id when the server allows update as create). |
Update a resource by criteriaconditionalUpdate | PUT | Replace the one resource that matches the search criteria; the server creates it when none matches and refuses when several do. |
Search5
Search a compartmentsearchCompartment | GET | Search one resource type inside a compartment, for example a patient's Observations; every page is followed. |
Search all resource typessearchSystem | GET | Search across resource types (system-level search); every page is followed. |
Search all resource types (form post)searchSystemPost | POST | Search across resource types by POSTing the criteria to search as a form; every page is followed. |
Search resourcessearch | GET | Search one resource type with the server's search parameters; every page is followed. |
Search resources (form post)searchPost | POST | Search one resource type by POSTing the criteria to search as a form, which keeps them out of URLs and logs; every page is followed. |
Terminology7
Check a code against a value setvalueSetValidateCode | GET | Check that a code is in a value set ($validate-code). |
Check a code in a code systemcodeSystemValidateCode | GET | Check that a code is valid in a code system ($validate-code). |
Expand a stored value setvalueSetExpandInstance | GET | Expand a value set stored on the server ($expand on an instance). |
Expand a value setvalueSetExpand | GET | Expand a value set into its codes ($expand). |
Look up a codecodeSystemLookup | GET | Look up a code's display and properties in a code system ($lookup). |
Test subsumptioncodeSystemSubsumes | GET | Test whether one code subsumes another ($subsumes). |
Translate a codeconceptMapTranslate | GET | Translate a code with a concept map ($translate). |
Validation7
Add tags to a resourcemetaAdd | POST | Add profiles, tags and security labels to a resource without changing its version ($meta-add). |
Get a resource type's tagsmetaType | GET | List the profiles, tags and security labels used by one resource type ($meta). |
Get a resource's tagsmeta | GET | Read the profiles, tags and security labels of a resource ($meta). |
Get the server's tagsmetaSystem | GET | List the profiles, tags and security labels used on the server ($meta). |
Remove tags from a resourcemetaDelete | POST | Remove profiles, tags and security labels from a resource ($meta-delete). |
Validate a change to a resourcevalidateInstance | POST | Check that a resource may be updated or deleted ($validate on an existing resource). |
Validate a resourcevalidate | POST | Check a resource against the base specification and profiles ($validate); the result is an OperationOutcome. |