Skip to content

Latest commit

 

History

479 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

onFHIR reusable libraries

Reusable Scala libraries for working with HL7 FHIR resources, queries, validation, configuration, FHIRPath, templates, and HTTP clients. The library family is transport-neutral and has no Akka or Pekko dependency.

The first independently versioned release is 4.0.0. Existing Maven artifact IDs and io.onfhir.* package names are preserved.

Modules

Module Purpose
onfhir-common neutral FHIR models, configuration values, interfaces, and shared utilities
onfhir-client JDK HTTP FHIR client and request builders
onfhir-path standalone FHIRPath parsing and evaluation
onfhir-query FHIR/x-fhir-query parsing and in-memory search evaluation
onfhir-config loading and interpreting FHIR infrastructure configuration
onfhir-expression expression model and language-handler dispatch
onfhir-validation profile, terminology, reference, and invariant validation
onfhir-template-engine declarative generation of FHIR or JSON content from JSON templates with FHIRPath placeholders
onfhir-r4 reusable FHIR R4 foundation-resource parsers
onfhir-r5 reusable FHIR R5 parser facade, defaults, and compatibility tests
onfhir-stu3 reusable FHIR STU3 foundation-resource parsers, layered on the R4 parsers
onfhir-definitions-r4 packaged HL7 FHIR R4 (4.0.1) standard definitions and base CapabilityStatement (resources only, no Scala suffix)
onfhir-definitions-r5 packaged HL7 FHIR R5 (5.0.0) standard definitions and base CapabilityStatement (resources only, no Scala suffix)
onfhir-definitions-stu3 packaged HL7 FHIR STU3 (3.0.2) standard definitions and base CapabilityStatement (resources only, no Scala suffix)

Maven

Use only the modules needed by your application. For example:

<dependency>
  <groupId>io.onfhir</groupId>
  <artifactId>onfhir-client_2.13</artifactId>
  <version>4.0.0</version>
</dependency>

Applications using several modules can import the optional BOM:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>io.onfhir</groupId>
      <artifactId>onfhir-libs-bom</artifactId>
      <version>4.0.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Logging

Modules log through slf4j-api and do not include or configure an SLF4J provider. The consuming application selects one provider, such as Logback, Log4j 2, or java.util.logging, at deployment time. Applications that do not install a provider receive SLF4J's no-operation fallback behavior.

Build and verification

JDK 17 and Maven are used for the verified build; emitted bytecode targets Java 11.

mvn test
pwsh -File scripts/check-forbidden-imports.ps1
pwsh -File scripts/check-library-dependency-licenses.ps1

The release profile attaches source and Scaladoc JARs and signs staged artifacts. Activating it does not publish to Maven Central.

Compatibility and license

Version 4.0.0 intentionally contains major API changes and module moves from the 3.x monorepo line. See the migration guide, the changelog, and the MiMa reconciliation.

All coordinates release together at one version. Within a major line, minors are additive and backward binary-compatible and patches are fixes only; binary-incompatible changes occur only in a major release, enforced by a binary-compatibility gate on every build. The onFHIR server continues separately as Repofyr under io.repofyr coordinates (GPL-3.0).

To report a vulnerability, see SECURITY.md.

Copyright 2019-2026 SRDC Corp. and contributors. Licensed under the Apache License 2.0.

About

Reusable, transport-neutral Scala libraries for HL7 FHIR R4/R5 — FHIRPath, validation, search queries, templates, config, and HTTP client.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages