Skill: kevinget-svg/medical-scale-research (version 1.0.0)

--- name: medical-scale-research description: 医学量表信息检索与标准化报告生成。通过浏览器自动化检索量表背景、版权、CDISC 映射、统计方法等信息，生成飞书云文档并保存到量表知识库。 --- # 医学量表 Skill - medical-scale-research ## PURPOSE 通过浏览器自动化检索医学量表的完整信息（背景、版权、CDISC 映射、统计方法等），生成标准化的飞书云文档，并保存到量表知识库。支持版本追踪和增量更新。 ## WHEN TO USE ### TRIGGERS - "检索 [量表名] 量表的信息" - "整理 [量表名] 量表的报告" - "查询 [量表名] 的 CDISC domain" - "更新 [量表名] 量表的版本信息" - "[量表名] 量表的统计分析方法是什么" ### DO NOT USE WHEN - 需要访问付费墙后的完整文献（只能获取摘要） - 量表信息完全不存在于公开网络 - 用户需要即时版权授权（需联系版权方） ## INPUTS ### REQUIRED - 量表名称（中文或英文，如 "SGRQ" / "圣乔治呼吸问卷"） ### OPTIONAL - 指定版本（如 "最新版本" 或 "v2.0"） - 指定检索重点（如 "重点检索 CDISC 映射"） - 更新模式（如 "增量更新已有文档"） ### EXAMPLES - "检索 SGRQ 量表的信息" - "整理 EORTC QLQ-C30 量表的完整报告" - "查询 PHQ-9 量表的 CDISC domain 和统计方法" - "更新 EASI 量表的版本历史" ## OUTPUTS ### 默认输出 - 飞书云文档链接（标准化报告） - 知识库归档确认 ### 文档结构 ```markdown # [量表名称] 标准化研究报告 ## 一、量表简介 ### 1.1 背景及发展历程 ### 1.2 应用领域 ### 1.3 量表内容 ### 1.4 版本历史（最新 + 更新摘要） ### 1.5 官方量表全文 ⚠️（必须有 PDF 链接或截图） ## 二、版权与授权信息 ### 2.1 版权方信息 ### 2.2 中文版信息 ## 三、CDISC 编程 ### 3.1 标准 aCRF 与受控术语（自动推荐 Domain） ### 3.2 SDTM 实现 ### 3.3 ADaM 实现 ## 四、统计分析 ### 4.1 数据类型与分布特征 ### 4.2 缺失值处理（条目级 + 访视级） ### 4.3 常规分析模型（含 SAS/R 程序） ### 4.4 探索性分析 ### 4.5 结果呈现（Table/Figure 模板） ## 五、参考文献 ``` ### 1.5 官方量表全文章节模板 ```markdown ### 1.5 官方量表全文 **获取状态**：✅ 已下载 PDF / ✅ 已截图 **PDF 下载**： - 下载链接：[量表名称 Official PDF](URL) - 本地路径：`/Users/wangyafei/Downloads/scales/[量表名]_official.pdf` - 文件大小：XX KB **量表条目预览**： （如为截图，此处插入图片） | 部分 | 条目示例 | 评分方式 | |------|---------|---------| | ... | ... | ... | > **注意**：完整量表请下载上方 PDF 文件。量表版权归 [版权方] 所有，仅限学术研究使用。 ``` ## WORKFLOW ### 1. 解析量表名称 - 提取关键词（中英文全称、缩写） - 识别同义词（如 "SGRQ" = "圣乔治呼吸问卷" = "St George's Respiratory Questionnaire"） ### 2. 并行检索 7 个维度 + 量表全文获取 使用 `browser` 工具打开多个 Tab 并行检索： | 维度 | 数据源 | 检索策略 | |------|--------|---------| | 背景信息 | PubMed, Google Scholar, 量表官网 | `"[量表名] development validation history"` | | **官方量表全文** | 官网 PDF 下载链接 | `"[量表名] official instrument PDF download"` | | 版本历史 | 官网，GitHub, 修订记录 | `"[量表名] version history revision changelog"` | | 版权信息 | Mapi Research Trust, 版权方官网 | `"[量表名] copyright license permission"` | | 中文版信息 | CNKI, 万方，中文论文 | `"[量表名] 中文版 信效度 验证"` | | CDISC 映射 | CDISC 官网，TAUGs, SDTMIG | `"[量表名/概念] CDISC SDTM ADaM domain"` | | 统计方法 | 高引文献，系统评价 | `"[量表名] scoring algorithm missing data analysis"` | ### 2.1 ⚠️ 量表全文获取（强制要求） **必须完成以下任一操作，否则停止执行并告知用户**： #### 选项 A：下载官方 PDF（优先） ``` 1. 在官网/权威来源查找 PDF 下载链接 2. 使用 exec 下载：curl -L -o "/Users/wangyafei/Downloads/scales/[量表名]_official.pdf" "[PDF_URL]" 3. 验证文件：ls -lh 确认文件存在且>1KB 4. 在文档 1.4 章节后插入"官方量表全文"章节，包含： - PDF 下载链接（可点击） - 本地保存路径 - 文件大小 - 版权说明 ``` #### 选项 B：屏幕截图（无法下载时） ``` 1. 打开量表官方页面（browser.open） 2. 使用 browser.snapshot 捕获页面（aria refs） 3. 如页面较长 → 滚动分多次截图（至少覆盖完整量表条目） 4. 使用 feishu_doc.upload_image 上传图片到飞书云盘 5. 在文档 1.4 章节后插入"官方量表全文"章节，包含： - 量表条目截图（至少 1 张） - 来源网址链接 - 版权说明 ``` #### ❌ 无法获取时的处理 ``` 如无法找到 PDF 且无法截图： 1. 停止执行 2. 告知用户："未找到 [量表名] 的官方量表全文（PDF 或截图）" 3. 提供版权方联系方式 4. 询问用户是否继续生成报告（不含量表全文） ``` ### 2.2 量表全文检索策略 **检索关键词**（按顺序尝试）： ``` 1. "[量表名] official PDF download" 2. "[量表名] full instrument PDF" 3. "[量表名] questionnaire PDF" 4. "[量表名] 官网" → 查找下载链接 5. "[量表名] Mapi Research Trust" → 版权方官网 ``` **权威来源优先级**： ``` 1. 量表官方网站（.edu/.org 域名） 2. 版权方官网（如 Mapi Research Trust） 3. 原作者机构网站 4. 指南/共识文件（如 EPOS2020） 5. 学术论文补充材料（Supplementary Materials） ``` ### 3. 信息提取与结构化 - 使用 `web_fetch` 提取页面内容 - 过滤噪声，提取关键字段 - 验证信息一致性（多源交叉验证） ### 4. CDISC 自动推荐 基于规则引擎推荐 Domain： ```json { "生活质量/HRQoL": {"sdtm": "QS", "adam": "ADQS"}, "症状评估": {"sdtm": "QS", "adam": "ADQS"}, "病史": {"sdtm": "MH", "adam": "ADMH"}, "合并用药": {"sdtm": "CM", "adam": "ADCM"}, "不良事件": {"sdtm": "AE", "adam": "ADAE"}, "生命体征": {"sdtm": "VS", "adam": "ADVS"}, "实验室检查": {"sdtm": "LB", "adam": "ADLB"} } ``` ### 5. 生成飞书文档（重要！） **⚠️ 内容长度限制**：飞书 API 对单次写入内容长度有限制（约 5KB） **推荐方法**： ``` IF 内容 > 5KB: 1. 先 create 创建空文档 2. 将内容按章节分割（每段<4KB） 3. 使用 insert 操作逐段插入（after_block_id） 4. 每插入一段后获取新的 block_id ELSE: 直接使用 write 操作一次性写入 ``` **操作步骤**： 1. **创建文档**：`feishu_doc create` → 获取 doc_token 2. **写入第一章**：`feishu_doc write` → 写入完整第一章 3. **获取最后 block_id**：`feishu_doc list_blocks` → 获取最后一个 block_id 4. **插入后续章节**：`feishu_doc insert` + after_block_id → 逐章插入 5. **验证内容**：`feishu_doc read` → 确认内容完整 **内容分割策略**： ``` 章节 1：一、量表简介（约 3KB） 章节 2：二、版权与授权信息（约 2KB） 章节 3：三、CDISC 编程（约 3KB） 章节 4：四、统计分析（约 4KB） 章节 5：五、参考文献 + 附录（约 2KB） ``` ### 6. 保存到知识库 - 使用 `feishu_wiki` 创建/更新节点 - 按疾病领域/量表类型分类 - 记录版本历史 ### 7. 增量更新（可选） - 对比新旧版本 - 高亮变更内容 - 更新版本历史 ## SAFETY & EDGE CASES - **版权信息**：明确标注信息来源，不提供法律建议 - **版本准确性**：优先使用最新版本，标注检索日期 - **CDISC 推荐**：标注为"推荐"，需人工确认 - **付费内容**：只能获取摘要，标注"需订阅" - **多版本并存**：明确标注各版本差异 - **信息冲突**：多源交叉验证，标注不确定性 - **⚠️ 飞书文档长度限制**： - 单次写入内容 < 5KB - 长文档需分章节插入 - 使用 insert + after_block_id 逐段写入 - **⚠️ 量表全文获取（强制）**： - 必须下载 PDF 或截图，否则停止执行 - PDF 文件需验证存在且>1KB - 截图需覆盖完整量表条目 ## STOP AND ASK THE USER IF - 量表名称模糊/有多个同名量表 - 版权信息无法确认（需用户核实） - CDISC 推荐置信度低（需人工判断） - 检索结果为空（需调整策略） - 知识库权限不足（需用户授权） - **⚠️ 无法获取量表全文（PDF/截图）**： - 停止执行并告知用户 - 提供已尝试的检索来源 - 提供版权方联系方式 - 询问是否继续生成报告（不含量表全文） ## EXAMPLES ### Example 1: 首次检索 **Input**: "检索 SGRQ 量表的信息" **Process**: 1. 解析 → SGRQ = St George's Respiratory Questionnaire = 圣乔治呼吸问卷 2. 并行检索 7 个维度 3. 提取结构化数据 4. CDISC 推荐 → QS (生活质量) 5. 生成飞书文档 6. 保存到知识库 **Output**: ``` ✅ 已完成 SGRQ 量表信息检索 📄 文档链接：https://xxx.feishu.cn/docx/xxxxx 📚 已归档至：医学量表库 > 呼吸系统 > SGRQ 检索维度： ✓ 背景信息（5 篇文献） ✓ 官方量表（✅ 已下载 PDF - 7.0KB） ✓ 版本历史（v2.1 最新版，2023 更新） ✓ 版权信息（Mapi Research Trust） ✓ 中文版（3 篇验证文献） ✓ CDISC 映射（QS/ADQS 推荐） ✓ 统计方法（4 种模型） 📎 量表全文： - PDF 路径：/Users/wangyafei/Downloads/scales/SGRQ_official.pdf - 下载链接：[SGRQ Official PDF](https://xxx.xxx.ac.uk/xxx.pdf) ``` ### Example 2: 增量更新 **Input**: "更新 EASI 量表的版本信息" **Process**: 1. 读取已有文档 2. 检索最新版本信息 3. 对比变更内容 4. 更新版本历史章节 5. 标注变更日期 **Output**: ``` ✅ 已更新 EASI 量表版本信息 📝 新增内容： - v2024 版本（2024-01 发布） - 儿童权重系数调整 - 新增深色皮肤红斑评估指南 📄 更新链接：https://xxx.feishu.cn/docx/xxxxx ``` ## FILES - `templates/scale-report.md` - 文档模板 - `rules/cdisc-mapping.json` - CDISC 推荐规则 - `examples/SGRQ-example.md` - 示例输出 ## RELATED SKILLS - `lark-doc` - 飞书文档操作 - `lark-wiki` - 飞书知识库管理 - `agent-browser` - 浏览器自动化

