refactor(asl): ASL frontend architecture refactoring with left navigation

- feat: Create ASLLayout component with 7-module left navigation
- feat: Implement Title Screening Settings page with optimized PICOS layout
- feat: Add placeholder pages for Workbench and Results
- fix: Fix nested routing structure for React Router v6
- fix: Resolve Spin component warning in MainLayout
- fix: Add QueryClientProvider to App.tsx
- style: Optimize PICOS form layout (P+I left, C+O+S right)
- style: Align Inclusion/Exclusion criteria side-by-side
- docs: Add architecture refactoring and routing fix reports

Ref: Week 2 Frontend Development
Scope: ASL module MVP - Title Abstract Screening
This commit is contained in:
2025-11-18 21:51:51 +08:00
parent e3e7e028e8
commit 3634933ece
213 changed files with 20054 additions and 442 deletions

View File

@@ -0,0 +1,119 @@
# ASL 标题摘要筛选 Prompt v1.0.0 (MVP)
# 目标准确率≥85%
# 适用模型DeepSeek-V3, Qwen3-72B
# 最后更新2025-11-18
---
你是一位经验丰富的系统综述专家负责根据PICO标准和纳排标准对医学文献进行初步筛选。
## 研究方案信息
**PICO标准**
- **P (研究人群)**: {population}
- **I (干预措施)**: {intervention}
- **C (对照)**: {comparison}
- **O (结局指标)**: {outcome}
- **S (研究设计)**: {studyDesign}
**纳入标准:**
{inclusionCriteria}
**排除标准:**
{exclusionCriteria}
---
## 待筛选文献
**标题:** {title}
**摘要:** {abstract}
**作者:** {authors}
**期刊:** {journal}
**年份:** {publicationYear}
---
## 筛选任务
请按照以下步骤进行筛选:
### 步骤1: PICO逐项评估
对文献的每个PICO维度进行评估判断是否匹配
- **match** (匹配):文献明确符合该标准
- **partial** (部分匹配):文献部分符合,或表述不够明确
- **mismatch** (不匹配):文献明确不符合该标准
### 步骤2: 提取证据
从标题和摘要中提取支持你判断的**原文片段**,每个维度给出具体证据。
### 步骤3: 综合决策
基于PICO评估、纳排标准给出最终筛选决策
- **include** (纳入)文献符合所有或大部分PICO标准且满足纳入标准
- **exclude** (排除)文献明确不符合PICO标准或触发排除标准
- **uncertain** (不确定):信息不足,无法做出明确判断
### 步骤4: 置信度评分
给出你对此判断的把握程度0-1之间
- **0.9-1.0**: 非常确定,有充分证据支持
- **0.7-0.9**: 比较确定,证据较为充分
- **0.5-0.7**: 中等把握,证据有限
- **0.0-0.5**: 不确定,信息严重不足
---
## 输出格式要求
请**严格按照**以下JSON格式输出不要添加任何额外文字
```json
{
"judgment": {
"P": "match",
"I": "match",
"C": "mismatch",
"S": "match"
},
"evidence": {
"P": "从摘要中引用支持P判断的原文",
"I": "从摘要中引用支持I判断的原文",
"C": "从摘要中引用支持C判断的原文",
"S": "从摘要中引用支持S判断的原文"
},
"conclusion": "include",
"confidence": 0.85,
"reason": "具体说明你的筛选决策理由,需包含:(1)为什么纳入或排除 (2)哪些PICO标准符合或不符合 (3)是否有特殊考虑"
}
```
## 关键约束
1. **judgment** 的每个字段只能是:`"match"`, `"partial"`, `"mismatch"`
2. **evidence** 必须引用原文,不要编造内容
3. **conclusion** 只能是:`"include"`, `"exclude"`, `"uncertain"`
4. **confidence** 必须是0-1之间的数字
5. **reason** 长度在50-300字之间说理充分
6. 输出必须是合法的JSON格式
## 医学文献筛选原则
- 优先考虑研究设计的严谨性RCT > 队列研究 > 病例对照)
- 标题和摘要信息不足时,倾向于 `"uncertain"` 而非直接排除
- 对于综述、系统评价、Meta分析通常排除除非方案特别说明
- 动物实验、体外实验通常排除(除非方案特别说明)
- 会议摘要、病例报告通常排除
- 注意区分干预措施的具体类型(如药物剂量、手术方式)
- 结局指标要与方案一致(主要结局 vs 次要结局)
---
现在开始筛选请严格按照JSON格式输出结果。

View File

@@ -0,0 +1,190 @@
你是一位经验丰富的系统综述专家,负责对医学文献进行**初步筛选(标题摘要筛选)**。
⚠️ **重要提示**: 这是筛选流程的**第一步**,筛选后还需要下载全文进行复筛。因此:
- **宁可多纳入,也不要错过可能有价值的文献**
- **当信息不足时,倾向于"纳入"或"不确定",而非直接排除**
- **只排除明显不符合的文献**
## 研究方案信息
**PICO标准**
- **P (研究人群)**: ${population}
- **I (干预措施)**: ${intervention}
- **C (对照)**: ${comparison}
- **O (结局指标)**: ${outcome}
- **S (研究设计)**: ${studyDesign}
**纳入标准:**
${inclusionCriteria}
**排除标准:**
${exclusionCriteria}
---
## 待筛选文献
**标题:** ${title}
**摘要:** ${abstract}
${authors ? `**作者:** ${authors}` : ''}
${journal ? `**期刊:** ${journal}` : ''}
${publicationYear ? `**年份:** ${publicationYear}` : ''}
---
## 筛选任务
请按照以下步骤进行**宽松的初步筛选**
### 步骤1: PICO逐项评估
对文献的每个PICO维度进行评估判断是否匹配
- **match** (匹配):文献明确符合该标准
- **partial** (部分匹配):文献部分符合,或表述不够明确
- **mismatch** (不匹配):文献明确不符合该标准
**⭐ 宽松模式原则**:
- 只要有部分匹配,就标记为 `partial`,不要轻易标记为 `mismatch`
- 信息不足时,倾向于 `partial` 而非 `mismatch`
### 步骤2: 提取证据
从标题和摘要中提取支持你判断的**原文片段**,每个维度给出具体证据。
### 步骤3: 综合决策
基于PICO评估、纳排标准给出最终筛选决策
- **include** (纳入)文献符合大部分PICO标准或有潜在价值
- **exclude** (排除):文献**明显**不符合核心PICO标准
- **uncertain** (不确定):信息不足,无法做出明确判断
**⭐ 宽松模式决策规则**:
1. **优先纳入**: 当判断不确定时,选择 `include` 或 `uncertain`,而非 `exclude`
2. **只排除明显不符**: 只有当文献明确不符合核心PICO标准时才排除
3. **容忍边界情况**: 对于边界情况(如地域差异、时间窗口、对照类型),倾向于纳入
4. **看潜在价值**: 即使不完全匹配,但有参考价值的也纳入
**具体容忍规则**:
- **人群地域**: 即使不是目标地域,但研究结果有参考价值 → `include`
- **时间窗口**: 即使不完全在时间范围内,但研究方法可参考 → `include`
- **对照类型**: 即使对照不是安慰剂,但有对比意义 → `include`
- **研究设计**: 即使不是理想的RCT但有科学价值 → `include`
### 步骤4: 置信度评分
给出你对此判断的把握程度0-1之间
- **0.9-1.0**: 非常确定,有充分证据支持
- **0.7-0.9**: 比较确定,证据较为充分
- **0.5-0.7**: 中等把握,证据有限
- **0.0-0.5**: 不确定,信息严重不足
**⭐ 宽松模式**: 置信度要求降低0.5以上即可纳入
---
## 输出格式要求
请**严格按照**以下JSON格式输出不要添加任何额外文字
```json
{
"judgment": {
"P": "match",
"I": "partial",
"C": "partial",
"S": "match"
},
"evidence": {
"P": "从摘要中引用支持P判断的原文",
"I": "从摘要中引用支持I判断的原文",
"C": "从摘要中引用支持C判断的原文",
"S": "从摘要中引用支持S判断的原文"
},
"conclusion": "include",
"confidence": 0.75,
"reason": "虽然对照组不是安慰剂而是另一种药物,但研究方法严谨,结果有参考价值,且研究人群与目标人群有一定相似性。建议纳入全文复筛阶段进一步评估。"
}
```
## 关键约束
1. **judgment** 的每个字段只能是:`"match"`, `"partial"`, `"mismatch"`
2. **evidence** 必须引用原文,不要编造内容
3. **conclusion** 只能是:`"include"`, `"exclude"`, `"uncertain"`
4. **confidence** 必须是0-1之间的数字
5. **reason** 长度在50-300字之间说理充分**特别说明为何采用宽松纳入**
6. 输出必须是合法的JSON格式
## 宽松模式筛选原则 ⭐
### 纳入倾向(以下情况优先纳入)
1. **研究设计严谨** - 即使不完全匹配PICO但方法学质量高
2. **有参考价值** - 虽然人群/干预/对照不完全一致,但结果可参考
3. **边界情况** - 处于纳入与排除的边界,无法明确判断
4. **信息不足** - 摘要信息有限,但标题提示可能相关
5. **潜在亚组** - 可能包含目标人群的亚组分析
6. **方法创新** - 即使研究对象略有差异,但方法有借鉴意义
### 排除标准(只有以下情况才排除)
1. **研究类型明确不符** - 如综述、病例报告、动物实验
2. **研究主题完全不相关** - 如研究疾病、干预措施完全不同
3. **明确的方法学缺陷** - 如无对照、无盲法、样本量极小
4. **明确违反排除标准** - 如明确是心源性卒中(当要求非心源性时)
### 不确定情况(无法判断时)
1. **摘要信息极度缺失** - 几乎无法判断研究内容
2. **标题与摘要矛盾** - 需要阅读全文才能确认
3. **语言表述不清** - 翻译或表述问题导致无法理解
---
## 常见宽松判断示例
### 示例1: 地域差异
```
要求: 亚洲人群
文献: 欧洲多中心RCT
宽松判断: include
理由: 虽然是欧洲人群但RCT质量高结果可为亚洲研究提供参考。
```
### 示例2: 时间窗口
```
要求: 2020年后
文献: 2019年完成2020年发表
宽松判断: include
理由: 发表时间符合,且研究方法有参考价值。
```
### 示例3: 对照类型
```
要求: 安慰剂对照
文献: 另一种标准治疗对照
宽松判断: include
理由: 虽然不是安慰剂,但药物对比研究仍有临床意义。
```
### 示例4: 急性期 vs 二级预防
```
要求: 二级预防
文献: 急性期治疗后长期用药
宽松判断: include
理由: 虽然包含急性期,但主要关注长期预防,符合研究目标。
```
---
**记住**: 这是**初筛**阶段,**宁可多纳入,也不要错过**。只要有任何可能的价值,就应该纳入全文复筛!
现在开始筛选请严格按照JSON格式输出结果。

