From ff9fa03958774e86d8cf5c3735909581956ee289 Mon Sep 17 00:00:00 2001 From: Richard Cotrina Date: Fri, 22 May 2015 21:53:55 -0500 Subject: [PATCH] Readme.md --- docs/README.md | 72 ++++++------------------------- src/citasalud/apps/main/models.py | 30 +++++++------ src/createsu.py | 24 +++++++++++ 3 files changed, 53 insertions(+), 73 deletions(-) create mode 100644 src/createsu.py diff --git a/docs/README.md b/docs/README.md index b04d7b0..cdad9ef 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,65 +1,19 @@ -# Práctica 02: Gestión de citas y diagnósticos +# CitaSalud: Gestión de citas y diagnósticos -Un hospital funciona con un sistema de cita previa. Cada vez que un paciente pide una cita, puede solicitarla él mismo vía web, por teléfono o personalmente en el centro hospitalario. En los dos últimos casos será atendido por un administrativo, independientemente de cómo se pida la cita, el sisema le asigna un día, una hora y su médico de cabecera. Para guardar esta información se utiliza un listado con el Nnúmero de Seguridad Social (NSS) del paciente, su nombre, apellidos, teléfono para comunicarle cualquier cambio en el día, hora y número de colegiado de su médico de cabecera. +## Descripción: +CitaSalud, es un sistema de gestión de citas y diagnóstico. El proyecto se realiza en base a una tarea para el curso de Sistemas de Información I. +Consiste de un Sistema Web, con un servidor escrito en Python y su framework Django, y dos interfaces: Una web, y otra de escritorio. -Una vez que llega a la consulta, el médico tiene un historial (datos personales, fecha de visitas, diagnóstico, o visita a otros médicos especialista) y le indica un diagnóstico con su correspondiente tratamiento. Si es enfermedad común, el paciente puede recibir el tratamiento en casa y, si no lo es, debe ir al especialista. Si le manda al especialista, se tendrá en cuenta que hay muchos especialistas, según el problema presentado, y que de nuevo se pedirá cita previa (igual para el de cabecera). -Cuando llega el día, el paciente visita el especialista y éste realiza un diagnóstico que se anota en su ficha de diagnóstico, identificando al paciente, al ´médico en general que lo envió a su consulta, el diagnóstico y el tratamiento que se le va a aplicar. +> **Enunciado**: [Práctica 02](./docs/README.md) +> **Integrantes**: +> - Cotrina Alvitres, Richard +> - Carmona Chavez, Jossy +> - Asmat Velásquez, Desiré +> - Vasquez Muñoz, Brenda +> - Polo Zavala, Nick -En el tratamiento pueden ser necesarias la intervención de una o varias operaciones, que serán realizadas por el médico especialista, así como radiografías, ecografías, inyecciones, etc., que van a ser realizadas, por distintas personas no médicas del hospital: ATS (Ayudante Técnico Sanitaro: practicantes, enfermer@s) , técnicos, auxiliares, etc.) +## Implementación -Se sabe que en el hospital los médicos van identificados por su número de colegiado y el resto del personal por su número de registro personal. -## ACTORES - -- PACIENTE -- PERSONAL (ADMINISTRATIVO) -- MEDICO - * GENERAL - * ESPECIALISTA - - -## PROCESOS PRINCIPALES - -- REGISTRAR CITA SOLICITADA POR PACIENTE -- PACIENTE ASISTE A CONSULTA - - -## ACTIVIDADES POR PROCESO PRINCIPAL - -### REGISTRO DE CITA SOLICITADA POR PACIENTE - -- **PACIENTE SOLICITA CITA** - - PACIENTE ======= SOLICITA CITA VIA WEB ======> SISTEMA - - PACIENTE ==== SOLICITA CITA PERSONALMENTE ===> SISTEMA - -- **CITA ES ASIGNADA A PACIENTE** - - SISTEMA === ASIGNA CITA ==> PACIENTE - -### PACIENTE ASISTE A CONSULTA - -- **MEDICO ATIENDE PACIENTE** - - MEDICO ===== CONSULTA HISTORIAL PACIENTE ====> SISTEMA - - SISTEMA == RETORNA DATOS+HISTORIAL PACIENTE => MEDICO - - MEDICO ============== ANALIZA ===============> PACIENTE - - MEDICO ====== ACTUALIZA DATOS PACIENTE ======> SISTEMA - - MEDICO =========== DIAGNOSTICA ==============> PACIENTE - - MEDICO ====== ANOTA DIAGNOSTICO PACIENTE ====> SISTEMA - -- - - -====== -CLASES -====== - -Paciente - -Personal - Administrativo - Medico - General - Especialista - -Cita_médica - +## Captura diff --git a/src/citasalud/apps/main/models.py b/src/citasalud/apps/main/models.py index f76f3aa..f9ca41f 100644 --- a/src/citasalud/apps/main/models.py +++ b/src/citasalud/apps/main/models.py @@ -6,35 +6,37 @@ class UsuarioManager(BaseUserManager): - def create_user(self, dni,fecha_nacimiento, first_name,last_name,password =None): + def create_user(self, username, dni, fecha_nacimiento, first_name,last_name,password =None): """ Creates and saves a User with the given email, date of birth and password. """ if not dni: - raise ValueError('EL USUARIO DEBE TENER DNI') + raise ValueError('Ingrese un n° DNI válido.') user = self.model( - dni=dni, - first_name=first_name, - last_name=last_name, - fecha_nacimiento=fecha_nacimiento + username=username, + dni=dni, + first_name=first_name, + last_name=last_name, + fecha_nacimiento=fecha_nacimiento ) user.set_password(password) user.save(using=self._db) return user - def create_superuser(self, dni,fecha_nacimiento, first_name,last_name,password): + def create_superuser(self,username,dni,fecha_nacimiento, first_name,last_name,password): """ Creates and saves a superuser with the given email, date of birth and password. """ - user = self.create_user(dni, + user = self.create_user(username, + dni=dni, password=password, - first_name=first_name, - last_name=last_name, - fecha_nacimiento=fecha_nacimiento + first_name=first_name, + last_name=last_name, + fecha_nacimiento=fecha_nacimiento ) user.is_active = True user.is_superuser = True @@ -45,7 +47,7 @@ def create_superuser(self, dni,fecha_nacimiento, first_name,last_name,password): class Usuario(AbstractBaseUser, PermissionsMixin): dni = DNIField("DNI", unique=True , primary_key= True) - username = models.CharField("Username", max_length=16) + username = models.CharField("Nombre de usuario", max_length=16, unique=True) first_name = models.CharField("Nombre", max_length=32) last_name = models.CharField("Ap. Paterno", max_length=16) apellido_materno = models.CharField("Ap. Materno", max_length=16) @@ -62,8 +64,8 @@ class Usuario(AbstractBaseUser, PermissionsMixin): is_staff = models.BooleanField(default = False) objects = UsuarioManager() - USERNAME_FIELD= 'dni' - REQUIRED_FIELDS = [ 'fecha_nacimiento','first_name' ,'last_name' ] + USERNAME_FIELD= 'username' + REQUIRED_FIELDS = ['dni', 'fecha_nacimiento','first_name' ,'last_name' ] def get_name(self): return self.first_name.split(" ")[0] diff --git a/src/createsu.py b/src/createsu.py new file mode 100644 index 0000000..18565c9 --- /dev/null +++ b/src/createsu.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "citasalud.settings") + +from citasalud.apps.main.models import Usuario + +superuser = Usuario.objects.create_user( + username='admin', + dni='76086783', + first_name='Richard', + last_name='Cotrina', + fecha_nacimiento='1994-05-04', +) + +superuser.set_password('admin') +superuser.save() + +superuser.is_active = True +superuser.is_superuser = True +superuser.is_staff = True +superuser.save() \ No newline at end of file