Skip to content

Instantly share code, notes, and snippets.

View tashrifbillah's full-sized avatar

Tashrif Billah tashrifbillah

  • Harvard Medical School
  • Boston, MA
View GitHub Profile
@tashrifbillah
tashrifbillah / fluid_shipment_anomalies.py
Last active July 2, 2024 19:15
Detect fluid_shipment_anomalies
import pandas as pd
# cd /data/predict1/to_nda/nda-submissions
df=pd.read_csv('blood_saliva_rack_Pronet.csv')
index=[]
for i,row in df.iterrows():
rc=row['Rack Code']
@tashrifbillah
tashrifbillah / format_for_rcloud.py
Created August 16, 2023 14:42
Format REDCap data for REDCap cloud
#!/usr/bin/env python
import sys
import pandas as pd
df=pd.read_csv(sys.argv[1],dtype=str)
df1=df.copy()
df1.rename(columns={'chric_record_id':'participant_id'},inplace=True)
df1["redcap_system_data_format_version"]=1
@tashrifbillah
tashrifbillah / troubleshoot1.py
Created August 1, 2023 20:27
formqc troubleshooting
#!/usr/bin/env python
from glob import glob
from os.path import isfile, basename
import pandas as pd
subjects=glob('/data/predict1/data_from_nda/Pronet/PHOENIX/PROTECTED/*/raw/*')
subjects=[basename(s) for s in subjects]
print('for how many subjects inclusionexclusion_criteria_review does not exist?')
@tashrifbillah
tashrifbillah / avl_qc_transcript_status.py
Created June 20, 2023 22:14
Check status of AVL combined QC records and transcripts' existence
# execute it from within /data/predict1/data_from_nda/Prescient/PHOENIX/GENERAL
from os.path import dirname, join as pjoin
import pandas as pd
from glob import glob
files=glob('*/processed/*/interviews/open/*_combinedQCRecords.csv')
j=0
for file in files:
@tashrifbillah
tashrifbillah / erase_calc_logic.py
Last active September 7, 2023 18:40
Erase calcs, logics from REDCap dict to upload to a REDCap project
import pandas as pd
# this is API pulled from Yale REDCap
filename='pronet_dict_20230321.csv'
df=pd.read_csv(filename, dtype=str)
df1=df.copy()
# erase calcs, logics
# replace calc by text
@tashrifbillah
tashrifbillah / get_formqc_count.py
Created May 12, 2023 15:39
Count important variables for DPdash charts
#!/usr/bin/env python
import pandas as pd
from glob import glob
def get_count():
for file in files:
df=pd.read_csv(file)
@tashrifbillah
tashrifbillah / count_good_missing.js
Created May 1, 2023 21:20
Count MongoDB subjects
// count good
let demographs;
let count=0;
let incl;
let csv;
let coll;
demographs=db.toc.find({"assessment":"form_sociodemographics"})
// print(demographs.length())
@tashrifbillah
tashrifbillah / debug_formqc.py
Last active February 7, 2023 04:15
Debug form qc excess row problems
#!/usr/bin/env python
# detect files with excess rows
# cd /data/predict1/data_from_nda/formqc/
from glob import glob
import pandas as pd
files=glob('??-*-form_*day1to*csv')
@tashrifbillah
tashrifbillah / get_mac_addr.sh
Created November 2, 2022 18:20
Obtain MAC addresses in CSV format
#!/bin/bash
# master script
for p in $(cat ip_addr.txt)
do
echo -n 172.21.$p,; ssh [email protected].$p -i ~/.ssh/id_ecdsa -o StrictHostKeyChecking=no -C "~/get_mac_addr.sh"; done
# slave script
str1=`ip addr | grep BROADCAST,MULTICAST,UP,LOWER_UP`
IFS=': ' read -ra names <<< $str1
@tashrifbillah
tashrifbillah / compare_redcap_rpms.py
Last active October 13, 2022 15:50
Script for comparing some REDCap and RPMS forms
#!/usr/bin/env python
from os import getcwd, chdir
import pandas as pd
import json
from glob import glob
var_col='field_name'
form_col='form_name'
type_col='field_type'