Ver Mensaje Individual
  #1  
Antiguo 12-04-2023
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Reputación: 2
giantonti1801 Va por buen camino
Busqueda Selectiva

hola amigos tengo que realizar una operación compleja a nivel de búsqueda dentro de una base de datos donde el resultado puede cambiar según selecion;
Tengo una tabla SQL SERVER con campos string, la tabla se llama 'ENFERMEDADES' dentro de ella una lista de enfermedades:
Código SQL [-]
id          ENFERMEDADES                                       ID_ENF
----------- -------------------------------------------------- --------------------------------------------------
17          ABSCESO CEREBRAL                                   1
18          ABSCESO PERIANAL                                   2
19          ACCIDENTE CEREBROVASCULAR O ICTUS                  3
20          ACNÉ                                               4
21          ACROMEGALIA                                        5
22          ACÚFENOS O TINNITUS (PITIDOS EN EL OÍDO)           6

el campo ID_ENF esta relacionado con las demás tablas, es decir si yo selecciono el número 1 de "ABSCESO CEREBRAL" y lo busco en la Tablas de síntomas me trae como resultado todos los síntomas de esta enfermedad a su vez el mismo número 1 en la tabla de tratamiento me lleva a los tratamientos indicados para esta enfermedad.
Ahora bien mi problema esta en que al aplicarlo a mi desarrollo tengo que hacer una consulta inversa Ejemplo tengo que buscar primero en la tabla síntomas encontrar los síntomas que se relaciones con la ENFERMEDAD y luego pasar a la tabla tratamiento. Pero tengo varias interrogante donde para ellos consulto el foro para encontrar la mejor opción para este gran Reto: En el from he pensado colocar un LISTVIEW alimentado de la tabla de síntomas donde el usuario pueda seleccionar los síntomas. Claro cuando estaba haciendo esto surgió una gran pregunta que existe una gran infinidad de síntomas relacionado con todas la enfermedades y para hacer las cosas más fácil cree una tabla que se llama GRUPO y allí Agrupe los síntomas por GRUPO ejemplo:
Código SQL [-]
34          CABEZA                                                                                                                                                 1
35          ANAL                                                                                                                                                   2
36          CORAZON                                                                                                                                                3
37          CARA                                                                                                                                                   4
como pueden ver hay un campo que se relaciona con todas las tablas. donde el usuario selecciona una opción en el grupo y esto reduce la búsqueda de los síntomas. hasta este punto podemos decir que funciona, talvez no de la manera perfecta pero inicialmente cumple con alguno resultados.
ahora esto me abre muchas preguntas la cual considero que su experiencia me puede ser de gran ayuda.
1. partiendo de un principio que al momento de registrar el paciente todo inicia con un motivo de consulta ejemplo "DOLOR DE CABEZA, DOLOR ABDOMINAL EN EL FLANCO DERECHO' etc yo quisiera que de alguna forma el sistema genere una primera búsqueda que relacione el motivo de la consulta con la tabla de síntomas (Talvez con palabras clave dentro de toda la cadena de texto "MOTIVO DE CONSULTA") como pudiera hacer eso?
2.si se logra eso se abrirá una serie de resultado relacionado con la tabla de SINTOMAS y sabiendo que mucho síntomas son iguales pero están relacionado a otra enfermedades. yo había pensado que se pudiera hacer es por porcentaje de coincidencia. Ejemplo si el usuario selecciona 3 de los 4 síntomas relacionado con una enfermedad esto debería devolver un porcentaje ejemplo del 80% lo cual es suficiente razón para diagnosticar una posible enfermedad. (Como puedo hacer esto) y si hubiera otra forma de hacerlo y filtrar aun mas el diagnostico me encantaría que pudieran hacérmelo saber talvez con pequeños ejemplos, tomando en cuenta que mi nivel de experiencia y conocimiento el delphi es de 4 de una escala de 1-10. Estoy desarrollando con FMX con delphi 11 y estoy utilizando el componente UNIDAC para sql.
Responder Con Cita