평가 및 화면 구조 정리
This commit is contained in:
parent
1248ae8ca4
commit
391639c1de
44 changed files with 5816 additions and 4501 deletions
99
data/rubrics/case-worksheet-rubric.schema.json
Normal file
99
data/rubrics/case-worksheet-rubric.schema.json
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "vignette.case_worksheet_rubric.v1",
|
||||
"title": "Vignette case worksheet rubric",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"schema_version",
|
||||
"rubric_id",
|
||||
"title",
|
||||
"status",
|
||||
"content_owner",
|
||||
"scoring_enabled",
|
||||
"approval",
|
||||
"sections"
|
||||
],
|
||||
"properties": {
|
||||
"schema_version": { "const": "vignette.case_worksheet_rubric.v1" },
|
||||
"rubric_id": { "type": "string", "minLength": 1 },
|
||||
"title": { "type": "string", "minLength": 1 },
|
||||
"status": { "enum": ["scaffold_only", "draft", "approved"] },
|
||||
"content_owner": { "const": "clinical_team" },
|
||||
"scoring_enabled": { "type": "boolean" },
|
||||
"approval": {
|
||||
"anyOf": [
|
||||
{ "type": "null" },
|
||||
{
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["clinical_reviewer", "approved_at"],
|
||||
"properties": {
|
||||
"clinical_reviewer": { "type": "string", "minLength": 1 },
|
||||
"approved_at": { "type": "string", "minLength": 1 },
|
||||
"notes": { "type": "string" }
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"notes": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"default": []
|
||||
},
|
||||
"sections": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": { "$ref": "#/$defs/section" }
|
||||
}
|
||||
},
|
||||
"$defs": {
|
||||
"section": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["key", "title", "items"],
|
||||
"properties": {
|
||||
"key": { "type": "string", "minLength": 1 },
|
||||
"title": { "type": "string", "minLength": 1 },
|
||||
"items": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": { "$ref": "#/$defs/item" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"item": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["key", "label", "criteria", "score_scale"],
|
||||
"properties": {
|
||||
"key": { "type": "string", "minLength": 1 },
|
||||
"label": { "type": "string", "minLength": 1 },
|
||||
"criteria": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"default": []
|
||||
},
|
||||
"score_scale": {
|
||||
"anyOf": [
|
||||
{ "type": "null" },
|
||||
{
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["min", "max", "anchors"],
|
||||
"properties": {
|
||||
"min": { "type": "integer" },
|
||||
"max": { "type": "integer" },
|
||||
"anchors": {
|
||||
"type": "array",
|
||||
"minItems": 2,
|
||||
"items": { "type": "string" }
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue