====== Personenmerkmale und Status ====== **B2Base · 1.0.0-draft.1 · Projektentwurf** Staatsangehörigkeiten und zeitbezogene fachliche Merkmale mit ausdrücklich benannten Vokabularen. [[schemes:scheme|Bibliothek]] · [[schemes:person|Personen]] · [[schemes:principles|Internationale Grundregeln]] ===== Direkt verwenden ===== [[b2schema>1.0.0-draft.1/person/attributes.schema.json|Austauschschema (JSON)]] · [[b2schema>1.0.0-draft.1/person/attributes.editor.schema.json|Schema für den Designer]] · [[b2schema>1.0.0-draft.1/person/attributes.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 ^ | ''citizenshipStatus'' | string | Nein | Unterscheidet bekannte Staatsangehörigkeit, Staatenlosigkeit und unbekannte Angaben. | | ''nationalities'' | array | Nein | Bekannte Staatsangehörigkeiten; keine ethnische Zugehörigkeit. | | ''maritalStatus'' | object | Nein | Familienstand aus einem benannten fachlichen oder nationalen Vokabular. | | ''employmentStatus'' | object | Nein | Beschäftigungsstatus mit Vokabular. | | ''effectiveDate'' | string | Nein | Datum, für das die Angaben gelten. | | ''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 ===== * Eine leere oder fehlende Liste allein bedeutet nicht staatenlos. Dafür wird citizenshipStatus ausdrücklich gesetzt. * Familienstand und Beschäftigung haben keine hier behauptete weltweit einheitliche Klassifikation. scheme benennt die verwendete Bedeutung. * Ein Status braucht bei zeitabhängiger Auswertung einen Bezugszeitpunkt; aktuelle und historische Angaben nicht vermischen. ===== 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 ==== { "citizenshipStatus": "stateless", "nationalities": [], "effectiveDate": "2026-09-08" } ==== Beispiel 2 ==== { "citizenshipStatus": "known", "nationalities": [ "CA", "FR" ] } ===== Umstellung aus dem bisherigen Wiki ===== Der frühere Aufgabenvermerk wurde durch ein prüfbares Schema ersetzt. Es gibt keine automatische Ableitung aus Namen, Wohnort oder Sprache. [[schemes:migration|Änderungsübersicht und Migrationsregeln]] ===== Vollständiges Schema ===== 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 Server; eine Veröffentlichung unter der kanonischen Domain ist damit nicht behauptet. { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://b2base.eu/schemas/1.0.0-draft.1/person/attributes.schema.json", "title": "Personenmerkmale und Status", "$comment": "B2Base 1.0.0-draft.1. Projektentwurf, kein durch ISO oder andere Normungsgremien verabschiedeter Standard.", "type": "object", "description": "Optionale, zweckgebundene Personenmerkmale.", "properties": { "citizenshipStatus": { "type": "string", "minLength": 1, "description": "Unterscheidet bekannte Staatsangehörigkeit, Staatenlosigkeit und unbekannte Angaben.", "enum": [ "known", "stateless", "undetermined", "notProvided" ] }, "nationalities": { "type": "array", "description": "Bekannte Staatsangehörigkeiten; keine ethnische Zugehörigkeit.", "items": { "$ref": "#/$defs/CountryCode" }, "uniqueItems": true }, "maritalStatus": { "$ref": "#/$defs/CodedValue", "description": "Familienstand aus einem benannten fachlichen oder nationalen Vokabular." }, "employmentStatus": { "$ref": "#/$defs/CodedValue", "description": "Beschäftigungsstatus mit Vokabular." }, "effectiveDate": { "type": "string", "minLength": 1, "description": "Datum, für das die Angaben gelten.", "format": "date" }, "extensions": { "type": "object", "description": "Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern.", "properties": {}, "additionalProperties": true, "propertyNames": { "format": "uri" } } }, "additionalProperties": false, "minProperties": 1, "allOf": [ { "if": { "properties": { "citizenshipStatus": { "const": "stateless" } }, "required": [ "citizenshipStatus" ] }, "then": { "properties": { "nationalities": { "maxItems": 0 } } } }, { "if": { "properties": { "citizenshipStatus": { "const": "known" } }, "required": [ "citizenshipStatus" ] }, "then": { "required": [ "nationalities" ], "properties": { "nationalities": { "minItems": 1 } } } } ], "$defs": { "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}$" }, "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})*$" } }, "examples": [ { "citizenshipStatus": "stateless", "nationalities": [], "effectiveDate": "2026-09-08" }, { "citizenshipStatus": "known", "nationalities": [ "CA", "FR" ] } ] } ===== Quellen und Abgrenzung ===== * [[https://www.iso.org/iso-3166-country-codes.html|ISO: ISO 3166-Ländercodes]] * [[https://json-schema.org/understanding-json-schema/structuring|JSON Schema: Aufbau und Referenzen]] 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]]