@@ -20,7 +20,7 @@ def parse_meta_data(json_path: str) -> defaultdict:
2020 with open (json_path ) as json_file :
2121 data = json .load (json_file )
2222
23- # select the patient reosurce from the bundel data export
23+ # select the patient resource from the bundel data export
2424 for ele in data .get ("entry" , {}):
2525 # iterate of entries
2626 for key , value in ele .get ("resource" , {}).items ():
@@ -141,6 +141,13 @@ def variate_personal_data(personal_data: dict, first_name_count: int) -> default
141141
142142 return personal_data
143143
144+ def add_additional_personal_data (add_json_path : str , personal_data : dict ) -> defaultdict :
145+ # if an additional data file exist, this data will be added to the personal data json file
146+ with open (add_json_path ) as json_file :
147+ additional_data = json .load (json_file )
148+ personal_data .update (additional_data )
149+
150+ return personal_data
144151
145152def save_personal_data (personal_data : dict , out_path : str ):
146153 """Save the final dic with the personal data as json.
@@ -169,7 +176,12 @@ def save_personal_data(personal_data: dict, out_path: str):
169176
170177 # personal_data = {key: value.lower().strip() for key, value in personal_data.items()}
171178 var_data = {key : value .lower ().strip () for key , value in var_data .items ()}
172- save_personal_data (var_data , snakemake .output [0 ])
179+
180+ if len (snakemake .input ) > 1 :
181+ add_data = add_additional_personal_data (snakemake .input [1 ], var_data )
182+ save_personal_data (add_data , snakemake .output [0 ])
183+ else :
184+ save_personal_data (var_data , snakemake .output [0 ])
173185
174186# def enrich_personal_data(personal_data: dict) -> dict:
175187# personal_data["names_combined"] = ",".join(
0 commit comments