Validator: * Add NL translations * Fix validation of extensions on patterns * Validation of cardinality on address-line elements containing pattern elements fixed * Ensure that validator creates errors on example urls by default * Add -allow-example-urls option to the validator * Fixed issue where when validating with no terminology server and a value set with only an expansion (no compose), the 'inferred' code system wasn't being populated and validation was then failing on a coding with no specified code system * when validating value sets, use CodeSystem/$validate-code not ValueSet/$validate-code Version Conversion Fixes: * add copying of aggregation mode for conversion from 50 to 30 * add test for Observation conversion from 10 to 40 * add procedures conversion form dstu2 to r4 * add medication conversion from dstu2 to r4 * fix obscure issue converting discriminators from R2B to R4/5 Code Changes: * Adding Maven exec to test validation cli jar * Add SIDUtilities and clean up SID handling code across the code base * fix rendering bug on references ***NO_CI***
HAPI FHIR - HL7 FHIR Core Artifacts
CI Status (master) |
---|
This is the core object handling code, with utilities (including validator), for the FHIR specification. included in this repo:
- org.fhir.fhir.utilities: Shared code used by all the other projects - including the internationalization code
- org.fhir.fhir.r5: Object models and utilities for R5 candidate (will change regularly as new R5 candidates are released)
- org.fhir.fhir.r4: Object models and utilities for R4
- org.fhir.fhir.dstu3: Object models and utilities for STU3
- org.fhir.fhir.dstu2: Object models and utilities for STU2
- org.fhir.fhir.dstu2016may: Object models and utilities for an early STU3 candidate used by some implementers
- org.fhir.fhir.convertors: Code to convert between versions, and other version indepedence code - uses all the above projects
- org.fhir.fhir.validation: The FHIR Java validator
- org.fhir.fhir.validation.cli: Holder project for releasing the FHIR validator as as single fat jar (will be removed in the future)
CI/CD
All integration and delivery done on Azure pipelines. Azure project can be viewed here.
Current Versions
Project | Current Release | Latest SNAPSHOT |
---|---|---|
org.hl7.fhir.validation.cli | ||
org.hl7.fhir.validation | ||
org.hl7.fhir.dstu2 | ||
org.hl7.fhir.dstu2016may | ||
org.hl7.fhir.dstu3 | ||
org.hl7.fhir.r4 | ||
org.hl7.fhir.r5 |
Building this Project
This project uses Apache Maven to build. To build:
mvn install
Note that unit tests will run, but are currently not set to fail the build as they do not all pass. This is being worked on.
To skip unit tests:
mvn -Dmaven.test.skip install
Publishing Binaries
An brief overview of our publishing process is here.
For more detailed instructions on cutting a release, please read the wiki
Download
All binaries are published on OSS Sonatype. You will need to add the proper dependency to your pom.xml
file, or your build.gradle.kts
file.
pom.xml
<repositories>
<repository>
<id>oss-snapshot</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
<repository>
<id>oss-releases</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</repositories>
build.gradle.kts
repositories {
maven {
url = uri("https://oss.sonatype.org/content/repositories/snapshots")
}
maven {
url = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/")
}
}
After adding the necessary repositories, you can include the libraries as follows:
org.hl7.fhir.validation.cli
Maven
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.validation.cli</artifactId>
<version>(latest version)</version>
</dependency>
Gradle
compile group: 'ca.uhn.hapi.fhir', name: 'org.hl7.fhir.validation.cli', version: '(latest version)'
org.hl7.fhir.dstu2
Maven
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-dstu2</artifactId>
<version>(latest version)</version>
</dependency>
Gradle
compile group: 'ca.uhn.hapi.fhir', name: 'hapi-fhir-structures-dstu2', version: '(latest version)'
org.hl7.fhir.dstu3
Maven
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-dstu3</artifactId>
<version>(latest version)</version>
</dependency>
Gradle
compile group: 'ca.uhn.hapi.fhir', name: 'hapi-fhir-structures-dstu3', version: '(latest version)'
org.hl7.fhir.r4
Maven
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-r4</artifactId>
<version>(latest version)</version>
</dependency>
Gradle
compile group: 'ca.uhn.hapi.fhir', name: 'hapi-fhir-structures-r4', version: '(latest version)'
org.hl7.fhir.r5
Maven
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-r5</artifactId>
<version>(latest version)</version>
</dependency>
Gradle
compile group: 'ca.uhn.hapi.fhir', name: 'hapi-fhir-structures-r5', version: '(latest version)'
Maintenance
This project is maintained by Grahame Grieve, James Agnew and Mark Iantorno on behalf of the FHIR community.