Skip to content

Releases: aehrc/pathling

Server v1.2.0

20 Feb 06:55
server-v1.2.0
682d285

Choose a tag to compare

Adds support for the _typeFilter parameter across all bulk export operations, allowing clients to filter exported resources using FHIR search queries as defined in the FHIR Bulk Data Access specification.

New features

  • _typeFilter parameter for bulk export — System-level, patient-level, and group-level export operations now accept _typeFilter to apply FHIR search query filters to exported resources (e.g. _typeFilter=Patient?gender=male). Multiple filters for the same resource type are combined with OR semantics. (#2552)
  • Type filter UI in admin console — The export form in the admin UI now includes inputs for building _typeFilter expressions when initiating an export.

Full Changelog: server-v1.1.1...server-v1.2.0

Server v1.1.1

18 Feb 04:13
server-v1.1.1
9488ba5

Choose a tag to compare

Moving to v9.4.0 of the Pathling core libraries.

Bug fixes

  • Styling problems on the resources page relating to horizontal space

Full Changelog: server-v1.1.0...server-v1.1.1

v9.4.0

17 Feb 22:57
v9.4.0
1bfd049

Choose a tag to compare

Add single-resource FHIRPath evaluation to the library API, enabling evaluation of FHIRPath expressions against individual FHIR resource JSON strings without pre-loading datasets. Includes language bindings for Python and R.

New features

Single-resource FHIRPath evaluation

  • Added evaluateFhirPath() to the Java library API for evaluating FHIRPath expressions against a single FHIR resource JSON string (#2502)
  • Support for context expressions and user-defined variables (%varName resolution)
  • Added evaluate_fhirpath() to the Python library
  • Added pathling_evaluate_fhirpath() to the R library

Bug fixes

  • Register the union operator (|) in BinaryOperatorType, fixing UnsupportedFhirPathFeatureError when parsing union expressions

Documentation

  • Remove incorrect claim of & operator support from FHIRPath documentation
  • Add "Single resource evaluation" section to FHIRPath documentation with examples in Java, Python, R, and Scala

Full Changelog: v9.3.1...v9.4.0

v9.3.1

16 Feb 07:15
v9.3.1
8a87af5

Choose a tag to compare

Minor changes in support of search functionality.

New features

  • Build per-resource FHIRPath expressions from union expressions in standard search parameter definitions
  • Expand SearchColumnBuilder to handle additional search parameter types: uri, quantity, and number

Bug fixes

  • Support string search on HumanName and Address types by recognising them as string-compatible

Full Changelog: v9.3.0...v9.3.1

Server v1.1.0

16 Feb 11:00
server-v1.1.0
47c73a4

Choose a tag to compare

Adds standard FHIR search parameter support alongside the existing FHIRPath-based search, with a corresponding search interface in the admin UI.

New features

Standard FHIR search parameters

The server now supports searching using the standard search parameters defined in the FHIR specification, in addition to the existing FHIRPath-based search. Both approaches can be combined in a single request.

Supported parameter types: token, string, date, number, quantity, reference, and URI. Supports modifiers including :not, :exact, :below, :above, and :[type] for reference parameters.

Read the docs: Search

Admin UI search

The built-in admin interface now includes a search form for filtering resources using standard search parameters, with the form dynamically updating based on the selected resource type.

Bug fixes

  • Support string search on HumanName and Address types by recognising them as string-compatible

Dependencies

  • Updated Pathling core libraries to v9.3.1

Full Changelog: server-v1.0.0...server-v1.1.0

v9.3.0

15 Feb 08:27
v9.3.0
4a296bf

Choose a tag to compare

New features

FHIR Search API

This change adds support in the library for parsing FHIR Search queries and converting them into Spark columns.

This will be used to implement expanded search functionality within an upcoming server release.

  • Implemented comprehensive FHIR Search API support in the fhirpath module (#1986)
  • Added search parameter support for:
    • STRING type (with :exact and :not modifiers)
    • TOKEN type (with array value support)
    • DATE type (with prefix support: eq, ne, gt, ge, lt, le, and Period support)
    • NUMBER type
    • QUANTITY type (with UCUM normalisation and system|code syntax)
    • URI type
    • REFERENCE type

Read the docs:

Library API additions

  • Added "search to column" APIs for Java, Python and R
  • Added "FHIRPath to column" APIs for Java, Python and R
  • Added pathling_filter and pathling_with_column to R library

FHIRPath enhancements

  • Implemented count() function (#2532)
  • Implemented resolve() function for references (#2522)
  • Implemented is() function and is operator for type checking (#2383)
  • Implemented as() function and as operator for type casting (#2383)
  • Added union operator (|) support for primitive types (String, Integer, Decimal, Boolean) and complex types (Quantity, Coding, Time, Date, DateTime) (#2398)

Bug fixes

  • Fixed preservation of extensions on elements within choice types (#2538)

Dependencies

  • Upgraded Apache Spark from 4.0.1 to 4.0.2
  • Removed usage of deprecated AgnosticExpressionPathEncoder (#2497)

Infrastructure and tooling

  • Initialised OpenSpec spec-driven development workflow system
  • Added shared pre-commit formatting hook
  • Reformatted all Java source with google-java-format
  • Reformatted Python code with ruff
  • Applied styler formatting to R code

Full Changelog: v9.2.0...v9.3.0

Server v1.0.0

21 Jan 06:13
server-v1.0.0
ab2c23c

Choose a tag to compare

This is the first release of the redesigned Pathling server—a FHIR R4 analytics server built on Apache Spark that accepts data from multiple sources, stores it in an optimised data warehouse, and exposes powerful query and export capabilities.

Highlights

SQL on FHIR

Full support for the SQL on FHIR specification, replacing the previous $aggregate and $extract operations with a standards-based approach. ViewDefinitionscreated for Pathling will work on any SQL on FHIR compliant system.

  • $viewdefinition-run – execute ViewDefinitions synchronously for interactive exploration
  • $viewdefinition-export – run views asynchronously and export to NDJSON, CSV, or Parquet

Bulk data operations

  • $import – load FHIR data from S3, HDFS, or local filesystem in NDJSON or Parquet format
  • $import-pnp – synchronise directly from FHIR servers that support bulk export
  • $export – extract data using the FHIR Bulk Data Access specification (system, patient, and group-level)

CRUD and search

  • Full CRUD operations on FHIR resources
  • FHIRPath-based search for expressive filtering

Web interface

A built-in administration interface for browsing resources, executing ViewDefinitions, and managing bulk operations. Served directly by the server with no additional deployment required.

Deployment

  • Docker: docker run -p 8080:8080 ghcr.io/aehrc/pathling:1
  • Kubernetes: Helm chart supporting single-node and cluster deployments

Documentation

See the server documentation for details on all operations and configuration options.

Read the announcement blog post for more background.

Helm Chart for Server v2.0.0

21 Jan 20:41
helm-server-v2.0.0
a3285a5

Choose a tag to compare

This release accompanies the new Pathling server (v1.0.0), featuring a ground-up redesign with SQL on FHIR support, a web-based administration interface, and comprehensive bulk data operations.

What's new

  • SQL on FHIR support – Execute ViewDefinitions interactively with $viewdefinition-run or export results at scale with $viewdefinition-export
  • Bulk data operations – Import data from S3, HDFS or local filesystem; synchronise with remote FHIR servers via $import-pnp; export using the FHIR Bulk Data Access specification
  • Web administration interface – Browse resources, execute ViewDefinitions, and manage bulk operations through a built-in React UI
  • FHIRPath search – Query resources using FHIRPath expressions instead of standard FHIR search parameters

Chart features

  • Startup, liveness and readiness probes via Spring Boot Actuator
  • Services for FHIR API, Actuator management, Spark UI, driver and block manager endpoints
  • Spark Kubernetes cluster manager support with service account, role and role binding
  • Configurable resource requests/limits, volumes, image pull secrets, tolerations, affinity, and security context
  • Secret configuration for sensitive values

Installation

helm repo add pathling https://pathling.csiro.au/helm
helm repo update
helm install pathling pathling/pathling

See the Kubernetes deployment documentation for configuration examples.

Helm Chart for Server Cache v1.0.0

21 Jan 20:41
helm-cache-v1.0.0
a3285a5

Choose a tag to compare

A Varnish-based frontend cache optimised for use with Pathling Server. This chart deploys an intermediate HTTP cache that reduces load on the Pathling server and improves response times for
repeated queries.

Features

  • ETag-based revalidation – Caches responses and revalidates with Pathling when clients send If-None-Match headers
  • Cache-Control aware – Respects no-cache, no-store, and private directives, passing these responses through uncached
  • Gzip compression – Compresses responses to reduce bandwidth
  • Configurable backend – Set PATHLING_HOST and PATHLING_PORT environment variables to point to your Pathling server

Installation

helm repo add pathling https://pathling.csiro.au/helm
helm repo update
helm install pathling-cache pathling/pathling-cache

See the Caching documentation for configuration details.

v9.2.0

20 Jan 02:23
v9.2.0
1eff2a0

Choose a tag to compare

What's changed

ViewDefinition resource support

The encoders module now supports ViewDefinition as a custom resource type from the SQL on FHIR specification. This includes:

  • A new ResourceTypes utility class for resource type validation that supports custom resource types
  • A HAPI FHIR resource class for ViewDefinition, allowing HAPI to recognise and parse ViewDefinition resources

Write operation details

All data sink write methods (ndjson(), parquet(), delta(), tables()) now return a WriteDetails object containing information about the files that were written. This is useful
for downstream processing and logging.

This change affects both the Java library API and the Python library.

Authentication library

The terminology module now includes the fhir-auth library (1.0.0) for enhanced authentication capabilities when connecting to terminology servers.

Code quality infrastructure

New tooling has been added to enforce consistent code formatting:

  • Spotless Maven plugin for automatic Java code formatting with Google Java Format
  • Checkstyle Maven plugin for code style checking
  • Updated Python packaging to use pyproject.toml
  • Added .lintr configuration for R code linting

Dependency updates

  • Updated bulk-export version from 1.0.3 to 1.0.4
  • Added fhir-auth dependency (1.0.0)

New contributors

Full changelog: v9.1.0...v9.2.0