integramos las conexiones a la información de comidas y glucómetros

primer paso para dejar de usar el archivo de inventario.
parent b22b01ef
...@@ -5,10 +5,23 @@ import plotly.express as px ...@@ -5,10 +5,23 @@ import plotly.express as px
import requests import requests
import numpy as np import numpy as np
import flask import flask
import test_ch_2_b
def get_visit_data(visitnumber):
url_visitas = url + "/visits/" + str(visitnumber) + "/patients-data"
yaisons = requests.get(url_visitas).json()["patient_data"]
df = pd.json_normalize(yaisons)
df.drop(["tolerance_curve_measure","name","patient_visit_id", "visit_date"], inplace=True, axis=1)
lista = [ { cf["controlled_food"]: cf["increment_auc"] for cf in yaison["tolerance_curve_measure"] } for yaison in yaisons ]
df.rename(columns= lambda x: x.split(".")[1] if "." in x else x, inplace=True)
#df.drop(["patient_visit_id"], inplace=True, axis=0) #esta etiqueta aparece dos veces: dentro del primer nivel de json y dentro del json de sample
return pd.concat([df, pd.DataFrame(lista)], axis=1)
server = flask.Flask(__name__) server = flask.Flask(__name__)
# algunos parámetros globales # algunos parámetros globales
url = 'https://nutricion.c3.unam.mx/nd/' url = 'https://nutricion.c3.unam.mx/nd/'
Visitas_e = 4 Visitas_e = 4
Etapas_e = 3 Etapas_e = 3
...@@ -28,23 +41,19 @@ esperados = { ...@@ -28,23 +41,19 @@ esperados = {
} }
def get_visit_data(visitnumber):
url_visitas = url + "/visits/" + str(visitnumber) + "/patients-data"
yaisons = requests.get(url_visitas).json()["patient_data"]
df = pd.json_normalize(yaisons)
df.drop(["tolerance_curve_measure","name","patient_visit_id", "visit_date"], inplace=True, axis=1)
lista = [ { cf["controlled_food"]: cf["increment_auc"] for cf in yaison["tolerance_curve_measure"] } for yaison in yaisons ]
df.rename(columns= lambda x: x.split(".")[1] if "." in x else x, inplace=True)
#df.drop(["patient_visit_id"], inplace=True, axis=0) #esta etiqueta aparece dos veces: dentro del primer nivel de json y dentro del json de sample
return pd.concat([df, pd.DataFrame(lista)], axis=1)
# fuentes de datos # fuentes de datos
reclutados = pd.read_json(url+"patients/")
participantes = reclutados.loc[reclutados["include_in_analysis"]]
#print(pacientes.columns)
# consulta online a la API para las visitas, que proporcionan la info de # consulta online a la API para las visitas, que proporcionan la info de
# visitas y microbiota # visitas y microbiota
visitas_datos = [ get_visit_data(visita) for visita in range(1, Visitas_e + 1)] visitas_datos = [ get_visit_data(visita) for visita in range(1, Visitas_e + 1)]
# la info de glucómetro y comidas es más compleja. por el momento, se estab armando # la info de glucómetro y comidas viene de clickhouse_connect.
# la info offline.
comidas_df = test_ch_2_b.foods()
glucometro_df = test_ch_2_b.glucometros()
data_o = ( data_o = (
pd.read_csv("inventario.csv") pd.read_csv("inventario.csv")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment