Ir al contenido


Foto

Pregunta sobre base de datos


  • Por favor identifícate para responder
25 respuestas en este tema

#1 robert01

robert01

    Advanced Member

  • Miembros
  • PipPipPip
  • 162 mensajes
  • LocationArgentina

Escrito 15 mayo 2009 - 02:23

Hola

Necesito diseñar una base de datos para un programa de laboratorio, en la base de  datos se guardarí­a la información de análisis clí­nicos (sangre y orina) que se realizan los pacientes.
Tengo dudas sobre cuantas tablas se necesitarí­an, yo pienso  que se requiere una tabla para pacientes y otras dos, una para los análisis de sangre y otra para los de orina. El problema es que los diferentes tipos de análisis de sangre pueden ser más de 50 y me parece inadecuado poner tantos campos en una sola tabla.

Tal vez alguien me pueda orientar (mi background de conocimientos en base de  datos es muy rudimentario).

Saludos
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 15 mayo 2009 - 02:35

Bueno a mi parecer podrí­a ser sólo 3 tablas: Pacientes, TipoAnalisis y Resultados, los desglosarí­a así­:

Pacientes

id_Paciente
Nombre
Apellido
Doctor
...etc.

TipoAnalisis

id_Analisis
Tipo

Resultados

id_resultado
id_Paciente
id_Analisis
resultados

Sólo eso se me ocurre.

Saludos.
  • 0

#3 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 15 mayo 2009 - 02:36

A mi se me ocurre que puedan ser tres tablas:

1. Pacientes  (detalle de los pacientes)
2. Análisis  (tipos y de talles tanto de analisis de sangre como de orina, algo asi como un catálogo)
3. Historial_Analisis (los análisis hechos a cada paciente ya sea de un tipo o de otro)

Lo veo un poco más sencillo y te evitas el hacer una tabla de 50 o más campos y así­ permites que si el dia de mañana agregan otros análisis no tendrás que modificar tu tabla, sólo es cuestión de agregar otro registro...

Es como yo lo pienso  :p

Más ideas chicos ?  (i)

Saludos  :D
  • 0

#4 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 15 mayo 2009 - 02:39

Por segunditos Fer, solo por segunditos... jejeje  :p
  • 0

#5 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 15 mayo 2009 - 02:47

digo hay hay que saber que tipo de datos
tiene cada analisis

asi como lo plantean se guardarian los resultados
en un solo campo

si pudieras darnos un ejemplo de como es el resultado de un par de analisis Robert01

  • 0

#6 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 15 mayo 2009 - 02:51

digo hay hay que saber que tipo de datos
tiene cada analisis

asi como lo plantean se guardarian los resultados
en un solo campo


si pudieras darnos un ejemplo de como es el resultado de un par de analisis Robert01


No entendí­, cómo que se guardarí­an en un solo campo ??? Cada una de las tablas tendrí­as tantos campos como información detallada necesitaras de cada concepto...

Saludos
  • 0

#7 FGarcia

FGarcia

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 687 mensajes
  • LocationMéxico

Escrito 15 mayo 2009 - 02:57

A mi no se me ocurre nada pero solo por aportar mas datos y mi +1

Un ejemplo de Analisis de orina

Analisis de Orina

Datos Generales
Volumen
Color
Olor
Transparencia
Sedimento
Densidad
pH

Reacciones
Albúmina
Glucos
Acetona
Urobilina
Hemoglobina
Bilirrubina
Nitritos

Sedimentos
Celulas
Piocitos
Eritrocitos
Celulas renales
Espermatozoides
Epiteliales
Leucocitos
Bacterias

Cilindros
Hialinos
Granulosos
Hematicos
Epiteliales
Ceres
Cilindroides
leucocitario

Cristales
Oxalato de Calcio
Acido Urico
Fosfatos Triples
Uratos Amorfos
Fosfatos Amorfos
levaduras
Filamentos Mucosos


Y algo similar seria la :
Biometria Hematica,
Quimica Sanguinea de 6 elementos,
Quimica sanguinea de 10 elementos,
Perfil hepatico,
Funcionamiento Hepatico, etc

mmm esta interesante. ¡¡Esos masters en desarrollo de BD's a la reja con todo y su odbc!!
  • 0

#8 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 15 mayo 2009 - 03:00

Bueno a mi parecer podrí­a ser sólo 3 tablas: Pacientes, TipoAnalisis y Resultados, los desglosarí­a así­:

Pacientes

id_Paciente
Nombre
Apellido
Doctor
...etc.

TipoAnalisis

id_Analisis
Tipo

Resultados

id_resultado
id_Paciente
id_Analisis
resultados

Sólo eso se me ocurre.

Saludos.

es un solo campo para resultados
si un analisis aroja 10 o 50 resultados
  • 0

#9 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 15 mayo 2009 - 03:04

.....
es un solo campo para resultados
si un analisis aroja 10 o 50 resultados


Ah no !!!

Pero no pienses que es un campo por resultado, si no más bien, un registro por cada resultado, esto es, un paciente puede tener N resultados diferentes y cada uno de ellos serí­a un registro diferente, con un identificador determinado y tantos campos como sean necesarios...

Saludos
  • 0

#10 FGarcia

FGarcia

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 687 mensajes
  • LocationMéxico

Escrito 15 mayo 2009 - 03:06

+1

Visita esto

ademas en la pagina inicial mucho de donde escoger
  • 0

#11 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 15 mayo 2009 - 03:11

es un solo campo para resultados
si un analisis aroja 10 o 50 resultados


Ejemplo de registros:

Resultados:

------------------------------------------------------------------------
id_resultado |  id_Paciente |  id_Analisis |  Resultados                          |
------------------------------------------------------------------------
3556888      |  456        |  5          |  Positivo                                |
3556888      |  456        |  10          |  Cristales en orina                    |
3556888      |  456        |  COPRO      |  Negativo, color normal          |
------------------------------------------------------------------------


Esa es la idea que tengo.

Saludos.
  • 0

#12 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 15 mayo 2009 - 03:15

ok con el ejemplo
asi creo yo seria

tabla Pacientes
Id-paciente
nombre
direccion
< todos los datos que kieran del paciente>

tabla analisis
id analisis
nombre
campo 1
campo 2
....
campo 50

tabla resultados
id-paciente
id analisis
fecha
resultados


en la tabla de paciente, pss lo que lleve en datos
en la tabla analisis por cada campo pones tipo de dato ( volumen, color, holor....)
en la tabla de resultados id-paciente ( suena obio) id analisis para saber en que posicion se guarda cada resultado del analisis

asi cuando guardes los resultados del analisis los guardas separados por coma í² semi colon ( punto y coma para los cuates )
y cuando los recuperes al momento de recuperarlos tienes que chekar en la tabla de analisis a que coresponde cada valor guardado

Eso se me ocurre a mi


  • 0

#13 robert01

robert01

    Advanced Member

  • Miembros
  • PipPipPip
  • 162 mensajes
  • LocationArgentina

Escrito 15 mayo 2009 - 03:22

Gracias por las numerosas respuestas, espero entender como hacer.
Yo habí­a creado estas tablas, usando mysql workbench en kubuntu 9.04:



sql
  1. -- -----------------------------------------------------
  2. -- Table `Lab`.`Sangre`
  3. -- -----------------------------------------------------
  4. CREATE  TABLE IF NOT EXISTS `Lab`.`Sangre` (
  5.   `idSangre` INT NOT NULL ,
  6.   `Eritrocitos` VARCHAR(10) NULL ,
  7.   `Hemoglobina` DECIMAL(7,2) NULL ,
  8.   `Hematocrito` DECIMAL(7,2) NULL ,
  9.   `Leucocitos` DECIMAL(7,2) NULL ,
  10.   PRIMARY KEY (`idSangre`) )
  11. ENGINE = InnoDB;
  12.  
  13.  
  14. -- -----------------------------------------------------
  15. -- Table `Lab`.`Leucocitario`
  16. -- -----------------------------------------------------
  17. CREATE  TABLE IF NOT EXISTS `Lab`.`Leucocitario` (
  18.   `idLeucocitario` INT NOT NULL ,
  19.   `Neutrofilos_en_cayado` VARCHAR(15) NULL ,
  20.   `Neutrofilos_segmentados` VARCHAR(15) NULL ,
  21.   `Neutrofilos_eosinofilos` VARCHAR(15) NULL ,
  22.   `Neitrofilos_basofilos` VARCHAR(15) NULL ,
  23.   `Linfocitos` VARCHAR(15) NULL ,
  24.   `Monocitos` VARCHAR(15) NULL ,
  25.   `Cel_de_irritacion` VARCHAR(15) NULL ,
  26.   PRIMARY KEY (`idLeucocitario`) )
  27. ENGINE = InnoDB;
  28.  
  29.  
  30. -- -----------------------------------------------------
  31. -- Table `Lab`.`Plaquetario`
  32. -- -----------------------------------------------------
  33. CREATE  TABLE IF NOT EXISTS `Lab`.`Plaquetario` (
  34.   `idPlaquetario` INT NOT NULL ,
  35.   `Tiempo_de_hemorragia` VARCHAR(15) NULL ,
  36.   `Tiempo_de_coagulacion` VARCHAR(15) NULL ,
  37.   `Tiempo_de_protrombina` VARCHAR(15) NULL ,
  38.   `Recuento_de_plaquetas` VARCHAR(15) NULL ,
  39.   `Observaciones` VARCHAR(150) NULL ,
  40.   PRIMARY KEY (`idPlaquetario`) )
  41. ENGINE = InnoDB;
  42.  
  43.  
  44. -- -----------------------------------------------------
  45. -- Table `Lab`.`AnalisisBasicos`
  46. -- -----------------------------------------------------
  47. CREATE  TABLE IF NOT EXISTS `Lab`.`AnalisisBasicos` (
  48.   `idAnalisisBasicos` INT NOT NULL ,
  49.   `Glucemia` VARCHAR(15) NULL ,
  50.   `Uremia` VARCHAR(15) NULL ,
  51.   `Colesterol` VARCHAR(15) NULL ,
  52.   `Lipemia` VARCHAR(15) NULL ,
  53.   `Trigliceridos` VARCHAR(15) NULL ,
  54.   `Uricemia` VARCHAR(15) NULL ,
  55.   `Creatinina` VARCHAR(15) NULL ,
  56.   `Calcemia` VARCHAR(15) NULL ,
  57.   `Fosfatasa_alcalina` VARCHAR(15) NULL ,
  58.   `GPT` VARCHAR(15) NULL ,
  59.   `GOT` VARCHAR(15) NULL ,
  60.   `Bilirubina_total` VARCHAR(15) NULL ,
  61.   `Bilirrubina_directa` VARCHAR(15) NULL ,
  62.   `Bilirrubina_indirecta` VARCHAR(15) NULL ,
  63.   `Colesterol_HDL` VARCHAR(15) NULL ,
  64.   `Amilasemia` VARCHAR(15) NULL ,
  65.   `Artritest` VARCHAR(15) NULL ,
  66.   `PCR` VARCHAR(15) NULL ,
  67.   PRIMARY KEY (`idAnalisisBasicos`) )
  68. ENGINE = InnoDB;
  69.  
  70.  
  71. -- -----------------------------------------------------
  72. -- Table `Lab`.`Proteinograma_electroforesis`
  73. -- -----------------------------------------------------
  74. CREATE  TABLE IF NOT EXISTS `Lab`.`Proteinograma_electroforesis` (
  75.   `idProteinograma_electroforesis` INT NOT NULL ,
  76.   `Proteinas_totales` VARCHAR(15) NULL ,
  77.   `Albumina` VARCHAR(15) NULL ,
  78.   `Glob_L1` VARCHAR(15) NULL ,
  79.   `Glob_L2` VARCHAR(15) NULL ,
  80.   `Glob_beta` VARCHAR(15) NULL ,
  81.   `Glob_gamma` VARCHAR(15) NULL ,
  82.   `Lipidograma` VARCHAR(15) NULL ,
  83.   `Beta_LP` VARCHAR(15) NULL ,
  84.   `Probeta_LP` VARCHAR(15) NULL ,
  85.   `Alfa_LP` VARCHAR(15) NULL ,
  86.   `Ionograma` VARCHAR(15) NULL ,
  87.   `Sodio` VARCHAR(15) NULL ,
  88.   `Potasio` VARCHAR(15) NULL ,
  89.   `Cloro` VARCHAR(15) NULL ,
  90.   PRIMARY KEY (`idProteinograma_electroforesis`) )
  91. ENGINE = InnoDB;



En lo que me sugieren usar un campo resultados no entiendo como voy a poner los resultados de todos los análisis.

Saludos
  • 0

#14 robert01

robert01

    Advanced Member

  • Miembros
  • PipPipPip
  • 162 mensajes
  • LocationArgentina

Escrito 15 mayo 2009 - 03:38

Ya entendí­, muchas gracias amigos
  • 0

#15 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 15 mayo 2009 - 03:39

no pss ora explicanos a nosotros
jijijij
no es verdad
digo
explicanos como le haras
  • 0

#16 robert01

robert01

    Advanced Member

  • Miembros
  • PipPipPip
  • 162 mensajes
  • LocationArgentina

Escrito 15 mayo 2009 - 05:55

Pensándolo bien no se me ocurre como guardar los resultados en un solo campo.
¿Serí­a la ubcación de los mismos en la tabla análisis?
Uhm no se... Creo que fui demasiado optimista hace un rato.

Saludos

  • 0

#17 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 15 mayo 2009 - 07:57

Hola robert01,
Si no es mucha molestia, ¿podrí­as explicarnos como están los datos estructurados de los análisis?
Viendo lo comenta FGarcia me asalta la duda....

Existen dos clases de análisis: uno de sangre y otro de orina. ¿Cada uno se sub-clasifica? Por ejemplo... no se como interpretar lo que muestra FGarcia...

Puedo interpretarlo como que Datos Generales, Reacciones y Sedimentos son los tres tipos básicos de análisis de orina. Cada uno contiene ciertos análisis. Siguiendo esta lí­nea uno podrí­a inferir que son tres tablas sólo para el tema de orina, Por darles un nombre... OrinaDatosGenerales, OrinaReacciones, OrinaSedimentos; a su vez OrinaSedimentos se subclasifica en Células, Cilindros y Cristales. Cada una de éstas tablas tendrá tantos campos como se indican.

Un procedimiento análogo se podrí­a llevar para el caso de sangre.
Ahora una pregunta fundamental, ¿en un examen de orina, se incluyen TODOS estos tipos de análisis? ¿O por el contrario, se brinda la posibilidad de decir cual de esos tres macro tipo de análisis se llevarán a cabo?

Por si no se me entiende... veamoslo con un ejemplo. Digamos que me siento mal, y tras un chequeo el médico considera que el problema puede estar en los riñones, y pide un análisis de orina para ver como andamos. ¿El médico indicará cuales de estos tres hay que hacer (lo mismo va, para si lo deseamos ver como el caso de Sedimentos... ¿todos, o algunos?)? ¿O es que en un mismo análisis se llevan a cabo todos?

¿Es de utilidad o tiene sentido y valor de negocio poder saber sólo un sub-clasificación de algún análisis? Por ejemplo... se desea consultar los resultado de las reacciones de orina pero no así­ de los datos generales ni sedimentos para el paciente x.

Este ejemplo y mis preguntas son claves y fundamentales para comprender el propósito y el contexto adecuado. Definamos concretamente que es ANALISIS.

Elevemos de concepto aún... resulta que estoy muy mal. Y para saber que es lo que está pasando deciden hacer unos análisis de sangre. ¿Tengo dos análisis, o un análisis? Es decir: uno de sangre y otro de orina... ó un análisis con una sección con los de sangre y otra sección con los de orina?
¿Se ve a lo que podemos llegar con esa palabra?

Estas preguntas podrí­an ser de utilidad para comprender hasta donde es deseable estructurar el diseño de tu base de datos.

Me gustarí­a saber como se compone un estudio (no voy a decir análisis, para evitar problemas) tanto de sangre como de orina.

Si tiene algún sentido separar los datos clasificandolos como señala FGarcia tal vez sea viable el tener tantas tablas como clasificaciones. Pero este harí­a más complicado establecer las relaciones.

Tal vez esté liando el asunto, pero considero que esto es bueno para ver la magnitud y repercusión del diseño y en como enfocar el desarrollo del sistema.

Además, el tener 50 campos no es un peligro (aunque si es para llamar la atención). El peligro está en que esos 50 campos no estén bien estructurados para los fines que tu persigue.

Yo puedo entenderlo, como un diseño simple, así­:
Paciente - 1 --- M - Analisis - 1 --- M - EstudioAnalisis - M --- 1 - TipoAnalisis

TipoAnalisis es una tabla que cuenta con los siguientes campos:
1. IDAnalisis: clave primaria
2. Descripcion: una descripcion
3. MaxValor: el máximo normal esperado
4. MinValor: el mí­nimo normal esperado
5. Clase (0 -> Orina, 1 -> Sangre).

En esta tabla se registrarán, por ejemplo todos esos que menciona FGarcia: Volumen, Color, Olor, etc....

Si se tiene contemplado incluir otras clases de análisis más... se podrí­a usar una tabla para tener bien clasificados, y hacer más flexible el diseño. En este caso, la relación entre TipoAnalisis y ClaseAnalisis serí­a de (M,1).

EstudioAnalisis es la tabla en donde se registran los resultados de los diferentes tipos de análisis tanto de orina como de sangre. Sus campos principales:
1. IDEstudioAnalisis: clave primaria
2. IDTipoAnalisis: clave foránea a TipoAnalisis
3. Resultado: el resultado... ¿es de esperar no?

No creo que sea necesario describir las demás, creo que se entiende la idea. Un paciente tiene muchos análisis, cada análisis está constituí­do por muchos estudios que corresponderán a algunos tipos.

Hay otros modos de verlo pero considero que esto elimina en cierto modo el tener demasiados campos para algunas tablas... no quisiera extenderme demasiado. Es un tema que hay que analizar bien.

Saludos,
  • 0

#18 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 15 mayo 2009 - 08:37

Ahora que lo pienso, es mejor incluir la tabla ClaseAnalisis. De este modo podemos completar el "cí­rculo" entre el análisis y los tipos. Anteriormente habí­a dicho que los tipos podrí­an responder a una misma clase, pero pensé un poco me dije... ¿Y cómo saber a que clase responde el análisis hecho? Me dí­ cuenta de que falta allí­ esa clase.

De modo que el diseño que inicialmente habí­a contemplado quedarí­a así­:



delphi
  1. +-----------+      +----------+      +-------------------+      +--------------+
  2. | Pacientes |-1---M-| Analisis |-1---M-| ResultadoAnalisis |-M---1-| TipoAnalisis |
  3. +-----------+      +----------+      +-------------------+      +--------------+
  4.                         |                                                |
  5.                         |              +---------------+                |
  6.                         +---------M---1-| ClaseAnalisis |-1---M-----------+
  7.                                         +---------------+


De este modo, ClaseAnalisis puede tener éstos campos:
1. IDClase: clave primaria
2. Nombre: Análisis de sangre, de orina, etc...

Ahora aquel campo Clase de TipoAnalisis se modifica a IDClaseAnalisis para que sea una clave foránea a ClaseAnalisis.

Ahora la tabla Analisis puede incluir una clave foránea a ClaseAnalisis.

Se modifica además el nombre de la tabla EstudioAnalisis por ResultadoAnalisis por ser más adecuado al propósito de ésta.
En resumen:
1. Un paciente se puede realizar muchos análisis.
2. Muchos análisis responderán a una misma clase. Es decir, para una clase de análisis pueden existir muchos análisis.
3. Un análisis contiene muchos resultados, de diferentes tipos.
4. Para un mismo tipo de análisis se podrán encontrar muchos resultados.
5. Para una clase de análisis se aplican diversos tipos de análisis en estudio.

¿Que les parece?

Saludos,
  • 0

#19 robert01

robert01

    Advanced Member

  • Miembros
  • PipPipPip
  • 162 mensajes
  • LocationArgentina

Escrito 16 mayo 2009 - 06:13

Hola Delphius

Cuando vas al médico te puede mandar a hacerte un chequeo de rutina, generalmente te hacen "análisis de sangre" y de "orina"

Los de sangre incluyen:

eritoricitos
hemoglobina
hematócrito
leucocitos

neutrófilos en cayado
n. segmentados
n. eosinófilos
n. basófilos
linfocitos
monocitos
células de irritación

y

glucemia
colesterolemia
uremia
uricemia
triglicéridos


No obstante para otro clase de  estudios se requieren estudios adicionales:

Si es un estudio proevio a una cirugí­a te pueden pedir:

Tiempo de hemorragia
tiempo de coagulación
...
...
recuento de plaquetas


este último usado en análisis para detectar el Dengue también

Otros más:

eritrosedimentación

1ra hora
2da hora
í­ndice de Katz



Otros varios más

Creatinina
Calcemia
Amilasemia
etc


el de "orina" incluye:


el exámen fí­sico:

color
aspecto
sedimento
etc



Elementos formes:

Células
Leucocitos
Hematí­es
etc


En casos de infección se puede realizar un urocultivo para identificar que microorganismo es el que produce la infección

Tipificación
Recuento de colonias


y por último el antibiograma

se da información a que antibióticos es sensible el microbio en cuestión


Sensibles: 1°
Sensibles: 2°
etc

No se si este jerogí­fico responde a tu pregunta

Saludos
  • 0

#20 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 16 mayo 2009 - 03:26

Gracias robert01,
Entonces podemos decir que no siempre se llevan a cabo todos los tipos de análisis. Depende de lo que se necesita. El diseño que yo he propuesto contempla esto: permite tener tanto registros como tipos de análisis se requieran. De este modo se evita tener tablas con demasiados campos que en ocasiones no se llenan.

A fin de tener registrada las "cateogrí­as" de los exámenes, se puede añadir una tabla llamada CategoriaAnalisis:



delphi
  1. +-----------+      +----------+      +-------------------+      +--------------+
  2. | Pacientes |-1---M-| Analisis |-1---M-| ResultadoAnalisis |-M---1-| TipoAnalisis |
  3. +-----------+      +----------+      +-------------------+      +--------------+
  4.                         |                                              |  |
  5.                         |              +---------------+              |  |
  6.                         +---------M---1-| ClaseAnalisis |---1---M-------+  |
  7.                                         +---------------+                  |
  8.                                                                             |
  9.                                       +-------------------+                |
  10.                                       | CategoriaAnalisis |-1---M-----------+
  11.                                       +-------------------+


Pero este diseño tal vez no sea el más adecuado. Considero que es mejor establecer la relación de Categoria con Clase:



delphi
  1. +-----------+      +----------+      +-------------------+                        +--------------+
  2. | Pacientes |-1---M-| Analisis |-1---M-| ResultadoAnalisis |-M---1------------------| TipoAnalisis |
  3. +-----------+      +----------+      +-------------------+                        +--------------+
  4.                         |                                                                  |
  5.                         |            +---------------+      +-------------------+        |
  6.                         +-------M---1-| ClaseAnalisis |-1---M-| CategoriaAnalisis |-1---M--+
  7.                                       +---------------+      +-------------------+



De este modo podemos decir que:
1. Un análisis responde a una clase.
2. Toda clase de análisis tiene una serie de categorí­as.
3. Por cada categorí­a hay unos tipos de análisis que se aplican.

De éste modo en TipoAnalisis se enlistan todos los análisis posibles. La clasificación de los mismos está dada por la tabla ClaseAnalisis.
Por ejemplo, para el caso de sangre tenemos:

Clase: Sangre
Categoria 1: eritrosedimentación
Tipo de análisis 1: 1ra Hora
Tipo de análisis 2: 2ra Hora
Tipo de análisis 3: Indice de Kantz

Categorí­a 2: .....

Es decir, si lo pudiéramos representar de forma "árbol"  verí­amos algo así­:

1. Clase 1
1.1. Categorí­a 1.1
1.1.1.Tipo Análisis 1.1.1
.......
1.1.n.Tipo Análisis 1.1.N
1.n. Categorí­a 1.N
1.n.1.Tipo Análisis 1.N.1
1.n.n. Tipo Análisis 1.N.N
....
N. Clase N

Este diseño es lo bastante flexible como para poder añadir muchas clases, categorí­as y tipos de análisis.

Tu puedes diseñar el sistema para que con simples consultas y en base a algunas opciones que indique el usuario extraer los tipos de análisis que se deben realizar para cada categorí­a y clase de análisis que se piden.

Saludos,

  • 0




IP.Board spam blocked by CleanTalk.