← Files VeraARCHIVED FILE
modules/previdenza-inps/schemas/case_records.schema.json
5.56 KB · Oct 3, 2026 · 06:30 UTC
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Previdenza INPS case records",
"type": "object",
"required": [
"professional_question",
"material_decisions",
"decision_log",
"facts"
],
"properties": {
"case_id": {
"type": "string",
"minLength": 1
},
"language": {
"enum": [
"it",
"en",
"fr",
"de",
"es"
]
},
"professional_question": {
"type": "string",
"minLength": 1
},
"material_decisions": {
"type": "object",
"required": [
"professional_question_confirmed",
"framework_confirmed",
"period_scope_confirmed",
"ambiguous_terms_resolved"
],
"properties": {
"professional_question_confirmed": {
"const": true
},
"framework_confirmed": {
"const": true
},
"period_scope_confirmed": {
"const": true
},
"ambiguous_terms_resolved": {
"const": true
}
}
},
"decision_log": {
"type": "array",
"minItems": 4,
"items": {
"type": "object",
"required": [
"decision_id",
"gate",
"decision",
"decided_by_id",
"decided_by_role",
"recorded_at",
"basis"
],
"properties": {
"decision_id": {
"type": "string",
"minLength": 1
},
"gate": {
"enum": [
"professional_question_confirmed",
"framework_confirmed",
"period_scope_confirmed",
"ambiguous_terms_resolved"
]
},
"decision": {
"const": true
},
"decided_by_id": {
"type": "string",
"minLength": 1
},
"decided_by_role": {
"enum": [
"authorized_user",
"professional_reviewer"
]
},
"recorded_at": {
"type": "string",
"format": "date-time"
},
"basis": {
"type": "string",
"minLength": 1
}
}
}
},
"facts": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"fact_id",
"statement",
"review_label",
"value",
"value_type",
"evidence",
"review_status"
],
"properties": {
"fact_id": {
"type": "string",
"minLength": 1
},
"statement": {
"type": "string",
"minLength": 1
},
"review_label": {
"type": "string",
"minLength": 1
},
"value_type": {
"enum": [
"amount",
"date",
"number",
"percentage",
"text"
]
},
"review_status": {
"enum": [
"confirmed",
"disputed",
"pending"
]
},
"evidence": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"document_id",
"locator",
"quote"
],
"properties": {
"document_id": {
"type": "string",
"minLength": 1
},
"locator": {
"type": "object",
"required": [
"kind",
"value"
]
},
"quote": {
"type": "string",
"minLength": 1
},
"visual_confirmation": {
"description": "Required by validation when a confirmed fact cites an OCR-derived, browser-captured, or mechanically weak evidence fragment.",
"type": "object",
"required": [
"confirmed",
"confirmed_by_id",
"confirmed_by_role",
"recorded_at",
"basis"
],
"properties": {
"confirmed": {
"const": true
},
"confirmed_by_id": {
"type": "string",
"minLength": 1
},
"confirmed_by_role": {
"enum": [
"authorized_user",
"professional_reviewer"
]
},
"recorded_at": {
"type": "string",
"format": "date-time"
},
"basis": {
"type": "string",
"minLength": 1
}
}
}
}
}
}
}
}
},
"timeline": {
"type": "array",
"items": {
"type": "object",
"required": [
"event_id",
"date",
"date_precision",
"description",
"source_fact_ids"
]
}
},
"jurisdiction": {
"enum": [
"IT",
"CH-GE"
]
},
"jurisdiction_basis": {
"type": "string",
"minLength": 1
}
}
}
SHA-256: 0c7550c48e3696292c1d43c489d874ee2872eb8f3cf8a5d355d6ec3dcac6cf61