Operational Steps
- 确认输入参数完整
- 执行核心操作(参考本目录下的 scripts/ 或 references/)
- 验证输出符合契约
- 保存结果并报告
Pitfalls
-
-
Verification
-
-
-
-
1.
2.
3.
category: research
signature: "healthcare-dataset-discovery -> research: 'Public healthcare dataset discovery — known accessible sources, dead sources, a"
related_skills: ['dataset-discovery', 'openml-benchmark']
description: 'Public healthcare dataset discovery — known accessible sources, dead sources, and API patterns for medical AI research.'
author: Synthos
license: MIT
version: 1.0.0
atom_type: tool
description: Public healthcare dataset discovery — known accessible sources, dead sources, and API patterns for medical AI research.
signature: "medical_domain: str -> dataset_results: list[Dataset] -> dataset_results: list[Dataset] (name, source, url, description, access_type, relevance)"
related_skills: []
IO_CONTRACT
- input:
request: str, context: dict — 用户请求描述、上下文信息
- output:
result: dict — 技能执行结果(结构因技能而异)
对应原则:P2(机械原子暴露输入输出规范)
Healthcare Dataset Discovery
Discovery Protocol
When searching for public healthcare datasets:
- OpenML → Primary source. Use
/api/v1/json/data/list (not /limit/50 pattern). Response structure: {"data": {"dataset": [...]}} with did, NumberOfInstances, NumberOfFeatures fields.
- HuggingFace →
/datasets-server.huggingface.co/search?query={keyword}&limit=50 (returns 422 on this server — may need alternate access)
- Kaggle → Requires authentication. Check
/datasets?search={keyword} but expect paywalls.
- UCI Archive → Many datasets removed. Check
archive.ics.uci.edu — expect 404 for popular datasets.
Known Dataset Status
✅ ACCESSIBLE
- OpenML Cardiovascular-Disease-dataset (DID=45547): 70,000 records, 13 features, 50/50 CVD class balance. Features: age, gender, height, weight, ap_hi, ap_lo, cholesterol, gluc, smoke, alco, active, cardio. Download via
https://www.openml.org/data/v1/download/{file_id}.
❌ UNAVAILABLE
- UCI Healthcare Dataset (healthcare-dataset-stroke-data.csv): Removed from UCI. All GitHub mirrors dead (dsrscientist, codeheroku, krishnaik06, etc.). HuggingFace: 404. Kaggle: requires auth.
- UCI Breast Cancer (WDBC): Also moved/removed from UCI.
API Quirks
- OpenML
list endpoint returns 6,400+ datasets. Search locally by name/description.
- OpenML detail API returns
{"data_set_description": {...}} (NOT {"data": {"dataset": {...}}}).
- OpenML
limit/5 works but limit/500 returns empty — use /api/v1/json/data/list without limit.
- Crossref
query= param works (not search=). Use + for spaces or quote_plus().
- PubMed eSearch requires
+ for spaces, not URL encoding.
Reference
- See
references/uci-stroke-404-session.md for detailed investigation transcript
验证清单 · VERIFICATION
约束规则 · RULES
- 输入约束: 参数类型、范围、格式必须校验
- 输出约束: 返回值结构、编码、命名必须一致
- 异常约束: 错误信息必须包含上下文和恢复建议
- 安全约束: 不执行未验证的任意代码,不暴露内部状态
Golden 集合 · GOLDEN SET
- Golden Input: 标准输入样本(覆盖正常路径)
- Golden Output: 预期输出(精确匹配或格式校验)
- Golden Error: 预期错误信息(覆盖失败路径)
Golden 集合是测试的单一真理来源。所有改进必须通过 golden 测试。
违反规则的操作视为不安全,必须拒绝或隔离。
每项验证必须可执行、可记录、可复现。验证失败时记录原因和修复。
示例 · EXAMPLES
示例 1 · 发现心血管数据集(正常路径)
- 输入:
medical_domain="cardiovascular disease"
- 操作: 调用 OpenML
/api/v1/json/data/list 拉取全量(不用 limit/500),本地按名称/描述过滤命中 DID=45547
- 输出:
dataset_results=[{name:"Cardiovascular-Disease-dataset", source:"OpenML", url:"openml.org/download/{file_id}", NumberOfInstances:70000, access_type:"open"}]
- 验证: 详情 API 返回
{"data_set_description": {...}},规模/特征数与列表接口一致
示例 2 · UCI 经典数据集已死链(失败路径)
- 输入:
medical_domain="stroke"
- 操作: 检索
archive.ics.uci.edu 与 GitHub 镜像(dsrscientist 等)、HuggingFace
- 输出: 标记
UNAVAILABLE(UCI 404 + 镜像全死 + HF 404),建议转 OpenML 替代源
- 验证: 每个"不可用"结论均有具体 404/认证失败证据,无凭空的"存在"声明
示例 3 · 文献检索 API 查询(参数陷阱)
- 输入:
medical_domain="breast cancer diagnosis"
- 操作: Crossref 用
query= 参数 + quote_plus();PubMed eSearch 空格用 + 而非 URL 编码
- 输出: 命中文献/数据列表
- 验证: 查询参数解析正确,无空结果或 422
Genes (策略基因)
紧凑策略表示。条件→策略。需要深度时参考完整文档。
- [HEAL-001] 当需要获取 OpenML 数据集列表时 → 使用
/api/v1/json/data/list 端点获取全量数据并在本地过滤,避免使用 limit/500 等可能导致空结果的参数
- [HEAL-002] 当解析 OpenML API 响应时 → 区分列表接口(
{"data": {"dataset": [...]}})与详情接口({"data_set_description": {...}})的不同 JSON 结构
- [HEAL-003] 当搜索 UCI Archive 中的经典医疗数据集时 → 预期大量数据集已移除或返回 404,需优先验证 GitHub 镜像或 HuggingFace 的可用性
- [HEAL-004] 当调用 Crossref 或 PubMed API 进行文献/数据检索时 → 使用
+ 符号或 quote_plus() 处理空格,而非标准 URL 编码,以确保查询参数正确解析
- [HEAL-005] 当评估数据集来源的可靠性时 → 优先选择 OpenML 等提供稳定 API 和明确元数据(如 DID、特征数)的来源,规避需要认证或存在付费墙的平台(如 Kaggle)
- [HEAL-006] 当执行数据集发现任务时 → 首先确认输入参数完整性,并在执行核心操作前验证目标源点的可达性(如检查已知死链)
1---2name: healthcare-dataset-discovery3description: 1. 确认输入参数完整4license: MIT5---67## Operational Steps81. 确认输入参数完整92. 执行核心操作(参考本目录下的 scripts/ 或 references/)103. 验证输出符合契约114. 保存结果并报告1213## Pitfalls14- 15- 1617## Verification18- 19- 20- 21- 221. 232. 243. 25category: research26signature: "healthcare-dataset-discovery -> research: 'Public healthcare dataset discovery — known accessible sources, dead sources, a"27related_skills: ['dataset-discovery', 'openml-benchmark']28description: 'Public healthcare dataset discovery — known accessible sources, dead sources, and API patterns for medical AI research.'29author: Synthos30license: MIT31version: 1.0.03233 atom_type: tool34 description: Public healthcare dataset discovery — known accessible sources, dead sources, and API patterns for medical AI research.35 signature: "medical_domain: str -> dataset_results: list[Dataset] -> dataset_results: list[Dataset] (name, source, url, description, access_type, relevance)"36 related_skills: []37## IO_CONTRACT38- **input**: `request: str, context: dict` — 用户请求描述、上下文信息39- **output**: `result: dict — 技能执行结果(结构因技能而异)`40> 对应原则:P2(机械原子暴露输入输出规范)41# Healthcare Dataset Discovery42## Discovery Protocol43When searching for public healthcare datasets:441. **OpenML** → Primary source. Use `/api/v1/json/data/list` (not `/limit/50` pattern). Response structure: `{"data": {"dataset": [...]}}` with `did`, `NumberOfInstances`, `NumberOfFeatures` fields.452. **HuggingFace** → `/datasets-server.huggingface.co/search?query={keyword}&limit=50` (returns 422 on this server — may need alternate access)463. **Kaggle** → Requires authentication. Check `/datasets?search={keyword}` but expect paywalls.474. **UCI Archive** → Many datasets removed. Check `archive.ics.uci.edu` — expect 404 for popular datasets.48## Known Dataset Status49### ✅ ACCESSIBLE50- **OpenML Cardiovascular-Disease-dataset** (DID=45547): 70,000 records, 13 features, 50/50 CVD class balance. Features: age, gender, height, weight, ap_hi, ap_lo, cholesterol, gluc, smoke, alco, active, cardio. Download via `https://www.openml.org/data/v1/download/{file_id}`.51### ❌ UNAVAILABLE52- **UCI Healthcare Dataset** (healthcare-dataset-stroke-data.csv): Removed from UCI. All GitHub mirrors dead (dsrscientist, codeheroku, krishnaik06, etc.). HuggingFace: 404. Kaggle: requires auth.53- **UCI Breast Cancer** (WDBC): Also moved/removed from UCI.54## API Quirks55- OpenML `list` endpoint returns 6,400+ datasets. Search locally by name/description.56- OpenML detail API returns `{"data_set_description": {...}}` (NOT `{"data": {"dataset": {...}}}`).57- OpenML `limit/5` works but `limit/500` returns empty — use `/api/v1/json/data/list` without limit.58- Crossref `query=` param works (not `search=`). Use `+` for spaces or `quote_plus()`.59- PubMed eSearch requires `+` for spaces, not URL encoding.60## Reference61- See `references/uci-stroke-404-session.md` for detailed investigation transcript62## 验证清单 · VERIFICATION6364- [ ] 数据集发现已确认来源(公开机构/数据库)65- [ ] 数据集信息含规模/格式/访问方式66- [ ] 敏感数据已标注脱敏要求67- [ ] 推荐数据集与查询主题匹配68- [ ] 输出含来源与访问路径69## 约束规则 · RULES701. **输入约束**: 参数类型、范围、格式必须校验712. **输出约束**: 返回值结构、编码、命名必须一致723. **异常约束**: 错误信息必须包含上下文和恢复建议734. **安全约束**: 不执行未验证的任意代码,不暴露内部状态74## Golden 集合 · GOLDEN SET75- **Golden Input**: 标准输入样本(覆盖正常路径)76- **Golden Output**: 预期输出(精确匹配或格式校验)77- **Golden Error**: 预期错误信息(覆盖失败路径)78> Golden 集合是测试的单一真理来源。所有改进必须通过 golden 测试。79> 违反规则的操作视为不安全,必须拒绝或隔离。80> 每项验证必须可执行、可记录、可复现。验证失败时记录原因和修复。81## 示例 · EXAMPLES8283**示例 1 · 发现心血管数据集(正常路径)**84- 输入: `medical_domain="cardiovascular disease"`85- 操作: 调用 OpenML `/api/v1/json/data/list` 拉取全量(不用 `limit/500`),本地按名称/描述过滤命中 DID=4554786- 输出: `dataset_results=[{name:"Cardiovascular-Disease-dataset", source:"OpenML", url:"openml.org/download/{file_id}", NumberOfInstances:70000, access_type:"open"}]`87- 验证: 详情 API 返回 `{"data_set_description": {...}}`,规模/特征数与列表接口一致8889**示例 2 · UCI 经典数据集已死链(失败路径)**90- 输入: `medical_domain="stroke"`91- 操作: 检索 `archive.ics.uci.edu` 与 GitHub 镜像(dsrscientist 等)、HuggingFace92- 输出: 标记 `UNAVAILABLE`(UCI 404 + 镜像全死 + HF 404),建议转 OpenML 替代源93- 验证: 每个"不可用"结论均有具体 404/认证失败证据,无凭空的"存在"声明9495**示例 3 · 文献检索 API 查询(参数陷阱)**96- 输入: `medical_domain="breast cancer diagnosis"`97- 操作: Crossref 用 `query=` 参数 + `quote_plus()`;PubMed eSearch 空格用 `+` 而非 URL 编码98- 输出: 命中文献/数据列表99- 验证: 查询参数解析正确,无空结果或 422100101## Genes (策略基因)102> 紧凑策略表示。条件→策略。需要深度时参考完整文档。103- **[HEAL-001]** 当需要获取 OpenML 数据集列表时 → 使用 `/api/v1/json/data/list` 端点获取全量数据并在本地过滤,避免使用 `limit/500` 等可能导致空结果的参数104- **[HEAL-002]** 当解析 OpenML API 响应时 → 区分列表接口(`{"data": {"dataset": [...]}}`)与详情接口(`{"data_set_description": {...}}`)的不同 JSON 结构105- **[HEAL-003]** 当搜索 UCI Archive 中的经典医疗数据集时 → 预期大量数据集已移除或返回 404,需优先验证 GitHub 镜像或 HuggingFace 的可用性106- **[HEAL-004]** 当调用 Crossref 或 PubMed API 进行文献/数据检索时 → 使用 `+` 符号或 `quote_plus()` 处理空格,而非标准 URL 编码,以确保查询参数正确解析107- **[HEAL-005]** 当评估数据集来源的可靠性时 → 优先选择 OpenML 等提供稳定 API 和明确元数据(如 DID、特征数)的来源,规避需要认证或存在付费墙的平台(如 Kaggle)108- **[HEAL-006]** 当执行数据集发现任务时 → 首先确认输入参数完整性,并在执行核心操作前验证目标源点的可达性(如检查已知死链)