Skip to main content

FHIR Profiling Tools

A Source HTTP node that serves a page listing every FHIR resource and complex type, and returns a JSON template for any one of them with all fields present and unset.

Part of the Linkiir Adapters package — see requesting the package.

What it does

Open the node's route in a browser and you get two lists: FHIR resources such as Patient and Encounter, and complex types such as HumanName and Address. Click any entry and you get its JSON template.

It is a mapping aid rather than an integration. Use a template to see the exact shape and field names of a resource before you write a mapping, or as the starting point for a test payload.

RequestYou get
The route on its ownThe browser page, with every resource and type as a link
The route with a resource nameThat resource's JSON template
Anything elseA JSON not-found response

Resource names are not case-sensitive, so patient and Patient both work.

No credentials and no outbound calls: the node answers from FHIR specification data held locally.

Set it up

  1. Open the FHIR Profiling Tools node in the Workflow Builder and click Edit.
  2. Set Route Path to the path you want it served on, and pick the FHIR Version you are mapping against.
  3. Save and start the node.
  4. Open the route in a browser, on the port configured in Settings → Http Server. See HTTP Server Settings.

The first request after a version change builds the profile data it serves, so it takes a little longer than the ones after it.

Configuration reference

FieldTypeDefaultPurpose
Route PathstringfhirURL path this node answers on
Worker Countnumber1How many requests it handles at once. Raise it only if several people use it together
FHIR Versionlist4.0.1Specification version to serve templates for
RefreshboolfalseTurn on to rebuild the profile data on the next request, then turn it off
Specifications Pathstring(empty)Where the specification files live. Empty uses the copy supplied with the node
The page has no authentication

Like any HTTP source node, this route answers anyone who can reach the port. It serves specification templates rather than patient data, but treat it as an internal tool: keep it on a restricted network and stop the node when you are not using it. See Security.

Verify it worked

  • The route returns the page, listing resources and types.
  • Requesting Patient returns a JSON object with name, gender, birthDate, and the rest of the Patient fields, all unset.
  • An unknown name returns a not-found response rather than an empty body.

If it didn't work

SymptomCauseFix
The browser cannot reach the routeThe node is stopped, or the embedded HTTP server is offStart the node; check Use Server in HTTP Server Settings
missing required field: Route Path at startRoute Path is emptySet a path and restart
The page loads but lists nothingThe profile data has not been built for the selected versionTurn Refresh on, load the page once, then turn it off
A resource returns not-foundThe name is not a resource or type in the selected FHIR VersionCheck the spelling against the list on the page
Requests are slow under several usersWorker Count is 1Raise it a little and restart

Next