feat: 升级结构化计分可信度

This commit is contained in:
2026-06-23 02:21:09 +02:00
parent e3825c5a4e
commit ca77aa0896
10 changed files with 705 additions and 139 deletions
+361
View File
@@ -0,0 +1,361 @@
import { ScoreDirection, ScoreThreshold } from '@/lib/assessment-types';
export interface MetricDefinition {
key: string;
label: string;
min: number;
max?: number;
direction?: ScoreDirection;
highScoreMeaning?: string;
thresholds?: ScoreThreshold[];
}
export interface QuestionnaireScoringMetadata {
questionnaireVersion: string;
scoreVersion: string;
min: number;
max?: number;
reverseItems: number[];
direction: ScoreDirection;
highScoreMeaning: string;
thresholds: ScoreThreshold[];
metrics?: MetricDefinition[];
note?: string;
}
const severityThresholds: ScoreThreshold[] = [
{ min: 0, label: '极轻或无' },
{ min: 5, label: '轻度' },
{ min: 10, label: '中度' },
{ min: 15, label: '中重度' },
{ min: 20, label: '重度' },
];
const none: ScoreThreshold[] = [];
export const scoringMetadata: Record<string, QuestionnaireScoringMetadata> = {
bigfive: {
questionnaireVersion: 'ipip-big-five-50-zh-v1',
scoreVersion: 'mindscope-bigfive-50-v1',
min: 10,
max: 50,
reverseItems: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50],
direction: 'trait',
highScoreMeaning: '高分代表该人格特质更明显,不代表好坏。',
thresholds: none,
},
'bigfive-120': {
questionnaireVersion: 'ipip-neo-120-zh-v1',
scoreVersion: 'mindscope-ipip-neo-120-v1',
min: 24,
max: 120,
reverseItems: [],
direction: 'trait',
highScoreMeaning: '高分代表该人格领域或侧面更明显,不代表好坏。',
thresholds: none,
},
'bigfive-300': {
questionnaireVersion: 'ipip-neo-300-zh-v1',
scoreVersion: 'mindscope-ipip-neo-300-v1',
min: 60,
max: 300,
reverseItems: [],
direction: 'trait',
highScoreMeaning: '高分代表该人格领域或侧面更明显,不代表好坏。',
thresholds: none,
},
'self-esteem': {
questionnaireVersion: 'rosenberg-self-esteem-zh-v1',
scoreVersion: 'mindscope-rse-v1',
min: 0,
max: 30,
reverseItems: [2, 5, 6, 8, 9],
direction: 'protective',
highScoreMeaning: '高分通常代表自尊水平更高。',
thresholds: [{ min: 0, label: '偏低' }, { min: 15, label: '中等' }, { min: 25, label: '较高' }],
},
grit: {
questionnaireVersion: 'grit-s-zh-v1',
scoreVersion: 'mindscope-grit-v1',
min: 1,
max: 5,
reverseItems: [1, 3, 5, 6],
direction: 'trait',
highScoreMeaning: '高分代表坚持与兴趣稳定性更明显。',
thresholds: none,
},
'self-control': {
questionnaireVersion: 'brief-self-control-zh-v1',
scoreVersion: 'mindscope-self-control-v1',
min: 13,
max: 65,
reverseItems: [1, 2, 3, 4, 5, 7, 9, 10, 12, 13],
direction: 'protective',
highScoreMeaning: '高分通常代表自我控制能力更强。',
thresholds: none,
},
'need-for-cognition': {
questionnaireVersion: 'need-for-cognition-18-zh-v1',
scoreVersion: 'mindscope-nfc-v1',
min: 18,
max: 90,
reverseItems: [3, 4, 5, 7, 8, 9, 12, 16, 17],
direction: 'trait',
highScoreMeaning: '高分代表更倾向主动思考和享受认知活动。',
thresholds: none,
},
maximizer: {
questionnaireVersion: 'maximizer-13-zh-v1',
scoreVersion: 'mindscope-maximizer-v1',
min: 13,
max: 65,
reverseItems: [],
direction: 'trait',
highScoreMeaning: '高分代表决策中最大化倾向更明显。',
thresholds: none,
},
attachment: {
questionnaireVersion: 'ecr-rs-zh-v1',
scoreVersion: 'mindscope-attachment-v1',
min: 1,
max: 7,
reverseItems: [1, 2, 3, 4, 5, 6],
direction: 'mixed',
highScoreMeaning: '高分含义取决于维度,焦虑/回避高分通常代表不安全依恋更明显。',
thresholds: none,
},
empathy: {
questionnaireVersion: 'iri-28-zh-v1',
scoreVersion: 'mindscope-iri-v1',
min: 0,
max: 28,
reverseItems: [3, 4, 7, 12, 13, 14, 15, 18, 19],
direction: 'mixed',
highScoreMeaning: '高分含义取决于维度,共情维度较高通常代表相关倾向更明显。',
thresholds: none,
},
'dark-triad': {
questionnaireVersion: 'short-dark-triad-zh-v1',
scoreVersion: 'mindscope-sd3-v1',
min: 1,
max: 5,
reverseItems: [],
direction: 'risk',
highScoreMeaning: '高分代表黑暗三联相关人格倾向更明显。',
thresholds: none,
},
hexaco: {
questionnaireVersion: 'hexaco-60-zh-v1',
scoreVersion: 'mindscope-hexaco-v1',
min: 1,
max: 5,
reverseItems: [],
direction: 'trait',
highScoreMeaning: '高分代表该人格维度更明显,不代表好坏。',
thresholds: none,
},
fisher: {
questionnaireVersion: 'fisher-temperament-zh-v1',
scoreVersion: 'mindscope-fisher-v1',
min: 0,
max: 40,
reverseItems: [],
direction: 'trait',
highScoreMeaning: '高分代表对应气质倾向更明显。',
thresholds: none,
},
schwartz: {
questionnaireVersion: 'schwartz-values-zh-v1',
scoreVersion: 'mindscope-schwartz-v1',
min: 1,
max: 5,
reverseItems: [],
direction: 'trait',
highScoreMeaning: '高分代表对应价值观优先级更高。',
thresholds: none,
},
via: {
questionnaireVersion: 'via-48-zh-v1',
scoreVersion: 'mindscope-via-v1',
min: 1,
max: 5,
reverseItems: [],
direction: 'trait',
highScoreMeaning: '高分代表对应性格优势更明显。',
thresholds: none,
},
oeps: {
questionnaireVersion: 'open-enneagram-zh-v1',
scoreVersion: 'mindscope-oeps-v1',
min: 0,
max: 100,
reverseItems: [],
direction: 'trait',
highScoreMeaning: '高分代表对应九型人格倾向更明显。',
thresholds: none,
},
crt: {
questionnaireVersion: 'crt-7-zh-v1',
scoreVersion: 'mindscope-crt-v1',
min: 0,
max: 7,
reverseItems: [],
direction: 'ability',
highScoreMeaning: '高分代表答对题数更多,分析性反思表现更好。',
thresholds: [{ min: 0, label: '较低' }, { min: 3, label: '中等' }, { min: 6, label: '较高' }],
},
riasec: {
questionnaireVersion: 'riasec-zh-v1',
scoreVersion: 'mindscope-riasec-v1',
min: 0,
max: 40,
reverseItems: [],
direction: 'trait',
highScoreMeaning: '高分代表对应职业兴趣类型更明显。',
thresholds: none,
},
'career-anchors': {
questionnaireVersion: 'career-anchors-zh-v1',
scoreVersion: 'mindscope-career-anchors-v1',
min: 1,
max: 6,
reverseItems: [],
direction: 'trait',
highScoreMeaning: '高分代表对应职业锚更重要。',
thresholds: none,
},
dass21: {
questionnaireVersion: 'dass-21-zh-v1',
scoreVersion: 'mindscope-dass21-v1',
min: 0,
max: 42,
reverseItems: [],
direction: 'risk',
highScoreMeaning: '高分代表抑郁、焦虑或压力相关困扰更明显。',
thresholds: [{ min: 0, label: '正常' }, { min: 10, label: '轻度' }, { min: 14, label: '中度' }, { min: 21, label: '重度' }, { min: 28, label: '极重度' }],
},
who5: {
questionnaireVersion: 'who-5-zh-v1',
scoreVersion: 'mindscope-who5-v1',
min: 0,
max: 100,
reverseItems: [],
direction: 'protective',
highScoreMeaning: '高分代表主观幸福感更高。',
thresholds: [{ min: 0, label: '需要关注' }, { min: 50, label: '一般或较好' }],
},
ocd: {
questionnaireVersion: 'ybocs-self-report-zh-v1',
scoreVersion: 'mindscope-ocd-v1',
min: 0,
max: 40,
reverseItems: [],
direction: 'risk',
highScoreMeaning: '高分代表强迫相关困扰更明显。',
thresholds: [{ min: 0, label: '亚临床' }, { min: 8, label: '轻度' }, { min: 16, label: '中度' }, { min: 24, label: '重度' }, { min: 32, label: '极重度' }],
},
scl90: {
questionnaireVersion: 'scl-90-zh-v1',
scoreVersion: 'mindscope-scl90-v1',
min: 90,
max: 450,
reverseItems: [],
direction: 'risk',
highScoreMeaning: '高分代表近期心理症状负担更高。',
thresholds: [{ min: 90, label: '较低' }, { min: 160, label: '需关注' }, { min: 200, label: '较高' }],
},
sds: {
questionnaireVersion: 'zung-sds-zh-v1',
scoreVersion: 'mindscope-sds-v1',
min: 25,
max: 100,
reverseItems: [2, 5, 6, 11, 12, 14, 16, 17, 18, 20],
direction: 'risk',
highScoreMeaning: '高分代表抑郁相关症状更明显。',
thresholds: [{ min: 0, label: '正常范围' }, { min: 53, label: '轻度' }, { min: 63, label: '中度' }, { min: 73, label: '重度' }],
},
gad7: {
questionnaireVersion: 'gad-7-zh-v1',
scoreVersion: 'mindscope-gad7-v1',
min: 0,
max: 21,
reverseItems: [],
direction: 'risk',
highScoreMeaning: '高分代表焦虑相关症状更明显。',
thresholds: [{ min: 0, label: '极轻或无' }, { min: 5, label: '轻度' }, { min: 10, label: '中度' }, { min: 15, label: '重度' }],
},
phq9: {
questionnaireVersion: 'phq-9-zh-v1',
scoreVersion: 'mindscope-phq9-v1',
min: 0,
max: 27,
reverseItems: [],
direction: 'risk',
highScoreMeaning: '高分代表抑郁相关症状更明显。',
thresholds: severityThresholds,
},
pss10: {
questionnaireVersion: 'pss-10-zh-v1',
scoreVersion: 'mindscope-pss10-v1',
min: 0,
max: 40,
reverseItems: [4, 5, 7, 8],
direction: 'risk',
highScoreMeaning: '高分代表主观压力更高。',
thresholds: [{ min: 0, label: '较低' }, { min: 14, label: '中等' }, { min: 27, label: '较高' }],
},
bdi2: {
questionnaireVersion: 'bdi-ii-zh-v1',
scoreVersion: 'mindscope-bdi2-v1',
min: 0,
max: 63,
reverseItems: [],
direction: 'risk',
highScoreMeaning: '高分代表抑郁相关症状更明显。',
thresholds: [{ min: 0, label: '极轻或无' }, { min: 14, label: '轻度' }, { min: 20, label: '中度' }, { min: 29, label: '重度' }],
},
isi: {
questionnaireVersion: 'isi-zh-v1',
scoreVersion: 'mindscope-isi-v1',
min: 0,
max: 28,
reverseItems: [],
direction: 'risk',
highScoreMeaning: '高分代表失眠困扰更明显。',
thresholds: [{ min: 0, label: '无明显失眠' }, { min: 8, label: '亚阈值' }, { min: 15, label: '中度' }, { min: 22, label: '重度' }],
},
adhd: {
questionnaireVersion: 'asrs-v1-1-zh-v1',
scoreVersion: 'mindscope-adhd-v1',
min: 0,
max: 72,
reverseItems: [],
direction: 'risk',
highScoreMeaning: '高分代表注意力、冲动或执行功能相关困扰更明显。',
thresholds: [{ min: 0, label: '较低' }, { min: 24, label: '需关注' }],
},
gd: {
questionnaireVersion: 'gaming-disorder-questionnaire-zh-v1',
scoreVersion: 'mindscope-gd-v1',
min: 0,
max: 36,
reverseItems: [],
direction: 'risk',
highScoreMeaning: '高分代表游戏相关困扰更明显。',
thresholds: [{ min: 0, label: '较低' }, { min: 20, label: '需关注' }],
},
npd: {
questionnaireVersion: 'npi-16-zh-v1',
scoreVersion: 'mindscope-npi16-v1',
min: 0,
max: 16,
reverseItems: [],
direction: 'trait',
highScoreMeaning: '高分代表自恋相关人格倾向更明显。',
thresholds: none,
},
};
export function getScoringMetadata(questionnaireId: string) {
return scoringMetadata[questionnaireId];
}