Beispiel #1
0
    def buscaPaciente(self):

        try:
            if Adaptador.mac != None:
                #Limpiar los campos
                self.ui.nombre.setText("")
                self.ui.ID.setText("")
                idP = str(self.ui.busqueda.toPlainText())
                tiP = self.tids[self.ui.ti.currentIndex()]
                paciente = AplicacionBitalino.consultarPacientePorId(idP, tiP)
                print(paciente)
                if paciente != None:
                    self.ui.nueva_medicion.setEnabled(True)
                    self.ui.nombre.setText(paciente.nombres + " " + paciente.apellidos)
                    self.ui.ID.setText(paciente.id)
                    self.ui.graficaSenales.set_paciente(paciente)
                    AplicacionBitalino.agregarDiagnostico(None, paciente.id)
                    diagnostico = AplicacionBitalino.consultarMaxIdDiagnostrico()
                    self.ui.graficaSenales.set_diagnostico(diagnostico)
                    self.ui.actionVer_historial.setEnabled(True)
                else:
                    QtGui.QMessageBox.about(self, "INFO", "No se ha encontrado un paciente")
            else:
                QtGui.QMessageBox.about(self, "INFO", "No ha conectado un dispositivo de lectura")
        except Exception as e:
            raise e
Beispiel #2
0
 def cargarSenal(self):
     senal_id = self.ui.senales_list.currentItem().text().split(" ")[2]
     data  =  AplicacionBitalino.consultarSenal(str(senal_id))
     pylab.plot(data)
     pylab.ylabel("Pulso")
     pylab.xlabel("Tiempo")
     pylab.show()
Beispiel #3
0
 def prepararMediciones(self):
     self.ui.senales_list.clear()
     diagnostico_id = self.ui.diagnosticos_list.currentItem().text().split(" ")[1]
     #print str(diagnostico_id)
     senales = AplicacionBitalino.consultarSenalesDelDiagnostico(str(diagnostico_id))
     for s in senales:
         self.ui.senales_list.addItem("Senal No: " + str(s.id))
    def SinwaveformGenerator(self):
      #global values,T1,Konstant,T0,q

      if(not self.q.empty()):
        a = self.q.get()
        #agregando el dato al arreglo para guardar en la base de datos
        self.segmento_senal.append(a)
        #Agregando al values para que sea graficado
        self.values.append(a)
        #verificar si hay que guardar el segmento de la senal
        if(len(self.segmento_senal) == self.longitud_segmento):
            #guardar la senal
            AplicacionBitalino.agregarSenal( self.senal_id, self.orden_senal, self.segmento_senal,AplicacionBitalino.diagnostico_id)
            self.orden_senal+=1
            self.segmento_senal = []
        #agregando el dato al arreglo para graficar

      else:
          print "is empty"
Beispiel #5
0
 def importarPacientes(self):
     try:
         errores=AplicacionBitalino.importarPacientes("../pacientes.txt")
         if(len(errores)==0):
              QtGui.QMessageBox.about(self, "ACCION", "Se ha terminado de importar el archivo de pacientes")
         else:
             msg="\n".join(errores)
             QtGui.QMessageBox.about(self, "ERROR", "Se ha terminado de importar el archivo de pacientes\n"+
                                                     "No se pudieron importar los siguientes pacientes: \n"+msg)
     except Exception as e:
         QtGui.QMessageBox.about(self, "ERROR DE ARCHIVO", "El archivo pacientes no existe")
Beispiel #6
0
 def __init__(self, idPaciente, tiPaciente,  *args, **kwargs):
     super(DiagnosticoWindow, self).__init__(*args, **kwargs)
     self.ui = DiagnosticoPaciente()
     self.ui.setupUi(self)
     self.idP= idPaciente
     self.tiP=tiPaciente
     self.ui.TI.setText(self.tiP) ; self.ui.TI.setEnabled(False)
     self.ui.IDp.setText(self.idP) ; self.ui.IDp.setEnabled(False)
     paciente=AplicacionBitalino.consultarPacientePorId(self.idP, self.tiP)
     self.ui.nombreP.setText(paciente.nombres+" "+paciente.apellidos)
     self.ui.Guardar.clicked.connect(self.actualizarDiagnostico)
Beispiel #7
0
 def __init__(self, idPaciente, tiPaciente,  *args, **kwargs):
     super(HistorialPacientesWindow, self).__init__(*args, **kwargs)
     self.ui = HistorialPaciente()
     self.ui.setupUi(self)
     self.idP= idPaciente
     self.tiP=tiPaciente
     paciente=AplicacionBitalino.consultarPacientePorId(self.idP, self.tiP)
     self.ui.nombre_paciente_lbl.setText(paciente.nombres+" "+paciente.apellidos + " - " + self.idP)
     self.prepararVentanas()
     self.ui.diagnosticos_list.clicked.connect(self.prepararMediciones)
     self.ui.cargar_btn.clicked.connect(self.cargarSenal)
Beispiel #8
0
 def enviarPaciente(self):
     idP = str(self.ui.idp.toPlainText())
     ti = self.tids[self.ui.ti.currentIndex()]
     name, last=str(self.ui.name.toPlainText()), str(self.ui.last.toPlainText())
     gender, b=self.gender[self.ui.gender.currentIndex()], self.ui.dateEdit.date() ; birth=""
     if(b.day()<10):
         birth+="0"+str(b.day())
     else:
         birth+=str(b.day())
     if (b.month()<10):
         birth+="/"+"0"+str(b.month())
     else:
         birth+="/"+str(b.month())
     birth+="/"+str(b.year())[2:4] ; print(birth) ;  age=str(self.ui.spinBox.value()); phone=str(self.ui.phone.toPlainText())
     try:
         if(AplicacionBitalino.validaDatos(idP, name, last, age, phone, b.year())):
             AplicacionBitalino.agregarPaciente(idP,ti, name,  last, gender, birth, age, phone)
             QtGui.QMessageBox.about(self, "ACCION", "El paciente ha sido agregado correctamente")
         else:
             QtGui.QMessageBox.about(self, "DATOS CORRUPTOS", "Por favor revise los datos ingresados")
     except Exception as e:
             QtGui.QMessageBox.about(self, "ERROR ", e.message)
Beispiel #9
0
 def actualizarDiagnostico(self):
     comentarios=str(self.ui.textEdit.toPlainText())
     #AplicacionBitalino.agregarDiagnostico(comentarios, self.idP)
     AplicacionBitalino.actualizarDiagnostico(comentarios, self.idP)
     self.close()
Beispiel #10
0
 def prepararVentanas(self):
     diagnosticos = AplicacionBitalino.consultarDiagnosticosPaciente(self.idP)
     for d in diagnosticos:
         self.ui.diagnosticos_list.addItem("No. " + str(d.id) + " " + str(d.comentarios))
Beispiel #11
0
 def nuevaMedicion(self):
     self.graficaSenales.orden_senal = 0
     self.graficaSenales.senal_id = AplicacionBitalino.consultarMaxIdSenal() + 1
     self.graficaSenales.nueva_medicion()





from Persistencia.Base import *

from Logica.AplicacionBitalino import  AplicacionBitalino
engine = create_engine('sqlite:///../Persistencia/BaseDeDatos.db', echo=True)
Base = declarative_base()
Session = sessionmaker(bind=engine)
session = Session()

def agregaPaciente( idP, ti, name, lastname, gen, birth,phone, age):
    Base.metadata.create_all(engine)
    paciente=Paciente(idP, ti, name, lastname, gen, birth,phone, age)
    session.add(paciente)
    session.commit()
import datetime
birth = "10/06/94"

#agregaPaciente("1020793768" , "CC" , "luis" , "felipe" , "M" , datetime.datetime.strptime(birth, "%d/%m/%y").date(), "300210593", 21)


AplicacionBitalino.agregarSenal( 2 , 1 , [1,2,3,4,5,6,7,8,9,4,5,6,1,2,3,1,2,3,1,4,5,7,8,5,4,5,1,2,3,5], 1)