Infos für Entwickler:innen
Um Systeme an die API des Sammelrepository angebunden werden sollen, finden Entwickler:innen in diesem Abschnitt Links zu wichtigen Informationen. Hinweise zur Nutzung und zum fachlichen Verständnis der API finden sich in den folgenden Abschnitten
Für Eilige
- TEST Umgebung: Die frühere TEST Umgebung https://test.schema-repository.fitko.dev/ wurde nach Rollout von STAGE (s.u.) abgeschaltet.
- STAGE Umgebung: OpenAPI https://stage.schema.fim.fitko.net/docs und Weboberfläche https://stage.schema.fim.fitko.net (letztere nur zu Testzwecken, kein STAGE-Qualitätsversprechen)
- PROD Umgebung: OpenAPI https://schema.fim.fitko.net/docs# und Weboberfläche https://schema.fim.fitko.net (letztere nur zu Testzwecken, kein PROD-Qualitätsversprechen)
- Öffentliche Entwicklungsumgebung bei OpenCode: https://gitlab.opencode.de/fitko/fim/schema-repository; Issues können per E-Mail erstellt werden: git+fitko-fim-schema-repository-1010-issue-@opencode.de
- Anwendungsdokumentation (in der diese Zeilen veröffentlicht werden): https://docs.fitko.de/fim/docs
Für API-Anbindung
Für die Nutzung des Sammelrepository wurde der API-first-Ansatz gewählt. Entwickler:innen anderer Systeme nutzen das Sammelrepository über eine REST-API.
- API-Dokumentation: XXX
- Anwendungsbeispiele: XXX
- Testfälle: XXX
- Spezifikation des JSON-Schema-Konverters: XXXX
- Spezifikation des XML-Schema-Konverters: XXXX
- Spezifikation des Up-/Downcasts: XXX
- Spezifikation des Qualitäts-Checks: XXXX
- Dokumentation zum zugrundeliegenden Datenmodell: XXX
- Funktionsweise des Sammelrepository: XXX
Weitergehende Dokumentation findet sich im zugrundeliegenden Standard XDatenfelder sowie im Fachkonzept (was kann mit dem Standard erreicht werden) sowie den QS-Kriterien (wie kann etwas mit dem Standard erreicht werden).
Schema Repository API
Die REST-API ist Teil dieser Dokumentation und findet sich identisch auch auf der PROD Umgebung.
Die API hat drei Gruppen:
- api: Suche mit Filtern nach, Download spezifischer und Upload veröffentlichter Dateien; diese müssen XDF2 oder XDF3-Format haben.
- immutable: Das Sammelrepository verspricht, Dateien, die einmal hochgeladen wurden, unter einer eindeutigen URL beliebig lange vorzuhalten und über diese Endpunkte die Schematas, Dokumentsteckbriefe und Codelisten zum Download bereit zu stellen.
- tools: Zur Nutzung der XDF-Dateien stehen Dienste bereit zur Konvertierung (von XDF nach JSON-Schema bzw. XSD), zum Upcast (von XDF2 zu XDF3) und Downcast (XDF3 zu XDF2) und zum Qualitäts-Check.
Anwendungsbeispiele, in denen Nutzung der Endpunkte in den drei Gruppen detailliert werden, finden sich in den folgenen Abschnitten.
Anwendungsbeispiele - Vorbemerkung
Die hier beschriebenen Beispiele sind praxisnah, aber nicht erschöpfend. Entwickler:innen, die weitere Nutzungsszenarien ergänzen wollen, können dies gerne über die E-Mail-Adresse des Projekts tun.
Anwendungsbeispiel FIT-Connect-Einreichung
Das Sammelrepository dient - neben den anderen Nutzensszenarien - als Ablösung für die bisher von FIT-Connect verwendete Ablage https://schema.fitko.de/fim
Die FIT-Connect-Einreichung enthält u.a. einen Fachdatensatz, der die Daten eines Antrags oder Berichts enthält und einem im Zustellpunkt vorgegebenen Datenschema (submissionSchema) entspricht.
Auch der FIT-Connect Metadatensatz enthält eine Referenz auf das Fachdatenschema.
Die Fachschemareferenz besteht aus der schemaUri, die das zu verwendende Fachschema referenziert, und dem mimeType.
Bisher hat FIT-Connect in der schemaUri eine Adresse verwendet, die zu einem Verzeichnis von mit einem Proof-of-Concept-Werkzeug konvertierten JSON-Schemata führte. Die Adresse hatte den Aufbau https://schema.fitko.de/fim/s{FIM-ID}_{Version}.schema.json. Eine Beispiel-URL wäre also https://schema.fitko.de/fim/s00000121_1.0.schema.json.
Zukünftig wird die schemaUri auf die unveränderliche URL eines Schemas im Sammelrepository verweisen. Diese hat den Aufbau schema.fim.fitko.net/immutable/schemas/S{FIM-ID}}V{Version}}_{Zeitstempel des Uploads}}.schema.json. Die Beispiel-URL wäre also schema.fim.fitko.net/immutable/schemas/S00000121V1.0_2024-01-25-1706199754837.schema.json.
Im Kontext einer Zustellpunkt-Beschreibung wäre dies
"submissionSchemas":[
{
"schemaUri":"schema.fim.fitko.net/immutable/schemas/S00000121V1.0_2024-01-25-1706199754837.schema.json",
"mimeType":"application/json"
}
]
Die Details zur Ermittlung der schemaUri finden sich im Abschnitt "Ermittlung der URL im Sammelrepository" weiter unten.
Anwendungsbeispiel Formularerstellung
Verschiedene Formularsysteme, Antragsmanagementssysteme oder Onlinedienste stellen Webseiten für Antragstellende und Berichtspflichtige zur Verfügung, mit denen die Antrags- bzw. Berichtsdaten online erfasst werden können. Der Aufbau dieser Webseiten muss gleichermaßen Kriterien an Bedienungsfreundlichkeit, Barrierefreiheit sowie Rechtssicherheit erfüllen.
Um Rechtssicherheit zu gewährleisten, bietet sich Arbeit auf Basis von FIM-Stamminformationen an, das resultierende Datenschema heisst im FIM-Kontext Referenzdatenschema und findet sich - sofern von den Modellierern veröffentlicht - im Sammelrepository und kann von dort über eine eindeutige URL abgerufen werden, z.B. diese für die Version 1.4 des Wohngelds im XSD-Format: https://schema.fim.fitko.net/immutable/schemas/S00000159V1.4_2024-01-22-1705942219513.xsd