DAV-ABDA / eRezept-Referenzvalidator

eRezept-Referenzvalidator auf Basis des HAPI-FHIR-Validators
Apache License 2.0
20 stars 8 forks source link

FeatureRequest: Validierung der Profile GKVSV_PR_TA7_RezeptBundle und GKVSV_PR_TA7_Rechnung #20

Open frankjesgarz opened 2 years ago

frankjesgarz commented 2 years ago

Es wäre hilfreich, wenn der Validator die Profile GKVSV_PR_TA7_RezeptBundle und GKVSV_PR_TA7_Rechnung unterstützen würde. Besonders die Validierung des Profils GKVSV_PR_TA7_RezeptBundle wäre hilfreich, um bei potentiellen Fehlern die Erstellung der Ta7Sammelrechnungsbundles frühzeitig mit einer qualifizierten Fehlermeldung abbrechen zu können,

murnic commented 2 years ago

Eine Möglichkeit wäre die "packages\src\main\resources\packages.yaml" wiefolgt zu erweitern, ob dies im Fokus des Referenzvalidators liegt muss erörtert werden.

# GKV-SV Teil-Profil "GKVSV_PR_TA7_Rechnung" des eAbrechnungsdatensatzes -> FHIR-Ressource mit [xmlns="http://hl7.org/fhir"} erweitern (Validator message: FATAL Invoice Dies scheint keine FHIR-Ressource zu sein (unbekannter Namensraum/Name "noNamespace::Invoice"))
  "https://fhir.gkvsv.de/StructureDefinition/GKVSV_PR_TA7_Rechnung":
    profileName: "https://fhir.gkvsv.de/StructureDefinition/GKVSV_PR_TA7_Rechnung"
    versions:
      1.0.4:
        requiredPackage:
          packageName: "de.gkvsv.erezeptabrechnungsdaten"
          packageVersion: "1.0.4"
      1.0.5:
        requiredPackage:
          packageName: "de.gkvsv.erezeptabrechnungsdaten"
          packageVersion: "1.0.5"
      1.0.6:
        requiredPackage:
          packageName: "de.gkvsv.erezeptabrechnungsdaten"
          packageVersion: "1.0.6"
      1.1.0:
        requiredPackage:
          packageName: "de.gkvsv.erezeptabrechnungsdaten"
          packageVersion: "1.1.0"

# GKV-SV Teil-Profil "GKVSV_PR_TA7_RezeptBundle" des eAbrechnungsdatensatzes -> FHIR-Ressource mit [xmlns="http://hl7.org/fhir"} erweitern (Validator message: FATAL Bundle Dies scheint keine FHIR-Ressource zu sein (unbekannter Namensraum/Name "noNamespace::Bundle"))
  "https://fhir.gkvsv.de/StructureDefinition/GKVSV_PR_TA7_RezeptBundle":
    profileName: "https://fhir.gkvsv.de/StructureDefinition/GKVSV_PR_TA7_RezeptBundle"
    versions:
      1.0.4:
        requiredPackage:
          packageName: "de.gkvsv.erezeptabrechnungsdaten"
          packageVersion: "1.0.4"
      1.0.5:
        requiredPackage:
          packageName: "de.gkvsv.erezeptabrechnungsdaten"
          packageVersion: "1.0.5"
      1.0.6:
        requiredPackage:
          packageName: "de.gkvsv.erezeptabrechnungsdaten"
          packageVersion: "1.0.6"
      1.1.0:
        requiredPackage:
          packageName: "de.gkvsv.erezeptabrechnungsdaten"
          packageVersion: "1.1.0"
DarthGizka commented 2 years ago

Eigentlich sollte der Referenzvalidator alle in den Austausch-Strukturen auftretenden Elemente validieren können, nicht nur die Austauschstrukturen selber.

Derzeit ist es so, daß man zum Testen einer Glühbirne - e.g. StructureDefinition/GKVSV_EX_ERP_Import_PZN oder NamingSystem/arge-ik/iknr - gezwungen ist, erst ein komplettes Auto drumrumzubauen.

Die HAPI-Bibliothek bietet n+1 Möglichkeiten zum Indizieren von Profilpaketen. Man kann z.B. die Infrastruktur nachnutzen, welche die .index.json-Dateien erzeugt. Oder man kann die vom NpmPackageValidationSupport beim Laden von Paketen überflüssigerweise erzeugte Index-Information benutzen, statt sie wegzuwerfen. Oder man kann eine beliebige Support-Struktur (Einzelstruktur für ein Paket oder auch eine komplette Chain) befragen, welche Profile sie kennt. Anwendung der letzteren Variante auf eine komplette ValidationSupportChain hat den Vorteil, daß wirklich alle validierbaren Strukturen erfaßt werden - auch die aus dem FHIR-Core (einschließlich OperationOutcome, Basic, Parameter usw. usf.).