Skip to content

test: add unit tests for MortalityPredictionMIMIC3 and DrugRecommendationMIMIC3#965

Open
haoyu-haoyu wants to merge 1 commit intosunlabuiuc:masterfrom
haoyu-haoyu:test/task-unit-tests
Open

test: add unit tests for MortalityPredictionMIMIC3 and DrugRecommendationMIMIC3#965
haoyu-haoyu wants to merge 1 commit intosunlabuiuc:masterfrom
haoyu-haoyu:test/task-unit-tests

Conversation

@haoyu-haoyu
Copy link
Copy Markdown
Contributor

Summary

  • Add data-driven unit tests for MortalityPredictionMIMIC3 and DrugRecommendationMIMIC3
  • Tests follow the established pattern in test_mimic3_readmission_prediction.py
  • Uses existing MIMIC-III demo data — no new test fixtures needed

Tests added

test_mimic3_mortality_prediction.py (8 tests)

Test What it verifies
test_task_schema task_name, input/output schema keys
test_sample_schema Required keys in each sample
test_mortality_label_is_binary Labels are 0 or 1
test_mortality_label_from_next_visit Patient 10059 visit 142582 → mortality=1 (next visit expired)
test_surviving_next_visit Patient 10119 visit 157466 → mortality=0
test_last_visit_excluded Last admission has no future visit to label
test_single_visit_patients_excluded Patient 10006 (1 visit) produces no samples
test_visit_without_procedures_excluded Patient 10117 visit 187023 (no procs/rx) skipped

test_mimic3_drug_recommendation.py (6 tests)

Test What it verifies
test_task_schema nested_sequence inputs, multilabel output
test_sample_schema Required keys including visit_id, drugs_hist
test_conditions_are_nested 2-D tensor (nested_sequence)
test_single_visit_patients_excluded Patient 10006 excluded
test_visit_without_procedures_excluded Visit 118192 (no procs) excluded
test_multi_visit_patient_produces_samples Patient 10088 (3 visits) produces samples

Test plan

Relates to #425, #338

…tionMIMIC3

Add data-driven tests using MIMIC-III demo data:

MortalityPredictionMIMIC3:
- Schema validation (task_name, input/output schemas)
- Binary mortality labels verified
- Deterministic label check: patient 10059 visit 142582 → mortality=1
- Surviving next visit: patient 10119 visit 157466 → mortality=0
- Last visit exclusion, single-visit patient exclusion
- Visit without procedures/drugs exclusion

DrugRecommendationMIMIC3:
- Schema validation (nested_sequence inputs, multilabel output)
- Sample key and dimensionality validation
- Single-visit patient and missing-data exclusion
- Multi-visit patient produces samples

Assisted-by: Claude Code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant