B2Base

Bürokratie vereinfachen durch Standards

Benutzer-Werkzeuge

Webseiten-Werkzeuge


schemes:person:identificationdocuments

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
schemes:person:identificationdocuments [2025/05/22 12:57] lars_gerulatschemes:person:identificationdocuments [2026/09/08 14:34] (aktuell) – B2Base-Schemaentwurf: internationale Datenmodelle, Beispiele und Erläuterungen 0.0.0.0
Zeile 1: Zeile 1:
-====== identificationdocuments ====== +====== Ausweisdokumente ======
-===== description ===== +
-Das Schema **[[schemes:person|person]]:identificationdocuments** definiert:+
  
-**documents** – Eine Liste von Identifikationsdokumenten einer Person. +<WRAP b2hero> 
-Jedes Dokument enthält: +**B2Base · 1.0.0-draft.1 · Projektentwurf**
-  * **type** +
-    * value: Art des Dokuments (z. B. "passport", "idCard", "residencePermit"). +
-    * scheme: URI eines kontrollierten Vokabulars (z. B. "b2:documenttypes"). +
-    * language: Sprache der Bezeichnung (z. B. "en", "de"). +
-  * **number**: Offizielle Dokumentennummer. +
-  * **issuer** +
-    * authority: Ausstellende Behörde (z. B. "Stadt Köln"). +
-    * country: Länderkürzel nach ISO 3166-Alpha-2 (z. B"DE"). +
-    * region: Optional, z. B. Bundesland oder Verwaltungseinheit. +
-  * **issueDate**: Ausstellungsdatum im ISO-8601-Format (YYYY-MM-DD). +
-  * **expiryDate**: Ablaufdatum im ISO-8601-Format (YYYY-MM-DD). +
-  * **validityStatus** +
-    * value: Gültigkeitsstatus (z. B. "valid", "expired", "revoked"). +
-    * scheme: URI des verwendeten Status-Vokabulars. +
-  * **machineReadableZone** +
-    * lines: Optional, ein- bis dreizeilige maschinenlesbare Zone (z. B. MRZ aus Reisepässen). +
-  * **notes** +
-    * language: Sprache des Hinweises (z. B. "de"). +
-    * text: Freitextlicher Hinweis zum Dokument. +
-  * **linkedBiometrics** +
-    * type: Typ des biometrischen Merkmals (z. B. "face", "fingerprint"). +
-    * reference: URI oder ID zur Referenz auf das Merkmal. +
-  * **translations** +
-    * language: Sprache der Übersetzung (z. B. "fr"). +
-    * authorityTranslated: Übersetzung der ausstellenden Behörde. +
-    * typeTranslated: Übersetzung des Dokumenttyps.+
  
