14 dec data

This commit is contained in:
Pritimay Sarkar
2023-12-14 21:03:09 +05:30
parent 6bd972276f
commit 7bcdbff123
18 changed files with 237 additions and 16 deletions

View File

@@ -17,7 +17,7 @@ db = firestore.client()
patient_collection = db.collection("patientData")
test_collection = db.collection("testData")
query = patient_collection.where(filter=FieldFilter("createdAt", ">=", "2023-10-20")).where(filter=FieldFilter("createdAt", "<", "2023-10-21"))
query = patient_collection.where(filter=FieldFilter("createdAt", ">=", "2023-12-13")).where(filter=FieldFilter("createdAt", "<", "2023-12-14"))
#.where(filter=FieldFilter("registrationCenterName", "==", "SCS high school"))
patient_docs = query.stream()
@@ -27,12 +27,12 @@ data = []
for patient_doc in patient_docs:
patient_data = patient_doc.to_dict()
data.append(patient_data)
if "BHI" in patient_data['_id']:
if "sar" in patient_data['_id']:
print(patient_data['_id'])
doc_ref = db.collection("patientData").document(patient_doc.id)
delete_field_name = 'incubationTime'
batch.update(doc_ref, {"_idSearch": '20231209' + patient_data['_id'], delete_field_name: firestore.DELETE_FIELD, "allowFreshTest": True, "testStatus": False})
batch.update(doc_ref, {"_idSearch": '20231214' + patient_data['_id'], delete_field_name: firestore.DELETE_FIELD, "allowFreshTest": True, "testStatus": False})
batch.commit()

60
scripts/combine62.py Normal file
View File

@@ -0,0 +1,60 @@
import pandas as pd
import os
import numpy as np
import matplotlib.pyplot as plt
curdir = os.getcwd()
path_delim = '/'
df1 = pd.read_excel(curdir + path_delim + "data/users_14_12_2023_18_42.xlsx", sheet_name="Sheet1")
df2 = pd.read_excel(curdir + path_delim + "data/tests_14_12_2023_18_36.xlsx", sheet_name="data")
df2 = df2.sort_values('testTime')
variance_column = df2["led2Buffer"].var(ddof=0)
print(variance_column)
df = df2.merge(df1, on="_id", how="inner")
print(df.columns)
# # df = pd.concat([df1, df3], ignore_index=True)
df['Age'] = 2023 - df['birthYear']
df['deviceId'].hist()
plt.show()
df = df[["_id", "name_x", "abhaId", "aadharId", "Age", "gender", "category", "maritalStatus", "house", "district", "state", "pinCode", "phoneNumber", "classificationResult", "bloodGroup", "testTime", "caste", "registrationCenterName"]]
print(df)
df.rename(columns={'_id': "Sample ID", "name_x": "Name", "abhaId": "ABHA ID", "aadharId": "Aadhaar ID", "gender": "Gender", "category": "Category", "maritalStatus": "Marital Status", "house": "Address", "district": "District", "state": "State", "pinCode": "Pincode", "phoneNumber": "Mobile Number", "testTime": "Date", "classificationResult": "Test Result", "bloodGroup": "Blood Group", "Age": "Age", "caste": "Caste", "registrationCenterName": "Center"}, inplace = True)
df = df.reindex(["Sample ID", "Name", "ABHA ID", "Aadhaar ID", "Age", "Gender", "Caste", "Category", "Marital Status", "Address", "District", "State", "Pincode", "Mobile Number", "Date", "Test Result", "Blood Group", "Center"], axis=1)
# df['Date'] = pd.to_datetime(df["Date"].dt.strftime('%d-%m-%Y'))
# df = df.sort_values(by=['Date'], ascending=True)
df["Test Result"].fillna("NOTEST", inplace = True)
print("NOTEST: ", len(df[df["Test Result"] == "NOTEST"]))
df = df[df["Test Result"] != "NOTEST"]
df["Blood Group"].fillna("NOBLOODGROUP", inplace = True)
print("NO BLOOD GROUP: ", len(df[df["Blood Group"] == "NOBLOODGROUP"]))
df_final = df.sort_values('Date').drop_duplicates('Sample ID', keep='last')
df_final.loc[df_final['Test Result'] == 'Normal', 'Test Result'] = 'Normal (HbA)'
df_final.loc[df_final['Test Result'] == 'Sickle Cell Trait', 'Test Result'] = 'Sickle Cell Trait (HbAS)'
df_final.loc[df_final['Test Result'] == 'Sickle Cell Disease', 'Test Result'] = 'Sickle Cell Disease (HbAS)'
df_final.loc[df_final['Test Result'] == 'SCT', 'Test Result'] = 'Sickle Cell Trait (HbAS)'
df_final.loc[df_final['Test Result'] == 'SCD', 'Test Result'] = 'Sickle cell Disease (HbSS)'
df_final.loc[df_final['Test Result'] == 'PBL', 'Test Result'] = 'Positive Borderline'
df_final.loc[df_final['Test Result'] == 'NBL', 'Test Result'] = 'Negative Borderline'
df_final.loc[df_final['Gender'] == 'Male', 'Gender'] = 'MALE'
df_final.loc[df_final['Gender'] == 'Female', 'Gender'] = 'FEMALE'
print(df_final.groupby(["Test Result"]).describe())
df_count = df_final.groupby(["Test Result"]).describe()["ABHA ID"]["count"]
print(df_final.groupby(["Test Result"]).describe()["ABHA ID"]["count"])
writer = pd.ExcelWriter(curdir + path_delim + "data/Dec14.xlsx", engine = 'openpyxl')
df_final.to_excel(writer, sheet_name = 'op', index=False)
df_count.to_excel(writer, sheet_name = "count")
writer.close()

View File

@@ -9,7 +9,7 @@ import sys
import platform
from datetime import datetime, timedelta
environment = "preprod"
environment = "qa"
if __name__ == "__main__":
@@ -82,7 +82,7 @@ if __name__ == "__main__":
df = df[(df['testTime'] > start_date) & (df['testTime'] <= end_date)]
df = df.sort_values(by=['testTime'], ascending=False)
df = df[["_id", "errorMessages", "classificationResult", "prdClassification", "predictedDenovixRatio", "calculatedRatio", "deviceRatio", "kitSerial", "abs1", "led1Average", "led1Buffer", "led1Sample", "abs2", "led2Average", "led2Buffer", "led2Sample", "abs3", "led3Average", "led3Buffer", "led3Sample", "abs4", "led4Average", "led4Buffer", "led4Sample", "batteryLevel", "batteryVoltage", "deviceId", "deviceSerialNumber", "name", "testTime"]]
df = df[["_id", "errorMessages", "classificationResult", "prdClassification", "predictedDenovixRatio", "calculatedRatio", "deviceRatio", "kitSerial", "abs1", "led1Average", "led1Buffer", "led1Sample", "abs2", "led2Average", "led2Buffer", "led2Sample", "hb3", "abs3", "led3Average", "led3Buffer", "led3Sample", "hb4", "abs4", "led4Average", "led4Buffer", "led4Sample", "batteryLevel", "batteryVoltage", "deviceId", "deviceSerialNumber", "name", "testTime"]]
# df.rename(columns={'deviceSerialNumber': "login_id", "calculatedRatio": "calibrated_ratio", "led1Buffer": "427_buffer_intensity", "led2Buffer": "555_buffer_intensity", "led1Sample": "427_sample_intensity", "led2Sample": "555_sample_intensity", "led1Average": "427_absorbance", "led2Average": "555_absorbance"}, inplace = True)
# df = df.reindex(sorted(df.columns), axis=1)

35
scripts/dataset04.py Normal file
View File

@@ -0,0 +1,35 @@
import pandas as pd
import os
curdir = os.getcwd()
path_delim = '/'
df = pd.read_csv(curdir + path_delim + 'data/bquxjob_6ab822ae_18c5f7cb3c7.csv')
df = df.dropna()
print(df)
print(df["finalResult"].unique())
df['testResult'] = df['finalResult']
df.loc[df['testResult'] == 'Normal', 'testResult'] = 'Normal'
df.loc[df['testResult'] == 'Normal (HbA)', 'testResult'] = 'Normal'
df.loc[df['testResult'] == 'Sickle Cell Trait', 'testResult'] = 'SCT'
df.loc[df['testResult'] == 'Sickle Cell Trait (HbAS)', 'testResult'] = 'SCT'
df.loc[df['testResult'] == 'Sickle cell Trait (HbAS)', 'testResult'] = 'SCT'
df.loc[df['testResult'] == 'Sickle Cell Disease', 'testResult'] = 'SCD'
df.loc[df['testResult'] == 'Sickle Cell Disease (HbAS)', 'testResult'] = 'SCD'
df.loc[df['testResult'] == 'Sickle cell Disease (HbSS)', 'testResult'] = 'SCD'
df.loc[df['testResult'] == 'Positive for Sickle Cell. HPLC for Confirmation', 'testResult'] = 'Inconclusive'
df.loc[df['testResult'] == 'Inconclusive. Very low Absorbance - Repeat test with Higher Blood Volume', 'testResult'] = 'Inconclusive'
df.loc[df['testResult'] == 'Negative Borderline. Repeat Test', 'testResult'] = 'Inconclusive'
df.loc[df['testResult'] == 'Inconclusive. Very low Absorbance - Repeat test with Higher Blood Volume', 'testResult'] = 'Inconclusive'
df.loc[df['testResult'] == 'Inconclusive. Repeat with test with lower volume of blood', 'testResult'] = 'Inconclusive'
df = df.drop_duplicates()
print(df.groupby(["testResult"]).describe())
# writer = pd.ExcelWriter(curdir + path_delim + "data/dataset4.xlsx", engine = 'openpyxl')
# df.to_excel(writer, sheet_name = 'op', index=False)
df.to_csv(curdir + path_delim + "data/dataset04.csv", index=False)
# df_count.to_excel(writer, sheet_name = "count")
# writer.close()

View File

@@ -0,0 +1,4 @@
import pandas as pd
df = pd.read_csv("data/denovix-04-09-23.csv")
print(df)

View File

@@ -0,0 +1,3 @@
firebase appdistribution:distribute /Users/apple/Downloads/work/hpos/app/build/outputs/apk/debug/app-debug.apk \
--app 1:121176529204:android:e6841fdac57bdc95bbed61 \
--release-notes "coeffs update for device 4" --groups "smi-group"

View File

@@ -1,3 +1,3 @@
firebase appdistribution:distribute /Users/apple/Downloads/work/hpos/app/build/outputs/apk/debug/app-debug.apk \
--app 1:121176529204:android:30b1bdb8db18ba72bbed61 \
--release-notes "new changes" --groups "smi-group"
--release-notes "coeffs update for device 4" --groups "smi-group"

View File

@@ -0,0 +1,3 @@
firebase appdistribution:distribute /Users/apple/Downloads/work/hpos/app/build/outputs/apk/debug/app-debug.apk \
--app 1:650071678820:android:7569c1cad4fc99916c6471 \
--release-notes "new changes" --groups "smi-group"

View File

@@ -0,0 +1,3 @@
firebase appdistribution:distribute /Users/apple/Downloads/work/hpos/app/build/outputs/apk/debug/app-debug.apk \
--app 1:121176529204:android:d7d51c13b0de5a6cbbed61 \
--release-notes "new changes" --groups "smi-group"

View File

@@ -0,0 +1,3 @@
firebase appdistribution:distribute /Users/apple/Downloads/work/hpos/app/build/outputs/apk/debug/app-debug.apk \
--app 1:650071678820:android:f96be19e5d43102b6c6471 \
--release-notes "new changes" --groups "smi-group"

View File

@@ -0,0 +1,3 @@
firebase appdistribution:distribute /Users/apple/Downloads/work/hpos/app/build/outputs/apk/debug/app-debug.apk \
--app 1:1004619739289:android:8397cd1f0357bd89e5c808 \
--release-notes "add new device for PQ" --groups "smi-group"

View File

@@ -0,0 +1,23 @@
import os
import shutil
import pandas as pd
# Assuming you have a DataFrame named df with columns 'id', 'class', and 'image_path'
# 'image_path' should contain the path to each image
# Example DataFrame creation (replace this with your actual data)
data = {'id': [1, 2, 3],
'class': ['A', 'B', 'A'],
'image_path': ['/path/to/img1.jpg', '/path/to/img2.jpg', '/path/to/img3.jpg']}
df = pd.DataFrame(data)
# Iterate through rows and move images
for index, row in df.iterrows():
class_folder = os.path.join(os.getcwd(), row['class'])
# Create subfolder if it doesn't exist
if not os.path.exists(class_folder):
os.makedirs(class_folder)
# Move image to subfolder
shutil.move(row['_id'], os.path.join(class_folder, f"{row['id']}.jpg"))

View File

@@ -15,8 +15,8 @@ db = firestore.client()
patient_collection = db.collection("patientData")
test_collection = db.collection("testData")
start_date = sys.argv[1] # '2023-09-12' #input("Please enter the start date (yyyy-mm-dd): ")
end_date = sys.argv[2] #'2023-07-16' #input("Please enter the end date (yyyy-mm-dd): ")
start_date = sys.argv[1]
end_date = sys.argv[2]
query = test_collection.where(filter=FieldFilter("testTime", ">=", start_date)).where(filter=FieldFilter("testTime", "<", end_date))
docs = query.stream()

View File

@@ -15,11 +15,11 @@ firebase_admin.initialize_app(cred)
db = firestore.client()
patient_collection = db.collection("patientData")
# test_collection = db.collection("testData")
test_collection = db.collection("testData")
start_date = sys.argv[1]
end_date = sys.argv[2]
query = patient_collection.where(filter=FieldFilter("createdAt", ">=", start_date)).where(filter=FieldFilter("createdAt", "<", end_date))
query = patient_collection #.where(filter=FieldFilter("createdAt", ">=", start_date)).where(filter=FieldFilter("createdAt", "<", end_date))
patient_docs = query.stream()
data = []
@@ -33,6 +33,8 @@ print(df.size)
print("duplicates", len(df['_id']) - len(df['_id'].drop_duplicates()))
df = df.sort_values('bloodGroup', na_position='first', ascending=False).drop_duplicates('_id').sort_index()
output_filename = f'users_{datetime.today().strftime("%d_%m_%Y_%H_%M")}.xlsx'
df.to_excel(output_filename, index=False)