def comprobarPaciente(self, cedula): """Metodos para comprobar si existe un paciente en especifico""" self.conn = Connection.Connect() # Conexión a la base de datos cursor = self.conn.cursor() # Creación del cursor p = Paciente() # Instancia a la clase paciente global datosPaciente datosPaciente = p.buscarPacientePorCedula( cedula ) # Se busca el paciente por cédula y su resultado se asigna en una variable if len( datosPaciente ) == 0: # Si hay resultado en la búsqueda se retorna falso de lo contrario devuelve los datos return False else: return datosPaciente
def aceptaDatos(self): if(miHospital.verificaHabitacion(self.comboBox_Habitacion.currentText())): self.ventana_yaOcupada = Ui_habOcupada_ventana() self.ventana_yaOcupada.show() else: global nombrePaciente nombrePaciente = self.cajaNombre.toPlainText() print("Mi nombre es: " + nombrePaciente) habitacion = self.comboBox_Habitacion.currentText() print("Mi habitacion es: " + habitacion) diagnostico = self.cajaDiagnostico.toPlainText() print("Mi diagnostico es: " + diagnostico) alergias = self.cajaAlergias.toPlainText() print("Mis alergias: " + alergias) comentario = self.cajaComentario.toPlainText() print("Mi comentario es: " + comentario) preAlta = self.comboBox_preAlta.currentText() print("Mi preAlta es: " + preAlta) gravedad = self.checaBotonGravedad() print("Mi gravedad es: " + gravedad) print("--------------------") nuevoPaciente = Paciente(1, nombrePaciente, habitacion, diagnostico, alergias, comentario, preAlta, gravedad) miHospital.myArrayPacientes.append(nuevoPaciente) renglonPos = ventanaPacientes.tablaPacientes.rowCount() ventanaPacientes.tablaPacientes.insertRow(renglonPos) ventanaPacientes.tablaPacientes.setItem(renglonPos , 0, QtWidgets.QTableWidgetItem(nombrePaciente)) ventanaPacientes.tablaPacientes.setItem(renglonPos , 1, QtWidgets.QTableWidgetItem(habitacion)) ventanaPacientes.tablaPacientes.setItem(renglonPos , 2, QtWidgets.QTableWidgetItem(gravedad)) ventanaPacientes.tablaPacientes.setItem(renglonPos , 3, QtWidgets.QTableWidgetItem(preAlta)) self.close()
def edit_paciente(post_id): if not session.get('logged_in'): return "you need to log in first" db = DBHandler() paciente = db.get_one_paciente(post_id) if request.method == 'POST': name = request.form['name'] dni = request.form['dni'] fecha = request.form['fecha'] file_path = paciente.getFile_path() print("file path\n" + file_path) if request.files['file']: print("requested FILE\n") os.remove(paciente.file_path) f = request.files['file'] filename = f.filename file_path = 'files/' + filename # Para guardar en DB open('files/' + filename, 'x') # Cuidado: va a tirar excepcion si el archivo ya existe f.save(file_path) db = DBHandler() paciente = Paciente(id=post_id, nombre=name, dni=dni, fecha=fecha, file_path=file_path) db.update_paciente(paciente) flash('Paciente editado') return render_template('paciente_edit.html', paciente=paciente)
def add_paciente(): if not session.get('logged_in'): return "you need to log in first" if request.method == 'POST': if 'file' not in request.files: print("no file") render_template('paciente_add.html') f = request.files['file'] filename = f.filename open('files/' + filename, 'x') # Cuidado: va a tirar excepcion si el archivo ya existe file_path = 'files/' + filename # Para guardar en DB f.save(file_path) paciente_name = getPacienteNameFromFile(file_path) # Para guardar en DB fecha = str(datetime.date.today()) dni = request.form['dni'] if dni == "": dni = "0" paciente = Paciente(id=None, nombre=paciente_name, dni=dni, fecha=fecha, file_path=file_path) db = DBHandler() db.add_paciente(paciente) list_paciente = db.get_pacientes() return render_template('pacientes.html', lista=list_paciente) else: return render_template('paciente_add.html')
def crearPacienteDesdeFormulario(self): values = [e.get() for e in self.entries] paciente = None try: paciente = Paciente(*values) except ValueError as e: messagebox.showerror("Error de Validación", str(e), parent=self) return paciente
def CrearPaciente(self): paciente = Paciente values = [e.get() for e in self.entries] try: paciente = Paciente(*values) except ValueError as error: messagebox.showerror("Error", str(error), parent=self) else: return paciente
def listar(self): _pacientes = self.cursor.execute( "SELECT * FROM pacientes ORDER BY nome") pacientes = [] for r in _pacientes: p = Paciente(r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8], r[9], r[10]) pacientes.append(p) return pacientes
def cargar_pacientes(): cuerpo = request.get_json() contenido = cuerpo['contenido'] filas = contenido.split("\n") global pacientes for fila in filas: print(fila) columnas = fila.split(",") paciente = Paciente(columnas[0],columnas[1],columnas[2],columnas[3],columnas[4],columnas[5],columnas[6]) pacientes.append(paciente) return jsonify({"mensaje":"Carga masiva exitosa"})
def AgregarPaciente(): global Pacientes nombre = request.json['Nombre'] nombre=nombre.replace(" ","") apellido= request.json['Apellido'] nacimiento = request.json['Fecha'] sexo = request.json['Sexo'] username = request.json['Usuario'] contra = request.json['Contraseña'] nuevo = Paciente(nombre,apellido,nacimiento,sexo,username,contra) Pacientes.append(nuevo) return jsonify({'Mensaje':'Se agrego el Paciente exitosamente',})
def marcarConsulta(nome, nascimento, sexo, cpf, sangue, doenca, medico, quarto, data, horario): quartoIndice = getQuartoIndex(int(quarto)) if(len(quartoIndice) > 0): quartoIndice = quartoIndice[0] paciente = Paciente(doenca, nome, nascimento, sexo, cpf,sangue) consultas.append(Consulta(medico, paciente, data, horario, quarto)) quartos[quartoIndice].setOcupado() quartos[quartoIndice].setPaciente(nome) return consultas[-1] return False
def registro_paciente(): cuerpo = request.get_json() nombre = cuerpo['nombre'] apellido = cuerpo['apellido'] fecha_nacimiento = cuerpo['fecha_nacimiento'] sexo = cuerpo['sexo'] nombre_usuario = cuerpo['nombre_usuario'] if(existe_usuario(nombre_usuario)): return jsonify({'agregado':0,'mensaje':'Ya existe un usuario con este nombre'}) contrasena = cuerpo['contrasena'] telefono = cuerpo['telefono'] nuevo_paciente = Paciente(nombre,apellido,fecha_nacimiento,sexo,nombre_usuario,contrasena,telefono) global pacientes pacientes.append(nuevo_paciente) return jsonify({'agregado':1,'mensaje':'Registro exitoso'})
def cargaMasiva(): global Pacientes contador_pacientes = len(Pacientes) usuariosCM = request.json["usuarios"] # print (usuariosCM) for paciente in usuariosCM: contador_pacientes += 1 nombre = paciente['nombre'] apellido = paciente['apellido'] fechaNacimiento = paciente['fecha'] sexo = paciente['genero'] username = paciente['usuario'] password = paciente['password'] telefono = paciente['telefono'] Users.append( User(contador_pacientes, nombre, apellido, fechaNacimiento, sexo, username, password, telefono, 3)) Pacientes.append( Paciente(contador_pacientes, nombre, apellido, fechaNacimiento, sexo, username, password, telefono)) return jsonify({"mensaje": "OK"})
def registerPaciente(): print('***************** Registro Paciente *******************') nombre = input('Digita tu nombre') documento = int(input('Digita tu documento')) pacienteExiste = False for paciente in pacientes: if paciente.documento == paciente: pacienteExiste = True if pacienteExiste == False: print('ENTRO') id = autoIncrement('doctores') paciente = Paciente(id=id, nombre=nombre, documento=documento) data.get('pacientes').append(paciente) data_sesion['role'] = 0 data_sesion['id'] = paciente.id data_sesion['documento'] = paciente.documento data_sesion['nombre'] = paciente.nombre welcome() else: print('Este paciente ya existe') registerPaciente()
def registroPaciente(): if request.method == 'POST': global Users, Pacientes contador_pacientes = len(Pacientes) contador_usuarios = len(Users) nombre = request.json['nombre'] apellido = request.json['apellido'] fechaNacimiento = request.json['fechaNacimiento'] sexo = request.json['sexo'] username = request.json['username'] password = request.json['password'] telefono = request.json['telefono'] for user in Users: print(user.username) if username == user.username: return jsonify({"message": "Este usuario ya existe"}) if len(password) >= 8: contador_pacientes += 1 contador_usuarios += 1 Users.append( User(contador_usuarios, nombre, apellido, fechaNacimiento, sexo, username, password, telefono, 3)) Pacientes.append( Paciente(contador_pacientes, nombre, apellido, fechaNacimiento, sexo, username, password, telefono)) return jsonify({ "message": "Ok", "usuario": { "nombre": nombre, "apellido": apellido, "fechaNacimiento": fechaNacimiento, "sexo": sexo, "username": username, "password": password, "telefono": telefono } }), 200 return jsonify({"message": "La contrasena debe al menos 8 caracteres"})
def leerBaseDeDatosHospital(self, archivoHospital, miVentana): try: with open(archivoHospital) as miArchivo_csv: lector_csv = csv.reader(miArchivo_csv, delimiter='|') contadorLinea = 0 for renglon in lector_csv: if contadorLinea == 0: contadorLinea += 1 else: nombrePaciente = renglon[0] habitacion = renglon[1] gravedad = renglon[2] preAlta = renglon[3] diagnostico = renglon[4] alergias = renglon[5] comentario = renglon[6] nuevoPaciente = Paciente(1, nombrePaciente, habitacion, diagnostico, alergias, comentario, preAlta, gravedad) self.myArrayPacientes.append(nuevoPaciente) renglonPos = miVentana.tablaPacientes.rowCount() miVentana.tablaPacientes.insertRow(renglonPos) miVentana.tablaPacientes.setItem( renglonPos, 0, QTableWidgetItem(nombrePaciente)) miVentana.tablaPacientes.setItem( renglonPos, 1, QTableWidgetItem(habitacion)) miVentana.tablaPacientes.setItem( renglonPos, 2, QTableWidgetItem(gravedad)) miVentana.tablaPacientes.setItem( renglonPos, 3, QTableWidgetItem(preAlta)) contadorLinea += 1 print("Ya acabe de cargar los datos de los pacientes.") except FileNotFoundError: print("No encontre el archivo...")
def toJSON(self): d = dict(__class__=self.__class__.__name__, Paciente=[Paciente.toJSON() for Paciente in self.__pacientes]) return d
def __init__(self): super(MainWindow, self).__init__() # Abrimos una conexion a la base de datos co = Conexion() # instanciamos a la BD arr_con = co.obtenerConexion() # traemos el arreglo de las credenciales ####### INSTANCIAMOS LAS CLASES DE LA INTERFAZ ####### # instanciamos los botones self.bot = Botones(arr_con) self.pac = Paciente(arr_con) self.ort = Ortodoncista(arr_con) self.are = Area(arr_con) ###################################################### self.zoom = 0.0 self.contenedorImagen = QtGui.QLabel() self.contenedorImagen.setBackgroundRole(QtGui.QPalette.Base) self.contenedorImagen.setSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Ignored) self.contenedorImagen.setScaledContents(True) self.desplazamientoArea = QtGui.QScrollArea() self.desplazamientoArea.setBackgroundRole(QtGui.QPalette.Dark) self.desplazamientoArea.setWidget(self.contenedorImagen) lblSna = QtGui.QLabel('SNA:') self.txtSna = QtGui.QLabel('ANB:') lblSnb = QtGui.QLabel('SNB:') self.txtSnb = QtGui.QLabel('SND:') lblAnb = QtGui.QLabel('82') self.txtAnb = QtGui.QLabel('82') lblSnd = QtGui.QLabel('82') self.txtSnd = QtGui.QLabel('82') # CONTENEDORES ######################## resultadosLayout = QtGui.QVBoxLayout() resultadosLayout.addWidget(lblSna) resultadosLayout.addWidget(self.txtSna) resultadosLayout.addWidget(lblSnb) resultadosLayout.addWidget(self.txtSnb) resultadosLayout2 = QtGui.QVBoxLayout() resultadosLayout2.addWidget(lblAnb) resultadosLayout2.addWidget(self.txtAnb) resultadosLayout2.addWidget(lblSnd) resultadosLayout2.addWidget(self.txtSnd) unionResultados = QtGui.QHBoxLayout() unionResultados.addLayout(resultadosLayout) unionResultados.addLayout(resultadosLayout2) self.resultadosGroup = QtGui.QGroupBox('Resultados') self.resultadosGroup.setLayout(unionResultados) self.__estadoAgregar = True self.resultadosGroup.setVisible(self.__estadoAgregar) # self.scene = AreaDibujo() # self.scene.setSceneRect(QtCore.QRectF(0, 0, 300, 300)) # # self.scene.addWidget(self.desplazamientoArea) # # self.scene.setBackgroundBrush(QtCore.Qt.blue) # self.view = QtGui.QGraphicsView(self.scene) # self.view.setRenderHint(QtGui.QPainter.Antialiasing) self.crearAtajos() self.crearMenus() self.widgetPrincipal() self.conexionesEventos() self.setCentralWidget(self.pestania) self.setWindowTitle('Mediciones dentales')
class MainWindow(QtGui.QMainWindow): def __init__(self): super(MainWindow, self).__init__() # Abrimos una conexion a la base de datos co = Conexion() # instanciamos a la BD arr_con = co.obtenerConexion() # traemos el arreglo de las credenciales ####### INSTANCIAMOS LAS CLASES DE LA INTERFAZ ####### # instanciamos los botones self.bot = Botones(arr_con) self.pac = Paciente(arr_con) self.ort = Ortodoncista(arr_con) self.are = Area(arr_con) ###################################################### self.zoom = 0.0 self.contenedorImagen = QtGui.QLabel() self.contenedorImagen.setBackgroundRole(QtGui.QPalette.Base) self.contenedorImagen.setSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Ignored) self.contenedorImagen.setScaledContents(True) self.desplazamientoArea = QtGui.QScrollArea() self.desplazamientoArea.setBackgroundRole(QtGui.QPalette.Dark) self.desplazamientoArea.setWidget(self.contenedorImagen) lblSna = QtGui.QLabel('SNA:') self.txtSna = QtGui.QLabel('ANB:') lblSnb = QtGui.QLabel('SNB:') self.txtSnb = QtGui.QLabel('SND:') lblAnb = QtGui.QLabel('82') self.txtAnb = QtGui.QLabel('82') lblSnd = QtGui.QLabel('82') self.txtSnd = QtGui.QLabel('82') # CONTENEDORES ######################## resultadosLayout = QtGui.QVBoxLayout() resultadosLayout.addWidget(lblSna) resultadosLayout.addWidget(self.txtSna) resultadosLayout.addWidget(lblSnb) resultadosLayout.addWidget(self.txtSnb) resultadosLayout2 = QtGui.QVBoxLayout() resultadosLayout2.addWidget(lblAnb) resultadosLayout2.addWidget(self.txtAnb) resultadosLayout2.addWidget(lblSnd) resultadosLayout2.addWidget(self.txtSnd) unionResultados = QtGui.QHBoxLayout() unionResultados.addLayout(resultadosLayout) unionResultados.addLayout(resultadosLayout2) self.resultadosGroup = QtGui.QGroupBox('Resultados') self.resultadosGroup.setLayout(unionResultados) self.__estadoAgregar = True self.resultadosGroup.setVisible(self.__estadoAgregar) # self.scene = AreaDibujo() # self.scene.setSceneRect(QtCore.QRectF(0, 0, 300, 300)) # # self.scene.addWidget(self.desplazamientoArea) # # self.scene.setBackgroundBrush(QtCore.Qt.blue) # self.view = QtGui.QGraphicsView(self.scene) # self.view.setRenderHint(QtGui.QPainter.Antialiasing) self.crearAtajos() self.crearMenus() self.widgetPrincipal() self.conexionesEventos() self.setCentralWidget(self.pestania) self.setWindowTitle('Mediciones dentales') def abrir(self): self.bot.abrir() self.cargar() def actualizarCambios(self): self.zoomMasAct.setEnabled(not self.tamanoVentanaAct.isChecked()) self.zoomMenosAct.setEnabled(not self.tamanoVentanaAct.isChecked()) self.tamanoNormalAct.setEnabled(not self.tamanoVentanaAct.isChecked()) def ajustarDesplazamientoBarra(self, barra, valor): barra.setValue(int(valor * barra.value() + ((valor - 1) * barra.pageStep()/2))) def cambioTab(self, indice): if indice==0: # diagnostico self.bot.actualizar() elif indice==1: # paciente self.pac.actualizar() elif indice==2: # ortodoncista self.ort.actualizar() elif indice==3: # area self.are.actualizar() def cargar(self): if self.bot.imagen!=None: print 'Ruta:', self.bot.rutaImagen ### # Se comentarizaron estas lineas porque tira error ### # self.scene.addWidget(QtGui.QPixmap.fromImage(self.bot.imagen)) self.contenedorImagen.setPixmap(QtGui.QPixmap.fromImage(self.bot.imagen)) self.zoom = 1.0 self.tamanoVentanaAct.setEnabled(True) self.actualizarCambios() if not self.tamanoVentanaAct.isChecked(): self.contenedorImagen.adjustSize() ##### clase: Botones #### def conexionesEventos(self): self.bot.btnCargarImagen.clicked[bool].connect(self.cargar) self.pestania.currentChanged.connect(self.cambioTab) def crearAtajos(self): self.abrirAct = QtGui.QAction("&Abrir...", self, shortcut="Ctrl+O", triggered=self.abrir) self.salirAct = QtGui.QAction("&Salir de TESIS", self, shortcut="Ctrl+Q", triggered=self.close) self.zoomMasAct = QtGui.QAction("&Aumentar zoom (25%)", self, shortcut="Ctrl++", enabled=False, triggered=self.zoomMas) self.zoomMenosAct = QtGui.QAction("&Disminuir zoom (25%)", self, shortcut="Ctrl+-", enabled=False, triggered=self.zoomMenos) self.tamanoNormalAct = QtGui.QAction("&Tamano normal", self, shortcut="Ctrl+S", enabled=False, triggered=self.tamanoNormal) self.tamanoVentanaAct = QtGui.QAction("&Ancho de ventana", self, enabled=False, checkable=True, shortcut="Ctrl+F", triggered=self.tamanoVentana) def crearMenus(self): self.menuArchivo = QtGui.QMenu("&Archivo", self) self.menuArchivo.addAction(self.abrirAct) self.menuArchivo.addSeparator() self.menuArchivo.addAction(self.salirAct) self.menuVisualizacion = QtGui.QMenu("&Visualizacion", self) self.menuVisualizacion.addAction(self.zoomMasAct) self.menuVisualizacion.addAction(self.zoomMenosAct) self.menuVisualizacion.addAction(self.tamanoNormalAct) self.menuVisualizacion.addSeparator() self.menuVisualizacion.addAction(self.tamanoVentanaAct) self.menuBar().addMenu(self.menuArchivo) self.menuBar().addMenu(self.menuVisualizacion) def tamanoNormal(self): self.contenedorImagen.adjustSize() self.zoom = 1.0 def tamanoVentana(self): tamanoVentana = self.tamanoVentanaAct.isChecked() self.desplazamientoArea.setWidgetResizable(tamanoVentana) if not tamanoVentana: self.tamanoNormal() self.actualizarCambios() def widgetPrincipal(self): self.pestania = QtGui.QTabWidget() divisor = QtGui.QSplitter(QtCore.Qt.Horizontal) divisor.addWidget(self.bot.wig) divisor.addWidget(self.desplazamientoArea) divisor.addWidget(self.resultadosGroup) # divisor.setSizes([200, 500]) # divisor.addWidget(self.view) divisor2 = QtGui.QSplitter(QtCore.Qt.Horizontal) divisor2.addWidget(self.pac.wig) divisor3 = QtGui.QSplitter(QtCore.Qt.Horizontal) divisor3.addWidget(self.ort.wig) divisor4 = QtGui.QSplitter(QtCore.Qt.Horizontal) divisor4.addWidget(self.are.wig) self.pestania.addTab(divisor, 'Diagnostico') self.pestania.addTab(divisor2, 'Pacientes') self.pestania.addTab(divisor3, 'Ortodoncistas') self.pestania.addTab(divisor4, 'Areas') def zoomImagen(self, valor): self.zoom *= valor self.contenedorImagen.resize(self.zoom * self.contenedorImagen.pixmap().size()) self.ajustarDesplazamientoBarra(self.desplazamientoArea.horizontalScrollBar(), valor) self.ajustarDesplazamientoBarra(self.desplazamientoArea.verticalScrollBar(), valor) self.zoomMasAct.setEnabled(self.zoom < 3.0) self.zoomMenosAct.setEnabled(self.zoom > 0.333) def zoomMas(self): self.zoomImagen(1.25) def zoomMenos(self): self.zoomImagen(0.8)
#Almacenamiento administrador = { "nombre": "ingrid", "apellido": "perez", "nombre_usuario": "admin", "contrasena": "1234" } pacientes = [] medicamentos = [] citas = [] doctores = [] pacientes.append( Paciente("Ingrid", "Pérez", "", "", "ingrid", "1234", "24452452")) @app.route('/', methods=['GET']) def principal(): return "Api Taller 1" @app.route('/registro_paciente', methods=['POST']) def registro_paciente(): cuerpo = request.get_json() nombre = cuerpo['nombre'] #nombre = ingrid apellido = cuerpo['apellido'] fecha_nacimiento = cuerpo['fecha_nacimiento'] sexo = cuerpo['sexo'] nombre_usuario = cuerpo['nombre_usuario']
def populate_data(): doctores = [] pacientes = [] notas = [] citas = [] # --- POPUlAMOS DOCTORES --- id = autoIncrement('doctores') doctor_1 = Doctor(id=id, nombre='Walter Giovanny Cuadros Rincón', documento=908) id = autoIncrement('doctores') doctor_2 = Doctor(id=id, nombre='Raul Castillo', documento=809) id = autoIncrement('doctores') doctor_3 = Doctor(id=id, nombre='Edgar Vivar', documento=980) id = autoIncrement('doctores') doctor_4 = Doctor(id=id, nombre='Janeth Blanco', documento=890) doctores.append(doctor_1) doctores.append(doctor_2) doctores.append(doctor_3) doctores.append(doctor_4) id = autoIncrement('pacientes') print('cristian {}'.format(id)) paciente_1 = Paciente(id=id, nombre='Christian Perez', documento=1234) id = autoIncrement('pacientes') paciente_2 = Paciente(id=id, nombre='Javier Gonzalez', documento=4567) id = autoIncrement('pacientes') paciente_3 = Paciente(id=id, nombre='Omaira Rincón', documento=890) id = autoIncrement('pacientes') paciente_4 = Paciente(id=id, nombre='Mary Mancipe', documento=246) pacientes.append(paciente_1) pacientes.append(paciente_2) pacientes.append(paciente_3) pacientes.append(paciente_4) id = autoIncrement('cita') cita_1 = Cita(id=id, id_doctor=doctor_1.id, id_paciente=paciente_1.id, fecha='24/04/2021', hora='8') id = autoIncrement('cita') cita_2 = Cita(id=id, id_doctor=doctor_2.id, id_paciente=paciente_2.id, fecha='24/04/2021', hora='8') id = autoIncrement('cita') cita_3 = Cita(id=id, id_doctor=doctor_3.id, id_paciente=paciente_3.id, fecha='24/04/2021', hora='8') id = autoIncrement('cita') cita_4 = Cita(id=id, id_doctor=doctor_4.id, id_paciente=paciente_4.id, fecha='24/04/2021', hora='8') citas.append(cita_1) citas.append(cita_2) citas.append(cita_3) citas.append(cita_4) return { 'doctores': doctores, 'pacientes': pacientes, 'citas': citas, 'notas': notas }
def to_values(self, Paciente): return Paciente.getApellido(), Paciente.getNombre( ), Paciente.getTelefono(), Paciente.getAltura(), Paciente.getPeso()