#!/usr/bin/env python3 """Fill empty patient IDs of a metadata export by grouping on identifying columns.""" import argparse from auto_detect_breast_mri.config import column from auto_detect_breast_mri.data.metadata import fill_nan_id_values_by_group def main(): """ Fill missing patient IDs of a metadata export by grouping on identifying columns. The file to work on must be given explicitly; there are no built in paths: python scripts/data_utils/fill_missing_patient_ids.py \ --id-column PNR --grouping Firstname Lastname Birthdate --backup-table """ parser = argparse.ArgumentParser(description="Fill empty patient IDs in a metadata export.") parser.add_argument("data_file", help="metadata export (.xlsx) to fill in place") parser.add_argument("sheet", help="name of the sheet holding the ID and grouping columns") parser.add_argument("--id-column", default=None, help="name of the patient ID column. Default: the configured patient_id column") parser.add_argument("--grouping", nargs="+", required=True, help="columns that identify a patient, e.g. Firstname Lastname Birthdate") parser.add_argument("--backup-table", default=None, help="optional second table to take IDs from") args = parser.parse_args() fill_nan_id_values_by_group(args.data_file, args.sheet, args.id_column or column("patient_id"), args.grouping, args.backup_table) if __name__ == '__main__': main()