-===== examples ===== +Dokumentnummern, Aussteller, Gültigkeitsangaben und mehrsprachige Erläuterungen. 
-==== json-notation ==== + 
-<code>+[[schemes:scheme|Bibliothek]] · [[schemes:person|Personen]] · [[schemes:principles|Internationale Grundregeln]] 
 +</WRAP> 
 + 
 +===== Direkt verwenden ===== 
 + 
 +[[b2schema>1.0.0-draft.1/person/identificationdocuments.schema.json|Austauschschema (JSON)]] · [[b2schema>1.0.0-draft.1/person/identificationdocuments.editor.schema.json|Schema für den Designer]] · [[b2schema>1.0.0-draft.1/person/identificationdocuments.examples.json|Beispieldaten]] 
 + 
 +**Austauschschema:** vollständige Strukturprüfung mit JSON Schema 2020-12. **Designer-Fassung:** gleiche Datenfelder mit reduzierten Strukturregeln zur Feldübernahme. [[:guidelines#im_workflowdesigner_verwenden|Anleitung und Grenzen]] 
 + 
 +===== Felder im Überblick ===== 
 + 
 +^ Feld ^ Typ ^ Pflicht im Modul ^ Bedeutung ^ 
 +| ''documents'' | array | Ja | Vorliegende Ausweisdokumente. | 
 +| ''extensions'' | object | Nein | Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern. | 
 + 
 +Pflichtangaben gelten für das jeweilige Objekt, wenn dieses Modul verwendet wird. Zusätzliche Alternativen und Statusregeln stehen im Austauschschema. Optionale Felder weglassen, wenn sie unbekannt oder nicht anwendbar sind; ein leeres Pflichtfeld ist kein gültiger Ersatz. 
 + 
 +===== International richtig einsetzen ===== 
 + 
 +  * BCP-47-Sprachtags ersetzen die Beschränkung auf zwei Buchstaben und einen Ländersuffix. 
 +  * Internationale Aussteller benötigen nicht zwingend einen ISO-Ländercode. MRZ-Länderkürzel sind ein eigenes System und dürfen nicht unverändert in ISO-Alpha-2-Felder gelangen. 
 +  * Status, Zeitfolge, MRZ-Format, Prüfziffern und Echtheit benötigen gesonderte fachliche Prüfungen. Die Beispieldaten sind synthetisch und kein Musterausweis. 
 + 
 +===== Gültige Beispiele ===== 
 + 
 +Alle Beispiele sind synthetisch. Sie werden mit dem mitgelieferten Schema geprüft; daraus folgt keine fachliche Echtheit oder externe Erreichbarkeit. 
 + 
 +==== Beispiel 1 ==== 
 + 
 +<file json example-1.json>
 { {
   "documents": [   "documents": [
Zeile 40: Zeile 41:
       "type": {       "type": {
         "value": "passport",         "value": "passport",
-        "scheme": "b2:documenttypes", +        "scheme": "https://example.org/vocab/document-types/v1"
-        "language": "en"+
       },       },
-      "number": "C01X0006H",+      "number": "EXAMPLE-00042",
       "issuer": {       "issuer": {
-        "authority": "Stadt Köln", +        "authority": "Example Issuing Authority", 
-        "country": "DE"+        "country": "CA"
-        "region": "NW" +
-      }, +
-      "issueDate": "2017-03-01", +
-      "expiryDate": "2027-02-28", +
-      "validityStatus":+
-        "value": "valid", +
-        "scheme": "b2:validitystatuses" +
-      }, +
-      "machineReadableZone":+
-        "lines":+
-          "P<DEUDOE<<JOHN<<<<<<<<<<<<<<<<<<<<<<<<<<<", +
-          "C01X0006HDEU8007257M2702286<<<<<<<<<<<<<<02" +
-        ]+
       },       },
-      "notes": [ 
-        { 
-          "language": "de", 
-          "text": "Nur gültig für berufliche Reisen" 
-        } 
-      ], 
-      "linkedBiometrics": [ 
-        { 
-          "type": "face", 
-          "reference": "urn:b2base:biometric:face:1234567890" 
-        } 
-      ], 
       "translations": [       "translations": [
         {         {
-          "language": "fr", +          "language": "zh-Hant", 
-          "authorityTranslated": "Ville de Cologne", +          "typeTranslated": "護照"
-          "typeTranslated": "passeport"+
         }         }
       ]       ]
Zeile 83: Zeile 57:
   ]   ]
 } }
-</code> +</file>
-==== array-notation ==== +
-<code> +
-$person['identificationdocuments']['documents'][0]['type']['value'] = "passport"; +
-$person['identificationdocuments']['documents'][0]['type']['scheme'] = "b2:documenttypes"; +
-$person['identificationdocuments']['documents'][0]['type']['language'] = "en";+
  
