# If everything has been resolved or you are importing a few attributes, run # the following lines (or the lines that apply to you). Before importing any # data, make sure you add a new entry in the reference table "Patch Informat". # add new patch record (only do this once!) newPatch = { 'id': f'{currentFreeze}_{currentPatch}', 'type': currentReleaseType, 'date': str(datetime.now().strftime('%Y-%m-%d')), # For description, use the following format for patches or use # "FreezeX Original Data" for new releases 'description': f'{currentFreeze.title()} {currentPatch.title()}' } rd3.add(entity='rd3_patch', data=newPatch) # prep data for import update_dob = rd3tools.select_keys(phenopackets, ['id', 'dateofBirth']) update_sex1 = rd3tools.select_keys(phenopackets, ['id', 'sex1']) update_phenotype = rd3tools.select_keys(phenopackets, ['id', 'phenotype']) update_hasNotPhenotype = rd3tools.select_keys(phenopackets, ['id', 'hasNotPhenotype']) update_disease = rd3tools.select_keys(phenopackets, ['id', 'disease']) update_phenopacketsID = rd3tools.select_keys(phenopackets, ['id', 'phenopacketsID']) update_ageofonset = rd3tools.select_keys(phenopackets, ['id', 'ageOfOnset']) # set patch information for current release update_patch = [] for d in phenopackets:
# raise SystemError('Error in release mapping: not all records were processed') # else: # statusMsg('All records have been processed! :-)') portalUpdates = release[:, {'id': f.id, 'processed': True}] #////////////////////////////////////////////////////////////////////////////// # ~ 3 ~ # Import Data # Update Patch table with new release info (DO THIS FIRST!) rd3.add(entity='rd3_patch', data={ 'id': patchinfo.get('id'), 'type': patchinfo.get('type'), 'date': patchinfo.get('date'), 'description': patchinfo.get('description') }) # import new orgs; import ERNs if needed, but highly unlikely rd3.importData(entity='rd3_organisation', data=dtFrameToRecords(newOrgs)) # prep data for import into RD3 rd3_subjects = dtFrameToRecords(data=subjects) rd3_subjectInfo = dtFrameToRecords(data=subjectInfo) rd3_samples = dtFrameToRecords(data=samples) rd3_labinfo = dtFrameToRecords(data=labinfo) # import data rd3.importData(entity=f'rd3_{patchinfo["name"]}_subject', data=rd3_subjects)