====== 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]]