pyhealth
Comprehensive healthcare AI toolkit for developing, testing, and deploying machine learning models with clinical data. This skill should be used when working with electronic health records (EHR), clinical prediction tasks (mortality, readmission, drug recommendation), medical coding systems (ICD, NDC, ATC), physiological signals (EEG, ECG), healthcare datasets (MIMIC-III/IV, eICU, OMOP), or implementing deep learning models for healthcare applications (RETAIN, SafeDrug, Transformer, GNN).
DeepseekModel
官方收录技能
质量 优秀 · 90
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=davila7-claude-code-templates-cli-tool-components-skills-scientific-pyhealth-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name pyhealth description Comprehensive healthcare AI toolkit for developing, testing, and deploying machine learning models with clinical data. This skill should be used when working with electronic health records (EHR), clinical prediction tasks (mortality, readmission, drug recommendation), medical coding systems (ICD, NDC, ATC), physiological signals (EEG, ECG), healthcare datasets (MIMIC-III/IV, eICU, OMOP), or implementing deep learning models for healthcare applications (RETAIN, SafeDrug, Transformer, GNN). PyHealth: Healthcare AI Toolkit Overview PyHealth is a comprehensive Python library for healthcare AI that provides specialized tools, models, and datasets for clinical machine learning. Use this skill when developing healthcare prediction models, processing clinical data, working with medical coding systems, or deploying AI solutions in healthcare settings. When to Use This Skill Invoke this skill when: Working with healthcare datasets : MIMIC-III, MIMIC-IV, eICU, OMOP, sleep EEG data, medical images Clinical prediction tasks : Mortality prediction, hospital readmission, length of stay, drug recommendation Medical coding : Translating between ICD-9/10, NDC, RxNorm, ATC coding systems Processing clinical data : Sequential events, physiological signals, clinical text, medical images Implementing healthcare models : RETAIN, SafeDrug, GAMENet, StageNet, Transformer for EHR Evaluating clinical models : Fairness metrics, calibration, interpretability, uncertainty quantification Core Capabilities PyHealth operates through a modular 5-stage pipeline optimized for healthcare AI: Data Loading : Access 10+ healthcare datasets with standardized interfaces Task Definition : Apply 20+ predefined clinical prediction tasks or create custom tasks Model Selection : Choose from 33+ models (baselines, deep learning, healthcare-specific) Training : Train with automatic checkpointing, monitoring, and evaluation Deployment : Calibrate, interpret, and validate for clinical use Performance : 3x faster than pandas for healthcare data processing Quick Start Workflow from pyhealth.datasets import MIMIC4Dataset from pyhealth.tasks import mortality_prediction_mimic4_fn from pyhealth.datasets import split_by_patient, get_dataloader from pyhealth.models import Transformer from pyhealth.trainer import Trainer # 1. Load dataset and set task dataset = MIMIC4Dataset(root= "/path/to/data" ) sample_dataset = dataset.set_task(mortality_prediction_mimic4_fn) # 2. Split data train, val, test = split_by_patient(sample_dataset, [ 0.7 , 0.1 , 0.2 ]) # 3. Create data loaders train_loader = get_dataloader(train, batch_size= 64 , shuffle= True ) val_loader = get_dataloader(val, batch_size= 64 , shuffle= False ) test_loader = get_dataloader(test, batch_size= 64 , shuffle= False ) # 4. Initialize and train model model = Transformer( dataset=sample_dataset, feature_keys=[ "diagnoses" , "medications" ], mode= "binary" , embedding_dim= 128 ) trainer = Trainer(model=model, device= "cuda" ) trainer.train( train_dataloader=train_loader, val_dataloader=val_loader, epochs= 50 , monitor= "pr_auc_score" ) # 5. Evaluate results = trainer.evaluate(test_loader) Detailed Documentation This skill includes comprehensive reference documentation organized by functionality. Read specific reference files as needed: 1. Datasets and Data Structures File : references/datasets.md Read when: Loading healthcare datasets (MIMIC, eICU, OMOP, sleep EEG, etc.) Understanding Event, Patient, Visit data structures Processing different data types (EHR, signals, images, text) Splitting data for training/validation/testing Working with SampleDataset for task-specific formatting Key Topics: Core data structures (Event, Patient, Visit) 10+ available datasets (EHR, physiological signals, imaging, text) Data loading and iteration Train/val/test splitting strategies Performance optimization for large datasets 2. Medical Coding Translation File : references/medical_coding.md Read when: Translating between medical coding systems Working with diagnosis codes (ICD-9-CM, ICD-10-CM, CCS) Processing medication codes (NDC, RxNorm, ATC) Standardizing procedure codes (ICD-9-PROC, ICD-10-PROC) Grouping codes into clinical categories Handling hierarchical drug classifications Key Topics: InnerMap for within-system lookups CrossMap for cross-system translation Supported coding systems (ICD, NDC, ATC, CCS, RxNorm) Code standardization and hierarchy traversal Medication classification by therapeutic class Integration with datasets 3. Clinical Prediction Tasks File : references/tasks.md Read when: Defining clinical prediction objectives Using predefined tasks (mortality, readmission, drug recommendation) Working with EHR, signal, imaging, or text-based tasks Creating custom prediction tasks Setting up input/output schemas for models Applying task-specific filtering logic Key Topics: 20+ predefined clinical tasks EHR tasks (mortality, readmission, length of stay, drug recommendation) Signal tasks (sleep staging, EEG analysis, seizure detection) Imaging tasks (COVID-19 chest X-ray classification) Text tasks (medical coding, specialty classification) Custom task creation patterns 4. Models and Architectures File : references/models.md Read when: Selecting models for clinical prediction Understanding model architectures and capabilities Choosing between general-purpose and healthcare-specific models Implementing interpretable models (RETAIN, AdaCare) Working with medication recommendation (SafeDrug, GAMENet) Using graph neural networks for healthcare Configuring model hyperparameters Key Topics: 33+ available models General-purpose: Logistic Regression, MLP, CNN, RNN, Transformer, GNN Healthcare-specific: RETAIN, SafeDrug, GAMENet, StageNet, AdaCare Model selection by task type and data type Interpretability considerations Computational requirements Hyperparameter tuning guidelines 5. Data Preprocessing File : references/preprocessing.md Read when: Preprocessing clinical data for models Handling sequential events and time-series data Processing physiological signals (EEG, ECG) Normalizing lab values and vital signs Preparing labels for different task types Building feature vocabularies Managing missing data and outliers Key Topics: 15+ processor types Sequence processing (padding, truncation) Signal processing (filtering, segmentation) Feature extraction and encoding Label processors (binary, multi-class, multi-label, regression) Text and image preprocessing Common preprocessing workflows 6. Training and Evaluation File : references/training_evaluation.md Read when: Training models with the Trainer class Evaluating model performance Computing clinical metrics Assessing model fairness across demographics Calibrating predictions for reliability Quantifying prediction uncertainty Interpreting model predictions Preparing models for clinical deployment Key Topics: Trainer class (train, evaluate, inference) Metrics for binary, multi-class, multi-label, regression tasks Fairness metrics for bias assessment Calibration methods (Platt scaling, temperature scaling) Uncertainty quantification (conformal prediction, MC dropout) Interpretability tools (attention visualization, SHAP, ChEFER) Complete training pipeline example Installation uv pip install pyhealth Requirements: Python ≥ 3.7 PyTorch ≥ 1.8 NumPy, pandas, scikit-learn Common Use Cases Use Case 1: ICU Mortality Prediction Objective : Predict patient mortality in intensive care unit Approach: Load MIMIC-IV dataset → Read references/datasets.md Apply mortality prediction task → Read references/tasks.md Select interpretable model (RETAIN) → Read references/models.md Train and evaluate → Read references/training_evaluation.md Interpret predictions for clinical use → Read references/training_evaluation.md Use Case 2: Safe Medication Recommendation Objective : Recommend medications while avoiding drug-drug interactions Approach: Load EHR dataset (MIMIC-IV or OMOP) → Read references/datasets.md Apply drug recommendation task → Read references/tasks.md Use SafeDrug model with DDI constraints → Read references/models.md Preprocess medication codes → Read references/medical_coding.md Evaluate with multi-label metrics → Read references/training_evaluation.md Use Case 3: Hospital Readmission Prediction Objective : Identify patients at risk of 30-day readmission Approach: Load multi-site EHR data (eICU or OMOP) → Read references/datasets.md Apply readmission prediction task → Read references/tasks.md Handle class imbalance in preprocessing → Read references/preprocessing.md Train Transformer model → Read references/models.md Calibrate predictions and assess fairness → Read references/training_evaluation.md Use Case 4: Sleep Disorder Diagnosis Objective : Classify sleep stages from EEG signals Approach: Load sleep EEG dataset (SleepEDF, SHHS) → Read references/datasets.md Apply sleep staging task → Read references/tasks.md Preprocess EEG signals (filtering, segmentation) → Read references/preprocessing.md Train CNN or RNN model → Read references/models.md Evaluate per-stage performance → Read references/training_evaluation.md Use Case 5: Medical Code Translation Objective : Standardize diagnoses across different coding systems Approach: Read references/medical_coding.md for comprehensive guidance Use CrossMap to translate between ICD-9, ICD-10, CCS Group codes into clinically meaningful categories Integrate with dataset processing Use Case 6: Clinical Text to ICD Coding Objective : Automatically assign ICD codes from clinical notes Approach: Load MIMIC-III with clinical text → Read references/datasets.md Apply ICD coding task → Read references/tasks.md Preprocess clinical text → Read references/preprocessing.md Use TransformersModel (ClinicalBERT) → Read references/models.md Evaluate with multi-label metrics → Read references/training_evaluation.md Best Practices Data Handling Always split by patient : Prevent data leakage by ensuring no patient appears in multiple splits from pyhealth.datasets import split_by_patient train, val, test = split_by_patient(dataset, [ 0.7 , 0.1 , 0.2 ]) Check dataset statistics : Understand your data before modeling print (dataset.stats()) # Patients, visits, events, code distributions Use appropriate preprocessing : Match processors to data types (see references/preprocessing.md ) Model Development Start with baselines : Establish baseline performance with simple models Logistic Regression for binary/multi-class tasks MLP for initial deep learning baseline Choose task-appropriate models : Interpretability needed → RETAIN, AdaCare Drug recommendation → SafeDrug, GAMENet Long sequences → Transformer Graph relationships → GNN Monitor validation metrics : Use appropriate metrics for task and handle class imbalance Binary classification: AUROC, AUPRC (especially for rare events) Multi-class: macro-F1 (for imbalanced), weighted-F1 Multi-label: Jaccard, example-F1 Regression: MAE, RMSE Clinical Deployment Calibrate predictions : Ensure probabilities are reliable (see references/training_evaluation.md ) Assess fairness : Evaluate across demographic groups to detect bias Quantify uncertainty : Provide confidence estimates for predictions Interpret predictions : Use attention weights, SHAP, or ChEFER for clinical trust Validate thoroughly : Use held-out test sets from different time periods or sites Limitations and Considerations Data Requirements Large datasets : Deep learning models require sufficient data (thousands of patients) Data quality : Missing data and coding errors impact performance Temporal consistency : Ensure train/test split respects temporal ordering when needed Clinical Validation External validation : Test on data from different hospitals/systems Prospective evaluation : Validate in real clinical settings before deployment Clinical review : Have clinicians review predictions and interpretations Ethical considerations : Address privacy (HIPAA/GDPR), fairness, and safety Computational Resources GPU recommended : For training deep learning models efficiently Memory requirements : Large datasets may require 16GB+ RAM Storage : Healthcare datasets can be 10s-100s of GB Troubleshooting Common Issues ImportError for dataset : Ensure dataset files are downloaded and path is correct Check PyHealth version compatibility Out of memory : Reduce batch size Reduce sequence length ( max_seq_length ) Use gradient accumulation Process data in chunks Poor performance : Check class imbalance and use appropriate metrics (AUPRC vs AUROC) Verify preprocessing (normalization, missing data handling) Increase model capacity or training epochs Check for data leakage in train/test split Slow training : Use GPU ( device="cuda" ) Increase batch size (if memory allows) Reduce sequence length Use more efficient model (CNN vs Transformer) Getting Help Documentation : https://pyhealth.readthedocs.io/ GitHub Issues : https://github.com/sunlabuiuc/PyHealth/issues Tutorials : 7 core tutorials + 5 practical pipelines available online Example: Complete Workflow # Complete mortality prediction pipeline from pyhealth.datasets import MIMIC4Dataset from pyhealth.tasks import mortality_prediction_mimic4_fn from pyhealth.datasets import split_by_patient, get_dataloader from pyhealth.models import RETAIN from pyhealth.trainer import Trainer # 1. Load dataset print ( "Loading MIMIC-IV dataset..." ) dataset = MIMIC4Dataset(root= "/data/mimic4" ) print (dataset.stats()) # 2. Define task print ( "Setting mortality prediction task..." ) sample_dataset = dataset.set_task(mortality_prediction_mimic4_fn) print ( f"Generated { len (sample_dataset)} samples" ) # 3. Split data (by patient to prevent leakage) print ( "Splitting data..." ) train_ds, val_ds, test_ds = split_by_patient( sample_dataset, ratios=[ 0.7 , 0.1 , 0.2 ], seed= 42 ) # 4. Create data loaders train_loader = get_dataloader(train_ds, batch_size= 64 , shuffle= True ) val_loader = get_dataloader(val_ds, batch_size= 64 ) test_loader = get_dataloader(test_ds, batch_size= 64 ) # 5. Initialize interpretable model print ( "Initializing RETAIN model..." ) model = RETAIN( dataset=sample_dataset, feature_keys=[ "diagnoses" , "procedures" , "medications" ], mode= "binary" , embedding_dim= 128 , hidden_dim= 128 ) # 6. Train model print ( "Training model..." ) trainer = Trainer(model=model, device= "cuda" ) trainer.train( train_dataloader=train_loader, val_dataloader=val_loader, epochs= 50 , optimizer= "Adam" , learning_rate= 1e-3 , weight_decay= 1e-5 , monitor= "pr_auc_score" , # Use AUPRC for imbalanced data monitor_criterion= "max" , save_path= "./checkpoints/mortality_retain" ) # 7. Evaluate on test set print ( "Evaluating on test set..." ) test_results = trainer.evaluate( test_loader, metrics=[ "accuracy" , "precision" , "recall" , "f1_score" , "roc_auc_score" , "pr_auc_score" ] ) print ( "\nTest Results:" ) for metric, value in test_results.items(): print ( f" {metric} : {value: .4 f} " ) # 8. Get predictions with attention for interpretation
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |