XÖV lite

1. Vorbemerkungen

Das vorliegende Codelisten-Handbuch zur Herausgabe und Nutzung von Codelisten basiert in wesentlichen Teilen auf den entwickelten Methoden und Produkten des XÖV-Rahmenwerks, ist jedoch auch unabhängig von der XÖV-Methodik nutzbar. Schon mit der Entstehung des Rahmenwerks bestand bei allen Beteiligten ein gemeinsames Verständnis bezüglich der hohen Relevanz dieses Themenbereichs für die Standardisierung der Datenübermittlung. Konsequenterweise wurde schon mit der ersten Version des Handbuchs zur Entwicklung XÖV-konformer Standards (XÖV-Handbuch) in 2010 eine Reihe von Regelungen zu Codelisten im XÖV-Kontext beschrieben und öffentlich bereitgestellt. Der Kooperationsausschuss Bund-Länder-Kommunaler Bereich (KoopA ADV) hatte den Einsatz des Handbuchs im Rahmen seiner letzten Sitzung empfohlen. Seither ist es in einer Vielzahl von (XÖV-)Vorhaben als Richtlinie zur Entwicklung von IT-Spezifikationen zur elektronischen Datenübermittlung eingesetzt worden. Allen diesen Vorhaben und resultierenden Standards ist gemein, dass sie in wesentlichen Teilen auf der Nutzung von Codelisten basieren.[1]

Eine Codeliste ist eine Liste von Codes und der Beschreibung ihrer jeweiligen Bedeutung. Die Bedeutung von Codes kann dabei beispielsweise in Form von Namen (Augsburg, Bremen, München, etc.), Begrifflichkeiten (ledig, verheiratet, geschieden, etc.) oder Statusbeschreibungen (Antrag übermittelt, Antrag empfangen, Antrag unvollständig, etc.) vorliegen. In der Datenübermittlung werden Codelisten eingesetzt, um die für einen bestimmten Übermittlungskontext relevanten Sachverhalte eindeutig zu bezeichnen und in der erforderlichen Form zu beschreiben. Die beschriebenen Sachverhalte können dabei fachspezifisch, fachübergreifend oder gar fachunabhängiger Natur sein. Insbesondere für die letzten beide Kategorien kann häufig auf bestehende Codelisten zurückgegriffen werden.

Ein praktisches Beispiel hierfür ist die Codeliste der Staaten (-namen) die durch die ISO (International Organization for Standardization) mit der Norm 3166-1 betrieben und veröffentlicht wird. Diese Codeliste wird weltweit in den unterschiedlichsten fachlichen Bereichen zur Nutzung vorgegeben oder empfohlen. Die Europäische Norm zur elektronischen Rechnung (EN 16931-1:2017) beispielsweise regelt neben der Nutzung der ISO-Staatenliste die Nutzung 18 weiterer Codelisten unterschiedlicher Herausgeber und Formate. Die letztendliche Umsetzung der Norm in IT-Verfahren erfordert, dass die Nutzer mit diesen diversen Formaten Umgang finden.

Dabei liegt die Herausforderung nicht ausschließlich in der technischen Nachnutzung der in den jeweiligen Codelisten gehaltenen Daten. Vielmehr als die erstmalige Übernahme ist es die letztendliche Organisation des Betriebs und der damit verbundene kontinuierliche Umgang mit Änderungen unterschiedlichster Art. Alle Beteiligten müssen hierfür ein gemeinsames Verständnis der für die Herausgabe und Nutzung von Codelisten erforderlichen Daten, Metadaten und zugehörigen Konzepte besitzen. Dies Betrifft im Fall der Norm EN 16931 beispielsweise die unterschiedlichen Herausgeber der genutzten Codelisten, die am Betrieb des Standards beteiligten europäischen Normierungsgremien bis hin zu den letztendlichen Umsetzern der Norm in ein IT-Verfahren.

1.1. Zielgruppe und Zweck

Dieses Handbuch soll Herausgeber und Nutzer von Codelisten unterstützen. Bei der Herausgabe und Nutzung von Codelisten sind häufig Interaktionen mit einer ganzen Reihe von Beteiligten erforderlich. Die jeweils an diesen Interaktionen beteiligten Organisationen und Personen haben dabei sehr unterschiedlich, durch ihre Rollen, Teilaufgaben und Anforderungen geprägte Perspektiven auf das Thema.

Mit diesem Handbuch wird eine übergreifende Perspektive dargestellt, die allen Beteiligten ein einheitliches Vokabular und Regelwerk unter anderem in Form eines Standards zur Herausgabe und Nutzung von Codelisten an die Hand gibt. Eine solches einheitliches Vokabular und Regelwerk wird als notwendige Grundlage für eine transparente, qualitätsgesicherte und letztendlich effiziente Herausgabe und Nutzung von Codelisten verstanden.

Zielgruppe dieses Dokuments sind Organisationen und Personen, die an der Herausgabe und Nutzung beteiligt sind. Im Kontext dieses Handbuchs umfasst der Gesamtprozess der Herausgabe einer Codeliste und ihrer Versionen die folgenden Teilprozesse:

  • initiale Entwicklung fachlicher und nicht-fachlicher Inhalte

  • Betrieb und Fortschreibung

  • technische Abbildung(en)

  • Bereitstellung

  • Außerbetriebnahme

Die Nutzung von Codelisten und zugehörigen Versionen soll u. a. verstanden werden als Nutzung in den folgenden Kontexten:

  • direkte Umsetzung in IT-Verfahren

  • Verwendung in einem Standard

  • Nachveröffentlichung auf eigener Plattform

Weitere Nutzungskontexte sind in diesem Zusammenhang vorstellbar, sollen aber im Weiteren nicht explizit dargestellt werden.

Zielgruppe dieses Dokuments sind somit neben Anderen die folgenden Organisationen

  • Organisationen, die Codelisten-relevante Inhalte bereitstellen

  • Betreiber von Standards

  • Betreiber von Plattformen zur Nachveröffentlichung

  • Betreiber von IT-Verfahren

  • Hersteller von IT-Verfahren

  • etc.

In diesem Zusammenhang sollen insbesondere die Mitarbeitenden der oben genannten Organisationen angesprochen werden, die in den Rollen Fachexperte, Fachlicher Entscheider, IT-Architekt und IT-Entwickler agieren.

1.2. Ansprechpartner und Mitwirkende

Das vorliegende Codelisten-Handbuch und der darin spezifizierte Standard ist ein durch die Koordinierungsstelle für IT-Standards (KoSIT) im Auftrag des IT-Planungsrats betriebenes und unter der CC BY Lizenz (Creative Commons Namensnennung 4.0) verfügbares Produkt. Handbuch und Standard unterliegen dem geregelten Produktbetrieb. Änderungsanforderungen, Erweiterungen oder Fehlermeldungen können durch alle Nutzer an die KoSIT (kosit@finanzen.bremen.de) gemeldet werden.

An der vorliegenden Fassung des Handbuchs haben folgende Personen mitgewirkt:

Tabelle 1. Editoren und mitwirkende Personen
RolleNameInstitution

Editoren

Hauke Edeler

Koordinierungsstelle für IT-Standards

Lutz Rabe

Koordinierungsstelle für IT-Standards

Mirco Kuhlmann

LAVA Unternehmensberatung

Mitwirkende

Dr. Fabian Büttner

Koordinierungsstelle für IT-Standards

