/DEMIS-validation-service

This service serves as a validation service for all notifications send to DEMIS. It uses a snapshot of all profiles and the DEMIS-Schemas Project to validate any notification.

Primary LanguageJavaEuropean Union Public License 1.2EUPL-1.2


Validation-Service

Quality Gate Status
Vulnerabilities
Bugs
Code Smells
Lines of Code
Coverage
Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License
  6. Contact

About The Project

This service serves as a validation service for all notifications send to DEMIS. It uses a snapshot of all profiles and the DEMIS-Schemas Project to validate any notification.

Release Notes

See ReleaseNotes for all information regarding the (newest) releases.

Getting Started

The application requires the DEMIS FHIR Profiles, they can be retrieved from a git repository, [https://gitlab.prod.ccs.gematik.solutions/git/demis/demis-profile-snapshots](demis-fhir-profiles).

The profiles are require to execute the unit and integration tests included in this repository. At runtime execution the profile files must be available in a folder and this folder must be specified through the environment variable FHIR_PROFILES_PATH.

Prerequisites

Installation

mvn clean verify

The Project can be built with the following command:

mvn -e clean install -DskipTests=true

build with docker image:

docker build -t europe-west3-docker.pkg.dev/gematik-all-infra-prod/demis-dev/validation-service:latest .

The Docker Image associated to the service can be built alternatively with the extra profile docker:

mvn -e clean install -Pdownload-profile -Pdocker

Without Profiles

mvn -e clean install -DskipTests=true -Pdocker

The application can be started as Docker container with the following commands:

docker run --rm --name validation-service \
    -v $(pwd)/profiles:/profiles \
    -p 8080:8080 \
    -e FHIR_PROFILES_PATH=/profiles \
    europe-west3-docker.pkg.dev/gematik-all-infra-prod/demis-dev/validation-service:latest

Kubernetes

Local

aus IntelliJ als SpringBoot Application starten

SpringBootApplicationVS

Intellij/CMD

Start the spring boot server with: mvn clean spring-boot:run Check the server with: curl -v localhost:8080/actuator/health

aus IntelliJ als SpringBoot Application starten

VM

Properties

Property Default Value Description

demis.validation-service.profileResourcePath

/profile

Path to the DEMIS profiles inside the resources.

demis.validation-service.locale

en_US

Locale for the HAPI-FHIR context and validator. The language of diagnostics of the outcome is dependent on this locale.

demis.validation-service.minSeverityOutcome

information

Minimal severity that will not be filtered out in the Outcome. Possible values: information, warning, error, fatal.

Usage

Start the spring boot server with: mvn clean spring-boot:run Check the server with: curl -v localhost:8080/actuator/health

Endpoints

Endpoint Description

/status

GET endpoint for status notifications. Currently minimally implemented.

/$validate

POST endpoint for validating messages. Returns validation results from the HAPI Validator.

/actuator/health/

Standard endpoint from Actuator.

/actuator/health/liveness

Standard endpoint from Actuator.

/actuator/health/readiness

Standard endpoint from Actuator.

Contributing

If you want to contribute, please check our [CONTRIBUTING.md](./CONTRIBUTING.md).

License

EUROPEAN UNION PUBLIC LICENCE v. 1.2

EUPL © the European Union 2007, 2016

Copyright (c) 2023 gematik GmbH

See license.

Contact

Email to: DEMIS Entwicklung