path: README.md
content: # 医学量表检索技能 (medical-scale-research)

[![OpenClaw Skill](https://img.shields.io/badge/OpenClaw-Skill-blue)](https://openclaw.ai)
[![ClawHub](https://img.shields.io/badge/ClawHub-Published-green)](https://clawhub.ai)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![GitHub stars](https://img.shields.io/github/stars/kevinget-svg/medical-scale-research?style=social)](https://github.com/kevinget-svg/medical-scale-research)

> 🤖 自动检索医学量表信息，生成标准化研究报告的 AI 助手

---

## 📖 简介

**医学量表检索技能**是一个专为临床研究人员、生物统计师和医药行业从业者设计的 OpenClaw 技能。它能够自动检索医学量表的完整信息（背景、版权、CDISC 映射、统计方法等），下载量表官方 PDF 或截图，并生成标准化的飞书云文档报告。

### 🎯 适用人群
- 🏥 临床研究人员
- 📊 生物统计师
- 💊 医药企业研发人员
- 🎓 医学研究生
- 📚 系统评价/Meta 分析研究者

---

## ✨ 核心功能

| 功能 | 说明 |
|------|------|
| 🔍 **7 维度并行检索** | 背景信息、版本历史、版权信息、中文版、CDISC 映射、统计方法、量表全文 |
| 📄 **量表全文获取** | 自动下载官方 PDF 或屏幕截图，强制要求，确保完整性 |
| 🎯 **CDISC 自动推荐** | 基于规则引擎自动推荐 SDTM/ADaM Domain（High 置信度） |
| 📊 **标准化报告** | 生成 5 章结构报告（量表简介/版权/CDISC/统计/参考文献） |
| 💾 **飞书集成** | 自动创建飞书云文档，支持知识库归档 |
| 📝 **代码示例** | 含完整 SAS/R 代码（缺失处理、MMRM、应答率分析等） |

---

## 🚀 快速开始

### 前置要求

- ✅ OpenClaw 运行环境
- ✅ 飞书 API 权限（用于文档生成）
- ✅ 浏览器自动化权限（用于信息检索）

### 安装方式

#### 方式 1：通过 ClawHub 安装（推荐）
```bash
openclaw skill install medical-scale-research
```

#### 方式 2：手动安装
```bash
# 1. 克隆或下载本仓库
git clone https://github.com/kevinget-svg/medical-scale-research.git

# 2. 复制到 OpenClaw 技能目录
cp -r medical-scale-research ~/.openclaw/workspace/skills/

# 3. 验证安装
openclaw skill list | grep medical-scale
```

### 使用示例

在 OpenClaw 对话中输入以下指令：

```
# 基础检索
"检索 SGRQ 量表的信息"
"整理 TNSS 量表的完整报告"

# 查询特定信息
"查询 PASI量表的 CDISC domain"
"PASI量表的统计分析方法是什么"

# 更新已有报告
"更新 EASI量表的版本信息"
```

### 输出示例

**技能会生成如下报告**：

```
✅ 已完成 SGRQ 量表信息检索

📄 文档链接：https://xxx.feishu.cn/docx/xxxxx
📚 已归档至：医学量表库 > 呼吸系统 > SGRQ

检索维度：
✓ 背景信息（5 篇文献）
✓ 官方量表（✅ 已下载 PDF - 7.0KB）
✓ 版本历史（v2.1 最新版，2023 更新）
✓ 版权信息（Mapi Research Trust）
✓ 中文版（3 篇验证文献）
✓ CDISC 映射（QS/ADQS 推荐）
✓ 统计方法（4 种模型）

📎 量表全文：
- PDF 路径：/Users/wangyafei/Downloads/scales/SGRQ_official.pdf
- 下载链接：[SGRQ Official PDF](https://xxx.xxx.ac.uk/xxx.pdf)
```

---

## 📋 报告结构

生成的标准化报告包含以下章节：

```
一、量表简介
  ├─ 1.1 背景及发展历程
  ├─ 1.2 版本历史
  ├─ 1.3 应用领域
  ├─ 1.4 量表内容
  └─ 1.5 官方量表全文 ⚠️（PDF 链接或截图）

二、版权与授权信息
  ├─ 2.1 版权方信息
  └─ 2.2 中文版信息

三、CDISC 编程
  ├─ 3.1 标准 aCRF 与受控术语
  ├─ 3.2 SDTM 实现
  └─ 3.3 ADaM 实现

四、统计分析
  ├─ 4.1 数据类型与分布特征
  ├─ 4.2 缺失值处理（含 SAS/R 代码）
  ├─ 4.3 常规分析模型
  ├─ 4.4 探索性分析
  └─ 4.5 结果呈现（Table/Figure 模板）

五、参考文献

附录
  ├─ A. 检索策略记录
  └─ B. 量表全文获取记录
```

---

## 📦 发布指南

### 发布到 ClawHub（手动）

目前 ClawHub 不支持 CLI 直接发布，需要手动操作：

1. **访问 ClawHub 官网**
   - 打开 https://clawhub.ai
   - 登录你的 GitHub 账号

2. **创建技能包**
   ```bash
   # 打包技能目录
   cd ~/.openclaw/workspace/skills/
   tar -czf medical-scale-research.tar.gz medical-scale-research/
   ```

3. **上传技能**
   - 进入 "Submit Skill" 页面
   - 填写技能信息：
     - 名称：医学量表检索技能
     - 描述：自动检索医学量表信息，生成标准化研究报告
     - 分类：Healthcare / Research Tools
     - 标签：medical, scale, CDISC, feishu, clinical-trials
   - 上传 `medical-scale-research.tar.gz`
   - 提交审核

4. **等待审核**
   - ClawHub 团队会在 1-3 个工作日内审核
   - 审核通过后会出现在技能市场

---

## 🔧 配置说明

### 文件保存路径

量表 PDF 文件默认保存到：
```
/Users/wangyafei/Downloads/scales/[量表名]_official.pdf
```

可在 `SKILL.md` 中修改保存路径。

### 飞书权限配置

1. 打开飞书开发者后台
2. 创建应用 → 添加权限：
   - 云文档读写权限
   - 知识库管理权限
3. 将应用添加到工作群

### CDISC 规则配置

CDISC Domain 推荐规则位于：
```
rules/cdisc-mapping.json
```

可根据需要添加新的映射规则。

---

## 📚 已支持量表示例

| 量表名称 | 英文全称 | 疾病领域 | 状态 |
|---------|---------|---------|------|
| SGRQ | St George's Respiratory Questionnaire | 呼吸系统 | ✅ 已测试 |
| TNSS | Total Nasal Symptom Score | 耳鼻喉科 | ✅ 已测试 |
| PASI | Psoriasis Area and Severity Index | 皮肤科 | ✅ 已测试 |
| EASI | Eczema Area and Severity Index | 皮肤科 | ✅ 已测试 |
| EORTC QLQ-C30 | European Organisation for Research and Treatment of Cancer Quality of Life Questionnaire | 肿瘤科 | 🔄 待测试 |
| PHQ-9 | Patient Health Questionnaire-9 | 精神科 | 🔄 待测试 |

---

## 🛠️ 技能文件结构

```
medical-scale-research/
├── SKILL.md                      # 技能说明和执行指令
├── templates/
│   └── scale-report.md           # 文档模板（含 1.5 官方量表全文）
├── rules/
│   └── cdisc-mapping.json        # CDISC 推荐规则（12 条映射）
├── examples/
│   └── SGRQ-example.md           # SGRQ 量表示例输出
├── README.md                     # 本文件
└── LICENSE                       # MIT 许可证
```

---

## 🤝 贡献指南

欢迎提交 Issue 和 Pull Request！

### 如何贡献

1. Fork 本仓库
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 开启 Pull Request

### 报告问题

如遇到以下问题，请提交 Issue：
- 🐛 技能执行错误
- 📝 文档内容错误
- 💡 功能改进建议
- 🔍 新量表检索请求

---

## 📝 更新日志

### v1.0.0 (2026-04-19)
- ✨ 初始版本发布
- 🔍 7 维度并行检索
- 📄 强制量表全文获取（PDF/截图）
- 🎯 CDISC Domain 自动推荐
- 📊 标准化报告生成
- 💾 飞书文档集成
- 📝 SAS/R 代码示例

---

## 📄 许可证

本项目采用 **MIT 许可证**。详见 [LICENSE](LICENSE) 文件。

---

## 📧 联系方式

- 📮 Issue: [GitHub Issues](https://github.com/kevinget-svg/medical-scale-research/issues)
- 💬 讨论：OpenClaw 社区
- 📧 邮件：[REDACTED_SECRET]

---

## 🙏 致谢

感谢以下项目提供的数据源：
- [CDISC](https://www.cdisc.org/) - 临床数据交换标准
- [Mapi Research Trust](https://eprovide.mapi-trust.org/) - 量表版权信息
- [PubMed](https://pubmed.ncbi.nlm.nih.gov/) - 医学文献数据库
- [OpenClaw](https://openclaw.ai) - AI 自动化框架

---

## ⭐ 支持项目

如果觉得这个技能有用，欢迎：
1. 给仓库点个 ⭐ Star
2. 分享给需要的同事/朋友
3. 提交 Issue 或 Pull Request

---

*最后更新：2026-04-19*
*维护者：王亚飞 (Kevin Wang)*


path: templates/scale-report.md
content: # [量表名称] 标准化研究报告

> **检索日期**：{retrieval_date}  
> **文档版本**：v{version}  
> **最后更新**：{last_updated}

---

## 一、量表简介

### 1.1 背景及发展历程

**开发背景**：
{background_description}

**开发团队**：
- 主要作者：{authors}
- 开发年份：{year}
- 所属机构：{institution}

**理论基础**：
{theoretical_basis}

### 1.2 版本历史

| 版本 | 发布日期 | 更新内容摘要 |
|------|---------|-------------|
| {version_latest} | {date_latest} | {changes_latest} |
| {version_prev} | {date_prev} | {changes_prev} |

> **当前最新版本**：{version_latest}（{date_latest}）

### 1.3 应用领域

**科研领域**：
- 临床试验：{clinical_trial_usage}
- 观察性研究：{observational_usage}

**临床实践**：
{clinical_practice_usage}

**监管认可**：
- FDA：{fda_status}
- EMA：{ema_status}
- NMPA：{nmpa_status}

**指南推荐**：
{guideline_recommendations}

### 1.4 量表内容

**基本信息**：
- 条目数量：{item_count}
- 维度结构：{dimensions}
- 评分等级：{rating_scale}
- 数据类型：{data_type}

**评分公式**：
```
{scoring_formula}
```

**得分解读**：
| 得分范围 | 严重程度 | 临床意义 |
|---------|---------|---------|
| {range_1} | {severity_1} | {interpretation_1} |
| {range_2} | {severity_2} | {interpretation_2} |

### 1.5 官方量表全文 ⚠️

**获取状态**：{full_text_status}

**PDF 下载**：
- 下载链接：[{scale_name} Official PDF]({pdf_url})
- 本地路径：`/Users/wangyafei/Downloads/scales/{scale_name}_official.pdf`
- 文件大小：{file_size}

**量表条目预览**：
（如为截图，此处插入图片）

| 部分 | 条目示例 | 评分方式 |
|------|---------|---------|
| {section_1} | {item_example_1} | {scoring_1} |
| {section_2} | {item_example_2} | {scoring_2} |

> **注意**：完整量表请下载上方 PDF 文件。量表版权归 {copyright_owner} 所有，仅限学术研究使用。

---

## 二、版权与授权信息

### 2.1 版权方信息

**版权所有者**：{copyright_owner}

**授权类型**：
- 学术研究：{academic_license}
- 商业用途：{commercial_license}

**联系方式**：
- 机构：{contact_organization}
- 邮箱：{contact_email}
- 网站：{contact_website}

**申请流程**：
{license_process}

### 2.2 中文版信息

**翻译版本**：
- 翻译团队：{translation_team}
- 翻译年份：{translation_year}
- 文化调适：{cultural_adaptation}

**信效度数据**：
| 指标 | 数值 | 评价标准 |
|------|------|---------|
| Cronbach's α | {cronbach_alpha} | >0.7 可接受 |
| 结构效度 | {construct_validity} | CFI>0.9, RMSEA<0.08 |
| 重测信度 | {test_retest} | ICC>0.7 |

---

## 三、CDISC 编程

### 3.1 标准 aCRF 与受控术语

**推荐 Domain**：
| 标准 | 推荐 Domain | 置信度 | 依据 |
|------|-----------|--------|------|
| SDTM | {sdtm_domain} | {confidence_sdtm} | {basis_sdtm} |
| ADaM | {adam_domain} | {confidence_adam} | {basis_adam} |

**变量命名建议**：
```
QSCAT = "{category}"
QSTESTCD = "{test_code}"
QSTEST = "{test_name}"
QSSTRESN = {score_variable}
```

**受控术语**：
{controlled_terminology}

### 3.2 SDTM 实现

**Domain 选择**：{sdtm_domain}

**变量映射**：
| 量表条目 | SDTM 变量 | 说明 |
|---------|----------|------|
| {item_1} | QSSTRESN1 | {desc_1} |
| {item_2} | QSSTRESN2 | {desc_2} |

**数据集示例**：
```sas
data QS;
  length USUBJID $20 QSCAT $30 QSTESTCD $8 QSTEST $40 QSSTRESN 8;
  label QSCAT = "Questionnaire Category"
        QSTESTCD = "Question Short Name"
        QSTEST = "Question Name"
        QSSTRESN = "Numeric Result";
datalines;
;
run;
```

### 3.3 ADaM 实现

**分析数据集**：{adam_dataset}

**衍生变量**：
| 变量名 | 衍生逻辑 | 说明 |
|--------|---------|------|
| {var_1} | {derivation_1} | {desc_1} |
| {var_2} | {derivation_2} | {desc_2} |

**访视/观测 Flag**：
```sas
/* 基线 Flag */
ABLFL = (VISITN = 1);

/* 分析 Flag */
AVALFL = (MISSING_COUNT <= &max_missing);
```

---

## 四、统计分析

### 4.1 数据类型与分布特征

**数据类型**：{data_type}

**分布特征**：
- 正态性检验：{normality_test}
- 偏度/峰度：{skewness_kurtosis}
- 建议处理方法：{distribution_handling}

### 4.2 缺失值处理

**条目级缺失规则**：
> {item_missing_rule}

**访视级缺失处理**：
| 方法 | 适用场景 | 优缺点 |
|------|---------|--------|
| LOCF | 短期研究 | 简单但可能低估变异 |
| 多重插补 | 缺失率>5% | 更准确但复杂 |
| 完整病例 | 缺失完全随机 | 简单但损失样本量 |

**核心程序（SAS）**：
```sas
/* 条目缺失处理 */
%macro handle_missing(data=, score_var=, max_missing=);
  data &data;
    set &data;
    missing_count = nmiss(of &score_var);
    if missing_count <= &max_missing then do;
      /* 计算平均分或插补 */
    end;
    else do;
      &score_var = .;
    end;
  run;
%mend;
```

**核心程序（R）**：
```r
# 条目缺失处理
handle_missing <- function(data, score_cols, max_missing = 2) {
  data$missing_count <- rowSums(is.na(data[, score_cols]))
  data$score <- ifelse(data$missing_count <= max_missing,
                       rowMeans(data[, score_cols], na.rm = TRUE),
                       NA)
  return(data)
}
```

### 4.3 常规分析模型

**描述性统计**：
```sas
proc means data=analysis n mean std median min max;
  var score baseline_change;
  class treatment_group;
run;
```

**组间比较**：
| 场景 | 推荐方法 | 核心程序 |
|------|---------|---------|
| 两组连续变量 | t 检验 | `proc ttest` |
| 多组连续变量 | ANOVA | `proc glm` |
| 非正态分布 | Wilcoxon/Kruskal-Wallis | `proc npar1way` |
| 分类变量 | Chi-square/Fisher | `proc freq` |

**纵向分析（MMRM）**：
```sas
proc mixed data=analysis method=ml;
  class usubjid visit treatment_group;
  model score = treatment_group visit treatment_group*visit baseline / solution ddfm=kr;
  repeated visit / type=un subject=usubjid;
  lsmeans treatment_group visit treatment_group*visit / diff;
run;
```

**协方差矩阵选择**：
| 矩阵类型 | 适用场景 | 选择依据 |
|---------|---------|---------|
| UN (无结构化) | 访视数少 (<5) | AIC/BIC 最小 |
| AR(1) (自回归) | 等间隔访视 | 相邻访视相关性高 |
| CS (复合对称) | 相关性恒定 | 简化模型 |

### 4.4 探索性分析

**二分类转换**：
```sas
/* 达标率分析 */
data analysis;
  set analysis;
  responder_50 = (baseline_change <= -0.5 * baseline);
  responder_75 = (baseline_change <= -0.75 * baseline);
run;

proc freq data=analysis;
  tables treatment_group * responder_75 / chisq;
run;
```

**时间 - 事件分析**：
```sas
/* 首次达标时间 */
proc phreg data=analysis;
  model time_to_response * censored(0) = treatment_group baseline;
  hazardratio treatment_group;
run;
```

**风险因素挖掘**：
```r
# LASSO 回归筛选预后因素
library(glmnet)
x <- model.matrix(~ age + sex + baseline + comorbidities, data)[,-1]
y <- data$response
cv_fit <- cv.glmnet(x, y, family = "binomial", alpha = 1)
coef(cv_fit, s = "lambda.min")
```

### 4.5 结果呈现

**Table 模板 - 基线特征**：
| 变量 | 治疗组 (N={n1}) | 对照组 (N={n2}) | P 值 |
|------|---------------|---------------|-----|
| 年龄 (岁) | {mean1} ± {sd1} | {mean2} ± {sd2} | {p1} |
| 性别 (男%) | {n1_male} ({pct1}%) | {n2_male} ({pct2}%) | {p2} |
| 基线评分 | {mean1} ± {sd1} | {mean2} ± {sd2} | {p3} |

**Table 模板 - 主要疗效**：
| 指标 | 治疗组 | 对照组 | 差异 (95%CI) | P 值 |
|------|--------|--------|-------------|-----|
| LS Mean 变化 | {lsmean1} | {lsmean2} | {diff} ({ci}) | {p} |
| 应答率 (%) | {rate1}% | {rate2}% | {or} ({ci}) | {p} |

**Figure 模板 - 趋势图**：
```
各访视点评分变化趋势
│
│  ● 治疗组
│  ▲ 对照组
│
└────────────────────────→ 访视
```

---

## 五、参考文献

1. {reference_1}
2. {reference_2}
3. {reference_3}

---

## 附录

### A. 检索策略记录
| 维度 | 检索词 | 数据源 | 命中数 |
|------|--------|--------|--------|
| 背景 | {search_bg} | PubMed | {hits_bg} |
| 版权 | {search_copyright} | Mapi | {hits_copyright} |
| CDISC | {search_cdisc} | CDISC 官网 | {hits_cdisc} |

### B. 量表全文获取记录
**获取方式**：{full_text_method}（PDF 下载 / 屏幕截图）

**检索来源**：
1. {source_1}
2. {source_2}

**文件信息**：
- 文件名：{file_name}
- 大小：{file_size}
- 路径：{file_path}

---

*本报告由医学量表 Skill 自动生成，仅供参考。关键信息（如版权、CDISC 映射）需人工确认。*


path: rules/cdisc-mapping.json
content: {
  "name": "CDISC Domain 自动推荐规则",
  "version": "1.0",
  "last_updated": "2026-04-19",
  "description": "基于量表类型和关键词自动推荐 SDTM/ADaM Domain",
  
  "rules": [
    {
      "id": "QOL_001",
      "keywords": ["生活质量", "quality of life", "QOL", "HRQoL", "health-related quality of life"],
      "sdtm_domain": "QS",
      "sdtm_category": "Findings About Questionnaires",
      "adam_domain": "ADQS",
      "confidence": "high",
      "basis": "SDTMIG v3.4 - QS domain for questionnaire data",
      "notes": "生活质量类量表默认映射到 QS"
    },
    {
      "id": "SYM_001",
      "keywords": ["症状", "symptom", "symptom assessment", "symptom score"],
      "sdtm_domain": "QS",
      "sdtm_category": "Findings About Questionnaires",
      "adam_domain": "ADQS",
      "confidence": "high",
      "basis": "SDTMIG v3.4 - Symptom assessments are questionnaire findings",
      "notes": "症状评估量表映射到 QS"
    },
    {
      "id": "MH_001",
      "keywords": ["病史", "medical history", "disease history", "past history"],
      "sdtm_domain": "MH",
      "sdtm_category": "Medical History",
      "adam_domain": "ADMH",
      "confidence": "high",
      "basis": "SDTMIG v3.4 - MH domain for medical history",
      "notes": "病史采集映射到 MH"
    },
    {
      "id": "CM_001",
      "keywords": ["合并用药", "concomitant medication", "medication history", "drug use"],
      "sdtm_domain": "CM",
      "sdtm_category": "Concomitant Medications",
      "adam_domain": "ADCM",
      "confidence": "high",
      "basis": "SDTMIG v3.4 - CM domain for concomitant medications",
      "notes": "合并用药映射到 CM"
    },
    {
      "id": "AE_001",
      "keywords": ["不良事件", "adverse event", "AE", "safety event", "side effect"],
      "sdtm_domain": "AE",
      "sdtm_category": "Adverse Events",
      "adam_domain": "ADAE",
      "confidence": "high",
      "basis": "SDTMIG v3.4 - AE domain for adverse events",
      "notes": "不良事件映射到 AE"
    },
    {
      "id": "VS_001",
      "keywords": ["生命体征", "vital signs", "blood pressure", "heart rate", "temperature", "体重", "身高"],
      "sdtm_domain": "VS",
      "sdtm_category": "Vital Signs",
      "adam_domain": "ADVS",
      "confidence": "high",
      "basis": "SDTMIG v3.4 - VS domain for vital signs",
      "notes": "生命体征映射到 VS"
    },
    {
      "id": "LB_001",
      "keywords": ["实验室", "laboratory", "lab test", "blood test", "生化", "血常规"],
      "sdtm_domain": "LB",
      "sdtm_category": "Laboratory Test Results",
      "adam_domain": "ADLB",
      "confidence": "high",
      "basis": "SDTMIG v3.4 - LB domain for laboratory results",
      "notes": "实验室检查映射到 LB"
    },
    {
      "id": "PE_001",
      "keywords": ["体格检查", "physical examination", "physical exam", "体检"],
      "sdtm_domain": "PE",
      "sdtm_category": "Physical Examination",
      "adam_domain": "ADPE",
      "confidence": "high",
      "basis": "SDTMIG v3.4 - PE domain for physical examinations",
      "notes": "体格检查映射到 PE"
    },
    {
      "id": "EG_001",
      "keywords": ["心电图", "ECG", "EKG", "electrocardiogram"],
      "sdtm_domain": "EG",
      "sdtm_category": "Electrocardiogram Findings",
      "adam_domain": "ADEG",
      "confidence": "high",
      "basis": "SDTMIG v3.4 - EG domain for ECG findings",
      "notes": "心电图映射到 EG"
    },
    {
      "id": "RS_001",
      "keywords": ["疾病状态", "disease status", "response", "progression", "肿瘤评估"],
      "sdtm_domain": "RS",
      "sdtm_category": "Disease Response",
      "adam_domain": "ADRS",
      "confidence": "high",
      "basis": "SDTMIG v3.4 - RS domain for disease response assessments",
      "notes": "肿瘤反应评估映射到 RS"
    },
    {
      "id": "MI_001",
      "keywords": ["微生物", "microbiology", "culture", "bacteria", "virus"],
      "sdtm_domain": "MI",
      "sdtm_category": "Microbiology",
      "adam_domain": "ADMI",
      "confidence": "medium",
      "basis": "SDTMIG v3.4 - MI domain for microbiology findings",
      "notes": "微生物检查映射到 MI"
    },
    {
      "id": "TR_001",
      "keywords": ["移植", "transplant", "graft"],
      "sdtm_domain": "TR",
      "sdtm_category": "Transplantation",
      "adam_domain": "ADTR",
      "confidence": "medium",
      "basis": "SDTMIG v3.4 - TR domain for transplantation",
      "notes": "移植相关信息映射到 TR"
    }
  ],
  
  "fallback": {
    "sdtm_domain": "QS",
    "adam_domain": "ADQS",
    "confidence": "low",
    "notes": "无法匹配时使用 QS 作为默认 Domain（问卷类）"
  },
  
  "confidence_levels": {
    "high": "关键词直接匹配，置信度>80%",
    "medium": "关键词部分匹配，置信度 50-80%",
    "low": "基于上下文推断，置信度<50%"
  },
  
  "examples": [
    {
      "scale_name": "EORTC QLQ-C30",
      "matched_keywords": ["quality of life", "QOL"],
      "recommended_sdtm": "QS",
      "recommended_adam": "ADQS",
      "confidence": "high"
    },
    {
      "scale_name": "ECOG PS",
      "matched_keywords": ["performance status", "功能状态"],
      "recommended_sdtm": "QS",
      "recommended_adam": "ADQS",
      "confidence": "high"
    },
    {
      "scale_name": "RECIST 1.1",
      "matched_keywords": ["tumor response", "疾病状态"],
      "recommended_sdtm": "RS",
      "recommended_adam": "ADRS",
      "confidence": "high"
    }
  ]
}


path: examples/SGRQ-example.md
content: # SGRQ 量表标准化研究报告（示例）

> **检索日期**：2026-04-19  
> **文档版本**：v1.0  
> **最后更新**：2026-04-19

---

## 一、量表简介

### 1.1 背景及发展历程

**开发背景**：
圣乔治呼吸问卷（St George's Respiratory Questionnaire, SGRQ）是专门用于评估慢性气流受限疾病（COPD 和哮喘）对患者生活质量和健康状况影响的自我完成式量表。由 Jones PW 等人于 1991 年在伦敦圣乔治医院开发。

**开发团队**：
- 主要作者：Paul W. Jones
- 开发年份：1991
- 所属机构：圣乔治医院，伦敦，英国

**理论基础**：
SGRQ 基于健康相关生活质量（HRQoL）概念，涵盖症状、活动能力和疾病影响三个维度，全面反映呼吸系统疾病对患者日常生活的影响。

### 1.2 版本历史

| 版本 | 发布日期 | 更新内容摘要 |
|------|---------|-------------|
| v2009 | 2009-06 | 更新评分算法，优化活动部分权重 |
| v2015 | 2015-03 | 增加 COPD 特异性解释指南 |
| v2023 | 2023-01 | 更新最小临床重要差异（MCID）标准 |

> **当前最新版本**：v2023（2023-01）

### 1.3 应用领域

**科研领域**：
- 临床试验：COPD/哮喘药物疗效评估的主要/次要终点
- 观察性研究：疾病负担评估、预后因素分析

**临床实践**：
- 个体患者健康状况监测
- 治疗效果随访评估

**监管认可**：
- FDA：认可作为 COPD 临床试验的 PRO 终点
- EMA：推荐用于呼吸系统疾病疗效评估
- NMPA：已纳入 COPD 药物临床试验指导原则

**指南推荐**：
- GOLD 指南（2024）：推荐用于 COPD 患者综合评估
- GINA 指南：推荐用于难治性哮喘评估

### 1.4 量表内容

**基本信息**：
- 条目数量：50 条目（76 个问题）
- 维度结构：3 个部分（症状、活动、疾病影响）
- 评分等级：二分类/有序分类混合
- 数据类型：连续变量（总分 0-100）

**评分公式**：
```
各部分得分 = (实际得分 - 最低可能得分) / (最高可能得分 - 最低可能得分) × 100
总分 = (症状部分权重×症状得分 + 活动部分权重×活动得分 + 影响部分权重×影响得分)
```

**得分解读**：
| 得分范围 | 严重程度 | 临床意义 |
|---------|---------|---------|
| 0-25 | 轻度 | 对生活质量影响较小 |
| 26-50 | 中度 | 明显影响日常生活 |
| 51-75 | 重度 | 严重影响生活质量 |
| 76-100 | 极重度 | 生活质量极度受损 |

**MCID（最小临床重要差异）**：4 分（2023 版标准）

### 1.5 官方量表全文

**获取状态**：✅ 已找到官方 PDF

**PDF 下载链接**：
- [SGRQ 主量表](https://www.citystgeorges.ac.uk/__data/assets/pdf_file/0007/899557/CSG-RQ.pdf)
- [SGRQ-C 改良版](https://www.citystgeorges.ac.uk/__data/assets/pdf_file/0011/899570/CSGRQ-C.pdf)
- [SGRQ 手册](https://www.citystgeorges.ac.uk/__data/assets/pdf_file/0009/899631/SGRQ-Manual-March-2022.pdf)

**本地保存路径**：
- `/Users/wangyafei/Downloads/scales/SGRQ_questionnaire.pdf` (7.0KB)
- `/Users/wangyafei/Downloads/scales/SGRQ-C_questionnaire.pdf` (7.0KB)
- `/Users/wangyafei/Downloads/scales/SGRQ_Manual.pdf` (7.1KB)

> **注意**：完整 50 条目量表请下载上方 PDF 文件。量表版权归 St George's Hospital 所有，仅限学术研究使用。

---

## 二、版权与授权信息

### 2.1 版权方信息

**版权所有者**：St George's Hospital, University of London

**授权类型**：
- 学术研究：免费（需申请许可）
- 商业用途：需付费授权

**联系方式**：
- 机构：St George's, University of London
- 邮箱：[REDACTED_SECRET]
- 网站：https://www.citystgeorges.ac.uk/research/support/researcher-development/the-st-georges-respiratory-questionnaire

**申请流程**：
1. 访问官网下载许可申请表
2. 填写研究目的、使用范围
3. 发送至指定邮箱
4. 获得许可后使用（学术免费，商业需付费）

### 2.2 中文版信息

**翻译版本**：
- 翻译团队：广州呼吸疾病研究所（钟南山团队）
- 翻译年份：1997
- 文化调适：针对中国患者生活习惯调整活动部分条目

**信效度数据**：
| 指标 | 数值 | 评价标准 |
|------|------|---------|
| Cronbach's α | 0.88-0.92 | >0.7 可接受 ✅ |
| 结构效度 | CFI=0.91, RMSEA=0.06 | CFI>0.9, RMSEA<0.08 ✅ |
| 重测信度 | ICC=0.85 | ICC>0.7 ✅ |

---

## 三、CDISC 编程

### 3.1 标准 aCRF 与受控术语

**推荐 Domain**：
| 标准 | 推荐 Domain | 置信度 | 依据 |
|------|-----------|--------|------|
| SDTM | QS | High | SDTMIG v3.4 - 生活质量问卷 |
| ADaM | ADQS | High | ADaMIG v1.2 - 问卷衍生分析数据集 |

**变量命名建议**：
```
QSCAT = "RESPIRATORY QUESTIONNAIRE"
QSTESTCD = "SGRQ_TOT"
QSTEST = "St George's Respiratory Questionnaire Total Score"
QSSTRESN = Total Score (0-100)
```

### 3.2 SDTM 实现

**Domain 选择**：QS

**变量映射**：
| 量表条目 | SDTM 变量 | 说明 |
|---------|----------|------|
| 症状部分 | QSSTRESN1 | 症状得分 |
| 活动部分 | QSSTRESN2 | 活动得分 |
| 影响部分 | QSSTRESN3 | 影响得分 |
| 总分 | QSSTRESN | 总得分 |

**数据集示例**：
```sas
data QS;
  length USUBJID $20 QSCAT $30 QSTESTCD $8 QSTEST $40 QSSTRESN 8;
  label QSCAT = "Questionnaire Category"
        QSTESTCD = "Question Short Name"
        QSTEST = "Question Name"
        QSSTRESN = "Numeric Result";
  input USUBJID $ QSTESTCD $ QSSTRESN;
datalines;
SUBJ001 SGRQ_TOT 45.2
SUBJ002 SGRQ_TOT 62.8
;
run;
```

### 3.3 ADaM 实现

**分析数据集**：ADQS

**衍生变量**：
| 变量名 | 衍生逻辑 | 说明 |
|--------|---------|------|
| AVAL | QSSTRESN | 分析值 |
| BASE | QSSTRESN at Baseline | 基线值 |
| CHG | AVAL - BASE | 较基线变化 |
| PCHG | (CHG/BASE)×100 | 较基线变化百分比 |
| RESP4 | CHG <= -4 | 达到 MCID 应答者 |

**访视/观测 Flag**：
```sas
/* 基线 Flag */
ABLFL = (VISITN = 1);

/* 分析 Flag */
AVALFL = (MISSING_COUNT <= 2);
```

---

## 四、统计分析

### 4.1 数据类型与分布特征

**数据类型**：连续变量（0-100）

**分布特征**：
- 通常呈右偏分布（多数患者得分中等）
- 建议：非参数检验或数据转换

### 4.2 缺失值处理

**条目级缺失规则**：
> 每个部分允许缺失≤1 条目，否则该部分计为缺失

**访视级缺失处理**：
| 方法 | 适用场景 | 优缺点 |
|------|---------|--------|
| MMRM | 主要分析（处理缺失数据） | 最有效，利用所有数据 |
| 多重插补 | 敏感性分析 | 更准确但复杂 |
| 完整病例 | 补充分析 | 简单但损失样本量 |

**核心程序（SAS）**：
```sas
/* 条目缺失处理 */
%macro handle_missing(data=, score_vars=, max_missing=2);
  data &data;
    set &data;
    missing_count = nmiss(of &score_vars);
    if missing_count <= &max_missing then do;
      score = mean(of &score_vars);
    end;
    else do;
      score = .;
    end;
  run;
%mend;

%handle_missing(data=qs, score_vars=qsstresn1-qsstresn50, max_missing=2);
```

**核心程序（R）**：
```r
# 条目缺失处理
handle_missing <- function(data, score_cols, max_missing = 2) {
  data$missing_count <- rowSums(is.na(data[, score_cols]))
  data$score <- ifelse(data$missing_count <= max_missing,
                       rowMeans(data[, score_cols], na.rm = TRUE),
                       NA)
  return(data)
}
```

### 4.3 常规分析模型

**描述性统计**：
```sas
proc means data=analysis n mean std median min max;
  var score baseline_change;
  class treatment_group;
run;
```

**组间比较**：
| 场景 | 推荐方法 | 核心程序 |
|------|---------|---------|
| 两组连续变量 | t 检验 | `proc ttest` |
| 多组连续变量 | ANOVA | `proc glm` |
| 非正态分布 | Wilcoxon/Kruskal-Wallis | `proc npar1way` |
| 分类变量 | Chi-square/Fisher | `proc freq` |

**纵向分析（MMRM）**：
```sas
proc mixed data=analysis method=ml;
  class usubjid visit trtp;
  model aval = trtp visit trtp*visit base / solution ddfm=kr;
  repeated visit / type=un subject=usubjid;
  lsmeans trtp visit trtp*visit / diff cl;
run;
```

**协方差矩阵选择**：
| 矩阵类型 | 适用场景 | 选择依据 |
|---------|---------|---------|
| UN (无结构化) | 访视数少 (<5) | AIC/BIC 最小 |
| AR(1) (自回归) | 等间隔访视 | 相邻访视相关性高 |
| CS (复合对称) | 相关性恒定 | 简化模型 |

### 4.4 探索性分析

**二分类转换（应答者分析）**：
```sas
/* 达标率分析 */
data analysis;
  set analysis;
  responder_50 = (baseline_change <= -0.5 * baseline);
  responder_75 = (baseline_change <= -0.75 * baseline);
  responder_4 = (baseline_change <= -4); /* MCID */
run;

proc freq data=analysis;
  tables trtp * responder_4 / chisq;
run;
```

**时间 - 事件分析**：
```sas
/* 首次达标时间 */
proc phreg data=analysis;
  model time_to_response * censored(0) = trtp baseline;
  hazardratio trtp;
run;
```

### 4.5 结果呈现

**Table 模板 - 基线特征**：
| 变量 | 治疗组 (N=150) | 对照组 (N=150) | P 值 |
|------|---------------|---------------|-----|
| 年龄 (岁) | 65.2 ± 8.5 | 64.8 ± 9.1 | 0.72 |
| 性别 (男%) | 98 (65.3%) | 95 (63.3%) | 0.72 |
| 基线 SGRQ 总分 | 52.3 ± 15.2 | 51.8 ± 14.9 | 0.78 |
| FEV1% 预计值 | 58.2 ± 12.5 | 57.9 ± 13.1 | 0.85 |

**Table 模板 - 主要疗效**：
| 指标 | 治疗组 | 对照组 | 差异 (95%CI) | P 值 |
|------|--------|--------|-------------|-----|
| LS Mean 变化 | -8.5 ± 12.1 | -3.2 ± 11.5 | -5.3 (-8.1, -2.5) | <0.001 |
| 应答者 (%) | 68 (45.3%) | 42 (28.0%) | OR=2.1 (1.3, 3.4) | 0.002 |

**Figure 模板 - 趋势图**：
```
各访视点 SGRQ 评分变化趋势
│
│  ● 治疗组
│  ▲ 对照组
│
└────────────────────────→ 访视
  BL  W4  W8  W12  W24
```

---

## 五、参考文献

1. Jones PW, et al. A self-complete measure of health status for chronic airflow limitation. The St George's Respiratory Questionnaire. Am Rev Respir Dis. 1992;145(6):1321-1327. PMID: 1596026

2. Jones PW. St George's Respiratory Questionnaire: MCID. COPD. 2005;2(1):75-79. PMID: 17136966

3. Meguro M, et al. Development and Validation of an Improved, COPD-Specific Version of the St George's Respiratory Questionnaire. Chest. 2007;132(2):456-463. PMID: 17573507

4. GOLD Report 2024. Global Strategy for the Diagnosis, Management, and Prevention of Chronic Obstructive Pulmonary Disease.

5. 钟南山，等。圣乔治呼吸问卷中文版在慢性阻塞性肺疾病患者中的信度和效度。中华结核和呼吸杂志。1997;20(2):87-89.

---

## 附录

### A. 检索策略记录

| 维度 | 检索词 | 数据源 | 命中数 |
|------|--------|--------|--------|
| 背景 | SGRQ development validation history | Google Scholar | 12,500+ |
| 版权 | SGRQ copyright license Mapi | Mapi Research Trust | 官方确认 |
| 中文版 | SGRQ 中文版 信效度 验证 | CNKI/万方 | 35 篇 |
| CDISC | SGRQ CDISC SDTM domain | CDISC 官网 | 规则匹配 |
| 统计 | SGRQ scoring algorithm MMRM | PubMed | 450 篇 |

### B. CDISC 推荐依据

**匹配规则**：
- 关键词：`"生活质量"`, `"quality of life"`, `"QOL"`, `"HRQoL"`
- 匹配结果：High 置信度
- 推荐 Domain：QS (Questionnaire)
- 依据：SDTMIG v3.4 - QS domain for questionnaire data

---

*本报告由医学量表 Skill 自动生成，仅供参考。关键信息（如版权、CDISC 映射）需人工确认。*

---

## 📝 技能执行注意事项

### 飞书文档写入长度限制

**问题**：飞书 API 对单次写入内容长度有限制（约 5KB），长文档会导致写入失败但返回成功状态。

**解决方案**：

```python
# 伪代码示例
def create_scale_document(scale_name, content):
    # 1. 创建空文档
    doc_token = feishu_doc.create(title=f"{scale_name} 量表标准化研究报告")
    
    # 2. 检查内容长度
    if len(content) > 5000:
        # 3. 分章节写入
        chapters = split_into_chapters(content)
        
        # 写入第一章
        feishu_doc.write(doc_token=doc_token, content=chapters[0])
        
        # 获取最后一个 block_id
        blocks = feishu_doc.list_blocks(doc_token=doc_token)
        last_block_id = blocks[-1]['block_id']
        
        # 逐章插入后续内容
        for chapter in chapters[1:]:
            feishu_doc.insert(
                doc_token=doc_token,
                after_block_id=last_block_id,
                content=chapter
            )
            # 更新 last_block_id
            blocks = feishu_doc.list_blocks(doc_token=doc_token)
            last_block_id = blocks[-1]['block_id']
    else:
        # 短内容直接写入
        feishu_doc.write(doc_token=doc_token, content=content)
    
    return doc_token
```

**内容分割建议**：
| 章节 | 预估大小 | 写入方式 |
|------|---------|---------|
| 一、量表简介 | ~3KB | write（第一章） |
| 二、版权与授权 | ~2KB | insert |
| 三、CDISC 编程 | ~3KB | insert |
| 四、统计分析 | ~4KB | insert |
| 五、参考文献 | ~2KB | insert |

**验证步骤**：
1. 写入完成后立即 `feishu_doc read` 验证
2. 检查 block_count 是否合理（应>10）
3. 如 block_count=1，说明写入失败，需重新分块写入


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)