GithubHelp home page GithubHelp logo

bakdata / app-referencevalidator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gematik/app-referencevalidator

0.0 1.0 0.0 4.81 MB

The reference validator is a tool to perform advanced validation of FHIR resources for TI applications and interoperability standards

License: Other

Java 100.00%

app-referencevalidator's Introduction

gematik GmbH

Gematik Referenzvalidator

Inhaltsverzeichnis
  1. Über das Projekt
  2. Funktionsumfang
  3. Erste Schritte
  4. Verwendung
  5. Lizenz
  6. Kontakt

Über das Projekt

Der Referenzvalidator ermöglicht eine erweiterte Validierung von FHIR-Ressourcen, die in den Anwendungen der Telematikinfrastruktur (TI) verwendet werden. Der Referenzvalidator liefert autoritative Antworten zur Validität von übertragenen Datensätzen und ist somit eine Referenz für eventuell sonst im Rahmen einer TI-Anwendung eingesetzte FHIR-Validatoren.

Siehe Use Cases, Anforderungen, Architektur, Entwicklungsprozess für weitere Informationen.

Release Notes

Siehe Release Notes

Funktionsumfang

  • Validierung von FHIR-Ressourcen anhand der referenzierten Profile
  • Der Prüfumfang entspricht dem Umfang des HL7 Java Validators:
    • Struktur: Alle Elemente einer Instanz MÜSSEN in dem referenzierten Profil definiert sein
    • Kardinalität: Die Min/Max-Angaben aller Eigenschaften sind berücksichtigt
    • Wertebereiche: Die Wertebereiche von Eigenschaften werden berücksichtigt (einschließlich aufgelistete Codes)
    • Coding/CodeableConcept bindings: Die Code-Angaben in einer Instanz entsprechen der Definition des Kodierungssystems aus dem Profil
    • Constraints/Invariants: Die für die Eigenschaften im Profil definierten Regeln sind eingehalten

Dabei gilt folgendes:

  • Instanzen mit unbekannten Profilen führen zum invaliden Ergebnis
  • Instanzen mit unbekannten Extensions führen zum invaliden Ergebnis

E-Rezept-Modul

Abweichend vom allgemeinen Prüfumfang verhält sich das E-Rezept-Modul wie folgt:

  • Codes aus den CodeSystemen http://fhir.de/CodeSystem/ifa/pzn und http://fhir.de/CodeSystem/ask werden nicht validiert
  • Fehler, die bei Validierung von http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PR-ERP-AbgabedatenBundle|1.0.3 im Zusammenhang mit falschen Angaben bei http://fhir.abda.de/Identifier/DAV-Herstellerschluessel stehen, werden ignoriert und führen zum validen Ergebnis

Unterstützte Profile und Versionen

Eingebundene Packages (R4)

  • de.basisprofil.r4-0.9.13.tgz
  • kbv.basis-1.1.3.tgz
  • kbv.ita.for-1.0.3.tgz
  • kbv.ita.erp-1.0.1.tgz
  • kbv.ita.erp-1.0.2.tgz
  • de.gematik.erezept-workflow.r4-1.0.3-1.tgz
  • de.gematik.erezept-workflow.r4-1.1.1.tgz
  • de.abda.erezeptabgabedatenbasis-1.1.0.tgz
  • de.abda.erezeptabgabedatenbasis-1.1.3.tgz
  • de.abda.erezeptabgabedatenbasis-1.2.0.tgz
  • de.abda.erezeptabgabedaten-1.0.3.tgz
  • de.abda.erezeptabgabedaten-1.1.2.tgz
  • de.abda.erezeptabgabedaten-1.2.0.tgz
  • de.gkvsv.erezeptabrechnungsdaten-1.0.4.tgz
  • de.gkvsv.erezeptabrechnungsdaten-1.0.5.tgz
  • de.gkvsv.erezeptabrechnungsdaten-1.0.6.tgz
  • de.gkvsv.erezeptabrechnungsdaten-1.1.0.tgz
  • de.gkvsv.erezeptabrechnungsdaten-1.2.0.tgz

Validierungsrelevante Codesysteme und Valuesets der KBV:

  • dav.kbv.sfhir.cs.vs-1.0.2-json.tgz
  • dav.kbv.sfhir.cs.vs-1.0.3-json.tgz (Anpassung DARREICHUNGSFORM v1.09 ab 01.04.2022)

Anpassungen der Packages:

Erste Schritte

Voraussetzungen

Der Referenzvalidator wird als Java-Bibliothek und als Konsolenanwendung verteilt. Für die Verwendung ist JDK 11 erforderlich (z.B. AdoptOpenJDK).

Installation

Konsolenanwendung

Für die Verwendung der Konsolenanwendung soll lediglich das Release-Paket entpackt werden.

Java-Bibliothek

Die Installation als Java-Bibliothek kann zur Zeit nur manuell erfolgen, indem die referencevalidatror-lib.jar dem Classpath einer Anwendung hinzugefügt wird. Veröffentlichung in Maven Central und Einbindung als Maven-Dependency sind in Planung.

Verwendung

Konsolenanwendung

Der Referenzvalidator erfordert als Eingabe einen Modulnamen und einen gültigen Pfad zur Datei, die eine FHIR-Ressource enthält:

java -jar referencevalidator-cli.jar -m erp -i c:\temp\example.xml

Java-Bibliothek

Folgende Beispiele veranschaulichen die Verwendung vom Referenzvalidator in einer Java-Anwendung.

Validierung einer FHIR-Ressource aus einer Datei:

ValidationModule erpModule = ValidationModuleFactory.createValidationModule(SupportedValidationModule.ERP);
Path path = Paths.get("c:/temp/KBV_PR_ERP_Bundle.xml");
ValidationResult result = erpModule.validateFile(path);
System.out.println(result.isValid());
System.out.println(result.getFilteredValidationMessages());

Validierung einer FHIR-Ressource als String:

ValidationModule erpModule = ValidationModuleFactory.createValidationModule(SupportedValidationModule.ERP);
String fhirRessource = "<Bundle xmlns=\"http://hl7.org/fhir\">\n"
    + "    <id value=\"fb16b9fb-eca9-4a64-b257-083ac87c9c9c\"/>\n"
    + "    <meta>\n"
    + "        <profile value=\"https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.0.1\"/>\n"
    + "        \n"
    + "    </meta>\n"
    + "</Bundle>";
ValidationResult result = erpModule.validateString(fhirRessource);
System.out.println(result.isValid());
System.out.println(result.getFilteredValidationMessages());

Lizenz

Siehe Apache License, Version 2.0

Teile des Projekts basieren auf dem ABDA E-Rezept-Referenzvalidator (Copyright 2022 Deutscher Apothekerverband (DAV)), der unter Apache License, Version 2.0 steht. Modifizierte Quellcodedateien sind im Quellcode als solche gekennzeichnet.

Kontakt

Fragen, Anregungen, Bug Reports und Feature requests sind willkommen und können gerne über die GitHub Issues oder über [email protected] eingereicht werden.

app-referencevalidator's People

Contributors

alexey-tschudnowsky avatar gematik-entwicklung avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.