-$person['identificationdocuments']['documents'][0]['number'"C01X0006H";+===== Umstellung aus dem bisherigen Wiki =====
  
-$person['identificationdocuments']['documents'][0]['issuer']['authority'] = "Stadt Köln"; +Die bisherigen Hauptfelder bleiben. type.scheme und validityStatus.scheme sind jetzt für eine eindeutige Bedeutung erforderlichissueDate und issuer.country nicht mehr pauschal. MRZ-Beispiele mit ungesicherter Prüfziffer wurden entfernt.
-$person['identificationdocuments']['documents'][0]['issuer']['country'] = "DE"; +
-$person['identificationdocuments']['documents'][0]['issuer']['region'] = "NW";+
  
-$person['identificationdocuments']['documents'][0]['issueDate'] = "2017-03-01"; +[[schemes:migration|Änderungsübersicht und Migrationsregeln]]
-$person['identificationdocuments']['documents'][0]['expiryDate'= "2027-02-28";+
  
-$person['identificationdocuments']['documents'][0]['validityStatus']['value'"valid"; +===== Vollständiges Schema =====
-$person['identificationdocuments']['documents'][0]['validityStatus']['scheme'"b2:validitystatuses";+
  
-$person['identificationdocuments']['documents'][0]['machineReadableZone']['lines'][0] = "P<DEUDOE<<JOHN<<<<<<<<<<<<<<<<<<<<<<<<<<<"; +Die Datei ist eigenständig: verwendete Bausteine sind unter ''$defs'' eingebettet, Referenzen bleiben lokal. ''$id'' ist die kanonische Kennung. Die Downloads oben verwenden den aktuellen Servereine Veröffentlichung unter der kanonischen Domain ist damit nicht behauptet.
-$person['identificationdocuments']['documents'][0]['machineReadableZone']['lines'][1] = "C01X0006HDEU8007257M2702286<<<<<<<<<<<<<<02";+
  
-$person['identificationdocuments']['documents'][0]['notes'][0]['language'] = "de"; +<file json identificationdocuments.schema.json>
-$person['identificationdocuments']['documents'][0]['notes'][0]['text'] = "Nur gültig für berufliche Reisen"; +
- +
-$person['identificationdocuments']['documents'][0]['linkedBiometrics'][0]['type'] = "face"; +
-$person['identificationdocuments']['documents'][0]['linkedBiometrics'][0]['reference'] = "urn:b2base:biometric:face:1234567890"; +
- +
-$person['identificationdocuments']['documents'][0]['translations'][0]['language'] = "fr"; +
-$person['identificationdocuments']['documents'][0]['translations'][0]['authorityTranslated'] = "Ville de Cologne"; +
-$person['identificationdocuments']['documents'][0]['translations'][0]['typeTranslated'] = "passeport"; +
-</code> +
- +
-===== schema ===== +
-<code>+
 { {
   "$schema": "https://json-schema.org/draft/2020-12/schema",   "$schema": "https://json-schema.org/draft/2020-12/schema",
-  "$id": "https://b2base.eu/schema/person/identificationdocuments.json", +  "$id": "https://b2base.eu/schemas/1.0.0-draft.1/person/identificationdocuments.schema.json", 
-  "title": "Identification Documents", +  "title": "Ausweisdokumente", 
-  "description": "Standardisiertesinternationales Schema für Identifikationsdokumente von Personen",+  "$comment": "B2Base 1.0.0-draft.1. Projektentwurfkein durch ISO oder andere Normungsgremien verabschiedeter Standard.",
   "type": "object",   "type": "object",
 +  "description": "Ausweisdokumente einer Person.",
   "properties": {   "properties": {
     "documents": {     "documents": {
       "type": "array",       "type": "array",
 +      "description": "Vorliegende Ausweisdokumente.",
       "items": {       "items": {
-        "type": "object", +        "$ref": "#/$defs/IdentityDocument" 
-        "properties":+      }, 
-          "type": { +      "minItems":
-            "type": "object", +    }, 
-            "properties":+    "extensions":
-              "value": { "type": "string" }, +      "type": "object", 
-              "scheme": { "type": "string", "format": "uri" }, +      "description": "Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern.", 
-              "language": { "type": "string", "pattern": "^[a-z]{2}(-[A-Z]{2})?$" } +      "properties": {}, 
-            }, +      "additionalProperties": true, 
-            "required": ["value"]+      "propertyNames": { 
 +        "format": "uri" 
 +      } 
 +    } 
 +  }, 
 +  "required":
 +    "documents" 
 +  ], 
 +  "additionalProperties": false, 
 +  "$defs":
 +    "IdentityDocument":
 +      "type": "object", 
 +      "description": "Ein Ausweisdokument; fachliche Dokumentarten kommen aus einem benannten Vokabular.", 
 +      "properties":
 +        "type": { 
 +          "$ref": "#/$defs/CodedValue" 
 +        }, 
 +        "number":
 +          "type": "string"
 +          "minLength": 1, 
 +          "description": "Offizielle Dokumentnummer in Originalschreibweise." 
 +        }, 
 +        "issuer": { 
 +          "$ref": "#/$defs/Issuer" 
 +        }, 
 +        "issueDate":
 +          "type": "string", 
 +          "minLength": 1, 
 +          "description": "Bekanntes Ausstellungsdatum.", 
 +          "format": "date" 
 +        }, 
 +        "expiryDate":
 +          "type": "string", 
 +          "minLength": 1, 
 +          "description": "Ablaufdatum, falls vorhanden; unbefristete Dokumente brauchen kein erfundenes Datum.", 
 +          "format": "date" 
 +        }, 
 +        "validityStatus":
 +          "$ref": "#/$defs/CodedValue", 
 +          "description": "Statusbehauptung aus benanntem System; keine automatische Verifikation." 
 +        }, 
 +        "statusCheckedAt":
 +          "type": "string", 
 +          "minLength": 1, 
 +          "description": "Zeitpunkt der Statusprüfung, falls tatsächlich erfolgt.", 
 +          "format": "date-time" 
 +        }, 
 +        "machineReadableZone":
 +          "type": "object", 
 +          "description": "Originalzeilen einer MRZ. Aufbau und Prüfziffern benötigen das konkrete Dokumentprofil.", 
 +          "properties":
 +            "lines": { 
 +              "type": "array", 
 +              "description": "MRZ-Zeilen unverändert und ohne Zeilenumbrüche innerhalb der Einträge.", 
 +              "items": { 
 +                "type": "string", 
 +                "minLength": 1, 
 +                "description": "Eine MRZ-Zeile.", 
 +                "pattern": "^[A-Z0-9<]+$" 
 +              }, 
 +              "minItems": 2, 
 +              "maxItems": 3 
 +            }
           },           },
-          "number": { +          "required": [ 
-            "type": "string", +            "lines" 
-            "description": "Die offizielle Dokumentennummer+          ], 
-          }, +          "additionalProperties": false 
-          "issuer": {+        }, 
 +        "notes":
 +          "type": "array", 
 +          "description": "Sprachlich bezeichnete Hinweise.", 
 +          "items":
 +            "$ref": "#/$defs/LocalizedText
 +          } 
 +        }, 
 +        "linkedBiometrics":
 +          "type": "array", 
 +          "description": "Verweise auf getrennte Nachweise, keine eingebetteten Rohdaten."
 +          "items": {
             "type": "object",             "type": "object",
 +            "description": "Nachweisreferenz.",
             "properties": {             "properties": {
-              "authority": { "type": "string" }, +              "type": { 
-              "country": { "type": "string", "pattern": "^[A-Z]{2}$}+                "type": "string"
-              "region": "type": "string" }+                "minLength": 1, 
 +                "description": "Verfahren oder Nachweisart." 
 +              }, 
 +              "reference": { 
 +                "type": "string", 
 +                "minLength": 1, 
 +                "description": "Nachweis-URI.", 
 +                "format": "uri" 
 +              }
             },             },
-            "required": ["authority", "country"] +            "required": [ 
-          }, +              "type", 
-          "issueDate": { +              "reference
-            "type": "string"+            ]
-            "format": "date" +            "additionalProperties": false 
-          }, +          
-          "expiryDate": { +        }, 
-            "type": "string", +        "translations": { 
-            "format": "date" +          "type": "array", 
-          }+          "description": "Optionale Übersetzungen; Originale bleiben maßgeblich.", 
-          "validityStatus": {+          "items": {
             "type": "object",             "type": "object",
 +            "description": "Übersetzte Bezeichnungen.",
             "properties": {             "properties": {
-              "value": { "type": "string" }, +              "language": { 
-              "scheme": { "type": "string", "format": "uri"+                "$ref": "#/$defs/LanguageTag"
-            }, +
-            "required": ["value"+
-          }, +
-          "machineReadableZone":+
-            "type": "object", +
-            "properties":+
-              "lines": { +
-                "type": "array", +
-                "items": { "type": "string" }, +
-                "minItems": 1, +
-                "maxItems":+
-              } +
-            } +
-          }, +
-          "notes":+
-            "type": "array", +
-            "items":+
-              "type": "object", +
-              "properties":+
-                "language": { "type": "string", "pattern": "^[a-z]{2}(-[A-Z]{2})?$" }, +
-                "text": { "type": "string" }+
               },               },
-              "required": ["text"+              "authorityTranslated": { 
-            } +                "type": "string", 
-          }, +                "minLength": 1
-          "linkedBiometrics": { +                "description": "Übersetzung der Ausstellerbezeichnung."
-            "type": "array", +
-            "items":+
-              "type": "object", +
-              "properties": { +
-                "type": { "type": "string" }+
-                "reference": { "type": "string", "format": "uri}+
               },               },
-              "required": ["type", "reference"+              "typeTranslated": { 
-            } +                "type": "string", 
-          }, +                "minLength": 1
-          "translations":+                "description": "Übersetzung der Dokumentart.
-            "type": "array", +              
-            "items":+            }, 
-              "type": "object", +            "required": [ 
-              "properties": { +              "language" 
-                "language":"type": "string", "pattern": "^[a-z]{2}(-[A-Z]{2})?$" }+            ], 
-                "authorityTranslated": { "type": "string" }+            "additionalProperties": false
-                "typeTranslated": "type": "string" } +
-              }, +
-              "required": ["language"+
-            }+
           }           }
         },         },