Antje Duske

]init[ AG

1.3. Struktur des Dokuments

Dieses Handbuch ist in drei Abschnitte gegliedert. Das Standard zur Herausgabe und Nutzung von Codelisten bildet den normativen Teil dieses Dokuments. Es definiert welche Daten und Metadaten eine Codeliste enthält, wie sie und ihre Versionen zu identifizieren sind und welche Konformitätskriterien gelten. Der Leitfaden zur Bereitstellung und Einbindung von Codelisten (nicht normativ) bietet einen Leitfaden zur strukturierten und vorhabenübergreifenden Nutzung von Codelisten. Es werden die Bereitstellung von Codelisten im XRepository sowie die verschiedenen Methoden der Einbindung von Codelisten in das eigene Vorhaben erläutert. Das Kapitel Abbildung von Codelisten in technische Formate spezifiziert die Abbildung von Codelisten im Sinne dieses Standards aus technischer Sicht. Es werden Syntaxbindings für Genericode und XÖV-Fachmodelle erläutert und an Beispielen veranschaulicht. Im Anhang Übersicht Syntaxbinding findet sich eine tabellarische Übersicht dieser Abbildungen. Den Abschluss bildet das Glossar.

2. Standard zur Herausgabe und Nutzung von Codelisten

Mit diesem Handbuch wird allen an der Herausgabe und Nutzung von Codelisten Beteiligten eine gemeinsame Basis für eine transparente, qualitätsgesicherte und letztendlich effiziente Ausgestaltung ihrer Aufgaben und Prozesse geboten. Diese gemeinsame Basis wird gebildet durch den in diesem Teil des Handbuchs dokumentierte Standard und den darin spezifizierten Metadatenelementen zur Beschreibung von Codelisten, Codelistenversionen sowie den in den Codelisten(-versionen) gehaltenen Daten.

Neben der Spezifikation dieser Metadatenelemente, ihrer semantischen Bedeutung und ihrer Multiplizitäten sind mit dem Standard allgemeine Regelungen in Form von Konformitätskriterien gegeben. Diese Kriterien regeln neben der Verwendung der Metadatenelemente auch die Ausgestaltung und Bereitstellung von Codelisten. So wird mit dem Standard die Möglichkeit geboten, die formale Qualität von Codelisten unabhängig von ihrem jeweiligen technischen Format auf der Basis der im Standard dokumentierten Kriterien festzustellen. Mit der Anwendung des Standards und des darin enthaltenen Konzepts zur Konformität von Codelisten kann die (semantische) Interoperabilität der an den Prozessen der Herausgabe und Nutzung von Codelisten beteiligten Organisationen gesteigert werden.

Die Abbildung von Codelisten in technische Formate ist nicht Bestandteil des Standards und besitzt somit keine Relevanz für die Konformität von Codelisten. Dieser Ansatz trägt der Anforderung Rechnung, dass Codelisten unter vielfältigsten technischen, organisatorischen und rechtlichen Rahmenbedingungen herausgegeben und genutzt werden. Die Einschränkung auf ein technisches Abbildungs- bzw. Austauschformat würde die angestrebte Interoperabilität wesentlich behindern.

Selbstverständlich erfordert die letztendliche Nutzung von Codelisten in der Praxis auch deren Abbildung in technisch verarbeitbare Formate. Wie eine solche Abbildung erfolgt und welchen Anforderungen sie entsprechen muss wird im Kapitel Abbildung von Codelisten in technische Formate beschrieben.

2.1. Daten einer Codeliste

Eine Codeliste wird im Kontext dieses Handbuchs definiert als eine Liste von Codes und zugehöriger Beschreibung(en). Codes und zugehörige Beschreibungen können, wie im Folgenden illustriert, als Tabelle dargestellt werden. Die Tabelle zeigt beispielhaft die Daten einer Codeliste zur Übermittlung des Familienstands, wie sie in vergleichbarer Form im Standard XMeld verwendet wird.

Tabelle 2. Codeliste Familienstand
SpalteASpalteB

LD

ledig

VH

verheiratet

VW

verwitwet

GS

geschieden

EA

Ehe aufgehoben

LP

in eingetragener Lebenspartnerschaft

LV

durch Tod aufgelöste Lebenspartnerschaft

LA

aufgehobene Lebenspartnerschaft

LE

durch Todeserklärung aufgelöste Lebenspartnerschaft

NB

nicht bekannt

Die Codeliste enthält insgesamt zehn Einträge, die den Tabellenzeilen in der Darstellung entsprechen. Die Benennung der (Tabellen-)Spalten kann frei gewählt werden. In der Spalte “SpalteA” sind die Codes der Einträge abgebildet, die innerhalb der Codeliste eindeutig sein müssen. Diese Spalte wird im Weiteren als Codespalte bezeichnet. In der Spalte “SpalteB” ist die Bedeutung der jeweiligen Codes beschrieben.

Komplexere Sachverhalte können es erfordern, dass wie in der folgenden Tabelle dargestellt, mehr als eine Code-Spalte und/oder eine Beschreibungsspalte erforderlich sind. Das Beispiel zeigt ausschnittweise sieben Einträge der von der KoSIT herausgegebenen und im XRepository veröffentlichten Codeliste “Country Codes”.

Tabelle 3. Codeliste "Country Codes" (Auszug)
ISO Alpha-2 codeDESTATIS CodeShort NameFull NameISO Numeric

…​

…​

…​

…​

…​

AD

123

Andorra

das Fürstentum Andorra

020

AO

223

Angola

die Republik Angola

024

AI

Anguilla

660

AQ

Antarktis

010

AG

320

Antigua und Barbuda

Antigua und Barbuda

028

GQ

274

Äquatorialguinea

die Republik Äquatorialguinea

226

SY

475

Arabische Republik Syrien

die Arabische Republik Syrien

760

…​

…​

…​

Für diese Codeliste sind mit den Spalten “ISO Alpha-2 code” und “ISO Numeric” insgesamt zwei Codespalten definiert. Mit den Spalten “DESTATIS Code”, “Short Name” und “Full Name” sind insgesamt drei Beschreibungsspalten gegeben. Eine solche "Mehrfachauszeichnung" der Einträge kann u. a. für Codelisten hilfreich sein, die in unterschiedlichen Bereichen genutzt werden sollen, in denen sich unterschiedliche Begrifflichkeiten oder Codes für die selben semantischen Konzepte etabliert haben. Die in der o. g. Liste aufgeführten Staaten können entweder mittels ISO Alpha-2 code (z. B. DE) oder ISO Numeric (z. B. 276) identifiziert werden.

2.2. Mehrsprachige Codelisten

In bestimmten Anwendungskontexten kann es notwendig sein, Daten und Metadaten in mehreren Sprachen anzugeben. Die vorliegende Methodik ermöglicht die Anlage und Nutzung solcher Codelisten durch Verwendung entsprechender Metadaten, wie sie im folgenden Metadaten einer Codeliste beschrieben sind.

Das folgende Beispiel greift die bereits erwähnte Familienstands-Codeliste - ergänzt um eine weitere englischsprachige Kommentarspalte - wieder auf. In den Spaltenmetadaten (hier und im Folgenden dargestellt als Tabellenkopf) wird die Sprache der zugehörigen Daten ausgezeichnet.

Tabelle 4. Codeliste Familienstand in Deutsch und Englisch
SpaltennameCodeFamilienstandCivil Status

Sprache

de-DE

en-US

LD

ledig

single

VH

verheiratet

married

VW

verwitwet

widowed

GS

geschieden

divorced

…​

…​

…​

Die im folgenden Abschnitt Metadaten einer Codeliste als "mehrsprachig" gekennzeichneten Elemente können in verschiedenen Sprachen angegeben werden. So kann beispielsweise der Name (lang) einer Codeliste sowohl auf Englisch als auch auf Deutsch angegeben werden (nicht aber die notwendig eindeutige Kennung der Codeliste).

Wird ein Metadatum in einer Sprache verwendet, muss es auch in jeder anderen der verwendeten Sprachen aufgeführt werden (der Name der Codeliste muss beispielsweise in jeder verwendeten Sprache genau einmal vorkommen).

Dabei muss die Sprache im Format des RFC 5646 spezifiziert werden (ISO 639-1 zur Angabe von Sprachen, ISO 3166-1 zur Angabe des Landes); also z. B. „de-DE“ für das in Deutschland geschriebene Deutsch, „en-US“ für amerikanisches Englisch, etc.

Die Verwendung von Sprachen im Daten- und im Metadatenteil der Codeliste ist unabhängig voneinander: Es können Daten (Tabellenspalten) in mehreren Sprachen und gleichzeitig Metadaten in nur in einer Sprache vorliegen - oder umgekehrt.

Um den Umgang mit Codelisten im Kontext der deutschen Verwaltung zu erleichtern, muss jede Codeliste mindestens deutschsprachige (de-DE) Metadaten enthalten. Wird eine Codeliste ausschließlich im in Deutschland geschriebenem Deutsch (de-DE) verfasst, kann auf die sprachliche Auszeichnung der Metadaten und Spalten verzichtet werden.

Eine tabellarische Aufstellung der Regelungen findet sich unter Regelungen zu Codelisten.

2.3. Metadaten einer Codeliste

Neben den Daten ("Einträge der Tabelle") einer Codeliste erfordert deren systematische Nutzung die Beschreibung der Codeliste als solche, ihrer Versionen und der zugehörigen Daten. Diese sogenannten Metadaten informieren unter anderem über Name, Version, Gültigkeit und Herausgeber einer Codeliste. Im Folgenden wird unterschieden in Metadaten, die

  • eine Codeliste und alle ihre Versionen (versionsunabhängig),

  • ausschließlich eine einzelne Version (versionsabhängig) und

  • ausschließlich die Daten(-struktur) einzelner Versionen

beschreiben. Die unten stehenden Tabellen bieten einen Überblick über eine Mindestmenge von Metadaten der drei Kategorien. Die Mindestmenge ist die Menge von (Meta-)Daten, die unabhängig von spezifischen Herausgabe- oder Nutzungskontexten allen Beteiligten in definierter Form und Qualität verlässlich zur Verfügung stehen muss.

Die in den Tabellen spezifizierten Metadatenelemente sind normativer Bestandteil des Standards und somit relevant für die Beurteilung der Konformität einer Codeliste zum Codelisten-Handbuch (semantischen Standard).

Metadaten die im Folgenden als mehrsprachig gekennzeichnet sind, können parallel in mehreren Sprachen angegeben werden. Sobald ein Metadatenelement in einer Sprache angegeben wird, muss es in alle verwendeten Sprachen übersetzt werden. Beispiel: Die verpflichtenden Metadatenelemente (Häufigkeit: 1) sind auf Deutsch angegeben. Wird nun eins der Elemente auf Englisch übersetzt, so müssen auch alle anderen als mehrsprachig gekennzeichneten Elemente in einer englischsprachigen Übersetzung vorliegen. Wird darüber hinaus ein optionales Element (Häufigkeit: 0..1 oder 0..*) verwendet, so muss auch dies übersetzt werden.

Tabelle 5. Metadatenelemente einer Codeliste (versionsunabhängig)
Metadatenelement [Häufigkeit]BeschreibungMehrsprachig

Name (lang) [1]

Der Name (lang) ist die “sprechende” Bezeichnung einer Codeliste.

Ja

Name (kurz) [1]

Der Name (kurz) ist die “sprechende” Kurzbezeichnung einer Codeliste. Dieser Name wird beispielsweise im XRepository in Listendarstellungen von Inhalten verwendet oder kann zur Bezeichnung der Codeliste in Texten (Spezifikationsdokument) verwendet werden.

Ja

Name (technisch) [1]

Neben den Namen (lang) und Namen (kurz) besitzt eine Codeliste einen technischen Namen. Dieser Name soll “sprechend” und gleichzeitig zur technischen Verarbeitung optimiert sein. In der Regel ist der technische Name vom Namen (kurz) abgeleitet.

Die zur Beschreibung dieses Namens erlaubten Zeichen sind a-z, A-Z, 0-9, - und .. Das Zeichen . wird dabei ausschließlich zur Klassifikation verwendet. Das Zeichen - wird ausschließlich zur Worttrennung verwendet.

Nein

Kennung [1]

Mittels einer Kennung wird eine Codeliste versionsübergreifend eindeutig identifiziert.

In Identifikation von Codelisten sind die Regelungen zur Bildung von Kennungen dokumentiert.

Nein

Beschreibung [1]

Zu einer Codeliste liegt eine Beschreibung in Form eines unformatierten Fließtextes vor.

Ja

Herausgebername (lang) [1]

Der Herausgeber einer Codeliste ist eine natürliche Person oder eine Organisation. Sie ist verantwortlich für die fachlichen Inhalte und deren Fortschreibung. Der Herausgebername (lang) ist der vollständige und ungekürzte Name des Herausgebers.

Ja

Herausgebername (kurz) [1]

Der Herausgebername (kurz) ist der gekürzte oder umgangssprachliche Name des Herausgebers.

Ja

Eine Codeliste kann 0..n Versionen besitzen. Die Metadatenelemente zur Beschreibung einer solchen Codelistenversion sind mit der folgenden Tabelle gegeben.

Tabelle 6. Metadatenelemente einer Codelistenversion (versionsabhängig)
Metadatenelement [Häufigkeit]BeschreibungMehrsprachig

Kennung [1]

Mittels dieser Kennung wird die Version einer Codeliste eindeutig identifiziert.

Nein

Version [1]

Die Version kennzeichnet einen definierten Stand der Entwicklung oder Fortschreibung einer Codeliste. Sie wird zur Bildung der Kennung der Version der Codeliste genutzt.

Die zur Beschreibung der Version erlaubten Zeichen sind a-z, A-Z, 0-9, - und ..

Nein

Beschreibung [0..1]

Zur Version einer Codeliste kann eine Beschreibung in Form eines unformatierten Fließtextes vorliegen.

Ja

Bezugsort [0..*]

Hier kann der URL eingetragen werden, über den die Version einer Codeliste und zugehörige Bestandteile bezogen werden können. Es soll hier nicht der URL der Version der Codeliste im XRepository wiedergegeben werden.

Nein

Gültigkeit ab [0..1]

Mit diesem Datum wird angegeben, ab wann die Version einer Codeliste aus Sicht des Herausgebers gültig ist. Mit diesem Datum wird nicht notwendigerweise die Verwendung der Version in einem Standard geregelt.

Nein

Version Codelisten-Handbuch [1]

Die Version des Codelisten-Handbuchs, zu dessen Regelungen die technische Umsetzung der Version einer Codeliste konform ist.

Nein

Änderungen zur Vorversion [0..1]

Die Änderung zur Vorversion im Fließtextformat.

Ja

Eine Codeliste besitzt mindestens eine Spalte zur Abbildung ihrer Codes und mindestens eine Spalte zur Abbildung der Beschreibung des jeweiligen Codes. Jede Spalte einer Codeliste muss über die im Folgenden gegebenen Metadatenelemente die in ihr gehaltenen Daten spezifizieren.

Darüber hinaus kann jeder Spalte per Metadatum "Sprache" optional eine Sprache / Länderkontext zugewiesen werden (Metadatum "Sprache"). Die Metadaten der Spalte selbst sind in der mit dem Metadatum "Sprache" für die Spalte angegebenen Sprache anzugeben.

Eine mehrsprachige Angabe der Spaltenmetadaten selbst (z. B. eine deutsche Übersetzung des Spaltennamens einer englischsprachigen Spalte) ist nicht vorgesehen.

Tabelle 7. Metadatenelemente zur Strukturierung von Codelistendaten
Metadatenelement [Häufigkeit]Beschreibung des Metadatenelements

Spaltenname (lang) [0..1]

Der Spaltenname (lang) ist die "sprechende" Bezeichnung der Spalte einer Codeliste.

Spaltenname (technisch) [1]

Die Spalte einer Codeliste besitzt einen technischen Namen. Dieser Name soll "sprechend" und gleichzeitig zur technischen Verarbeitung optimiert sein.

Die zur Beschreibung dieses Namens erlaubten Zeichen sind "a-z", "A-Z", "0-9", "-" und ".". Das Zeichen "." wird dabei ausschließlich zur Klassifikation verwendet. Das Zeichen "-" wird ausschließlich zur Worttrennung verwendet.

Der technische Name wird im XÖV-Kontext ebenfalls als Spaltenidentifikator eingesetzt, über den die Spalte innerhalb der Codeliste eindeutig identifiziert werden kann, sodass technische Referenzierungen auf die Spalte möglich sind.

Datentyp [1]

Eine Angabe in diesem Metadatenelement stellt ausschließlich eine Hilfe zur Interpretation der Spaltenwerte dar. Im XÖV-Kontext wird im Allgemeinen der Datentyp "string" verwendet. In gesonderten Fällen können auch die Datentypen "date", "decimal" und "integer" genutzt werden. Unabhängig vom gewählten Datentyp werden Spaltenwerte in den XÖV-Produkten als einfache Zeichenfolgen behandelt.

Sprache [0..1]

Sprache und Länderkontext des Spalteninhalts im Format des RFC 5646 (ISO 639-1 zur Angabe von Sprachen, ISO 3166-1 zur Angabe des Landes); also z. B. „de-DE“ für das in Deutschland geschriebene Deutsch, „en-US“ für amerikanisches Englisch.

Code-Spalte (true/false)

Über dieses Metadatenelement wird die Spalte als Code-Spalte gekennzeichnet, deren Werte als Codes zur Übermittlung genutzt werden können.[2]

Eine Codeliste muss mindestens eine Code-Spalte besitzen. Über die Werte in einer Code-Spalte müssen die einzelnen Einträge der Codeliste eindeutig identifiziert werden können. Somit muss in einer Code-Spalte zu jedem Codelisteneintrag ein eindeutiger Wert vorliegen.


2. Da Codelisten mehr als eine Code-Spalte enthalten können, müssen die konkret zu nutzenden Code-Spalten in den jeweiligen Nutzungskontexten vereinbart werden.

Verwendung (required/optional)

Mit diesem Metadatenelement wird bestimmt, ob jeder Codelisteneintrag für diese Spalte ein Wert enthalten muss.

Das Metadatenelement Verwendung muss bei Code-Spalten auf "required" gesetzt werden.

Empfohlene Code-Spalte (true/false)

Über dieses Metadatenelement wird eine Code-Spalte vom Herausgeber der Codeliste als zu nutzende Code-Spalte empfohlen.

Eine Codeliste darf maximal eine empfohlene Code-Spalte besitzen.

Neben der in den Tabellen aufgeführten Mindestmenge an zu verwendenden Metadatenelementen können weitere Daten zur Beschreibung von Codelisten und Versionen in spezifischen Kontexten erforderlich oder hilfreich sein. Wird beispielsweise eine Codeliste über die Plattform XRepository bereitgestellt, werden weitere Metadaten zum Status der Codeliste, dem Einstelldatum oder dem Datum ihrer letzten Bearbeitung im XRepository geführt.

2.4. Identifikation von Codelisten

Die eindeutige und bereichsübergreifende Identifikation von Codelisten und deren Versionen ist eine zwingende Voraussetzung für eine qualitätsgesicherte und transparente Herausgabe und Nutzung. Zur Identifikation werden Kennungen genutzt. Die folgenden Regelungen zur Bildung von Kennungen sind die Grundlage für ein einheitliches Verständnis von Herausgeber und Nutzer und unterstützen die gemeinschaftliche Verwendung von Codelisten.

Die Kennung von Codelisten und Codelistenversionen muss in der URN-Syntax gebildet werden. Die allgemeine URN-Syntax ist mit "RFC8141" der Internet Engineering Task Force (IETF) vorgegeben.[3] Mit der URN-Syntax soll die globale Eindeutigkeit von Kennungen sichergestellt werden. Hierzu ist der URN in einen globalen und einen lokalen Teil unterteilt. Der globale Teil stellt die globale Eindeutigkeit sicher und verweist auf einen Namensraum mit einer spezifischen Syntax, die die Bildung des lokalen Teils regelt und somit die lokale Eindeutigkeit sicherstellt. Die KoSIT bietet zur Bildung von Kennungen für Standards und Codelisten den globalen Teil urn:xoev-de: und eine zugehörige Syntax zur Bildung des lokalen Teils an. Die Verwendung des globalen Teils ist für Standards, XÖV-Kernkomponenten und XÖV-Datentypen und deren Versionen verpflichtend und wird für Codelisten und Versionen empfohlen. Mit der Verwendung des globalen Teils ist die Verwendung der im Folgenden beschriebenen, zugehörigen Syntax obligatorisch.

Die Kennung einer Codeliste, die den globalen Teil urn:xoev-de: verwendet, ist wie folgt aufgebaut:

urn:xoev-de:Herausgeber:codeliste:Name

Die kursiv dargestellten Bestandteile der Kennung sind vom Herausgeber des Inhalts nach den folgenden Regelungen auszugestalten.

Herausgeber

Der variable Teil Herausgeber stellt den Namensraum des Herausgebers der Codeliste in Kleinschreibung dar. Die zur Beschreibung des Namensraums erlaubten Zeichen sind a-z, 0-9, - und :. Das Zeichen - wird dabei ausschließlich zur Worttrennung verwendet (z. B. kraftfahrt-bundesamt). Einzelne Namensraumbestandteile werden durch das Zeichen : getrennt (z. B. bund:itzbund).

Name

Der variable Teil Name stellt den technischen Namen (siehe Identifikation von Codelisten) des Inhalts dar (z. B. xpersonenstand). Die zur Beschreibung des Namens erlaubten Zeichen sind a-z, 0-9, - und .. Das Zeichen . wird dabei ausschließlich zur Klassifikation verwendet (z. B. religion.steuererhebend). Das Zeichen - wird ausschließlich zur Worttrennung verwendet (z. B. religion.nicht-steuererhebend).

Die Kennung einer Version einer Codeliste wird, wie im Folgenden dargestellt, gebildet aus der Kennung des zugehörigen Inhalts, dem verbindenden Zeichen _ und der Versionsangabe.

urn:xoev-de:Herausgeber:codeliste:Name_Version
Version

Die zur Beschreibung der Version erlaubten Zeichen sind a-z, 0-9, - und .. Versionen, die nicht den Vorgaben entsprechen, müssen in die diese Form überführt werden.

Zur Illustration der oben dargestellten Regelungen ist im Folgenden beispielhaft die Versionskennung der durch die KoSIT im XRepository herausgegebenen Codeliste "Country Codes" in der Version "2" dargestellt.

urn:xoev-de:kosit:codeliste:country-codes_2

2.5. Regelungen zu Codelisten

Die folgenden Konformitätskriterien sind wie auch die unter Metadaten einer Codeliste dargestellten Metadatenelemente normativer Bestandteil des hier beschriebenen Standards. Sie bilden die messbare Grundlage für die Feststellung der Konformität einer Codeliste zum vorliegenden Codelisten-Handbuch bzw. zum darin dargestellten semantischen Datenmodell.

Es werden die Verbindlichkeitsstufen MUSS und SOLL unterschieden.

MUSS

Kriterien dieser Verbindlichkeitsstufe müssen durch eine konforme Codeliste eingehalten werden. Die Einhaltung dieser Kriterien stellt zudem die Grundlage für eine erfolgreiche Verarbeitung der Codeliste durch die von der KoSIT betriebenen und bereitgestellten Produkte wie z. B. XGenerator, XRepository und den durch das XRepository bereitgestellten Codelisten-Editor dar.

SOLL

Kriterien dieser Verbindlichkeitsstufe ermöglichen die Abweichung. Solche Abweichungen können durch individuelle technische, organisatorische oder rechtliche Rahmenbedingungen erforderlich sein.

Die Nutzung der durch die KoSIT bereitgestellten Produkte stellt, sofern technisch möglich, die Einhaltung der MUSS- und SOLL-Regeln sicher und unterstützt so Herausgeber in der Ausgestaltung und technischen Abbildung seiner Codeliste.

Tabelle 8. Konformitätskriterien

K-1

MUSS

Metadaten von Codelisten, Codelistenversionen und Datenstrukturen

Die Metadaten zu einer Codeliste, der Version einer Codeliste und den Spalten einer Codeliste müssen entsprechend den in Metadaten einer Codeliste dargestellten Anforderungen ausgestaltet sein.

K-2

MUSS

Kennung von Codelisten und Codelistenversionen

Die Kennungen von Codelisten und von Codelistenversionen müssen den in Identifikation von Codelisten dargestellten Anforderungen entsprechen.

K-3

MUSS

Eindeutigkeit von Codes einer Codeliste

Die Codes einer Codeliste müssen versionsübergreifend eindeutig sein. Jeder Eintrag einer Liste muss eindeutig über mindestens einen Code identifizierbar sein. Darüber hinaus dürfen bereits in einer Version einer Codeliste genutzte Codes nicht mit einer veränderten Bedeutung versehen werden.

K-4

SOLL

Mindestens zwei Spalten

Eine Codeliste soll aus mindestens einer Code-Spalte und mindestens einer Beschreibung-Spalte bestehen. Weitere Code- und Beschreibungsspalten sind zugelassen.

K-5

MUSS

Mindestens ein Eintrag

Eine Codeliste muss mindestens einen Eintrag enthalten.

K-6

SOLL

Nutzungskontext nicht in Codelisten abbilden

Der Kontext der Nutzung soll nicht in der Codeliste beschrieben sein. Die Einschränkung der Menge der Einträge bzw. die Interpretation der Einträge soll soweit erforderlich ausschließlich aus Herausgebersicht und nicht aus Sicht der jeweiligen Nutzer der Codeliste erfolgen.

K-7

MUSS

Öffentliche Bereitstellung

Codelisten und zugehörige Metadaten müssen öffentlich zur Nutzung bereitgestellt werden.

K-8

SOLL

Nachhaltigkeit

Die Pflege von Codelisten, Codelistenversionen sowie zugehörigen Metadaten soll sichergestellt sein. Im Zuge der Bereitstellung der Codeliste sollen zusätzliche Informationen zur Veröffentlichung, den vorgesehenen Aktualisierungszyklen und den Betriebsverantwortlichen der Codeliste gegeben werden.

K-9

SOLL

Nutzung XRepository

Codelisten und Codelistenversionen sollen im XRepository bereitgestellt sein.

K-10

MUSS

Amtssprache Deutsch

Die Metadaten einer Codeliste müssen mindestens im in Deutschland geschriebenem Deutsch (de-DE) vorliegen.

K-11

MUSS

Sprachliche Auszeichnung von Metadaten und Daten

Verwendet die Codeliste ausschließlich das in Deutschland geschriebene Deutsch (de-DE), ist die sprachliche Auszeichnung der Daten und Metadaten optional. In allen anderen Fällen muss die sprachliche Auszeichnung für alle genutzten Sprachen (inkl. de-DE) vollständig vorliegen.

K-12

MUSS

Vollständige Metadaten in jeder Sprache

Die im Metadaten einer Codeliste definierten Häufigkeiten gelten in jeder verwendeten Sprache. Wird ein Metadatum in einer bestimmten Sprache angegeben, so muss es in jeder verwendeten Sprache angegeben werden.

K-13

MUSS

Einheitliche Codierung des Sprachkontextes auf Basis von RFC-5646

Sprachangaben müssen sowohl die Sprache als auch den Länderkontext beschreiben. Dabei wird ISO 639-1 zur Angabe der Sprachen und ISO 3166-1 zur Angabe des Landes verwendet; also z. B. „de-DE“ für das in Deutschland geschriebene Deutsch oder "en-US" für amerikanisches Englisch. [4]

3. Leitfaden zur Bereitstellung und Einbindung von Codelisten

3.1. Bereitstellung von Codelisten

Die Inhalte des Abschnitts sind nicht normativ. Sie sollen den Beteiligten als Leitfaden und Entscheidungshilfe bei der Ausgestaltung der Prozesse der Herausgabe und Nutzung von Codelisten dienen.

Die öffentliche Bereitstellung von Codelisten und zugehörigen Metadaten ist grundlegende Voraussetzung der gemeinsamen, standardübergreifenden Nutzung von Codelisten. Die einheitliche Verwendung von Metadaten und Daten-Formaten unterstützt darüber hinaus die effiziente Umsetzung eines Standards in IT-Verfahren. Mit dem XRepository wird durch die KoSIT im Auftrag des IT-Planungsrats eine Infrastrukturkomponente für Herausgeber und Nutzer von Codelisten und (XÖV-)Standards betrieben, die durch alle Beteiligten zur zentralen Bereitstellung und zum Bezug kostenfrei genutzt werden kann.

Die Verwendung des XRepository ist für die unterschiedlichen Beteiligten rund um die Herausgabe und Nutzung von Codelisten u. a. aus den folgenden Gründen nützlich:

Systematische Nutzung von Metadaten

Die Metadaten zu Codelisten, Codelistenversionen und zur Strukturierung von Codelistendaten werden durch das XRepository systematisch ausgewertet und um bereitstellungsspezifische Metadaten ergänzt. Die umfassende und einheitliche Bereitstellung dieser Informationen unterstützt Nutzer bei der Recherche und dem Bezug von Codelisten.

Codelisten-Editor

In das XRepository ist ein vollständiger Editor zum Erstellen und Bearbeiten von Codelisten integriert. Der Editor unterstütz den Nutzer bei dem Entwurf, der Fortschreibung und der zeitgleichen Sicherung der formalen Qualität von Codelisten.

Sicherung der formalen Qualität

Codelisten werden vor der Einstellung in das System auf der Basis der unter Regelungen zu Codelisten dargestellten Regelungen geprüft. Herausgeber erhalten so eine einheitliche Rückmeldung bezüglich der formalen Qualität ihrer Codeliste. Nutzer können sich beim Bezug einer Codeliste darauf verlassen, dass die formale Qualität der angebotenen Liste sichergestellt ist.

Erweiterte Funktionen

Die automatisierte Auswertung der übergreifend vereinheitlichten Metadaten von zentral gehaltenen XÖV-Standards und Codelisten ermöglicht grundlegende Funktionen zur übergreifenden Harmonisierung der bereitgestellten Inhalte aber auch zur Unterstützung der Nutzer des Systems. So wird der Nutzer beispielsweise bei den Fragestellungen wie häufig neue Versionen einer Codeliste veröffentlicht werden, welche (XÖV-)Standards eine spezielle Codeliste nutzen oder welche Codelisten noch durch einen speziellen Herausgeber bereitgestellt werden durch das System unterstützt. Außerdem existiert Funktionalität zur automatisierten Transformation von Codelisten in unterschiedliche technische Abbildungsformate (Genericode-XML, MS Excel, MDXML, Markdown, etc.).

REST-API

Die REST-API bietet Herausgebern und Nutzer die Möglichkeit der automatisierten Einbindung des XRepository in ihre Prozesse der Bereitstellung, Recherche und des Bezugs. Sie ermöglicht beispielsweise die automatisierte Abfrage der aktuell gültigen Version einer Codeliste oder den Download aller durch eine Version eines Standards genutzten Codelisten. Weitere Informationen finden Sie über den Menüpunkt "Hilfe" im XRepository.

3.2. Einbindung von Codelisten

Die Inhalte des Abschnitts sind nicht normativ. Sie sollen den Beteiligten als Leitfaden und Entscheidungshilfe bei der konkreten Ausgestaltung der Nutzung von Codelisten dienen.

An die Nutzung von Codelisten werden aus der Praxis vielfältige, sich zum Teil widersprechende Anforderungen gestellt. In der Fragestellung wie die konkrete Nutzung einer Codeliste im praktischen Anwendungsfall erfolgen soll, spielen unterschiedlichste Kriterien eine Rolle.

Im Folgenden sollen einige der Kriterien aufgelistet werden, die in der Praxis die letztendliche Art der Nutzung einer Codeliste entscheidend beeinflussen können und anhand von bekannten Nutzungskontexten illustriert werden.

Integrationstiefe

Wie werden die Einträge einer Liste im Gesamtkontext genutzt und welche Aufwände ergeben sich für alle Beteiligten durch eine Änderung an der Codeliste?

Notwendigkeit der Aktualität

Welche Anforderungen bestehen, die jeweils aktuellste Version einer Codeliste zu nutzen?

Änderungshäufigkeit

Wie häufig sind fachliche Änderungen an der Codeliste erforderlich und in welchen Zyklen werden neue Versionen der Codeliste herausgegeben?

Fachliche Qualität

Welche fachliche Qualität besitzt die Codeliste?

Herausgeber-Nutzer-Beziehung

In welcher Beziehung befinden sich Herausgeber und Nutzer der Codeliste?

Kontext der Nutzung

Wird die Codeliste in einem Standard, einem IT-Verfahren oder einer zentralen (Internet-)Plattform genutzt? Welchen organisatorischen und rechtlichen Rahmenbedingungen unterliegt die Nutzung. Sind beispielsweise Releasezyklen, Umsetzungsfristen oder die Nutzung des Standards, IT-Verfahrens oder der Plattform (rechts-)verbindlich geregelt?

Auf der Basis o. g. und weiterer Kriterien können die spezifischen Anforderungen an die umzusetzende Codelistennutzung konkretisiert und die Entscheidung für eine bestimmte Ausgestaltung der Nutzung herbeigeführt werden.

Im Folgenden sind zur Verdeutlichung möglicher Ausgestaltungen vier grundlegende Typen der Nutzung einer Codeliste durch einen Standard dargestellt. Mit entsprechenden Einschränkungen können diese Nutzungstypen auch auf andere Szenarien wie beispielsweise der Nutzung einer Codeliste durch ein IT-Verfahren übertragen werden.

Charakteristisch für die jeweiligen Typen ist der Zeitpunkt, zu dem die Festlegung der konkret zu nutzenden Codelistenversion bestimmt wird und ob die Metadaten und Daten der Codeliste in die technischen Bestandteile des Standards übernommen werden sollen.

Nutzungstyp 4: Unbenannte Codeliste

Dieser Nutzungstyp findet Anwendung, wenn die grundsätzliche Nutzung einer Codeliste im Standard vorgesehen ist, die konkret zu nutzende Codeliste aber (noch) nicht in der Spezifikation des Standards benannt werden kann. Bei der Nutzung einer Codeliste durch einen (XÖV-)Standard entsteht diese Anforderung häufig, wenn Nachrichtentypen des Standards in unterschiedlichen Kontexten versendet werden können. Wenn diese Kontexte vorab nicht abschließend benannt werden können, kann auf der Ebene des Standards keine Festlegungen auf eine konkrete Codeliste getroffen werden. Ein Beispiel ist der Einsatz des Standards in unterschiedlichen Bundesländern, deren jeweilige landesrechtlichen Regelungen den Einsatz unterschiedlicher Codelisten erfordern. Ein weiteres Beispiel ist eine Nachricht zur Übermittlung einer Behördenkennung. Je nach Art des Kommunikationspartners ist dann eine spezifische Codeliste für Ausländerbehörden, Meldebehörden, etc. zu nutzen.

Die Umsetzung dieses Nutzungstyps in einem XÖV-Standard erfordert die Verwendung des Code-Typs 4. Der XÖV-Standard sieht die Übermittlung von Codes vor. Die Kennung und Version der Codeliste wird erst bei der Nachrichtenübermittlung festgelegt.

Nutzungstyp 3: Benannte Codeliste

Diese Nutzungstyp kommt zur Anwendung, wenn eine Codeliste zur Nutzung im Standard vorgegeben werden kann, die konkret zu nutzende Version der Codeliste (noch) nicht in der Spezifikation des Standards benannt werden kann oder soll.

Die Gründe für eine solche Nutzung sind vielfältig. Häufige Ursache einer solchen Nutzung ist aber, dass die Release- bzw. Herausgabezyklen Standards und der zu nutzenden Codeliste nicht aufeinander abgestimmt sein können oder sollen.

Auch und gerade wenn die konkrete Version nicht genannt wird, können und sollten durch einen Standard Regelung zum Umgang mit Codelistenversionen erfolgen. Beispielsweise kann mit der Spezifikation des Standards festgelegt werden, dass immer die aktuellste Version einer Codeliste zu verwenden ist. Dieser Ansatz ermöglicht die Nutzung von "dynamischen" Codelisten, zu denen häufig neue Versionen veröffentlicht werden.

Die Umsetzung dieses Nutzungstyps in einem XÖV-Standard erfordert die Verwendung des Code-Typs 3: Der XÖV-Standard bestimmt die Kennung der zu nutzenden Codeliste. Die Version der Codeliste wird erst bei der Nachrichtenübermittlung festgelegt.

Nutzungstyp 2: Benannte Codeliste und Version

Bei diesem Nutzungstyp wird die zu nutzende Codeliste in der konkreten Version durch den Standard vorgegeben. Die Version des nutzenden Standards ist somit fest mit der genannten Version einer Codeliste gekoppelt. Dies hat zur Folge, dass die Nutzung einer neuen Codelistenversion die Herausgabe einer neuen Version des Standards erfordert.

Sinnvoll ist ein solcher Nutzungstyp insbesondere in den Fällen, in denen Codes einer Codeliste eine besondere Bedeutung für die Fachlogik von IT-Verfahren haben. Hier kann es hilfreich oder notwendig sein, den Wechsel der Codelistenversion mit dem der Version des Standards zu synchronisieren. So können beispielsweise alle technischen und rechtlichen Regelungen bezüglich der Termine und Fristen zur Umsetzung des Standards in IT-Verfahren auch auf die Umsetzung der zu nutzenden Codelistenversion angewendet werden.

Die Umsetzung dieses Nutzungstyps in einem XÖV-Standard erfordert die Verwendung des Code-Typs 2: Der XÖV-Standard bestimmt die Kennung und die Version der zu nutzenden Codeliste.

Nutzungstyp 1: Übernahme von Codeliste und Version

Bei diesem Nutzungstyp wird, wie beim Nutzungstyp 2, die zu nutzende Codelistenversion durch den Standard vorgegeben. Darüber hinaus werden bei diesem Nutzungstyp durch den Standard Bestandteile der Codelistenversion in die eigenen technischen Bestandteile übernommen.

Sinnvoll kann eine solche Übernahme beispielsweise dort sein, wo die bereits bestehenden Mechanismen zur Validierung von Nachrichten auch für die Validierung der in den Nachrichten übermittelten Codes genutzt werden sollen. Im Falle eines XÖV-Standards kann der Nutzungstyp 4 die Implementierung des Standards erleichtern, weil mittels der bereits genutzten XML Schema-Prüfung auch die Gültigkeit der mit der Nachricht gesendeten Codes ermöglicht wird.

Die Umsetzung dieses Nutzungstyps in einem XÖV-Standard erfordert die Verwendung des Code-Typs 1: Der XÖV-Standard bestimmt die Kennung und die Version der zu nutzenden Codeliste. Die Codeliste wird als XML-Enumeration in die XML Schema-Definitionen des Standards aufgenommen.

4. Abbildung von Codelisten in technische Formate

In den folgenden Abschnitten ist dargestellt, wie das im Standard spezifizierte Datenmodell einer Codeliste in technische Formate abgebildet wird. Die Beschreibungen der Abbildung besitzen rein informativen Charakter und die darin enthaltenen technischen Formate sollen keine keinesfalls eine abschließende Aufzählung darstellen.

Im Kontext des XÖV-Standardisierungsrahmens ist der mit dem Codelisten-Handbuch gegeben Standard obligatorisch. Alle Codelisten, die durch zertifizierte XÖV-Standards (ab XÖV-Handbuch 2.2) herausgegeben werden, sind konform zum Codelisten-Standard. Alle durch die KoSIT betriebenen XÖV-Produkte unterstützen die automatisierte Prüfung aller technisch prüfbaren Kriterien des Standards. Zudem unterstützen die entsprechenden Produkte die im Folgenden dargestellten technischen Formate Genericode und UML.

4.1. Genericode

Der OASIS-Standard[5] Genericode ermöglicht die Abbildung von Codelisteninhalten und zugehörigen Metadaten in XML-Instanzen. Zur Abbildung der im XÖV-Kontext erforderlichen Informationen wurden die im Genericode-Standard vorgesehenen Metadaten um entsprechende XÖV-Metadaten mit dem Namensraum http://xoev.de/schemata/genericode/4 (Präfix xoev-cl-4) ergänzt.

Im Folgenden ist dokumentiert, wie Metadaten im Genericode-Format abgebildet werden. Dazu sind die Bestandteile des konzeptionellen Modells den jeweiligen XML-Elementen bzw. -Attributen gegenübergestellt. Der darauffolgende Beispiele illustriert das Vorgehen.

Für Metadatenelemente die als "mehrsprachig" gekennzeichnet sind ist die angegebene Häufigkeit bzgl. jeder verwendeten Sprache zu beachten. Die Sprachangaben erfolgen auf Ebenen der Codelisten- und Versionsmetadaten mit dem Attribut xml:lang aus dem XML-Namensraum. Auf Ebene der Daten wird die Sprache pro Spalte über das Metadatum "Sprache" angegeben.

Metadatenelemente [Häufigkeit]Beschreibung und Abbildung in GenericodeMehrsprachig

Codeliste

Name (lang) [1]

/gc:CodeList/Identification/LongName (ohne @Identifier)

Ja

Name (kurz) [1]

/gc:CodeList/Annotation/Description xoev-cl-4:shortName

Ja

Name (technisch) [1]

/gc:CodeList/Identification/ShortName

Nein

Kennung [1]

/gc:CodeList/Identification/CanonicalUri

Nein

Beschreibung [1]

/gc:CodeList/Annotation/Description/xoev-cl-4:codelistDescription

Ja

Herausgebername (lang) [1]

/gc:CodeList/Identification/Agency/LongName

Ja

Herausgebername (kurz) [1]

/gc:CodeList/Annotation/Description/xoev-cl-4:agencyShortName

Ja

Version der Codeliste

Kennung [1]

/gc:CodeList/Identification/CanonicalVersionUri

Nein

Version [1]

/gc:CodeList/Identification/Version

Nein

Beschreibung [0..1]

/gc:CodeList/Annotation/Description/xoev-cl-4:versionDescription

Ja

Bezugsort [0..*]

/gc:CodeList/Identification/AlternateFormatLocationUri

Nein

Gültigkeit ab [0..1]

/gc:CodeList/Annotation/Description/xoev-cl-4:validFrom

Nein

Version Codelisten-Handbuch [1]

/gc:CodeList/Annotation/Description/xoev-cl-4:versionHandbook

Nein

Änderungen zur Vorversion [0..1]

/gc:CodeList/Annotation/Description/xoev-cl-4:changes

Ja

Metadatenelement [Häufigkeit]Beschreibung und Abbildung in GenericodeMehrsprachig

Spaltenname (lang) [0..1]

/gc:CodeList/ColumnSet/Column/LongName (ohne @Identifier)

Nein

Spaltenname (technisch) [1]

Der technische Spaltenname und der Spaltenidentifikator sind identisch.

/gc:CodeList/ColumnSet/Column/ShortName

/gc:CodeList/ColumnSet/Column/@Id

Nein

Datentyp [1]

/gc:CodeList/ColumnSet/Column/Data/@Type

Nein

Sprache [0..1]

/gc:CodeList/ColumnSet/Column/Data/@Lang

Werden alle Daten der Codeliste auf Deutsch (de-DE) verfasst, ist diese Angabe optional.

Nein

Code-Spalte (true/false)[1]

/gc:CodeList/ColumnSet/Key

Nein

Verwendung (required/optional)[1]

/gc:CodeList/ColumnSet/Column/@Use

Nein

Empfohlene Code-Spalte (true/false)[0..1]

gc:CodeList/ColumnSet/Key/Annotation/AppInfo/xoev-cl-4:recommendedKeyColumn

Das Element erhält in Genericode keinen Wert. Allein das Vorkommen des Elements kennzeichnet die Spalte als Code-Spalte. Nur eine Codespalte kann als empfohlene Codespalte ausgezeichnet werden.

Nein

4.1.1. Nutzung weiterer Genericode-Funktionalitäten

Der Codelisten-Standard nutzt aus unterschiedlichen Gründen nicht den vollen Funktionsumfang des Genericode-Standards. Die im Folgenden dargestellten XML-Elemente und -Attribute des Genericode-Standards werden durch die XÖV-Methodik und XÖV-Produkte nicht unterstützt.

  • /gc:CodeList/ColumnSet/ColumnRef

  • /gc:CodeList/ColumnSet/KeyRef

  • /gc:CodeList/ColumnSetRef

  • /gc:CodeListSet

  • /gc:ColumnSet

  • Annotation (Element), ausgenommen /gc:CodeList/Annotation

  • AppInfo (Element)

  • CanonicalUri (Element), ausgenommen /gc:CodeList/Identification/CanonicalUri

  • CanonicalVersionUri (Element), ausgenommen /gc:CodeList/Identification/CanonicalVersionUri

  • DatatypeLibrary (Attribut)

  • Identifier (Element und Attribut)

  • MimeType (Attribut)

  • xml:base (Attribut)

  • /gc:CodeList/Identification/Agency/ShortName

  • /gc:CodeList/ColumnSet/Column/Data/Parameter

  • /gc:CodeList/ColumnSet/Key/LongName

  • /gc:CodeList/ColumnSet/Key/ShortName

  • /gc:CodeList/SimpleCodeList/Row/Value/ComplexValue

4.1.2. Beispiele

Das folgende Beispiel zeigt die Umsetzung der Daten und Metadaten der in Codeliste Familienstand dargestellten Codeliste Familienstand in eine XML-Instanz. Zur besseren Veranschaulichung wurden die tatsächlichen Metadaten durch Beispielhafte ersetzt, die Spalten wurden passend umbenannt.

In einem einleitenden Abschnitt sind die Metadaten der Codeliste und ihrer Version gegeben, die im Genericode-Standard nicht direkt abgebildet werden können. Alle den Genericode-Standard ergänzenden Metadaten sind am Präfix "xoev-cl" zu erkennen.

<Annotation>
   <Description>
     <xoev-cl-4:shortName> Familienstand (DSMeld) </xoev-cl-4:shortName>
     <xoev-cl-4:codelistDescription>
         Mit dieser Codeliste wird personenstandsrechtliche Familienstand
         einer Person abgebildet, wie er im DSMeld-Blatt 1401 spezifiziert ist.
     </xoev-cl-4:codelistDescription>
     <xoev-cl-4:agencyShortName>KoSIT</xoev-cl-4:agencyShortName>
     <xoev-cl-4:validFrom>2022-01-01</xoev-cl-4:validFrom>
     <xoev-cl-4:versionHandbook>1.2</xoev-cl-4:versionHandbook>
     <xoev-cl-4:changes>
       Der Code "NB" wurde hinzugefügt.
     </xoev-cl-4:changes>
   </Description>
</Annotation>

Sollen die Metadaten in mehreren Sprachen geführt werden, muss eine sprachliche Auszeichnung mit dem Attribut xml:lang erfolgen:

<Annotation>
   <Description>
     <xoev-cl-4:shortName xml:lang="de-DE">
       Familienstand (DSMeld)
     </xoev-cl-4:shortName>
     <xoev-cl-4:shortName xml:lang="en-US">Civil Satus (DSMeld)</xoev-cl-4:shortName>
     <xoev-cl-4:codelistDescription xml:lang="de-DE">
         Mit dieser Codeliste wird personenstandsrechtliche Familienstand
         einer Person abgebildet wie er im DSMeld-Blatt 1401 spezifiziert ist.
     </xoev-cl-4:codelistDescription>
     <xoev-cl-4:codelistDescription xml:lang="en-US">
         This code list describes the civil status of a person according to
         the specification in DSMeld-Blatt 1401.
     </xoev-cl-4:codelistDescription>
     <xoev-cl-4:agencyShortName xml:lang="de-DE">KoSIT</xoev-cl-4:agencyShortName>
     <xoev-cl-4:agencyShortName xml:lang="en-US">KoSIT</xoev-cl-4:agencyShortName>
     <xoev-cl-4:validFrom>2022-01-01</xoev-cl-4:validFrom>
     <xoev-cl-4:versionHandbook>1.2</xoev-cl-4:versionHandbook>
     <xoev-cl-4:changes xml:lang="de-DE">
         Der Code "NB" wurde hinzugefügt.
     </xoev-cl-4:changes>
     <xoev-cl-4:changes xml:lang="en-US">
         The code "NB" was added.
      </xoev-cl-4:changes>
   </Description>
</Annotation>

In einem anschließenden Abschnitt werden die weiteren Metadaten der Codeliste und ihrer Version beschrieben.

<Identification>
      <ShortName>familienstand.dsmeld</ShortName>
      <LongName>
        Personenstandsrechtlicher Familienstand nach DSMeld-Blatt 1401
      </LongName>
      <Version>1</Version>
      <CanonicalUri>urn:xoev-de:kosit:codeliste:familienstand.dsmeld</CanonicalUri>
      <CanonicalVersionUri>
        urn:xoev-de:kosit:codeliste:familienstand.dsmeld_1
      </CanonicalVersionUri>
      <AlternateFormatLocationUri>
        https://www1.osci.de/dsmeld-13316
      </AlternateFormatLocationUri>
      <Agency>
         <LongName>Koordinierungsstelle für IT-Standards</LongName>
      </Agency>
 </Identification>

Auch in diesem Abschnitt sind für einige Elemente mehrsprachige Angaben möglich:

<Identification>
      <ShortName>familienstand.dsmeld</ShortName>
      <LongName xml:lang="de-DE">
        Personenstandsrechtlicher Familienstand nach DSMeld-Blatt 1401
      </LongName>
      <LongName xml:lang="en-US">
        Civil Status according to DSMeld-Blatt 1401
      </LongName>
      <Version>1</Version>
      <CanonicalUri>urn:xoev-de:kosit:codeliste:familienstand.dsmeld</CanonicalUri>
      <CanonicalVersionUri>
        urn:xoev-de:kosit:codeliste:familienstand.dsmeld_1
      </CanonicalVersionUri>
      <AlternateFormatLocationUri>
        https://www1.osci.de/dsmeld-13316
      </AlternateFormatLocationUri>
      <Agency>
         <LongName xml:lang="de-DE">Koordinierungsstelle für IT-Standards</LongName>
         <LongName xml:lang="en-US">Coordination Office for IT Standards</LongName>
      </Agency>
</Identification>

Der anschließende Abschnitt beschreibt die Struktur der Codeliste durch die Definition der Spalten der “Codelistentabelle”. Neben der Definition der Spalten und ihrer Eigenschaften wird festgelegt, welche der Spalten die Codes der Codeliste enthält. Beachten Sie, dass Spalten-Id und Kurzname der Spalte identisch sein müssen. Im Beispiel wird durch die Verwendung des Key-Elements die Spalte namens „Code“ als Code-Spalte definiert. Der Spaltenname kann frei gewählt werden; die Verwendung des Namens "Code" ist hier lediglich als Beispiel anzusehen.

<ColumnSet>
      <Column Id="Code" Use="required">
         <ShortName>Code</ShortName>
         <LongName>Code zur Angabe eines Personenstandes</LongName>
         <Data Type="string"/>
      </Column>
      <Column Id="familienstand" Use="required">
         <ShortName>familienstand</ShortName>
         <LongName>Familienstand</LongName>
         <Data Type="string"/>
      </Column>
      <Key Id="codeKey">
         <ShortName>codeKey</ShortName>
         <ColumnRef Ref="Code"/>
      </Key>
</ColumnSet>

Im folgenden Beispiel wurde eine weitere Codespalte - "altCode" - eingefügt. Die Spalte „Code“ wurde als empfohlene Codespalte markiert. Außerdem wurde eine weitere, englischsprachige Spalte "Civil Status" hinzugefügt und die Spalte "Familienstand" als deutschsprachig ausgezeichnet.

<ColumnSet>
     <Column Id="Code" Use="required">
         <ShortName>Code</ShortName>
         <LongName>Code zur Angabe eines Personenstandes</LongName>
         <Data Type="string"/>
      </Column>
      <Column Id="familienstand" Use="required">
         <ShortName>familienstand</ShortName>
         <LongName>Familienstand</LongName>
         <Data Type="string" Lang="de-DE"/>
      </Column>
      <Column Id="civilStatus" Use="required">
         <ShortName>civilStatus</ShortName>
         <LongName>Civil Status</LongName>
         <Data Type="string" Lang="en-US"/>
      </Column>
      <Column Id="altCode" Use="required">
         <ShortName>altCode</ShortName>
         <LongName>Alternativer numerischer Schlüssel</LongName>
         <Data Type="string"/>
      </Column>
      <Key Id="CodeKey">
         <Annotation>
            <AppInfo>
               <xoev-cl-4:recommendedKeyColumn/>
            </AppInfo>
         </Annotation>
         <ShortName>CodeKey</ShortName>
         <ColumnRef Ref="Code"/>
      </Key>
      <Key Id="altCodeKey">
         <ShortName>altCodeKey</ShortName>
         <ColumnRef Ref="altCode"/>
      </Key>
</ColumnSet>

Die einzelnen Einträge, das heißt die Codes und deren Beschreibung, werden im anschließenden Abschnitt als Zeilen (rows) dargestellt.

<SimpleCodeList>
  <Row>
    <Value ColumnRef="Code">
      <SimpleValue>LD</SimpleValue>
    </Value>
    <Value ColumnRef="familienstand">
      <SimpleValue>ledig</SimpleValue>
    </Value>
    <Value ColumnRef="civilStatus">
      <SimpleValue>single</SimpleValue>
    </Value>
    <Value ColumnRef="altCode">
      <SimpleValue>1</SimpleValue>
    </Value>
  </Row>
  ...
  <Row>
    <Value ColumnRef="Code">
      <SimpleValue>NB</SimpleValue>
    </Value>
    <Value ColumnRef="familienstand">
      <SimpleValue>nicht bekannt</SimpleValue>
    </Value>
    <Value ColumnRef="civilStatus">
      <SimpleValue>unknown</SimpleValue>
    </Value>
    <Value ColumnRef="altCode">
      <SimpleValue>10</SimpleValue>
    </Value>
  </Row>
</SimpleCodeList>

Die um eine Codespalte erweiterte Codeliste entspricht der folgenden Tabelle. Alle Einträge sind über die erste und letzte Spalte eindeutig zu identifizieren.

Spaltenname (lang)Code zur Angabe eines PersonenstandesFamilienstandCivil StatusAlternativer numerischer Schlüssel

LD

ledig

single

1

…​

…​

…​

NB

nicht bekannt

unknown

10

4.2. Modellierung von Codelistendaten und -metadaten im XÖV-Fachmodell (XÖV classic)

Keine Codelisten im XÖV-lite-Modell

Die dargestellte Modellierung von Codelisten im Fachmodell betrifft nur die classic-Methodik.

CountryCodes

Eine Codeliste wird als UML-Klasse modelliert, die mit dem Stereotyp xoevCodeliste annotiert ist. Über die Eigenschaften des Stereotyps werden alle Metadaten der Codeliste dokumentiert, die sich mittels des für XÖV erweiterten Genericode-Standards abbilden lassen (siehe auch Metadatenelemente einer Codeliste (versionsunabhängig)).

Zu einer Codeliste zugehörige Versionen werden als UML-Klassen modelliert, die eine UML-Abhängigkeitsbeziehung zu der Codeliste besitzen. Über die Eigenschaften des Stereotyps xoevVersionCodeliste werden alle Metadaten der Codelistenversion dokumentiert, die sich mittels des für XÖV erweiterten Genericode-Standards abbilden lassen (siehe auch Metadatenelemente einer Codelistenversion (versionsabhängig)).

Die einzelnen Spalten einer Codelistenversion werden als UML-Eigenschaften modelliert, die mit dem Stereotyp xoevCodelistenspalte annotiert sind. Über die Eigenschaften des Stereotyps werden die Metadaten einer Codelistenspalte dokumentiert (siehe auch Metadatenelemente zur Strukturierung von Codelistendaten). Der Name der Eigenschaft stellt den “Spaltennamen (technisch)” dar.

4.2.1. Codelisteneinträge

Ein Codelisteneintrag wird als Instanz (UML-Objekt) der Codelistenversion modelliert. Für jede Spalte der Codelistenversion kann in dem Objekt ein konkreter Wert bestimmt werden.

Im Folgenden werden die ersten fünf Einträge der Codeliste Country Code in Form eines UML-Objektdiagramms dargestellt:

Eintraege

Gut zu erkennen ist am Beispiel des Eintrags zum Code "AX" (Code-Spalte ISOAlpha2code), dass Werte für die als optional gekennzeichneten Spalten (DESTATISCodeStaat und FullName) nicht vergeben wurden.

Alternativ können die Codelisteneinträge auch in so genannten Instanzentabellen angezeigt und bearbeitet werden:

Eintraege-Instanztabelle

4.2.2. Abbildungsstruktur einer Codeliste

Verzeichnis

Für jede Codeliste wird ein eigenes UML-Paket erstellt, dessen Name der Kennung der Codeliste entspricht. Für jede Codelistenversion wird ein eigenes UML-Paket unterhalb des Pakets der Codeliste angelegt, welches die jeweilige Versionsangabe (Eigenschaft version des Stereotyps xoevVersionCodeliste) als Namen erhält. Die Codelisteneinträge werden im UML-Paket der Codelistenversion abgelegt.

4.2.3. Modellierung mehrsprachiger Codelisten

cl-familienstand.mehrsprachig.modell

Eine Codeliste bzw. Codelistenversion mit mehrsprachigen Metadaten wird grundsätzlich wie in Modellierung von Codelistendaten und -metadaten im XÖV-Fachmodell beschrieben modelliert. Mehrsprachigkeit wird ermöglicht, indem für jedes potentiell mehrsprachige Metadatenelement mehr als ein Wert vergeben werden kann, wobei jeder Wert eine Angabe in einer bestimmten Sprache repräsentiert. Sofern ein Metadatenelement mit mehr als einem Wert versehen ist, wird zu Beginn jedes zugeordneten Wertes die Sprache in dem Muster [xx-XX] angegeben. Die Sprachangabe xx-XX wird dabei gemäß Konformitätskriterium K-13 gebildet.

In der Beispiel-Codeliste besitzen die Metadatenelemente beschreibung, herausgebernameKurz, herausgebernameLang, nameKurz und nameLang der Codeliste sowie das Metadatenelement aenderungZurVorversion der Codelistenversion jeweils zwei Werte. Ein Wert repräsentiert jeweils eine Angabe in deutscher Sprache (Muster: [de-DE]), der andere Wert jeweils eine Angabe in amerikanischem Englisch (Muster: [en-US]).

Die Sprache einer Codelistenspalte kann über die Eigenschaft sprache des Stereotyps xoevCodelistenspalte bestimmt werden. Im gegebenen Beispiel liegt die Spalte civilStatus in der Sprache en-US vor.

5. Übersicht Syntaxbinding

Die folgende Tabelle zeigt eine Übersicht über die Abbildung der Codelisten-Metadaten in Genericode bzw. ein XÖV-Fachmodell. Es sind die Bestandteile des konzeptionellen Modells den jeweiligen Verortungen gegenübergestellt. Die Darstellung dient der Übersicht. Angaben zur Semantik der Metadaten finden sich im Metadaten einer Codeliste . Details zur technischen Umsetzung in Genericode sind Gegenstand von Genericode . Ausführungen zur Abbildungen in einem Fachmodell bietet Modellierung von Codelistendaten und -metadaten im XÖV-Fachmodell .

Metadatenelemente [Häufigkeit]Mehr-sprachigAbbildung in GenericodeAbbildung in Fachmodell

Codeliste

Name (lang) [1]

Ja

/gc:CodeList/Identification/LongName (ohne @Identifier)

xoevCodeliste/nameLang

Name (kurz) [1]

Ja

/gc:CodeList/Annotation/Description/xoev-cl-4:shortName

xoevCodeliste/nameKurz

Name (technisch) [1]

Nein

/gc:CodeList/Identification/ShortName

xoevCodeliste/nameTechnisch

Kennung [1]

Nein

/gc:CodeList/Identification/CanonicalUri

xoevCodeliste/kennung

Beschreibung [1]

Ja

/gc:CodeList/Annotation/Description/xoev-cl-4:codelistDescription

xoevCodeliste/beschreibung

Herausgebername (lang) [1]

Ja

/gc:CodeList/Identification/Agency/LongName

xoevCodeliste/herausgebernameLang

Herausgebername (kurz) [1]

Ja

/gc:CodeList/Annotation/Description/xoev-cl-4:agencyShortName

xoevCodeliste/herausgebernameKurz

Version der Codeliste

Kennung [1]

Nein

/gc:CodeList/Identification/CanonicalVersionUri

Hinweis: Die Kennung der Codelistenversion wird automatisiert erzeugt. Eine Festlegung im XÖV-Fachmodell ist nicht vorgesehen.

Version [1]

Nein

/gc:CodeList/Identification/Version

xoevVersionCodeliste/version

Beschreibung [0..1]

Ja

/gc:CodeList/Annotation/Description/xoev-cl-4:versionDescription

xoevVersionCodeliste/beschreibung

Bezugsort [0..*]

Nein

/gc:CodeList/Identification/AlternateFormatLocationUri

xoevVersionCodeliste/bezugsort

Gültigkeit ab [0..1]

Nein

/gc:CodeList/Annotation/Description/xoev-cl-4:validFrom

xoevVersionCodeliste/datumGueltigkeitAb

Version Codelisten-Handbuch [1]

Nein

/gc:CodeList/Annotation/Description/xoev-cl-4:versionHandbook

xoevVersionCodeliste/versionCodelistenHandbuch

Änderungen zur Vorversion [0..1]

Ja

/gc:CodeList/Annotation/Description/xoev-cl-4:changes

xoevVersionCodeliste/aenderungZurVorversion

Metadatenelement [Häufigkeit]Mehr-sprachigAbbildung in GenericodeAbbildung in Fachmodell

Spaltenname (lang) [0..1]

Nein

/gc:CodeList/ColumnSet/Column/LongName (ohne @Identifier)

xoevCodelistenspalte/spaltennameLang

Spaltenname (technisch) [1]

Nein

/gc:CodeList/ColumnSet/Column/ShortName

/gc:CodeList/ColumnSet/Column/@Id

Name der die Codelistenspalte repräsentierenden UML-Eigenschaft

Datentyp [1]

Nein

/gc:CodeList/ColumnSet/Column/Data/@Type

xoevCodelistenspalte/datentyp

Sprache [0…​1]

Nein

/gc:CodeList/ColumnSet/Column/Data/@Lang

xoevCodelistenspalte/sprache

Code-Spalte [1..*]

Nein

/gc:CodeList/ColumnSet/Key

xoevCodelistenspalte/codeSpalte

Verwendung [1]

Nein

/gc:CodeList/ColumnSet/Column/@Use

xoevCodelistenspalte/verwendung

Empfohlene Code-Spalte [0..1]

Nein

/gc:CodeList/ColumnSet/Key/Annotation/AppInfo/xoev-cl-4:recommendedKeyColumn

xoevCodelistenspalte/empfohleneCodeSpalte

6. Versionshistorie

In diesem Anhang werden je Release des Codelisten-Handbuchs die Bereiche beschrieben, in denen Veränderungen oder Ergänzungen vorgenommen worden sind.

6.1. Release 1.3

Das Dokument wurde nach asciidoc überführt. Kleinere Strukturänderungen wurden vorgenommen.

6.2. Release 1.2.1

Abschnitt 1.2: Korrektur eines Tippfehlers.

Abschnitt 1.3: Korrektur eines Tippfehlers.

Abschnitt 3.1: Korrektur eines Tippfehlers: Es wurde fälschlich der Namensraum http://xoev.de/schemata/genericode/3 statt http://xoev.de/schemata/genericode/4 benannt.

Appendix D: Eintrag zum XÖV-Primer in das Glossar eingefügt. Hinweis auf erfolgte Abschaltung des Genericoders.

6.3. Release 1.2

Abschnitt 1.2: Neuer Abschnitt zu mehrsprachigen Codelisten.

Abschnitt 1.3: Hinweise zur Verwendung der Metadaten in mehrsprachigen Codelisten wurden ergänzt.

Abschnitt 1.5: Regelungen bezüglich mehrsprachigen Codelisten wurden hinzugefügt (K-10 bis K-13).

Kapitel 3: Übersichten wurden um mehrsprachige Elemente ergänzt. Das Element "xml:lang" wurde aus der Liste der nicht zu nutzenden Genericode-Elemente entfernt. Die Beispiele (3.1.2) wurden um Mehrsprachigkeit ergänzt.

Abschnitt 3.2: Bisheriger Abschnitt 3.2 (Intermediärformat Microsoft Excel) entfällt. Ehemals Abschnitt 3.3: Der Abschnitt 3.2.3 “Modellierung mehrsprachiger Codelisten” wurde ergänzt.

Appendix A: Die Übersicht über das Syntax-Binding wurde um Angaben zur Mehrsprachigkeit ergänzt. Das Binding für MS Excel wurde entfernt.

Anhang D. Glossar: Begrifflichkeiten aus dem Bereich mehrsprachige Codelisten ergänzt. Hinweis auf Abschaltung des Genericoders eingefügt.

6.4. Release 1.1

Abschnitt 1.2: Multiplizität des Codelisten-Metadatums Herausgebername (kurz) von 0..1 zu 1 geändert. (Issue 9)

Abschnitt 3.1: Der einleitende Absatz wurde um Hinweise zu den ergänzten XÖV-spezifischen Metadaten-Elementen erweitert. (Issue 23)

Abschnitt 3.1.1: Der einleitende Absatz wurde redaktionell überarbeitet. (Issue 7)

6.5. Release 1.0

Initiale Erstellung der Codelisten-Handbuchs.

7. Glossar

Dieses Glossar umfasst Begriffe, die im thematischen Umfeld dieses Handbuchs Verwendung finden.

Codelisten-Fachmodell

Ein Codelisten-Fachmodell und seine Inhalte ist gemäß der XÖV-Modellierungssprache und den zugehörigen XÖV-Notationen spezifiziert und ist konform zu den Regelungen des Codelisten-Handbuchs. Notationen zur Erstellung und Pflege eines Codelisten-Fachmodells sind XÖV classic und der OASIS-Standard Genericode.

Code

Ein Code ist eine Zeichenkette, welcher per Codeliste eine eindeutige Bedeutung zugewiesen ist (z.B. MUC als Code für den Flughafen München).

Code-Spalte

Eine Code-Spalte enthält Codes, die eine Codelisteneintrag eindeutig identifizieren. Eine Codeliste kann eine oder mehrere Code-Spalten enthalten. Eine Code-Spalte muss in jeder Zeile einen Eintrag enthalten.

Codelisten-Editor

Der Codelisten-Editor steht im XRepository zur Verfügung. Die Web-Anwendung ermöglicht das Erstellen und Bearbeiten von Codelisten. Zu diesem Zweck steht eine komfortable Oberfläche und Echtzeit-Validierung zur Verfügung.

Codeliste

Eine Codeliste ist eine Liste von Codes und der Beschreibung ihrer jeweiligen Bedeutung. Die Bedeutung von Codes kann dabei beispielsweise in Form von Namen (Augsburg, Bremen, München, etc.), Begrifflichkeiten (ledig, verheiratet, geschieden, etc.) oder Statusbeschreibungen (Antrag übermittelt, Antrag empfangen, Antrag unvollständig, etc.) vorliegen. In der Datenübermittlung werden Codelisten eingesetzt, um die für einen bestimmten Übermittlungskontext relevanten Sachverhalte eindeutig zu bezeichnen und in der erforderlichen Form zu beschreiben.

Codelisteneintrag

Ein Codelisteneintrag setzt sich zusammen aus mindestens einem Code und mindestens einer Beschreibung der Bedeutung des Codes. Die Summe der Codelisteneinträge einer Codeliste stellen die Daten der Codeliste dar. Ein Codelisteneintrag kann somit verstanden werden als eine Zeile in der Datentabelle einer Codeliste.

Codelistenversion

Eine Codelistenversion ist die Konkretisierung einer Codeliste über die Angabe versionsspezifischer Metadaten und Daten. Jede Codelistenversion besitzt genau eine Beziehung zu genau einer Codeliste. Jede zu dieser Version des Codelisten-Handbuchs konforme Codelistenversion enthält mindestens eine Codespalte, eine Beschreibungsspalte und einen Codelisteneintrag.

Die Version einer Codeliste entspricht einem definierten Stand der Entwicklung oder Fortschreibung dieser Codeliste. Sie wird gekennzeichnet durch einen Versionsbezeichner.

Fachmodell

Das Fachmodell eines XÖV-Standards beschreibt die fachlichen Anforderungen an eine Datenübermittlung. Es ist in UML notiert und definiert neben den auszutauschenden Informationen einer Datenübermittlung auch Anwendungsfälle und Prozesse. Im Gegensatz zum XÖV-Fachmodell enthält ein Fachmodell keine Details der technischen Umsetzung in einen XÖV-Standard.

Genericode

Genericode ist ein XML-basierter Standard zur Beschreibung von Codelisten, der von der OASIS herausgegeben wird.

Genericoder

Der Genericoder war ein von der KoSIT bereitgestelltes XÖV-Produkt, mit dem Excel-Daten in OASIS Abschnitt 4.1, “Genericode”-Codelisten transformiert werden können. Die Unterstützung für dieses Produkt wurde eingestellt. Das Produkt wurde abgelöst vom Codelisten-Editor und wurde zum Ende des Jahres 2022 außer Betrieb genommen.

Inhalt

Inhalte sind die Ergebnisse, die ein XÖV-Vorhaben entwickelt und nutzt. Zentrale Inhaltsarten sind Standard, Codeliste und Profil. Diese können mit den Mitteln des XÖV-Rahmenwerks und seiner Produkte - insb. des XRepository und der XÖV suite - erstellt und verarbeitet werden. Im XÖV-Umfeld besitzt jeder Inhalt eine eindeutige Kennung und wird durch einen festgelegten Satz von Metadaten beschrieben.

Inhalte werden im XRepository bereitgestellt. Zu einem Inhalt können Dokumente bereitgestellt werden, die eine versionsübergreifende Bedeutung haben.

Weitere Informationen zur Bereitstellung von Inhalten sind im Abschnitt zum XRepository oder bei den jeweiligen Inhaltsarten gegeben.

Interopmatrix

Die im XRepository vorhandene Interopmatrix hilft Standardisierungsvorhaben, sich eine Übersicht über die von der XÖV-Koordination herausgegebenen Kernkomponenten und deren Nutzung durch die XÖV-Vorhaben zu verschaffen. Sie erlaubt einen direkten Einblick in die fachlichen Konzepte anderer Standards, wie beispielsweise zukünftiger Kommunikationspartner, und kann einem XÖV-Vorhaben beim Entwurf des eigenen Fachmodells als Orientierung dienen. Darüber hinaus unterstützt sie bei der konzeptionellen Abstimmung der auszutauschenden Daten, bei der Entwicklung gemeinsamer Begrifflichkeiten und bei der Harmonisierung organisatorischer und rechtlicher Rahmenbedingungen.

IT-Verfahren

Ein IT-Verfahren ist ein informationstechnisches System.

XÖV-Kernkomponenten

XÖV-Kernkomponenten sind fachübergreifende Datenstrukturen, die die Grundlage für die Ausprägung standardspezifischer Datenstrukturen darstellen können. Typische Beispiele von Kernkomponenten sind die Datenstrukturen zur Abbildung von Anschriften oder Namen natürlicher Personen. Die XÖV-Kernkomponenten sind Bestandteil der XÖV-Bibliothek.

www.xoev.de/de/kernkomponenten

XÖV-Konformität

Die XÖV-Konformität stellt ein durch die XÖV-Koordination ausgestelltes Qualitätsmerkmal eines XÖV-Standards dar, das die Einhaltung der XÖV-Konformitätskriterien bescheinigt.

XÖV-Konformitätskriterien

XÖV-Konformitätskriterien sind konkrete Prüfkriterien, die ein XÖV-Standard erfüllt. Sie sind in die vier Bereiche Bereitstellungspflichten, Auskunftspflichten der Standardentwickler und -betreiber, Wiederverwendung der XÖV-Bausteine sowie Technische Kriterien unterteilt. Es werden dabei die Verbindlichkeitsstufen Muss und Soll unterschieden.

XÖV-Koordination

Die XÖV-Koordination ist im Auftrag des IT-Planungsrats Herausgeberin des XÖV-Standardisierungsrahmens. Dies umfasst sowohl die Herausgabe und den Betrieb zugehöriger Regelungen, Bausteine, Werkzeuge und Infrastrukturkomponenten als auch die Betreuung von [g:vorhaben] inklusive der XÖV-Zertifizierung von Standards. Die Aufgaben der XÖV-Koordination werden derzeit durch die KoSIT wahrgenommen.

Mehrsprachige Codelisten

Mehrsprachige Codelisten sind Codelisten, welche die Möglichkeit nutzen Metadaten und/oder Daten (Spaltenweise) in mehr als einer Sprache anzugeben.

Metadaten

Metadaten informieren unter anderem über Name, Version, Gültigkeit und Herausgeber einer Codeliste. Metadaten werden zur systematische Nutzung von Codelisten benötigt.

Metadatenelement

Ein Metadatenelement beschreibt eine Codeliste bzw. Code- oder Beschreibungsspalte in einer spezifischen Hinsicht: z.B. Veröffentlichungsdatum, Name, Herausgeber oder Optionalität der Einträge.

XÖV-Namens- und Entwurfsregeln

Die XÖV-Namens- und Entwurfsregeln lenken die technische Ausgestaltung eines XÖV-Standards während seiner Spezifikationsphase, in der das [g:fm] des Standards in ein [g:xfm] überführt wird. Ihre Berücksichtigung wird durch das Konformitätskriterium „K-10 (MUSS): Einhaltung der XÖV-Namens- und Entwurfsregeln“ gefordert.

XÖV-Profil

Das XÖV-Profil ist Teil der [g:spw]. Es umfasst die [g:stereotyp]en, [XML_Schema-Datentypen], [g:paw] und [g:üaw].

XÖV-Produktionsumgebung

Die XÖV-Produktionsumgebung (kurz XÖV-PU) wird im XGenerator ausgeführt auf das XÖV-Fachmodell zur Erzeugung der [g:bestandteile] eines XÖV-Standards angewendet. Die XÖV-PU liegt in unterschiedlichen Editionen für die Varianten classic und lite vor und wird, wie beispielsweise auch das XÖV-Handbuch in regelmäßigen Abständen aktualisiert. Eine wesentliche Voraussetzung für die Erstellung eines XÖV-Standards ist die Verwendung einer gültigen [g:konfiguration].

Semantik

Die Semantik definiert – im Gegensatz zur Syntax – die Bedeutung der gültigen Zeichen, Wörter und Sätze einer Sprache. So ist die Dokumentation eines XML-Elements und seiner Unterstrukturen in einer XML Schema-Definition ein Beispiel für die Festlegung der Semantik eines Informationsbausteins.

Spezifikationsdokument

Das Spezifikationsdokument ist, wie auch die XML Schema-Definitionen ein erforderlicher Bestandteil eines XÖV-Standards. Es umfasst eine vollständige Dokumentation der Inhalte des XÖV-Fachmodells. Der wesentliche Bestandteil der Dokumentation wird automatisiert durch den XGenerator generiert.

Syntax

Die Syntax definiert, wie gültige Sätze einer Sprache aufgebaut werden. Sie trifft dabei keine Aussage über die Bedeutung (Semantik) der gebildeten Sätze.

Version eines Inhalts

Ein konkreter Stand der Entwicklung bzw. Fortschreibung eines Inhalts wird als Version des Inhalts bezeichnet, die mittels einer im Kontext des Inhalts eindeutigen Versionsbezeichnung, z. B. "2.0", gekennzeichnet wird.

Die Version eines Inhalts besitzt zur übergreifend eindeutigen Identifikation eine Versionskennung bestehend aus der Kennung des Standards und der Versionsbezeichnung." (Danach die Aussagen zu den Metadaten.)

Versionen eines Inhalts werden im XRepository bereitgestellt. Die Version eines Inhalts besteht aus einer Reihe von Dateien, die den Entwicklungs- bzw. Fortschreibungsstand des Inhalts originär wiedergeben und diesen in unterschiedlichen Formaten zum Bezug abbilden. Darüber hinaus können weitere versionsspezifische Dokumente zu einer Version eines Inhalts bereitgestellt werden.

Weitere Informationen zur Bereitstellung von Versionen zu Inhalten sind im Abschnitt zum XRepository oder bei den jeweiligen Inhaltsarten gegeben.

XGenerator

Der XGenerator ermöglicht die automatisierte Prüfung des XÖV-Fachmodells und die Generierung der Bestandteile des Standards aus dem XÖV-Fachmodell. Die zugrunde liegenden Prüfanweisungen und Übersetzungsanweisungen werden mit dem XÖV-Profil bereitgestellt. Der XGenerator ist ein durch die KoSIT herausgegebenes XÖV-Produkt.

www.xoev.de/de/xgenerator

XÖV

XÖV steht für “XML in der öffentlichen Verwaltung”.

XÖV-Bibliothek

Die XÖV-Bibliothek stellt für alle XÖV-Vorhaben den zentralen Bezugspunkt für XÖV-Datentypen und XÖV-Kernkomponenten dar. Sie erlaubt eine komfortable und einheitliche Einbindung und Nutzung dieser XÖV-Bausteine in XÖV-Standards. Veröffentlicht wird die XÖV-Bibliothek, den XÖV-Prinzipien zur Entwicklung von Standards folgend, in der Form eines UML-Modell>s, welches in XÖV-Standards eingebunden wird und damit die XÖV-Bausteine als UML-Elemente verfügbar macht. Die früheren Modelle der XÖV-Basisdatentypen, der lateinischen Zeichen in Unicode und der XÖV-Kernkomponenten werden durch die XÖV-Bibliothek abgelöst.

XÖV-Fachmodell

Ein XÖV-Fachmodell ist ein Fachmodell, das mit den Mitteln der XÖV-Spezifikation- und Produktionswerkzeuge und entsprechend der XÖV-Konformitätskriterien spezifiziert wurde.

XÖV-Modellierungssprache

Die XÖV-Modellierungssprache setzt sich aus den Modellierungssprachen zur Spezifikation von XÖV-Fachmodellen und von XÖV-konformen Codelisten zusammen, die mit dem XÖV-Handbuch und dem Codelisten-Handbuch beschrieben sind. Mit XÖV classic und XÖV lite werden zwei alternative XÖV-Notationen zur Spezifikation von XÖV-Fachmodellen angeboten. Für den Bereich Codelisten kann die Notationen XÖV classic oder die des OASIS-Standards Genericode genutzt werden.

XÖV-Notation

Die Spezifikation von Informationen zu einem Standard oder einer Codeliste mit den Mitteln der XÖV-Modellierungssprache muss in einer konkreten XÖV-Notation erfolgen. Mit XÖV classic und XÖV lite werden zwei gleichberechtigte alternative Notationen der XÖV-Modellierungssprache für den Bereich der Spezifikation von XÖV-Fachmodellen angeboten. XÖV-konforme Codelisten-Fachmodelle können in XÖV classic oder mit der Notation des OASIS-Standards Genericode spezifiziert werden.

XÖV-Primer

Namentlich angelehnt an das Dokument “XML Schema Part 0: Primer” des W3C, stellt der XÖV-Primer ein nicht-normatives Dokument dar, welches einen einfachen Zugang zur Spezifikation und Produktion eines XÖV-Standards ermöglichen soll. Mit der ersten Version des XÖV-Primer wird eine vereinfachte modellgetriebene Entwicklungsmethodik zur Spezifikation und Produktion eines XÖV-Standards auf der Basis eines XÖV-Fachmodells beschrieben.

www.xoev.de/de/primer

XÖV-Produkt

XÖV-Produkte sind einzelne oder zusammengefasste Komponenten des XÖV-Standardisierungsrahmens, wie beispielsweise die Interopmatrix, die XÖV-Kernkomponenten oder das XÖV-Handbuch. Sie sind auf der XÖV-Website dargestellt. Neben den grundlegenden Informationen zu den Produkten werden an dieser Stelle auch Informationen zur Release-Planung und den für die Umsetzung eingeplanten Änderungsanträgen gegeben.

www.xoev.de/de/produkte

XÖV-Regelungen

Die XÖV-Regelungen umfassen die XÖV-Konformitätskriterien und XÖV-Namens- und Entwurfsregeln. Mit den XÖV-Regelungen wird das Ziel verfolgt, das dem XÖV-Entwicklungsansatz zugrundeliegende Prinzip der Wiederverwendung bestehender Lösungen in der praktischen Arbeit der XÖV-Vorhaben zu verankern. Sie geben den Vorhaben eine praktische Handlungsgrundlage bei der Verwendung der mit dem XÖV-Standardisierungsrahmen bereitgestellten Komponenten und helfen dabei gleichzeitig, Ergebnisse der Standardisierung strukturell zu vereinheitlichen und somit deren (Wieder-) Verwendung zu vereinfachen.

XÖV-Standard

Als XÖV-Standard wird ein Standard bezeichnet, dessen XÖV-Konformität von der XÖV-Koordination festgestellt wurde.

XÖV-Standardisierungsrahmen

Der durch die XÖV-Koordination bereitgestellte XÖV-Standardisierungsrahmen (auch XÖV-Rahmenwerk)ermöglicht die praktische Umsetzung der einzelnen Schritte des XÖV-Entwicklungsprozesses. Er unterstützt damit XÖV-Vorhaben umfassend von der ersten systematischen Ermittlung der fachlichen Anforderungen bis zur letztendlichen Bereitstellung eines XÖV-Standards. Der Standardisierungsrahmen besteht aus einer Reihe von aufeinander abgestimmten XÖV-Regelungen, XÖV-Werkzeugen, XÖV-Bausteinen und XÖV-Infrastrukturkomponenten.

XÖV-Stereotyp

Stereotypen ermöglichen die Zuordnung von Klassifikationen und Eigenschaften zu Elementen eines UML-Modells. Die im Rahmen des XÖV-Profils definierten Stereotypen dienen der technischen Anreicherung eines Fachmodells um Informationen zur Ausgestaltung der Bestandteile eines Standards, insbesondere seiner Schema-Definitionen. Die Anwendung der XÖV-Stereotypen steuert damit die Behandlung der Modellinhalte durch den XGenerator, z. B. ob eine UML-Klasse in einen XML-Datentyp oder ein XML-Element resultiert. Nach der Anwendung der XÖV-Stereotypen liegt ein XÖV-Fachmodell vor.

XRepository

Das XRepository ist die zentrale Distributionsplattform des XÖV-Standardisierungsrahmens. Es unterstützt die Prozesse der Entwicklung und Bereitstellung eines Standards, seine XÖV-Zertifizierung wie auch seine operative Nutzung. Alle Bestandteile eines XÖV-Standards sowie die für den Datenaustausch notwendigen Artefakte wie Codelisten können über das XRepository bezogen werden.

XÖV-Werkzeug

Ein XÖV-Werkzeug ist ein von der KoSIT herausgegebenes XÖV-Produkt, das den XÖV-Entwicklungsprozess eines Standards unterstützt. Zu den Werkzeugen gehören die Interopmatrix, der [g:xgenerator] und das XÖV-Profil.

XÖV-Bausteine

XÖV-Bausteine sind XÖV-Codelisten, XÖV-Datentypen und XÖV-Kernkomponenten, die von der KoSIT zur Nutzung in XÖV-Standards angeboten werden. Die Verwendung der XÖV-Bausteine steigert die technische und semantische Interoperabilität zwischen XÖV-Standards. Fachübergreifende Bausteine, wie zum Beispiel die Anschrift einer natürlichen Person, können in bestimmten Fachbereichen als Grundlage zur Umsetzung konkreter, fachspezifischer Anforderungen dienen. Demgegenüber stehen fachunabhängige Bausteine, wie zum Beispiel ein Datentyp zur Übermittlung von Codes aus Codelisten.

Die XÖV-Bausteine XÖV-Datentypen und XÖV-Kernkomponenten werden mit der XÖV-Bibliothek und XÖV-Codelisten über das [g:xrepository] bereitgestellt.

XÖV-Rahmenwerk

siehe hierzu XÖV-Standardisierungsrahmen

XÖV-Infrastruktur

Die XÖV-Infrastruktur umfasst die technischen und organisatorischen Komponenten, die den Betrieb und die Nutzung des XÖV-Standardisierungsrahmens ermöglichen. Dazu gehören unter anderem das [g:xrepository], der [g:xgenerator] und die XÖV-Produktionsumgebung.

XÖV-Vorhaben

Im Rahmen eines XÖV-Vorhabens wird ein XÖV-Standard zunächst entwickelt und dann betrieben. Das Vorhaben umfasst damit den gesamten Lebenszyklus des Standards.

XÖV-Zertifizierung

Die XÖV-Zertifizierung der XÖV-Konformität bestätigt die formale Qualität eines XÖV-Standards.

XÖV-Codelisten

Eine XÖV-Codeliste ist eine zum Codelisten-Handbuch konforme Codeliste.

XÖV-Datentypen

XÖV-Datentypen stellen fundamentale, meist fachunabhängig nutzbare XÖV-Bausteine dar, deren Einsatz in unveränderter Form allen XÖV-Standards vorgesehen ist. Sie liegen als XML-Datentypen vor und werden auf Schema-Ebene in einen Standard eingebunden. Die Datentypen werden durch die XÖV-Bibliothek zur direkten Nutzung im XÖV-Fachmodell bereitgestellt.

XÖV-Bibliothek

Die XÖV-Bibliothek stellt für alle XÖV-Vorhaben den zentralen Bezugspunkt für XÖV-Datentypen und XÖV-Kernkomponenten dar. Sie erlaubt eine komfortable und einheitliche Einbindung und Nutzung dieser XÖV-Bausteine in XÖV-Standards. Veröffentlicht wird die XÖV-Bibliothek, den XÖV-Prinzipien zur Entwicklung von Standards folgend, in der Form eines UML-Modell>s, welches in XÖV-Standards eingebunden wird und damit die XÖV-Bausteine als UML-Elemente verfügbar macht. Die früheren Modelle der XÖV-Basisdatentypen, der lateinischen Zeichen in Unicode und der XÖV-Kernkomponenten werden durch die XÖV-Bibliothek abgelöst.

XÖV-Standard

Als XÖV-Standard wird ein Standard bezeichnet, dessen XÖV-Konformität von der XÖV-Koordination festgestellt wurde.

8. Mitwirkende

An dieser und an früheren Versionen des Codelisten-Handbuchs haben unter anderem folgende Personen mitgewirkt:

NameInstitution

Dr. Fabian Büttner

LAVA Unternehmensberatung

Antje Duske

]init[ AG

Hauke Edeler

Koordinierungsstelle für IT-Standards

Mirco Kuhlmann

LAVA Unternehmensberatung

Lutz Rabe

Koordinierungsstelle für IT-Standards


1. Eine Übersicht der auf der Basis des XÖV-Handbuchs entwickelten Standards und Spezifikationen finden Sie auf der Webseite www.xrepository.de.
4. Der Standard erlaubt auch erweiterte Angaben. Nur die erwähnte Kombination von Länderkontext und Sprache darf verwendet werden.
5. OASIS (Organization for the Advancement of Structured Information Standards) ist eine internationale, nicht gewinnorientierte Organisation, die sich mit der Entwicklung von E-Business- und Web-Service-Standards beschäftigt.