From 80b5c05d53e43fca8890b987e5316fbd124a0141 Mon Sep 17 00:00:00 2001 From: vladd-bit Date: Wed, 3 Jul 2024 10:23:51 +0100 Subject: [PATCH] NiFi scripts: minor updates to cohort export. --- .../cogstack_cohort_generate_data.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/nifi/user-scripts/cogstack_cohort_generate_data.py b/nifi/user-scripts/cogstack_cohort_generate_data.py index 516d268c..5d143ae0 100644 --- a/nifi/user-scripts/cogstack_cohort_generate_data.py +++ b/nifi/user-scripts/cogstack_cohort_generate_data.py @@ -106,20 +106,30 @@ def _process_patient_records(patient_records: list): _ptt2sex[_PATIENT_ID] = _tmp_gender dob = patient_record[PATIENT_BIRTH_DATE_FIELD_NAME] if PATIENT_BIRTH_DATE_FIELD_NAME in patient_record.keys() else 0 + dod = patient_record[PATIENT_DEATH_DATE_FIELD_NAME] if PATIENT_DEATH_DATE_FIELD_NAME in patient_record.keys() else None + + try: + dob = int(dob) + except ValueError: + dob = str(dob).replace("\"", "").replace("'", "") + + try: + dod = int(dod) + except ValueError: + dod = str(dod).replace("\"", "").replace("'", "") if isinstance(dob, int): dob = datetime.fromtimestamp(dob / 1000, tz=timezone.utc) else: - dob = datetime.strptime(str(dob).replace("\"", "").replace("'", ""), DATE_TIME_FORMAT) + dob = datetime.strptime(str(dob), DATE_TIME_FORMAT) - dod = patient_record[PATIENT_DEATH_DATE_FIELD_NAME] if PATIENT_DEATH_DATE_FIELD_NAME in patient_record.keys() else None patient_age = 0 if dod not in [None, "null", 0]: if isinstance(dod, int): dod = datetime.fromtimestamp(dod / 1000, tz=timezone.utc) else: - dod = datetime.strptime(str(dod).replace("\"", "").replace("'", ""), DATE_TIME_FORMAT) + dod = datetime.strptime(str(dod), DATE_TIME_FORMAT) patient_age = dod.year - dob.year else: