Ejemplo n.º 1
0
 def __init__(self, *args, **kwargs):
     self.tids=["CC", "CE", "TI", "Registro Civil"]
     super(pacienteWindow, self).__init__(*args, **kwargs)
     self.ui = Senales()
     self.ui.setupUi(self)
     self.ui.ti.addItems(self.tids)
     self.preparaVentana()
     self.accionesMenu()
Ejemplo n.º 2
0
class pacienteWindow(QtGui.QMainWindow):
    def __init__(self, *args, **kwargs):
        self.tids=["CC", "CE", "TI", "Registro Civil"]
        super(pacienteWindow, self).__init__(*args, **kwargs)
        self.ui = Senales()
        self.ui.setupUi(self)
        self.ui.ti.addItems(self.tids)
        self.preparaVentana()
        self.accionesMenu()

    def preparaVentana(self):
        self.ui.buscar.clicked.connect(self.buscaPaciente)
        self.ui.agregar.clicked.connect(self.agregaPaciente)
        self.ui.pushButton.clicked.connect(self.detener)
        self.ui.pushButton_2.clicked.connect(self.graficaSenal)
        self.ui.nueva_medicion.clicked.connect(self.nuevaMedicion)
        self.ui.finalizar_medicion.clicked.connect(self.terminarMedicion)
        self.ui.pushButton.setDisabled(True)
        self.ui.pushButton_2.setDisabled(True)
        self.ui.nueva_medicion.setDisabled(True)
        self.ui.finalizar_medicion.setDisabled(True)
        self.ui.nombre.setDisabled(True) ; self.ui.ID.setDisabled(True)
        self.ventanaAgregar=MainWindows()

    def agregaPaciente(self):
        self.ventanaAgregar.show()

    def accionesMenu(self):
        self.ui.actionDiagn_stico.setShortcut("Ctrl+D")
        self.connect(self.ui.actionDiagn_stico, SIGNAL("triggered()"), self.realizaDiagnostico)
        self.ui.actionTarjeta_Bitalino.setShortcut("Ctrl+T")
        self.connect(self.ui.actionTarjeta_Bitalino, SIGNAL("triggered()"), self.seleccionaTarjeta)
        self.ui.actionVer_historial.setShortcut("Ctrl+H")
        self.connect(self.ui.actionVer_historial, SIGNAL("triggered()"), self.verHistorial)

    def verHistorial(self):
        idP = str(self.ui.busqueda.toPlainText())
        tiP = str(self.tids[self.ui.ti.currentIndex()])
        if(len(idP)>0 and idP !="ID"):
            self.ventanaHistorial=HistorialPacientesWindow(idP, tiP)
            self.ventanaHistorial.show()
        else:
            QtGui.QMessageBox.about(self, "ERROR", "Los campos de identificacion y tipo de identificacion no pueden ser vacios.")
    def seleccionaTarjeta(self):
        self.ejec=TarjetaBitalinoWindow()
        self.ejec.show()

    def terminarMedicion(self):
        self.ui.finalizar_medicion.setDisabled(True)
        self.ui.pushButton_2.setDisabled(True)
        self.ui.nueva_medicion.setEnabled(True)
    def nuevaMedicion(self):
        self.ui.nuevaMedicion()
        self.ui.pushButton_2.setEnabled(True)
        self.ui.nueva_medicion.setDisabled(True)
        self.ui.finalizar_medicion.setEnabled(True)


    def graficaSenal(self):
        adaptador = Adaptador()
        i = adaptador.getInputStream()
        adaptador.comenzarAGraficar()
        self.ui.pushButton_2.setEnabled(False)
        self.ui.pushButton.setEnabled(True)
        self.ui.finalizar_medicion.setDisabled(True)
        self.ui.graficar(i)

    def detener(self):
        self.ui.pushButton.setEnabled(False)
        self.ui.pushButton_2.setEnabled(True)
        self.ui.detener()
        self.ui.finalizar_medicion.setEnabled(True)

    #TODO crear un controlador que desacople la logica de la vista
    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

    def realizaDiagnostico(self):
        idP = str(self.ui.busqueda.toPlainText())
        tiP = str(self.tids[self.ui.ti.currentIndex()])
        if(len(idP)>0 and idP !="ID"):
            self.ventanaDiagnostico=DiagnosticoWindow(idP, tiP)
            self.ventanaDiagnostico.show()
        else:
            QtGui.QMessageBox.about(self, "ERROR", "Los campos de identificacion y tipo de identificacion no pueden ser vacios.")