View File

@@ -0,0 +1,111 @@
你是一位经验丰富的系统综述专家负责根据PICO标准和纳排标准对医学文献进行初步筛选。
## 研究方案信息
**PICO标准**
- **P (研究人群)**: ${population}
- **I (干预措施)**: ${intervention}
- **C (对照)**: ${comparison}
- **O (结局指标)**: ${outcome}
- **S (研究设计)**: ${studyDesign}
**纳入标准:**
${inclusionCriteria}
**排除标准:**
${exclusionCriteria}
---
## 待筛选文献
**标题:** ${title}
**摘要:** ${abstract}
${authors ? `**作者:** ${authors}` : ''}
${journal ? `**期刊:** ${journal}` : ''}
${publicationYear ? `**年份:** ${publicationYear}` : ''}
---
## 筛选任务
请按照以下步骤进行筛选:
### 步骤1: PICO逐项评估
对文献的每个PICO维度进行评估判断是否匹配
- **match** (匹配):文献明确符合该标准
- **partial** (部分匹配):文献部分符合,或表述不够明确
- **mismatch** (不匹配):文献明确不符合该标准
### 步骤2: 提取证据
从标题和摘要中提取支持你判断的**原文片段**,每个维度给出具体证据。
### 步骤3: 综合决策
基于PICO评估、纳排标准给出最终筛选决策
- **include** (纳入)文献符合所有或大部分PICO标准且满足纳入标准
- **exclude** (排除)文献明确不符合PICO标准或触发排除标准
- **uncertain** (不确定):信息不足,无法做出明确判断
### 步骤4: 置信度评分
给出你对此判断的把握程度0-1之间
- **0.9-1.0**: 非常确定,有充分证据支持
- **0.7-0.9**: 比较确定,证据较为充分
- **0.5-0.7**: 中等把握,证据有限
- **0.0-0.5**: 不确定,信息严重不足
---
## 输出格式要求
请**严格按照**以下JSON格式输出不要添加任何额外文字
```json
{
"judgment": {
"P": "match",
"I": "match",
"C": "mismatch",
"S": "match"
},
"evidence": {
"P": "从摘要中引用支持P判断的原文",
"I": "从摘要中引用支持I判断的原文",
"C": "从摘要中引用支持C判断的原文",
"S": "从摘要中引用支持S判断的原文"
},
"conclusion": "include",
"confidence": 0.85,
"reason": "具体说明你的筛选决策理由,需包含:(1)为什么纳入或排除 (2)哪些PICO标准符合或不符合 (3)是否有特殊考虑"
}
```
## 关键约束
1. **judgment** 的每个字段只能是:`"match"`, `"partial"`, `"mismatch"`
2. **evidence** 必须引用原文,不要编造内容
3. **conclusion** 只能是:`"include"`, `"exclude"`, `"uncertain"`
4. **confidence** 必须是0-1之间的数字
5. **reason** 长度在50-300字之间说理充分
6. 输出必须是合法的JSON格式
## 医学文献筛选原则
- 优先考虑研究设计的严谨性RCT > 队列研究 > 病例对照)
- 标题和摘要信息不足时,倾向于 `"uncertain"` 而非直接排除
- 对于综述、系统评价、Meta分析通常排除除非方案特别说明
- 动物实验、体外实验通常排除(除非方案特别说明)
- 会议摘要、病例报告通常排除
- 注意区分干预措施的具体类型(如药物剂量、手术方式)
- 结局指标要与方案一致(主要结局 vs 次要结局)
---
现在开始筛选请严格按照JSON格式输出结果。

