Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Aplicación médica en Python con conexión a PostgreSQL, Ejercicios de Compresión de Datos

Desarrollo de una aplicación en consola con Python y PostgreSQL. Simula una ficha de paciente con entidades como cama, habitación, médico y diagnóstico. Permite ingresar y consultar datos del paciente a través de la consola. Utiliza Anaconda Navigator y Jupyter Notebook. Incluye diseño de modelo relacional, creación de base de datos y desarrollo de la aplicación en cuatro archivos.

Tipo: Ejercicios

2023/2024

Subido el 20/05/2024

rutanga
rutanga 🇨🇱

1 / 15

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Trabajo de desarrollo
Aplicación médica en python
con conexión a PostgreSQL
Integrantes:
Tirso Alvarado
Ignacio
Avalos
Diego Brito
Alberto Olvivares
Ruth Sánchez
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Vista previa parcial del texto

¡Descarga Aplicación médica en Python con conexión a PostgreSQL y más Ejercicios en PDF de Compresión de Datos solo en Docsity!

Trabajo de desarrollo

Aplicación médica en python

con conexión a PostgreSQL

Integrantes: Tirso Alvarado Ignacio Diego Brito Alberto Olvivares Ruth Sánchez

Caso de estudio

Introducción

En el siguiente trabajo se presenta una aplicación en consola desarrollada con Python y el motor de

bases de datos PostgreSQL, que simula una ficha de un paciente asociado a entidades como cama,

habitación, médico, enfermedad y diagnóstico. El programa permite ingresar datos y también realizar

consultas de los datos del paciente a través de la consola, incluyendo el nombre, RUT del paciente, su

cama asociada, la habitación, el médico tratante, entre otros. En el desarrollo de esta aplicación, se

utilizó Anaconda Navigator como entorno virtual y Jupyter Notebook en su versión 6.5.4 como IDE.

Orden id_orden SERIAL Primaria

PRIMARY

KEY

id_paciente INT Foránea (Paciente)

FOREIGN

KEY

id_medico INT Foránea (Medico)

FOREIGN

KEY

id_examen INT Foránea (Examen)

FOREIGN

KEY

fecha_orden DATE - - comentarios_orden TEXT - -

Tabla 1. Estructura SQL.

Serial : Se utilizó para definir un valor único y además incremental. Se hizo uso en todas las ID.

Primary Key : Se crearon ID propios para cada entidad. No se utilizó el número de habitación como ID,

porque podría haber unicidad no asegurada.

Foránea : Se utilizaron para establecer vínculos entre entidades.

Unique : Se utilizó para asegurar que los valores de la columna sean únicos, por ejemplo, el Rut.

Garantiza unicidad.

INT : Se asignaron a las variables que son números enteros.

Vachar : Para variables que usan caracteres.

De la tabla 1, se crea la Query SQL para PostgreSQL,

CREATE TABLE Habitacion (

id_habitacion SERIAL PRIMARY KEY,

numero_habitacion INT UNIQUE

CREATE TABLE Cama (

id_cama SERIAL PRIMARY KEY,

numero_cama INT,

id_habitacion INT,

FOREIGN KEY (id_habitacion) REFERENCES Habitacion(id_habitacion)

CREATE TABLE Paciente (

id_paciente SERIAL PRIMARY KEY,

nombre_paciente VARCHAR(255),

rut VARCHAR(255) UNIQUE,

fecha_ingreso DATE,

fecha_alta DATE,

id_cama INT,

FOREIGN KEY (id_cama) REFERENCES Cama(id_cama)

CREATE TABLE Medico (

id_medico SERIAL PRIMARY KEY,

nombre_medico VARCHAR(255)

CREATE TABLE Examen (

id_examen SERIAL PRIMARY KEY,

nombre_examen VARCHAR(255),

tipo_examen VARCHAR(255)

CREATE TABLE Diagnostico (

id_diagnostico SERIAL PRIMARY KEY,

id_paciente INT,

id_medico INT,

comentarios_diagnostico TEXT,

fecha_diagnostico DATE,

FOREIGN KEY (id_paciente) REFERENCES Paciente(id_paciente),

FOREIGN KEY (id_medico) REFERENCES Medico(id_medico)

CREATE TABLE Enfermedad (

id_enfermedad SERIAL PRIMARY KEY,

id_diagnostico INT,

nombre_enfermedad VARCHAR(255),

FOREIGN KEY (id_diagnostico) REFERENCES Diagnostico(id_diagnostico)

CREATE TABLE Orden (

id_orden SERIAL PRIMARY KEY,

id_paciente INT,

id_medico INT,

Luego, se insertan los datos utilizando insert into, para todas las entidades (Archivo insert.sql)

Para el desarrollo de este proyecto, se trabajará en Jupyter Notebook, desde Anaconda Navigator, con

el environment “base”

Se crea un script en python que permite la inserción de datos, llamado poblar.py.

Opción: 1. Muestra a todos los pacientes ingresados, su rut, nombre, enfermedad, medico y numero

de habitación.

Opción 2. Muestra los detalles de un paciente por rut. En este caso se consultó el paciente con rut

111111111k, que entrega como resultado, el nombre, enfermedad, entre otros.

Opción 3: Cambiar a un paciente de cama, por ejemplo, al 111111111k, que se encuentra en la cama 5

de la habitación 103.

Al consultar al paciente, ahora se encuentra en la cama 1 de habitación 103.

Opción 4. Se cambia el médico del paciente 111111111k, por el “Médico 1”

Al consultar por el rut, ahora el paciente tiene asignado al “Médico 1”.

Opción 6: Crear una cama. Se crea la cama 7, para la habitación 101.

Aquí se puede ver la cama 7 añadida a la habitacion 101.

Opción 7. Sale del programa.