-        "required": ["type", "number", "issuer", "issueDate"] +        "extensions":
-      }+          "type": "object", 
 +          "description": "Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern.", 
 +          "properties": {}, 
 +          "additionalProperties": true, 
 +          "propertyNames":
 +            "format": "uri" 
 +          } 
 +        } 
 +      }, 
 +      "required": [ 
 +        "type", 
 +        "number", 
 +        "issuer" 
 +      ], 
 +      "additionalProperties": false 
 +    }, 
 +    "CodedValue":
 +      "type": "object", 
 +      "description": "Fachlicher Code mit benanntem Vokabular.", 
 +      "properties":
 +        "value":
 +          "type": "string", 
 +          "minLength": 1, 
 +          "description": "Code aus dem bezeichneten Vokabular; als Text unverändert übernehmen." 
 +        }, 
 +        "scheme":
 +          "type": "string", 
 +          "minLength": 1, 
 +          "description": "Absolute URI des Vokabulars, einschließlich einer Version, falls dessen Bedeutung veränderlich ist.", 
 +          "format": "uri" 
 +        }, 
 +        "label":
 +          "type": "string", 
 +          "minLength": 1, 
 +          "description": "Optionale lesbare Bezeichnung." 
 +        }, 
 +        "language":
 +          "$ref": "#/$defs/LanguageTag", 
 +          "description": "Sprache der Bezeichnung, nicht Staatsangehörigkeit." 
 +        } 
 +      }, 
 +      "required":
 +        "value", 
 +        "scheme" 
 +      ], 
 +      "additionalProperties": false 
 +    }
 +    "LanguageTag":
 +      "type": "string", 
 +      "minLength": 1, 
 +      "description": "BCP-47-Sprachtag, etwa de, zh-Hant-TW, sr-Latn oder x-internal. Das Muster prüft nur die Grundform, nicht Registrierung oder alle BCP-47-Regeln.", 
 +      "pattern": "^[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*$" 
 +    }, 
 +    "Issuer":
 +      "type": "object", 
 +      "description": "Aussteller einschließlich internationaler Organisationen.", 
 +      "properties":
 +        "authority":
 +          "type": "string", 
 +          "minLength": 1, 
 +          "description": "Originalname der Behörde oder Organisation." 
 +        }, 
 +        "id":
 +          "type": "string", 
 +          "minLength": 1, 
 +          "description": "Stabile Kennung des Ausstellers.", 
 +          "format": "uri" 
 +        }, 
 +        "country":
 +          "$ref": "#/$defs/CountryCode", 
 +          "description": "Optional: Land des Ausstellers; keine erfundene Länderkennung für internationale Organisationen." 
 +        }, 
 +        "region":
 +          "type": "string", 
 +          "minLength": 1, 
 +          "description": "Optionale Verwaltungseinheit oder Zuständigkeitsbezeichnung." 
 +        } 
 +      }, 
 +      "required":
 +        "authority" 
 +      ], 
 +      "additionalProperties": false 
 +    }, 
 +    "CountryCode":
 +      "type": "string", 
 +      "minLength": 1, 
 +      "description": "ISO 3166-1 Alpha-2, Großbuchstaben. Das Muster prüft nur die Schreibweise; zugewiesenen Code und Gültigkeitszeitpunkt gesondert prüfen.", 
 +      "pattern": "^[A-Z]{2}$" 
 +    }, 
 +    "LocalizedText":
 +      "type": "object", 
 +      "description": "Text mit expliziter Sprache; Originalschreibweise erhalten.", 
 +      "properties":
 +        "text":
 +          "type": "string", 
 +          "minLength": 1, 
 +          "description": "Inhalt in Unicode." 
 +        }, 
 +        "language":
 +          "$ref": "#/$defs/LanguageTag" 
 +        } 
 +      }, 
 +      "required":
 +        "text", 
 +        "language" 
 +      ], 
 +      "additionalProperties": false
     }     }
   },   },
-  "required": ["documents"]+  "examples": [ 
 +    { 
 +      "documents": [ 
 +        { 
 +          "type":
 +            "value": "passport", 
 +            "scheme": "https://example.org/vocab/document-types/v1" 
 +          }, 
 +          "number": "EXAMPLE-00042", 
 +          "issuer":
 +            "authority": "Example Issuing Authority", 
 +            "country": "CA" 
 +          }, 
 +          "translations":
 +            { 
 +              "language": "zh-Hant", 
 +              "typeTranslated": "護照" 
 +            } 
 +          ] 
 +        } 
 +      ] 
 +    } 
 +  ]
 } }
-</code>+</file> 
 + 
 +===== Quellen und Abgrenzung ===== 
 + 
 +  * [[https://www.rfc-editor.org/rfc/rfc5646.html|IETF RFC 5646: BCP-47-Sprachtags]] 
 +  * [[https://www.iso.org/iso-3166-country-codes.html|ISO: ISO 3166-Ländercodes]] 
 +  * [[https://www.rfc-editor.org/rfc/rfc3339.html|IETF RFC 3339: Datum und Zeitstempel]] 
 + 
 +Quellen geprüft am 8. September 2026. Die B2Base-Felder und ihre Kombination sind ein eigener Entwurf. Code-Register, nationale Regeln, Echtheit, Zeitfolgen und Referenzziele benötigen die im jeweiligen Verfahren vereinbarten Zusatzprüfungen.
  
 +[[schemes:scheme|Zur Bibliothek]] · [[:guidelines|Integration]] · [[:faq|Häufige Fragen]]
  
schemes/person/identificationdocuments.1747911470.txt.gz · Zuletzt geändert: (Externe Bearbeitung)

Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki