[Php-avanzado] Base de Datos

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Mie Nov 23 23:03:52 ART 2011


Hola Luciano,

El mié, 23-11-2011 a las 21:37 -0300, Luciano Pelizzaro escribió:
> Perdóname  Leo, pero entonces eso pasaría con localidades,Obras Sociales, 
> Laboratorios, etc.
> Tendría q poner el Nombre de la Localidad en todos los lugares q se llame su 
> id?

	Más o menos... para las localidades, como en la realidad es raro que
desaparezcan, la pregunta de "borro todo lo relacionado?", o mejor aún,
el mensaje de "no se puede borrar porque está en uso" es ideal.
	Este es el esquema que vos planteás para todo.

	Ahora bien, asumiendo que las Obras Sociales no desaparecen tanto, tu
enfoque no es un verdadero problema.

	Pero por otra parte, los Laboratorios y los Médicos es habitual que
cambien, con lo que con tu esquema de almacenamiento borrarlos
implicaría perder datos importantes: las consultas de los pacientes.
	Esto a mi entender es un problema, porque a su vez dejar los médicos
sin borrar (para no perder los datos), significa que los operadores
pueden confundirse y dar turnos o ponerlos como parte de una consulta o
estudio.
	Con el tiempo, la cantidad de médicos "inválidos" cargados incluso
superará a los válidos, con lo que el sistema de volvería muy incómodo
de usar. Hay que diseñar software pensando en que va a funcionar al
menos 5 años o más!

	Qué opinás?


> Otro tema:
> El tema de la eliminación de datos con solo una pregunta, siempre lo pensé 
> así, el que hace esa acción es consiente porque se le esta informando si 
> desea eliminar todo.
> Pero por otro lado para no tener problemas , yo como programador y que el 
> cliente me reclame los datos borrados por su error bueno así si lo veo bien 
> .

	Yo también creo que si el software avisa claramente lo que va a pasar y
el operador lo acepta, no hay fallo.
	Acá usamos otro enfoque, que se aplica a las Localidades y los datos
relacionados que no son los importantes: si está en uso no se borra.
Resulta que el que opera el software tiende a aceptar las cosas sin
leerlas, entonces, si querés borrar, editá los Clientes, Pacientes o lo
que sea y poneles una Localidad válida distinta de la que querés borrar.

	De todas formas, lo que te planteo sobre los médicos y las obras
sociales no es por un tema de responsabilidades o de que el operador
meta la pata: estoy pensando que tanto los Médicos como los Laboratorios
se van a elegir de una lista para muchos procesos, y también pienso en
que una Consulta médica que queda registrada no debería borrarse si el
Médico se va a otro lugar (y quiero que me desaparezca de las cajas de
selección).

	Te lo dejo planteado y lo charlamos mañana.

	Es un tema muy interesante y me alegra que quieras que lo veamos en
detalle.

	Saludos!


> -----Mensaje original----- 
> From: Leonardo Tadei - Pegasus Tech Supply
> Sent: Wednesday, November 23, 2011 9:27 PM
> To: Lista del curso de PHP Avanzado
> Subject: Re: [Php-avanzado] Base de Datos
> 
> Hola Luciano,
> 
> El mié, 23-11-2011 a las 20:56 -0300, Luciano Pelizzaro escribió:
> > Hola Leo,
> >
> > Listo no la complico y hago usuarios simples.
> 
> Los usuarios siempre son simples!!!
> Los Técnicos y los Administrativos, depende...
> 
> 
> > El otro tema de la inconsistencia de datos, por ejemplo entre los
> > médicos y consultas medicas, te réferis a que queden los datos
> > guardados de los médicos? por mas q hayan eliminado dicho médico?
> 
> Sí, a eso.
> 
> > Yo lo que había pensado es que si el medico no esta mas y deciden
> > borrarlo con el se llevan las consultas medicas, recetas, etc..
> > Obviamente preguntando antes de eliminar, por sistema.
> 
> Entiendo lo que pensaste y está bien... pero te das cuenta de que
> significa que una vez que das de alta un médico y hace una consulta, no
> lo podés borrar jamás sin perder datos de los pacientes?
> Y si un médico renuncia o se jubila? Vas a perder (si se responde sí a
> la pregunta) parte de la historia clínica?
> 
> Si funciona así, será un sistema que te va a servir para aprobar el
> curso, pero que no sirve para usar de verdad :(
> 
> 
> > Pero sino te réferis a algo así? (así con paciente y otros datos mas)
> >
> >
> > Consultas Medicas
> > Id
> > Fecha
> > Id_Paciente
> > Nombre_Paciente
> > Apellido_Paciente
> > Id_Medico
> > Nombre_Medico
> > Apellido_Medico
> > Matricula
> > Motivo
> > Diagnostico
> >
> > ------------------------------------------------------------------------------------------------------
> >
> > Acá estaría la Base entera únicamente modifique lista Usuarios, me
> > gustaría hablarlo en clase el tema  de los médicos pacientes etc,
> > porque pienso que siempre cualquier cosa q se modifique o se elimine
> > alteraría otras tablas y con ella los datos de cada una.
> > También lo pensé en deshabilitar y no eliminar, pero hay tendría q
> > reformar los requerimientos ¿no?, Anqué al usuario final no le
> > importaría q si lo deshabilita o lo elimina ya q no le vería.
> > No se que te parece, sino lo vemos en clase si querés.
> >
> > Localidades
> > Usuarios
> > Niveles
> >
> >
> >
> >
> >
> > Id
> > Id
> > Id
> >
> >
> >
> >
> >
> > Nombre
> > Usuario
> > Descripción
> >
> >
> >
> >
> >
> >
> > Password
> >
> >
> >
> >
> >
> >
> >
> > Id_Nivel
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Laboratorios
> > Rel_Laboratorios
> > Obras
> > Sociales
> > Rel_Medicos
> > Médicos
> > Horarios
> > Rel_Horarios
> > Consultorios
> > Id
> > Id
> > Id
> > Id
> > Id
> > Id
> > Id
> > Id
> > Nombre
> > Id_Laboratorio
> > Nombre
> > Id_ObraSocial
> > Nombre
> > Hora_Inicio
> > Id_Horario
> > Nro_Consultorio
> > Dirección
> > Id_ObraSocial
> > Dirección
> > Id_Medico
> > Apellido
> > Hora_Fin
> > Id_Medico
> > Descripción
> > Teléfono
> >
> > Teléfono
> >
> > Teléfono
> > Días
> >
> >
> > Id_Localidad
> >
> > Id_Localidad
> >
> > Id_Localidad
> >
> >
> >
> > Observaciones
> >
> >
> >
> > Matricula
> >
> >
> >
> >
> >
> >
> >
> > Id_Consultorio
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Especialidades Medicas
> > Rel_Especialidad
> > Pacientes
> > Recetas
> > Consultas Medicas
> > Estudios
> >
> >
> > Id
> > Id
> > Id
> > Id
> > Id
> > Id
> >
> >
> > Nombre
> > Id_Especialidad
> > Nombre
> > Fecha
> > Fecha
> > Nombre
> >
> >
> >
> > Id_Medico
> > Apellido
> > Medicamentos
> > Id_Paciente
> > Id_Medico
> >
> >
> >
> >
> > Dirección
> > Id_Consulta
> > Id_Medico
> > Id_Paciente
> >
> >
> >
> >
> > Teléfono
> > Id_Medico
> > Motivo
> > Fecha
> >
> >
> >
> >
> > Id_Localidad
> > Id_Paciente
> > Diagnostico
> > Informe
> >
> >
> >
> >
> > Nro_Afiliado
> >
> >
> > Observaciones
> >
> >
> >
> >
> > Id_ObraSocial
> >
> >
> > Imagen
> >
> >
> >
> >
> >
> >
> >
> > Id_Consulta
> >
> >
> >
> > ------------------------------------------------------------------------------------------------------
> > Te ajunto también los Requerimientos:
> >
> >
> >
> >
> >                      SOFTWARE CONSULTORIO MÉDICOS
> >
> > INTRODUCCIÓN:
> >
> > · Genera Fichas con los datos personales y de sus pacientes.
> >
> > · Llevará un completo registro cronológico de las consultas.
> >
> > · Indicara los tratamientos efectuados. Así como también los
> > Medicamentos recetados.
> >
> > · Informe sobre los exámenes realizados, adjuntando imágenes de los
> > estudios.
> >
> > · El sistema contempla la posibilidad de emitir recetas.
> >
> > · Completa ficha de los médicos del consultorio.
> >
> > · Administración de Obras Sociales y Laboratorios
> >
> > Intervinientes.
> >
> > · Registrará motivo de las consultas diarias.
> >
> > · Obtendrá estadísticas de consultas, causas, tratamientos, etc.
> >
> > · Nivel de seguridad con administración de usuarios, restringiendo
> > acceso.
> >
> >  Se restringirá por uso médico, administrativo o secretariado.
> >
> > · Uso Multiusuario.
> >
> > REQUERIMIENTOS FUNCIONALES
> >
> > 1. El sistema debe Gestionar LOCALIDADES.
> >
> > 2. El sistema debe Gestionar LABORATORIOS con su LOCALIDAD [1].
> >
> > 3. El sistema debe Gestionar OBRAS SOCIALES con sus LABORATORIOS [2].
> >
> > 4. El sistema debe Gestionar ESPECIALIDADES MEDICAS.
> >
> > 5. El sistema debe Gestionar MÉDICOS con sus ESPECIALIDADES MEDICAS
> > [4], OBRAS SOCIALES [3] que trabaja y su LOCALIDAD [1] y su
> > CONSULTORIO [6].
> >
> > 6. El sistema debe agregar y modificar CONSULTORIOS con los MÉDICOS
> > [5] que atienden en ellos.
> >
> > 7. El sistema debe Gestionar PACIENTES con su LOCALIDAD [1] y su OBRA
> > SOCIAL [3].
> >
> > 8. El sistema debe prescribir RECETAS por el MEDICO [5] de cada
> > PACIENTE [7].
> >
> > 9. El sistema debe Registrar ESTUDIOS realizados por cada PACIENTE [7]
> > con intervención de su MEDICO [5].
> >
> > 10. El sistema debe Registrar CONSULTAS MÉDICAS con su PACIENTE [7],
> > OBRA SOCIAL [3], ESTUDIOS [10], RECETAS [8], con la intervención de
> > cada MEDICO [5].
> >
> > 11. El sistema Debe Emitir un Listado de LABORATORIOS [2] por cada
> > OBRA SOCIAL [3] que trabaje.
> >
> > 12. El sistema Debe Emitir un Listado de OBRAS SOCIALES [3] que
> > trabaje cada MEDICO [5].
> >
> > 13. El sistema Debe Emitir un Listado de MÉDICOS [5] con sus
> > ESPECIALIDADES MEDICAS [4] y datos personales.
> >
> > 14. El sistema Debe Emitir un Listado de CONSULTORIO [6] por los
> > MÉDICOS [5] q atiendan en él.
> >
> > 15. El Sistema Debe Emitir un Listado de MÉDICOS [5] filtrados por
> > nombre/apellidó.
> >
> > 16. El sistema Debe Emitir un Listado de PACIENTES [7] con sus datos
> > personales, filtrados por nombre/apellido.
> >
> > 17. El sistema Debe Emitir un Listado de RECETAS [8] emitidas por cada
> > MEDICO [5].
> >
> > 18. El sistema Debe Emitir un Listado de RECETAS [8] emitidas para
> > cada PACIENTE [7] y MEDICO [5].
> >
> > 19. El Sistema Debe Emitir un Listado de RECETAS [8] por un rango de
> > fechas de cada PACIENTE [7].
> >
> > 20. El Sistema Debe Emitir un Listado de ESTUDIOS [9] por cada
> > PACIENTE [7].
> >
> > 21. El Sistema Debe Emitir un Listado de CONSULTAS MEDICAS [10] por un
> > rango de fechas y PACIENTE [7].
> >
> >
> >
> >
> >
> > DICCIONARIO DE DATOS
> >
> > Localidades: Nombre.
> >
> > Laboratorios: Nombre, Dirección, Teléfono, Localidad y Observaciones.
> >
> > Obras Sociales: Nombre, Numero de Obra social y Laboratorios que
> > Trabaja.
> >
> > Especialidades Médicas: Nombre.
> >
> > Consultorios: Numero de Consultorio, Descripción y Médicos.
> >
> > Médicos: Nombre, Apellido, Dirección, Teléfono, Localidad, Matricula,
> > Especialidades Médicas, Obras Sociales, Numero de consultorio,
> > Horarios de Atención y Días.
> >
> > Pacientes: Nombre, Apellido, Fecha de Nacimiento, Dirección, Teléfono,
> > Localidad, Numero de
> >
> > Afiliado (Obra Social) y Obra Social.
> >
> > Estudios: Nombre, Medico, Paciente, Fecha, Informe, Observaciones e
> > Imagen.
> >
> > Consultas Médicas: Fecha, Medico, Paciente, Motivo, Diagnostico, Obra
> > Social, Tratamiento, Evolución, Estudios y Recetas.
> >
> > Recetas: Fecha, Numero de Afiliado del Paciente (Obra Social),
> > Apellido, Nombre del Paciente, Edad del Paciente, Diagnostico (Una
> > Consulta Médica), Medicamentos Recetados y Medico.
> >
> >
> >
> > ------------------------------------------------------------------------------------------------------
> >
> >
> > Saludos y Gracias.
> >
> > Luciano
> >
> >
> >
> >
> >
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> 

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Blog: http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado