pyhealth.tasks.patient_linkage_mimic3#

class pyhealth.tasks.patient_linkage_mimic3.PatientLinkageMIMIC3Task(code_mapping=None)[source]#

Bases: BaseTask

Patient linkage task for MIMIC-III.

For each patient with >=2 admissions: - Query: last admission - Positive database record: all previous admissions concatenated

This creates ONE positive pair per patient. Negatives are sampled later during training (in-batch + hard negatives).

Example

>>> from pyhealth.datasets import MIMIC3Dataset
>>> from pyhealth.tasks import PatientLinkageMIMIC3Task
>>> dataset = MIMIC3Dataset(
...     root="/srv/local/data/physionet.org/files/mimiciii/1.4",
...     tables=["diagnoses_icd", "admissions", "patients"],
... )
>>> task = PatientLinkageMIMIC3Task()
>>> sample_dataset = dataset.set_task(task)
task_name: str = 'patient_linkage_mimic3'#
input_schema: Dict[str, Union[str, Type]] = {'age': 'raw', 'conditions': 'sequence', 'd_age': 'raw', 'd_conditions': 'sequence', 'd_identifiers': 'raw', 'd_timestamp': 'raw', 'd_visit_id': 'raw', 'd_visit_ids': 'raw', 'identifiers': 'raw', 'patient_id': 'raw', 'time_gap_days': 'raw', 'timestamp': 'raw', 'visit_id': 'raw'}#
output_schema: Dict[str, Union[str, Type]] = {}#
pre_filter(df)#
Return type:

LazyFrame