Skip to content

FHIR®

This extension enables you to connect to an HL7 FHIR server and interact with healthcare data using native Arden Syntax.

FHIR (Fast Healthcare Interoperability Resources) is a standard developed by HL7 (Health Level Seven International) for the electronic exchange of healthcare information. It defines a set of modular, reusable “resources” like as Patient, Observation, Medication, Encounter, and many more, that represent clinical and administrative data in a consistent, machine-readable format.

By connecting to a FHIR server, your system can securely retrieve and manipulate structured healthcare data. Using native Arden Syntax, you can write logic that queries FHIR resources directly, enabling advanced clinical decision support, automation, and analytics.

Configuration

To establish a connection to a FHIR server, the following parameters must be provided:

  • FHIR Base URL: The root endpoint of the target FHIR server (e.g., https://example.com/fhir). All resource queries will be constructed relative to this base URL
  • Version: Currently, only FHIR Version 4.3.0 (R4B) is supported.

The FHIR Base URL must be reachable from the ArdenSuite server and must not require any authentication. Authentication support is planned for a near-future update.

Example configuration

FHIR example config

Usage

Details on usage are explained in the official Arden Syntax on FHIR Implementation Guide.

Read

arden-syntax
knowledge:
  type: data_driven;;
  data:
    // GET fhir-url/Observation?status=final&code=http://loinc.org|10155-0
    // LOINC 10155-0: History of Allergies, reported
    LET observations BE READ AS Observation
      WHERE it.status = “final”
        AND it.code.coding.code = “10155-0”
        AND it.code.coding.system = “http://loinc.org”;              
  ;;

Write

arden-syntax
knowledge:
  type: data_driven;;
  data:
    name := NEW HumanName WITH [
            use := "official",
            family := "Doe",
            given := ("John", "Jim")];
    human_names := (,human_name);
    LET my_new_patient BE NEW Patient
        WITH [identifier := "PAT_007",
        active := true,
        name := human_names];
    fhir_destination := DESTINATION { FROM my-fhir-plugin };
  ;;
  action:
    // MLM & Event Calls, return values
    WRITE my_new_patient AT fhir_destination;
    return my_new_patient;
  ;;