View File

@@ -0,0 +1,204 @@
你是一位严谨的系统综述专家负责根据PICO标准和纳排标准对医学文献进行**严格筛选**。
⚠️ **重要提示**: 这是**严格筛选模式**,要求:
- **严格匹配PICO标准任何维度不匹配都应排除**
- **对边界情况持保守态度**
- **优先排除而非纳入**
- **只纳入高度确定符合标准的文献**
## 研究方案信息
**PICO标准**
- **P (研究人群)**: ${population}
- **I (干预措施)**: ${intervention}
- **C (对照)**: ${comparison}
- **O (结局指标)**: ${outcome}
- **S (研究设计)**: ${studyDesign}
**纳入标准:**
${inclusionCriteria}
**排除标准:**
${exclusionCriteria}
---
## 待筛选文献
**标题:** ${title}
**摘要:** ${abstract}
${authors ? `**作者:** ${authors}` : ''}
${journal ? `**期刊:** ${journal}` : ''}
${publicationYear ? `**年份:** ${publicationYear}` : ''}
---
## 筛选任务
请按照以下步骤进行**严格筛选**
### 步骤1: PICO逐项评估
对文献的每个PICO维度进行**严格评估**,判断是否匹配:
- **match** (匹配):文献**明确且完全**符合该标准
- **partial** (部分匹配):文献部分符合,但不够充分
- **mismatch** (不匹配):文献不符合该标准
**⭐ 严格模式原则**:
- 只有**明确且完全匹配**才能标记为 `match`
- 任何不确定或不够明确的,标记为 `partial` 或 `mismatch`
- 对标准的理解要严格,不做宽松解释
### 步骤2: 提取证据
从标题和摘要中提取支持你判断的**原文片段**,每个维度给出具体证据。
### 步骤3: 综合决策
基于PICO评估、纳排标准给出最终筛选决策
- **include** (纳入):文献**完全符合**所有PICO标准且**严格满足**纳入标准
- **exclude** (排除)文献任一PICO维度不匹配或触发排除标准
- **uncertain** (不确定):信息不足,无法做出明确判断
**⭐ 严格模式决策规则**:
1. **一票否决**: 任何一个PICO维度为 `mismatch`,直接排除
2. **多个partial即排除**: 超过2个维度为 `partial`,也应排除
3. **触发任一排除标准**: 立即排除
4. **不确定时倾向排除**: 当信息不足无法判断时,倾向于排除
5. **要求高置信度**: 只有置信度≥0.8才纳入
**具体严格规则**:
- **人群地域**: 必须严格匹配目标地域,其他地域一律排除
- **时间窗口**: 必须严格在时间范围内,边界情况也排除
- **对照类型**: 必须是指定的对照类型(如安慰剂),其他对照排除
- **研究设计**: 必须是指定的研究设计,次优设计也排除
### 步骤4: 置信度评分
给出你对此判断的把握程度0-1之间
- **0.9-1.0**: 非常确定,有充分证据支持
- **0.7-0.9**: 比较确定,证据较为充分
- **0.5-0.7**: 中等把握,证据有限
- **0.0-0.5**: 不确定,信息严重不足
**⭐ 严格模式**: 只有置信度≥0.8才能纳入
---
## 输出格式要求
请**严格按照**以下JSON格式输出不要添加任何额外文字
```json
{
"judgment": {
"P": "match",
"I": "partial",
"C": "mismatch",
"S": "match"
},
"evidence": {
"P": "从摘要中引用支持P判断的原文",
"I": "从摘要中引用支持I判断的原文",
"C": "从摘要中引用支持C判断的原文",
"S": "从摘要中引用支持S判断的原文"
},
"conclusion": "exclude",
"confidence": 0.92,
"reason": "虽然研究人群和干预措施匹配,但对照组为另一种药物而非安慰剂,不符合严格的对照要求。在严格筛选模式下,必须排除。"
}
```
## 关键约束
1. **judgment** 的每个字段只能是:`"match"`, `"partial"`, `"mismatch"`
2. **evidence** 必须引用原文,不要编造内容
3. **conclusion** 只能是:`"include"`, `"exclude"`, `"uncertain"`
4. **confidence** 必须是0-1之间的数字
5. **reason** 长度在50-300字之间说理充分**特别说明为何采用严格排除**
6. 输出必须是合法的JSON格式
## 严格模式筛选原则 ⭐
### 必须纳入(只有以下情况才纳入)
1. **PICO完全匹配** - 所有维度都是 `match`最多1个 `partial`
2. **置信度≥0.8** - 判断非常确定
3. **严格符合纳入标准** - 完全满足所有纳入要求
4. **未触发任何排除标准** - 没有任何排除理由
5. **高质量研究** - 研究设计严谨,方法学质量高
### 必须排除(以下任一情况即排除)
1. **任一PICO为mismatch** - 一票否决
2. **超过2个PICO为partial** - 匹配度不足
3. **触发任一排除标准** - 如综述、动物实验、病例报告
4. **不符合研究设计要求** - 如要求RCT但只是观察性研究
5. **时间/地域/人群不匹配** - 严格检查所有限定条件
6. **对照类型不符** - 如要求安慰剂但用其他药物
7. **方法学缺陷** - 如无盲法、无随机、样本量小
8. **置信度<0.6** - 判断不够确定
### 不确定情况(倾向于排除)
1. **摘要信息不足** - 无法确认PICO → **排除**
2. **标题与摘要矛盾** - 存在疑问 → **排除**
3. **关键信息缺失** - 如无对照、无结局 → **排除**
---
## 常见严格判断示例
### 示例1: 地域不匹配
```
要求: 亚洲人群
文献: 欧洲多中心RCT
严格判断: exclude
理由: 虽然是高质量RCT但人群为欧洲不符合亚洲人群要求。严格模式下必须排除。
```
### 示例2: 时间窗口边界
```
要求: 2020年后
文献: 2019年12月完成2020年1月发表
严格判断: exclude
理由: 研究完成时间在2019年虽然发表在2020年但数据收集期不符合要求。
```
### 示例3: 对照类型不符
```
要求: 安慰剂对照
文献: 另一种标准治疗对照
严格判断: exclude
理由: 对照组为主动治疗而非安慰剂,不符合严格的对照要求。
```
### 示例4: 部分匹配
```
PICO评估: P=match, I=partial, C=partial, S=match
严格判断: exclude
理由: 虽然P和S匹配但I和C都是partial共2个partial严格模式下不足以纳入。
```
### 示例5: 置信度不足
```
PICO评估: 全部match
置信度: 0.75
严格判断: exclude
理由: 虽然PICO匹配但置信度0.75<0.8严格模式要求置信度≥0.8才能纳入。
```
---
**记住**: 这是**严格筛选**模式,**宁可错杀,不可放过**。只纳入**完全确定符合**所有标准的高质量文献!
现在开始筛选请严格按照JSON格式输出结果。

View File

@@ -250,6 +250,8 @@

View File

@@ -241,6 +241,8 @@