{"id":18985610,"url":"https://github.com/gematik/app-referencevalidator","last_synced_at":"2025-06-21T21:39:07.102Z","repository":{"id":104011135,"uuid":"536449067","full_name":"gematik/app-referencevalidator","owner":"gematik","description":"The reference validator is a tool to perform advanced validation of FHIR resources for TI applications and interoperability standards","archived":false,"fork":false,"pushed_at":"2025-03-04T15:06:05.000Z","size":112147,"stargazers_count":24,"open_issues_count":4,"forks_count":4,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-03-29T13:05:37.934Z","etag":null,"topics":["data","fhir","reference-implementation","reference-validator"],"latest_commit_sha":null,"homepage":"https://fachportal.gematik.de/hersteller-anbieter/primaersysteme/referenzvalidator","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gematik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-14T06:47:40.000Z","updated_at":"2025-03-04T15:06:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"b5e83212-d6e9-49c5-9ae9-44257cb67f3d","html_url":"https://github.com/gematik/app-referencevalidator","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gematik%2Fapp-referencevalidator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gematik%2Fapp-referencevalidator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gematik%2Fapp-referencevalidator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gematik%2Fapp-referencevalidator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gematik","download_url":"https://codeload.github.com/gematik/app-referencevalidator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249250819,"owners_count":21237961,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data","fhir","reference-implementation","reference-validator"],"created_at":"2024-11-08T16:27:25.278Z","updated_at":"2025-04-19T20:34:52.363Z","avatar_url":"https://github.com/gematik.png","language":"Java","readme":"\u003cimg align=\"right\" width=\"250\" height=\"47\" src=\"docs/img/Gematik_Logo_Flag.png\"/\u003e \u003cbr/\u003e\n\n# Gematik Referenzvalidator\n\n![GitHub Latest Release)](https://img.shields.io/github/v/release/gematik/app-referencevalidator?label=release\u0026logo=github) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/de.gematik.refv/referencevalidator/badge.svg)](https://maven-badges.herokuapp.com/maven-central/de.gematik.refv/referencevalidator) [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)\n\n\n\u003cdetails\u003e\n  \u003csummary\u003eInhaltsverzeichnis\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#über-das-projekt\"\u003eÜber das Projekt\u003c/a\u003e\n       \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#releasenotes\"\u003eRelease Notes\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e     \n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#funktionsumfang\"\u003eFunktionsumfang\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#unterstützte-validierungsmodule\"\u003eUnterstützte Validierungsmodule\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#e-rezept-modul\"\u003eE-Rezept-Modul\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#eau-modul\"\u003eEAU-Modul\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#core-modul\"\u003eCode-Modul\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#e-rezept-abrechnungsdaten-modul-experimentell\"\u003eE-Rezept Abrechnungsdaten-Modul (EXPERIMENTELL)\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#externe-validierungsmodule-plugins\"\u003eExterne Validierungsmodule (Plugins)\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#erste-schritte\"\u003eErste Schritte\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#voraussetzungen\"\u003eVoraussetzungen\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#verwendung\"\u003eVerwendung\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#lizenz\"\u003eLizenz\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#beiträge-zum-projekt-und-danksagung\"\u003eBeiträge zum Projekt und Danksagung\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#kontakt\"\u003eKontakt\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## Über das Projekt\n\nDer 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. \n\nSiehe [Use Cases, Anforderungen, Architektur, Entwicklungsprozess](docs/concept/concept.md) für weitere Informationen.\n\n\u003e **Warning**\n\u003e Die Verbindlichkeit des E-Rezept-Moduls vom Referenzvalidator in Abrechnungsprozessen wird in der [Technische Anlage 7, Anhang 2, zur Arzneimittelabrechnungsvereinbarung gemäß § 300 Absatz 3 SGB V](https://www.gkv-datenaustausch.de/leistungserbringer/apotheken/apotheken.jsp) festgelegt. Siehe auch [E-Rezept: Technische Verarbeitbarkeit, Schiedsrichter-Rolle und Problemlösungsverfahren](docs/concept/concept.md#e-rezept-technische-verarbeitbarkeit-schiedsrichter-rolle-und-probleml%C3%B6sungsverfahren).\n\u003e Die Verbindlichkeit anderer Validierungsmodule wurde bisher nicht festgelegt. Es besteht lediglich eine Nutzungsempfehlung seitens der gematik.\n\n\u003e **Warning**\n\u003e Der Betrieb des Referenzvalidators in bestehenden Anwendungen oder Anwendungslandschaften obliegt der Verantwortung der Nutzer. Die gematik trifft angemessene Maßnahmen, um die Sicherheit und Performance des Referenzvalidators zu gewährleisten. Sie übernimmt aber keine Verantwortung für etwaige Schäden, die durch die Integration des Referenzvalidators in Produktionssysteme entstehen (siehe auch Haftungsausschuss der [Apache 2.0-Lizenz](https://www.apache.org/licenses/LICENSE-2.0). Insbesondere müssen die Sicherheitsaspekte des Gesamtsystems unter Einbeziehung der technischen und organisatorischen Rahmenbedingungen der jeweiligen Betriebsumgebung durch die Nutzer selbst bewertet werden. Des Weiteren hängen die Performance-Eigenschaften des Validators stark von der jeweiligen Betriebsumgebung ab.\n\n### Release Notes\n\nSiehe [Release Notes](ReleaseNotes.md)\n\n## Funktionsumfang\n\n- Validierung von FHIR-Ressourcen anhand der referenzierten [Profile](#unterstützte-profile-und-versionen)\n- Der Prüfumfang entspricht dem Umfang des [HL7 Java Validators](https://www.hl7.org/fhir/validation.html):\n  - Struktur: Alle Elemente einer Instanz MÜSSEN in dem referenzierten Profil definiert sein\n  - Kardinalität: Die Min/Max-Angaben aller Eigenschaften sind berücksichtigt\n  - Wertebereiche: Die Wertebereiche von Eigenschaften werden berücksichtigt (einschließlich aufgelistete Codes)\n  - Coding/CodeableConcept bindings: Die Code-Angaben in einer Instanz entsprechen der Definition des Kodierungssystems aus dem Profil\n  - Constraints/Invariants: Die für die Eigenschaften im Profil definierten Regeln sind eingehalten\n- Prüfung der Gültigkeitszeiträume der in den Instanzen referenzierten Profile\n- Nutzung der FHIR-Package-Abhängigkeiten in Abhängigkeit von dem Instanz-Erstellungszeitpunkt (bspw. der datumsabhängigen [KBV-Schlüsseltabellen](https://applications.kbv.de/overview.xhtml))\n\n### Unterstützte Validierungsmodule\n\n| **Modul**                                      | **Version** |\n|------------------------------------------------|-------------|\n| E-Rezept                                       | 2.9         |\n| Elektronische Arbeitsunfähigkeitsbescheinigung | 0.91        |\n| FHIR Core                                      | 1.0         |\n| E-Rezept Abrechnungsdaten (experimentell)      | 0.3         |\n\n\n\n### E-Rezept-Modul\n\nAbweichend vom allgemeinen Prüfumfang verhält sich das E-Rezept-Modul wie folgt:\n- Folgende CodeSysteme werden nicht validiert:\n  - `http://fhir.de/CodeSystem/ifa/pzn`\n  - `http://fhir.de/CodeSystem/ask`\n  - `http://fhir.de/CodeSystem/bfarm/atc` (wird in _GEM_ERP_PR_Medication_ verwendet)\n  - `http://snomed.info/sct` (wird in _GEM_ERP_PR_Medication_ verwendet)\n  - `https://terminologieserver.bfarm.de/fhir/CodeSystem/arzneimittel-referenzdaten-pharmazeutisches-produkt` (wird in _GEM_ERP_PR_Medication_ verwendet)\n- Folgende CodeSysteme werden validiert, führt aber zu einer Warnung im Falle der Nicht-Validität:\n  - `http://unitsofmeasure.org`\n- Folgende ValueSets werden nicht validiert:\n  - `http://hl7.org/fhir/uv/ips/ValueSet/medicine-doseform` (wird in _GEM_ERP_PR_Medication_ verwendet)\n- 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\n- Instanzen mit unbekannten Profilen führen zum invaliden Ergebnis\n- Instanzen mit unbekannten Extensions führen zum invaliden Ergebnis\n\n#### Anpassungen der Packages:\n- Alle Packages enthalten Snapshots\n\n#### Anpassungen der Profile\n- de.gematik.erezept-workflow.r4-1.0.3-1.tgz\n  - ErxChargeItem.json\n    - BugFix: Korrektur der supportiveInformation-Slices (Keine Snapshot-Generierung sonst möglich)\n- de.gematik.erezept-workflow.r4-1.1.1.tgz\n  - ErxCommunicationReply.json\n    - Communication.about targetProfile: typos: KBV_PR_ERP_Medikament_Freitext, KBV_PR_ERP_Medikament_PZN, KBV_PR_ERP_Medikament_Rezeptur, erxTask. Korrigiert in KBV_PR_ERP_Medication_FreeText, KBV_PR_ERP_Medication_PZN, KBV_PR_ERP_Medication_Compounding, ErxTask\n- de.abda.erezeptabgabedatenbasis-1.1.0.tgz\n  - Extension-DAV-EX-ERP-Rezeptaenderung.json\n  - Extension-DAV-EX-ERP-Zusatzattribute.json\n  - Extension-DAV-EX-ERP-ZusatzdatenHerstellung.json\n    - Änderungen siehe Version 0.9.6 im [ChangeLog.md des ABDA Referenzvalidators](https://github.com/DAV-ABDA/eRezept-Referenzvalidator/blob/main/CHANGELOG.md)\n\n### EAU-Modul\n\nAbweichend vom allgemeinen Prüfumfang verhält sich das eAU-Modul wie folgt:\n- ICD-10-Codes (CodeSysteme `http://fhir.de/CodeSystem/dimdi/icd-10-gm` und `http://fhir.de/CodeSystem/bfarm/icd-10-gm`) werden nicht validiert\n- Instanzen mit unbekannten Profilen führen zum invaliden Ergebnis\n- Instanzen mit unbekannten Extensions führen zum invaliden Ergebnis \n\nFür folgende Profile erfolgen Instanz-datumsbasierte Auswahl der FHIR-Packages zur Validierung sowie Profilgültigkeitsprüfungen:\n\n\u003ctable id=\"creation-date-elements\"\u003e\n\u003ctr\u003e\n\u003cth\u003eProfil\u003c/th\u003e\n\u003cth\u003eDatenelement\u003c/th\u003e\n\u003cth\u003eAnmerkung\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eKBV_PR_EAU_Bundle\u003c/td\u003e\n\u003ctd\u003eBundle.entry.resource.where(meta.profile.contains('KBV_PR_EAU_Composition')).date\u003c/td\u003e\n\u003ctd\u003eAusstellungsdatum\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eKBV_PR_EAU_Composition\u003c/td\u003e\n\u003ctd\u003edate\u003c/td\u003e\n\u003ctd\u003eAusstellungsdatum\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eKBV_PR_EAU_Storno_Bundle\u003c/td\u003e\n\u003ctd\u003eBundle.entry.resource.where(meta.profile.contains('KBV_PR_EAU_Composition')).date\u003c/td\u003e\n\u003ctd\u003eAktuelles Datum der Stornierung\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eKBV_PR_EAU_Storno_Composition\u003c/td\u003e\n\u003ctd\u003edate\u003c/td\u003e\n\u003ctd\u003eAktuelles Datum der Stornierung\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n#### Anpassungen der Packages:\n- Alle Packages enthalten Snapshots\n\n#### Anpassungen der Profile\n- de.basisprofil.r4-0.9.13.tgz\n  - Extension-seitenlokalisation.json\n    - BugFix: Version 0.9.12 auf 0.9.13 korrigiert\n\n### CORE-Modul\n\nDer Referenzvalidator bietet die Möglichkeit, FHIR Core-Ressourcen zu validieren. Beim Aufruf des core-Validierungsmoduls ist die Angabe einer Profil-Canonical-URL zur Validierung erforderlich (siehe [Optionen der Konsolenanwendung](#konsolenanwendung-1)).\n\n### E-Rezept Abrechnungsdaten-Modul _(EXPERIMENTELL)_\n\nDieses Modul bietet eine experimentelle Umsetzung zur performanten Validierung von großen [TA7-FHIR-Abrechnungsdateien](https://simplifier.net/erezeptabrechnungsdaten). Unterstützt werden nur Resourcen mit dem Profil `https://fhir.gkvsv.de/StructureDefinition/GKVSV_PR_TA7_Rechnung_Bundle|1.3.0`.\n\nDas Modul mit der id `erpta7` kann auf die gleiche Art und Weise verwendet werden wie das E-Rezept-Modul, z.B.\n\n```\njava -jar .\\referencevalidator-cli-X.Y.Z.jar erpta7 c:\\temp\\big-ta7-file.xml\n```\noder aus dem Quellcode heraus unter der Verwendung der entsprechenden Kennung `SupportedValidationModule.ERPTA7`:\n\n```Java\nValidationModule erpModule = new ValidationModuleFactory().createValidationModule(SupportedValidationModule.ERPTA7);\n```\n\nFür die Validierung der TA7-FHIR-Instanzen teilt das Modul die Eingabe in mehrere `GKVSV_PR_TA7_RezeptBundle`-Ressourcen auf und validiert diese unabhängig voneinander - parallel und unter Verwendung des E.Rezept-Validierungsmoduls. Zusätzlich erfolgt Validierung des umschließenden Bundles, anderer Ressourcen sowie Querverweisprüfungen innerhalb der Eingabe-FHIR-Instanz, um die Gesamtkorrektheit der Validierung zu gewährleisten. Das Modul strebt identische Validierungsergebnisse wie das E-Rezept-Modul an. Die Leistung des Moduls hängt von der Anzahl der verfügbaren CPU-Kerne ab, was der Anzahl der vom Modul gestarteten parallelen Threads entspricht. Wie auch das E-Rezept-Modul validiert das ERPTA7-Modul KEINE  base64-kodierten Daten (eRezepte, Abgabedaten, Belege) innerhalb der TA7-Datei.\n\n### Externe Validierungsmodule (Plugins)\n\nDer Referenzvalidator kann mit weiteren Validierungsmodulen erweitert werden. Die von der gematik bereitgestellten Validierungsmodule \nkönnen aus dem entsprechenden [GitHub-Repository](https://github.com/gematik/app-referencevalidator-plugins/releases) heruntergeladen werden.\n\n#### Nutzung mit der Konsolenanwendung\n\nDie Plugins sollen im Ordner `plugins` auf derselben Ordnerebene wie die `jar`-Referenzvalidator-Datei abgelegt werden.\nBeim Aufruf des Referenzvalidators soll die `id` des abgelegten Plugins angegeben werden.\n\nBeispiel der Ordnerstruktur:\n```\nreferencevalidator/\n├── plugins/\n│   └── isik3-terminplanung.zip\n├── referencevalidator-cli-X.Y.Z.jar\n└── test-ISIKTermin.json\n```\n\nBeispielaufruf:\n\n```\n    cd referencevalidator\n    java -jar .\\referencevalidator-cli-X.Y.Z.jar isik3-terminplanung test-ISIKTermin.json\n```\n\n#### Nutzung mit der Java-Bibliothek\n\n``` Java\nPlugin plugin = Plugin.createFromZipFile(new ZipFile(\"src/test/resources/plugins/minimal-plugin.zip\"));\nvar pluginModule = new ValidationModuleFactory().createValidationModuleFromPlugin(plugin);\nString fhirRessource = \"\u003cBundle xmlns=\\\"http://hl7.org/fhir\\\"\u003e\\n\"\n        + \"    \u003cid value=\\\"fb16b9fb-eca9-4a64-b257-083ac87c9c9c\\\"/\u003e\\n\"\n        + \"    \u003cmeta\u003e\\n\"\n        + \"        \u003cprofile value=\\\"https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.0.1\\\"/\u003e\\n\"\n        + \"        \\n\"\n        + \"    \u003c/meta\u003e\\n\"\n        + \"\u003c/Bundle\u003e\";\nvar result = pluginModule.validateString(fhirRessource);\nSystem.out.println(result.isValid());\n```\n\n## Erste Schritte\n\n### Voraussetzungen\n\nDer Referenzvalidator wird als Java-Bibliothek und als Konsolenanwendung verteilt. Für die Verwendung ist JDK 11 erforderlich (z.B. [AdoptOpenJDK](https://adoptopenjdk.net/)).\n\n### Installation\n\n#### Konsolenanwendung\n\nFür die Verwendung der Konsolenanwendung soll die Datei `referencevalidator-cli-X.Y.Z.jar` in einem beliebigen Ordner im Dateisystem abgelegt werden (siehe [Releases](https://github.com/gematik/app-referencevalidator/releases)).  \n\n#### Java-Bibliothek\n\nDer Referenzvalidator wird zur Einbindung in andere Projekte auf [Maven Central](https://search.maven.org/artifact/de.gematik.refv/referencevalidator) veröffentlicht. Bei der Einbindung ist darauf zu achten, dass genau die angegebenen Versionen der Abhängigkeiten, insbesondere der HAPI-Bibliothekten (`ca.uhn.hapi.fhir`), zur Laufzeit eingebunden sind.\n\nBeispiel zur Einbindung des Referenzvalidator:\n\n``` XML\n    \u003cdependency\u003e\n          \u003cgroupId\u003ede.gematik.refv\u003c/groupId\u003e\n          \u003cartifactId\u003ereferencevalidator-lib\u003c/artifactId\u003e\n          \u003cversion\u003e${version.referencevalidator}\u003c/version\u003e\n    \u003c/dependency\u003e\n```    \n\nDie Versionsangabe `${version.referencevalidator}` soll mit der gewünschten einzubindenden Referenzvalidator-Version ersetzt werden. \n\n## Verwendung\n\n### Konsolenanwendung\n\nDer Referenzvalidator erfordert als Eingabe einen Modulnamen und einen oder mehrere gültige Pfade zu Dateien oder Verzeichnissen, die FHIR-Ressourcen enthalten (bei mehreren Pfaden müssen diese mit Kommas separiert werden):\n\n    java -jar referencevalidator-cli-X.Y.Z.jar erp c:\\temp\\example.xml\n    java -jar referencevalidator-cli-X.Y.Z.jar erp c:\\temp\\example.xml,c:\\temp\\example2.xml,c:\\temp\\folder-with-fhir-resources\n\nUnterstützte Modulnamen:\n- `erp` (E-Rezept)\n- `eau` (Elektronische Arbeitsunfähigkeitsbescheinigung)\n- `core` (FHIR Core)\n- `erpta7` (E-Rezept Abrechnungsdaten)\n\nOptionen:\n- `--verbose` - Verbode-Modus mit Debug-Protokoll-Ausgaben und INFORMATION- bzw. WARNING-Validierungsnachrichten \n- `--no-profile-validity-period-check` - Deaktivierung der Zeitraumgültigkeitsprüfung der Profilversionen\n- `--profile` - Angabe einer Profil-Canonical-URL zur Validierung. Falls angegeben, wird die Angabe der Instanz unter meta.profile ignoriert\n- `--profile-filter` - Angabe eines regulären Ausdrucks zur Prüfung der unter meta.profile referenzierten Profile. Falls kein referenzierstes Profil dem regulären Ausdruck entspricht, wird die Instanz als invalide betrachtet. Beispiele zur Nutzung:\n  - Prüfen, dass es sich bei einer Instanz grundsätzlich um eine E-Rezept-Quittung und nicht etwa um eine Verordnung handelt: `--profile-filter \"ErxReceipt|GEM_ERP_PR_Bundle\"`\n  - Prüfen, dass es sich bei einer Instanz um eine E-Rezept-Verordnung (in der Profilversion 1.1) handelt: `--profile-filter \"KBV_PR_ERP_Bundle\\|1\\.1\"`\n  - Prüfen, dass es sich bei einer Instanz um Abgabedaten (GKV oder PKV) handelt: `--profile-filter \"DAV-(PKV-)?PR-ERP-AbgabedatenBundle\"`\n- `--module-info` - Ausgabe der unterstützten Profile, Profilversionen und FHIR-Packages zu einem Validierungsmodul\n- `--accepted-encodings` - Komma-separierte Liste mit den zu akzeptierenden Serialisierungsformaten der FHIR-Ressourcen. Unterstützte Werte: `xml`,`json`. Überschreibt die Modul-eigene Konfiguration.\n- `--output` - Angabe eines Dateipfades um das Validierungsergebnis in Form einer FHIR OperationOutcome-Ressource bzw. eines Bundles mit OperationOutcome-Ressourcen in eine Datei zu schreiben. Beispiel: `--output c:\\temp\\output.xml`. Als Ausgabeformate werden sowohl `xml` als auch `json` unterstützt. Die Struktur der Ausgabedateien ist in der [weiterführenden Dokumentation](docs/profiles/fsh/fsh-generated/resources) zu finden.    \n\n### Java-Bibliothek\n\nFolgende Beispiele veranschaulichen die Verwendung vom Referenzvalidator in einer Java-Anwendung.\n\nValidierung einer FHIR-Ressource aus einer Datei:\n\n``` Java\n        ValidationModule erpModule = new ValidationModuleFactory().createValidationModule(SupportedValidationModule.ERP);\n        ValidationResult result = erpModule.validateFile(\"c:/temp/KBV_PR_ERP_Bundle.xml\");\n        System.out.println(result.isValid());\n        System.out.println(result.getValidationMessages());\n``` \n\nValidierung einer FHIR-Ressource als String:\n\n``` Java\n    ValidationModule erpModule = new ValidationModuleFactory().createValidationModule(SupportedValidationModule.ERP);\n    String fhirRessource = \"\u003cBundle xmlns=\\\"http://hl7.org/fhir\\\"\u003e\\n\"\n        + \"    \u003cid value=\\\"fb16b9fb-eca9-4a64-b257-083ac87c9c9c\\\"/\u003e\\n\"\n        + \"    \u003cmeta\u003e\\n\"\n        + \"        \u003cprofile value=\\\"https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.0.1\\\"/\u003e\\n\"\n        + \"        \\n\"\n        + \"    \u003c/meta\u003e\\n\"\n        + \"\u003c/Bundle\u003e\";\n    ValidationResult result = erpModule.validateString(fhirRessource);\n    System.out.println(result.isValid());\n    System.out.println(result.getValidationMessages());\n``` \n\nDie Validierungseinstellungen können auch angepasst werden: \n\n``` Java\n        ValidationModule erpModule = new ValidationModuleFactory().createValidationModule(SupportedValidationModule.ERP);\n        ValidationOptions options = ValidationOptions.getDefaults();\n        options.setProfileValidityPeriodCheckStrategy(ProfileValidityPeriodCheckStrategy.IGNORE);\n        options.setProfiles(List.of(\"https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.0.1\"));\n        options.setAcceptedEncodings(List.of(\"xml\", \"json\"));\n        options.setValidationMessagesFilter(ValidationMessagesFilter.KEEP_ALL);\n        options.setProfileFilterRegex(\"KBV_PR_ERP_Bundle\");\n        ValidationResult result = erpModule.validateFile(\"c:/temp/KBV_PR_ERP_Bundle.xml\", options);\n        System.out.println(result.isValid());\n        System.out.println(result.getValidationMessages());\n``` \nDie Anpassung der Validierungseinstellungen soll allerdings nur für Testzwecke erfolgen, da damit die Bewertung der eingegebenen Instanz gegenüber Standardeinstellungen verfälscht wird.  \n\n## Lizenz\n\nSiehe [Apache License, Version 2.0](LICENSE)\n\n## Beiträge zum Projekt und Danksagung\n\nTeile des Projekts basieren auf dem [ABDA E-Rezept-Referenzvalidator (Copyright 2022 Deutscher Apothekerverband (DAV))](https://github.com/DAV-ABDA/eRezept-Referenzvalidator/), der unter [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) steht. Modifizierte Quellcodedateien sind im Quellcode als solche gekennzeichnet.\n\nDie Snapshots für die FHIR-Packages wurden auf Basis vom [Pull Request](https://github.com/gematik/app-referencevalidator/pull/1) von [spectrumK](https://www.spectrumk.de/) und [bakdata](https://bakdata.com/) vorgeneriert und in den Referenzvalidator eingebunden.\n\n## Kontakt\n\nFragen, Anregungen, Bug Reports und Feature requests sind willkommen und können gerne über die [GitHub Issues](https://github.com/gematik/app-referencevalidator/issues) oder über [referenzvalidator\u0026commat;gematik.de](mailto:referenzvalidator\u0026commat;gematik.de) eingereicht werden.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgematik%2Fapp-referencevalidator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgematik%2Fapp-referencevalidator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgematik%2Fapp-referencevalidator/lists"}