SISTEMA EXPERTO
<%
IDENTIFICADOR_HISTORIA = CLNG(request.querystring("IDENTIFICADOR_HISTORIA"))
VISITA = CLNG(request.querystring("VISITA"))
'**** PREPARANDO LA CONEXION
Const AdopenKeyset = 1
Const adLockOptimistic = 3
if len(cstr(VISITA)) = 0 then
Response.write "
Por favor elija previamente un caso.
"
else
if VISITA > 0 then
'**** Buscar datos personales del paciente
SQL = "SELECT CLIENTE.DNI, CLIENTE.NOMBRE_CLIENTE, CLIENTE.PRIMER_APELLIDO_CLIENTE, CLIENTE.SEGUNDO_APELLIDO_CLIENTE "
SQL = SQL + "FROM CLIENTE INNER JOIN HISTORIA_CLINICA ON CLIENTE.NUMERO_HISTORIA_CLINICA = HISTORIA_CLINICA.NUMERO_HISTORIA_CLINICA "
SQL = SQL + "WHERE HISTORIA_CLINICA.IDENTIFICADOR_HISTORIA = " + CSTR(VISITA)
Set rs1 = CreateObject("ADODB.Recordset")
rs1.CursorType = AdopenKeyset
rs1.LockType = adLockOptimistic
rs1.Open SQL, "DSN=SEX"
IF RS1.EOF = TRUE THEN
RESPONSE.WRITE "ERROR AL ENCONTRAR AL PACIENTE"
END IF
RESPONSE.WRITE "
"
RESPONSE.WRITE "
Numero de visita:
" + cstr(visita) + "
"
RESPONSE.WRITE "
D.N.I.:
" + RS1.FIELDS(0) + "
"
RESPONSE.WRITE "
Nombre:
" + RS1.FIELDS(1) + "
"
RESPONSE.WRITE "
Primer apellido:
" + RS1.FIELDS(2) + "
"
RESPONSE.WRITE "
Segundo apellido:
" + RS1.FIELDS(3) + "
"
RESPONSE.WRITE "
"
rs1.close
Response.write "
Los sintomas presentados en el paciente son los siguientes: "
' ********** CONSTRUYENDO LA SENTENCIA DE CONSULTA DE TODOS LOS SINTOMAS DEL CASO
SQL= "SELECT DISTINCT nombre_sintoma FROM historia_sintoma"
SQL = SQL + " WHERE IDENTIFICADOR_HISTORIA = " + cstr(visita)
SQL = SQL + " ORDER BY nombre_sintoma ASC"
'Set rs1 = CreateObject("ADODB.Recordset")
'rs1.CursorType = AdopenKeyset
'rs1.LockType = adLockOptimistic
rs1.Open SQL, "DSN=SEX"
if rs1.eof = FALSE then
Response.Write "
Los resultados de las pruebas realizadas son los siguientes: "
' ********** CONSTRUYENDO LA SENTENCIA DE CONSULTA DE TODOS LOS SINTOMAS DEL CASO
SQL= "SELECT SUBPRUEBA.NOMBRE_PRUEBA, SUBPRUEBA.NOMBRE_SUBPRUEBA, RESULTADO.VALOR_RESULTADO"
SQL = SQL + " FROM SUBPRUEBA INNER JOIN (RESULTADO INNER JOIN HISTORIA_RESULTADO ON RESULTADO.IDENTIFICADOR_RESULTADO = HISTORIA_RESULTADO.IDENTIFICADOR_RESULTADO) ON SUBPRUEBA.IDENTIFICADOR_SUBPRUEBA = RESULTADO.IDENTIFICADOR_SUBPRUEBA"
SQL = SQL + " WHERE HISTORIA_RESULTADO.IDENTIFICADOR_HISTORIA = " + cstr(visita)
SQL = SQL + " ORDER BY SUBPRUEBA.NOMBRE_PRUEBA ASC, SUBPRUEBA.NOMBRE_SUBPRUEBA ASC"
'Set rs1 = CreateObject("ADODB.Recordset")
'rs1.CursorType = AdopenKeyset
'rs1.LockType = adLockOptimistic
rs1.Open SQL, "DSN=SEX"
if rs1.eof = FALSE then
Response.write "
"
Response.write "
PRUEBA
APARTADO DE LA PRUEBA
VALOR
"
while rs1.EOF = false
Response.write "
" + rs1.Fields(0) + "
" + rs1.Fields(1) + "
"
SELECT CASE rs1.Fields(2)
CASE 1:
Response.write "
NEGATIVO
"
CASE 2:
Response.write "
POSITIVO
"
CASE 3:
Response.write "
BAJO
"
CASE 4:
Response.write "
NORMAL
"
CASE 5:
Response.write "
ALTO
"
END SELECT
rs1.MoveNext
wend
Response.write "
"
else
Response.write "
No hay almacenado ninguna prueba realizada al paciente
"
end if
rs1.close
' ********** buscando el diagnostico de la visita
SQL= "SELECT NOMBRE_PATOLOGIA FROM HISTORIA_PATOLOGIA "
SQL = SQL + " WHERE IDENTIFICADOR_HISTORIA = " + cstr(VISITA)
'Set rs1 = CreateObject("ADODB.Recordset")
'rs1.CursorType = AdopenKeyset
'rs1.LockType = adLockOptimistic
rs1.Open SQL, "DSN=SEX"
if rs1.eof = FALSE then
Response.write "
La patología diagnosticada fue '" + rs1.fields(0) + "'."
end if
rs1.close
else
' ********** CONSTRUYENDO UNA MATRIZ CON TUDAS LAS VISITAS DEL CASO SELECCIONADO
SQL= "SELECT IDENTIFICADOR_HISTORIA, FECHA_INGRESO, IDENTIFICADOR_HISTORIA_PADRE, VISITA_PADRE FROM HISTORIA_CLINICA WHERE IDENTIFICADOR_HISTORIA = " + CSTR(IDENTIFICADOR_HISTORIA)
Set rs1 = CreateObject("ADODB.Recordset")
rs1.CursorType = AdopenKeyset
rs1.LockType = adLockOptimistic
rs1.Open SQL, "DSN=SEX"
'response.write "VISITA Nº:" + cstr(rs1.fields(0)) + " de " + cstr(rs1.fields(1)) + " "
dim Visita_Padre
REDIM VISITA(0)
VISITA(0) = rs1.fields(0)
while rs1.fields(3) = true
Visita_Padre = rs1.fields(0)
rs1.Close
SQL= "SELECT IDENTIFICADOR_HISTORIA, FECHA_INGRESO, IDENTIFICADOR_HISTORIA_PADRE, VISITA_PADRE FROM HISTORIA_CLINICA WHERE IDENTIFICADOR_HISTORIA_PADRE = " + CSTR(Visita_Padre)
rs1.Open SQL, "DSN=SEX"
REDIM PRESERVE VISITA(Ubound(VISITA)+1)
VISITA(Ubound(VISITA)) = rs1.fields(0)
wend
rs1.close
' ****** MUESTRA CADA VISITA DEL CASO
FOR ORDEN_VISITA = 0 TO Ubound(VISITA)
'**** Buscar datos personales del paciente
SQL = "SELECT CLIENTE.DNI, CLIENTE.NOMBRE_CLIENTE, CLIENTE.PRIMER_APELLIDO_CLIENTE, CLIENTE.SEGUNDO_APELLIDO_CLIENTE "
SQL = SQL + "FROM CLIENTE INNER JOIN HISTORIA_CLINICA ON CLIENTE.NUMERO_HISTORIA_CLINICA = HISTORIA_CLINICA.NUMERO_HISTORIA_CLINICA "
SQL = SQL + "WHERE HISTORIA_CLINICA.IDENTIFICADOR_HISTORIA = " + CSTR(VISITA(ORDEN_VISITA))
Set rs1 = CreateObject("ADODB.Recordset")
rs1.CursorType = AdopenKeyset
rs1.LockType = adLockOptimistic
rs1.Open SQL, "DSN=SEX"
IF RS1.EOF = TRUE THEN
RESPONSE.WRITE "ERROR AL ENCONTRAR AL PACIENTE"
END IF
RESPONSE.WRITE "
"
RESPONSE.WRITE "
Numero de visita:
" + CSTR(VISITA(ORDEN_VISITA)) + "
"
RESPONSE.WRITE "
D.N.I.:
" + RS1.FIELDS(0) + "
"
RESPONSE.WRITE "
Nombre:
" + RS1.FIELDS(1) + "
"
RESPONSE.WRITE "
Primer apellido:
" + RS1.FIELDS(2) + "
"
RESPONSE.WRITE "
Segundo apellido:
" + RS1.FIELDS(3) + "
"
RESPONSE.WRITE "
"
rs1.close
Response.write "
Los sintomas presentados en el paciente son los siguientes: "
' ********** CONSTRUYENDO LA SENTENCIA DE CONSULTA DE TODOS LOS SINTOMAS DEL CASO
SQL= "SELECT DISTINCT nombre_sintoma FROM historia_sintoma"
SQL = SQL + " WHERE IDENTIFICADOR_HISTORIA = " + CSTR(VISITA(ORDEN_VISITA))
SQL = SQL + " ORDER BY nombre_sintoma ASC"
'Set rs1 = CreateObject("ADODB.Recordset")
'rs1.CursorType = AdopenKeyset
'rs1.LockType = adLockOptimistic
rs1.Open SQL, "DSN=SEX"
if rs1.eof = FALSE then
Response.Write "
Los resultados de las pruebas realizadas son los siguientes: "
' ********** CONSTRUYENDO LA SENTENCIA DE CONSULTA DE TODOS LOS SINTOMAS DEL CASO
SQL= "SELECT SUBPRUEBA.NOMBRE_PRUEBA, SUBPRUEBA.NOMBRE_SUBPRUEBA, RESULTADO.VALOR_RESULTADO"
SQL = SQL + " FROM SUBPRUEBA INNER JOIN (RESULTADO INNER JOIN HISTORIA_RESULTADO ON RESULTADO.IDENTIFICADOR_RESULTADO = HISTORIA_RESULTADO.IDENTIFICADOR_RESULTADO) ON SUBPRUEBA.IDENTIFICADOR_SUBPRUEBA = RESULTADO.IDENTIFICADOR_SUBPRUEBA"
SQL = SQL + " WHERE HISTORIA_RESULTADO.IDENTIFICADOR_HISTORIA = " + CSTR(VISITA(ORDEN_VISITA))
SQL = SQL + " ORDER BY SUBPRUEBA.NOMBRE_PRUEBA ASC, SUBPRUEBA.NOMBRE_SUBPRUEBA ASC"
'Set rs1 = CreateObject("ADODB.Recordset")
'rs1.CursorType = AdopenKeyset
'rs1.LockType = adLockOptimistic
rs1.Open SQL, "DSN=SEX"
if rs1.eof = FALSE then
Response.write "
"
Response.write "
PRUEBA
APARTADO DE LA PRUEBA
VALOR
"
while rs1.EOF = false
Response.write "
" + rs1.Fields(0) + "
" + rs1.Fields(1) + "
"
SELECT CASE rs1.Fields(2)
CASE 1:
Response.write "
NEGATIVO
"
CASE 2:
Response.write "
POSITIVO
"
CASE 3:
Response.write "
BAJO
"
CASE 4:
Response.write "
NORMAL
"
CASE 5:
Response.write "
ALTO
"
END SELECT
rs1.MoveNext
wend
Response.write "
"
else
Response.write "
No hay almacenado ninguna prueba realizada al paciente
"
end if
rs1.close
' ********** buscando el diagnostico de la visita
SQL= "SELECT NOMBRE_PATOLOGIA FROM HISTORIA_PATOLOGIA "
SQL = SQL + " WHERE IDENTIFICADOR_HISTORIA = " + CSTR(VISITA(ORDEN_VISITA))
'Set rs1 = CreateObject("ADODB.Recordset")
'rs1.CursorType = AdopenKeyset
'rs1.LockType = adLockOptimistic
rs1.Open SQL, "DSN=SEX"
if rs1.eof = FALSE then
Response.write "
La patología diagnosticada fue '" + rs1.fields(0) + "'."
end if
Response.write " "
rs1.close
NEXT
end if
end if
%>
e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.