Closed Wambere closed 5 years ago
The following might need to be upgraded:
Name | Version | Description |
---|---|---|
HAPI FHIR | from HAPI FHIR 3.4.0 to HAPI FHIR 3.7.0 | FHIR DSTU3 to FHIR R4 |
Gradle | from 4.10.2 to 5.2.1 | Deprecations available in the build scan here https://scans.gradle.com/s/6cmvzy6vy6s3i/deprecations |
Spring-boot (plugin) | from spring-boot to org.springframework.boot | The new plugin is available here https://plugins.gradle.org/plugin/org.springframework.boot |
Spring version | to 5.1.3.RELEASE | HAPI FHIR now supports spring version 5.1.3 according to https://github.com/jamesagnew/hapi-fhir/blob/master/pom.xml#L567-L570. But it is possible that the org.springframework.boot plugin loads a different version of spring |
Flyway | from 4.2.0 to 5.1.4 | Version control for the database |
Sonarqube | from 2.6.2 to 7.4 | Continuous inspection for code quality |
(In brackets is the latest stable version)
Based on the build scan, before any changes to the server, we have the following error:
Gradle now uses separate output directories for each JVM language, but this build assumes a single directory for all classes from a source set.
And the following warnings:
The Task.leftShift(Closure) method has been deprecated.
The setTestClassesDir(File) method has been deprecated
With these changes, changing mainly ca.uhn.hapi.fhir:hapi-fhir-base:3.4.0
to ca.uhn.hapi.fhir:hapi-fhir-base:3.7.0
and all references of dstu3
to r4
we get the following errors:
/app/src/main/java/org/openlmis/hapifhir/config/TransactionSubscriptionDeliveringRestHookSubscriber.java:19: error: cannot find symbol
import ca.uhn.fhir.jpa.subscription.BaseSubscriptionInterceptor;
^
symbol: class BaseSubscriptionInterceptor
location: package ca.uhn.fhir.jpa.subscription
/app/src/main/java/org/openlmis/hapifhir/config/TransactionSubscriptionDeliveringRestHookSubscriber.java:20: error: package ca.uhn.fhir.jpa.subscription.resthook does not exist
import ca.uhn.fhir.jpa.subscription.resthook.SubscriptionDeliveringRestHookSubscriber;
^
/app/src/main/java/org/openlmis/hapifhir/config/TransactionSubscriptionDeliveringRestHookSubscriber.java:32: error: cannot find symbol
extends SubscriptionDeliveringRestHookSubscriber {
^
symbol: class SubscriptionDeliveringRestHookSubscriber
/app/src/main/java/org/openlmis/hapifhir/config/TransactionSubscriptionDeliveringRestHookSubscriber.java:40: error: cannot find symbol
SubscriptionChannelType channelType, BaseSubscriptionInterceptor subscriptionInterceptor,
^
symbol: class BaseSubscriptionInterceptor
location: class TransactionSubscriptionDeliveringRestHookSubscriber
/app/src/main/java/org/openlmis/hapifhir/config/FhirServerConfig.java:21: error: package ca.uhn.fhir.jpa.subscription.resthook does not exist
import ca.uhn.fhir.jpa.subscription.resthook.SubscriptionRestHookInterceptor;
^
/app/src/main/java/org/openlmis/hapifhir/config/FhirServerConfig.java:90: error: cannot find symbol
public SubscriptionRestHookInterceptor subscriptionRestHookInterceptor() {
^
symbol: class SubscriptionRestHookInterceptor
location: class FhirServerConfig
/app/src/main/java/org/openlmis/hapifhir/config/TransactionSubscriptionRestHookInterceptor.java:18: error: package ca.uhn.fhir.jpa.subscription.resthook does not exist
import ca.uhn.fhir.jpa.subscription.resthook.SubscriptionDeliveringRestHookSubscriber;
^
/app/src/main/java/org/openlmis/hapifhir/config/TransactionSubscriptionRestHookInterceptor.java:19: error: package ca.uhn.fhir.jpa.subscription.resthook does not exist
import ca.uhn.fhir.jpa.subscription.resthook.SubscriptionRestHookInterceptor;
^
/app/src/main/java/org/openlmis/hapifhir/config/TransactionSubscriptionRestHookInterceptor.java:24: error: cannot find symbol
public class TransactionSubscriptionRestHookInterceptor extends SubscriptionRestHookInterceptor {
^
symbol: class SubscriptionRestHookInterceptor
/app/src/main/java/org/openlmis/hapifhir/config/TransactionSubscriptionRestHookInterceptor.java:28: error: cannot find symbol
private SubscriptionDeliveringRestHookSubscriber deliverySubscriber;
^
symbol: class SubscriptionDeliveringRestHookSubscriber
location: class TransactionSubscriptionRestHookInterceptor
10 errors
According to https://github.com/jamesagnew/hapi-fhir/blob/08c7afb804e2b2ad52fd406f2521eaf9d01a8897/src/changes/changes.xml#L127
This issue it to track progress of OLMIS-6066: Upgrade HAPI FHIR server to v3.7.0 and support R4 instead of STU3
The current version of the HAPI FHIR server in the master branch is v 3.4.0, which was released in May 2018. The latest version is v3.7.0 which was released in early February 2019. This version supports the new FHIR normative release (R4) and is required to support the measure and MeasureReport resources for achieving DHIS2 interoperability. We need to upgrade the HAPI FHIR server to the latest version and switch the APIs from using DSTU3 to R4 libraries.
Acceptance Criteria: