Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
2.- GENERALIDADES:
A continuación se presentan los conceptos fundamentales que están relacionados con el sistema.
2.1 SEGURIDAD EN EL SITIO.
La seguridad de ingreso al sitio esta basada en la autenticación por medio de un código de
usuario y una contraseña; las opciones a las cuales el usuario puede tener acceso, se encuentran
parametrizadas por medio de roles, los cuales a su vez, tienen asociadas un conjunto de opciones
habilitadas. La creación y administración de usuarios son funcionalidades cubiertas en este
módulo.
2.2 DOCENCIA:
La docencia dentro del proyecto se lleva a cabo mediante cinco módulos que debe realizar el
médico de staff, residente, enfermero(a) o técnico del HNNBB, acompañado de un examen
presencial, después de lo cual quedan habilitados para llevar a cabo una investigación clínica.
Los módulos a los que se refiere son los siguientes:
Modulo 1: Planificando un proyecto de IC.
Módulo 2: Herramientas epidemiológicas para IC.
Módulo 3: Diseño básico en IC.
Módulo 4: Fundamentos de Bioestadística para la IC.
Modulo 5: Ética en Investigación que involucra humanos.
En cada uno de los módulos, se proporciona el material didáctico necesario para el
entendimiento de los conceptos médicos pertinentes, cabe mencionar que los nombres de dichos
módulos así como la cantidad de los mismos que integran un curso de investigación clínica
puede ser modificado desde el SWIC, esto es a través del acceso de mantenimiento para el
mismo.
Adicionalmente, el sistema genera automáticamente un test por cada módulo, el cual debe
responder el alumno; el objetivo es medir el grado de entendimiento del material didáctico
proporcionado en el SWIC.
2
2.3 INVESTIGACIÓN CLÍNICA
Etapa en la cual el profesional en salud ya acreditado como investigador clínico, puede optar a
realizar una IC, desarrollando en la misma sus correspondientes etapas que comprenden el Pre-
Proyecto, Protocolo e Informe Final y si se autoriza la divulgación del documento se podrá
publicar el condensado de la IC.
La investigación clínica es una secuencia de actividades conjuntas en una forma lógica en la cual
el producto (información sobre la IC), se va trasladando entre los miembros del proceso de una
manera ordenada y siguiendo ciertas reglas de participación establecidas.
El investigador ingresa la información recopilada sobre el tema en las diferentes fases, el tutor
asignado aprueba o desaprueba ciertos pasos identificados dentro del proceso, el comité técnico
evalúa y autoriza procedimientos de la investigación durante pasos definidos.
En el desarrollo de una investigación clínica dentro del SWIC, existe inmerso un proceso el cuál
consiste en que los derechos que poseen los usuarios para desarrollar una actividad dentro de una
IC, son asignados mediante el concepto de Workflow, este se fundamenta esencialmente en que
todas las etapas críticas de la IC se manejan con base a una Ruta establecida, la cual es un
proceso formado por diferentes pasos ordenados en una secuencia lógica, esto quiere decir que a
medida el usuario va avanzando en el desarrollo de la IC, así se le van habilitando nuevas
opciones dentro del sistema, para realizar actividades que forman el mismo en el momento que
corresponden, mientras que otras se encuentran deshabilitadas por el mismo efecto.
2.3.1 PASOS:
Son las divisiones de un proceso, marcadas por el desarrollo de ciertas actividades específicas
dentro de cada una de las fases de la IC.
2.3.2 FASES:
Son las etapas por las cuáles debe de pasar una investigación clínica para ser publicada, estas son
el preproyecto (es la versión inicial escrita del plan de la investigación clínica), protocolo (es el
3
documento que contiene el plan de la investigación clínica) y el informe final (es el documento
que constituye el producto final de la investigación clínica ejecutada).
2.3.3 RUTA:
La ruta dentro del proceso, es básicamente una combinación de pasos dentro de cada etapa de la
investigación clínica, que sigue un orden parametrizado dentro del sistema, en tal sentido,
pueden existir tantas rutas o combinaciones, como sea necesario.
Inicialmente en el SWIC solo existe una ruta que se denominará Ruta Normal; cualquier
disposición administrativa que habilite para establecer un proceso modificado al actual, generará
la creación de una nueva ruta, en la cual se definirán los pasos por los que deberá pasar la IC.
La asignación de tareas será automática para cada miembro involucrado en el proceso, sin
embargo, permitirá la habilitación de ruteos manuales en los pasos que sea necesario, ya sea por
el usuario activo al que está asignado al registro o por el administrador del sistema.
En general, este mecanismo permitirá la agilización del proceso de investigación clínica, así
como un mejor control y seguimiento a cada una de ellas, lo que potencializa el aumento y
calidad en las mismas.
4
2.4 MATRIZ DE TRANSICIÓN DE PASOS.
Está formada por los pasos que debe seguir una investigación clínica, la función principal es detallar la secuencia en la que deben
desarrollarse los pasos dentro del proceso, y los eventos que generan el cambio de uno hacia otro (acciones).
A continuación se muestra la matriz de transición de pasos actual para la IC:
P A S O
HACIA DE
0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 INGRESO DE INVESTIGACIÓN Ingresar 1 INGRESO PREPROYECTO Revisar
2 REVISIÓN TÉCNICA PREPROYECTO Observar Aprobar
3 ASIGNACIÓN TUTOR Asignar Tutor
4 INGRESO PROTOCOLO A Ingreso de protocolo
5 APROBACIÓN TUTOR PROTOCOLO Reprobar Aprobar
6 REVISION TECNICA PROTOCOLO Ingresar
7 REVISIÓN ÉTICA PROTOCOLO A correcciones
Medir avance Descalificado
8 INGRESO INFORME FINAL Revisar
9 REVISIÓN ÉTICA INFORME FINAL Aprobar Reprobar
10 REVISIÓN TÉCNICA INFORME FINAL Reprobar Aprobar
11 CORRECIONES INFORME FINAL Corregir 12 PUBLICACIÓN 13 DESCALIFICACIÓN
5
La estructura de la matriz de transición de pasos se explica de la siguiente manera:
A la izquierda se detallan número y descripción de pasos en orden ascendente y en la parte
superior, los números de los mismos; partiendo de un paso detallado en una fila encontramos una
o varias acciones que llevan al siguiente paso, el cual esta definido en la parte superior de la
columna en donde se ubica cada acción.
Como ejemplo de lo anterior, aplicado sobre la matriz actual del sistema, podemos efectuar la
siguiente lectura:
De el paso 5 (aprobación tutor-protocolo), la acción “Reprobar” traslada el proceso al paso 4
(ingreso de protocolo) y la acción “Aprobar”, lo dirige hacia el paso 7 (Revisión ética-
protocolo); retomando en la fila correspondiente para el paso 4, encontramos la acción “A
ingreso protocolo”, la cual redirecciona nuevamente hacia al paso 5, a partir del cual se
reanudan las iteraciones sucesivamente.
3.- REQUERIMIENTOS TÉCNICOS
A continuación se presentan los requerimientos técnicos para el sistema desarrollado.
3.1 NAVEGADOR (browser)
Debido a que se necesita soporte para Javascript se debe tener como mínimo el Internet Explorer
5.1 o Nestcape 4.0.
3.2 BASE DE DATOS
El proveedor de la base de datos requerido es el SQL SERVER 2000.
Incluido con la base de datos se encuentran el SQL QUERY ANALIZER y el ENTERPRISE
MANAGER, que funcionan como consola de administración de la base de datos, por lo que no
es indispensable cualquier otro software para la administración.
3.3 ESPACIO DE ALMACENAMIENTO EN SERVIDORES:
La disponibilidad de espacio físico recomendada en los servidores, para almacenamiento de
programas y datos se presenta a continuación:
• Archivos del sitio (páginas .asp, .htm, .inc) (6 megabytes).
6
• Los materiales didácticos de los cinco módulos de la docencia (16 megabytes
inicialmente).
• Las publicaciones de los informes finales de las investigaciones clínicas (200 megabytes
inicialmente para un número de 200 publicaciones en formato PDF).
• Los documentos que se subirán en el proceso de las investigaciones clínicas (100
megabytes).
• La Base de Datos SQL SERVER 2000 (600 megabytes inicialmente).
• Manual Técnico y de usuario (50 Megabytes).
Es importante mencionar que cada uno de los elementos arriba descritos, pueden residir en uno o
varios equipos.
3.4 PUBLICACIÓN DEL SITIO
Para la publicación de las páginas dinámicas del sitio (ASP), se requiere del Internet Information
Services (IIS) instalado en el servidor de páginas.
Se recomienda la configuración de este servicio en inicio automático.
3.5 FIREWALL
Para garantizar la seguridad del sitio y de la información que se genere, se recomienda disponer
de un firewall, con el objetivo de restringir el acceso entre una red interna protegida y cualquier
otra red.
3.6 INSTALACIÓN DEL SISTEMA
Para esta instalación se debe seguir los siguientes pasos:
Paso 1: Revisar el correcto funcionamiento del IIS (Internet Information Services) en el Web
Server.
Paso 2: Crear un directorio en c:\investigacion_clínica el cual debe habilitarse como directorio
virtual en el Administrador de IIS en el panel de control del sistema operativo.
7
Paso 3: Instalar las carpetas que contienen las páginas ASP (carpeta: proceso_ic), manuales tanto
técnico, como de usuario (carpeta: manuales), archivos subidos (carpeta: archivos_subidos),
imágenes utilizados en el sistema (carpeta: images_hn), general que es la carpeta que contiene
páginas de contenido .htm que es utilizada en los menús del sitio (carpeta: general) desde el cd
proporcionado para la instalación del sistema.
Paso 4: Configurar página de inicio para el nuevo sitio desde el Administrador IIS la cual es
inicio.asp.
Paso 5: Acceder el sitio de la aplicación desde un navegador (browser) instalado en cualquier
equipo dentro de la red, en la dirección http://Nombreservidor/ic si se carga la página de inicio,
la aplicación esta en línea.
Paso 6: Para verificar que el nuevo sistema está funcionando adecuadamente se deben ingresar y
consultar datos desde las pantallas respectivas.
Paso 7: Luego de haber realizado las pruebas básicas en el sistema se debe proceder a ingresar
toda la información necesaria en la nueva base de datos como lo son parametrizaciones,
preguntas, respuestas, etc.
4.- FUNCIONAMIENTO DEL SISTEMA.
A continuación se describen los elementos bajo los cuales funciona el sistema.
4.1 INTERFAZ DE USUARIO (FRONT END)
Se puede definir como el contacto que el usuario tiene con el sistema cuando realiza la
navegación; a continuación se presentan los elementos que lo conforman:
8
4.1.1 DIAGRAMA JERÁRQUICO DEL SWIC
Este diagrama jerárquico muestra la estructura que se utiliza en el diseño del sitio Web para Software de Investigación Clínica y
Docencia.
En la parte superior de la jerarquía está la página principal que actúa como índice del sitio Web, mostrando el contenido. Los niveles
inferiores muestran con mayor detalle la información en el Sitio Web.
9
Nivel 1:
PÁGINA PRINCIPAL
La función de esta página es dar la bienvenida al sitio Web que incluye el índice general del
mismo. Desde aquí se efectúan los enlaces a las diversas opciones.
Nivel 2:
ADMINISTRACIÓN DE USUARIOS
La función principal de esta opción es la de administrar los roles que se le pueden asignar a un
usuario, permitir el cambio de clave de acceso al sitio y consultar los usuarios registrados en el
sistema.
Esta opción esta formada por las siguientes páginas:
Administración de roles: Esta páginas tiene como función asignar los roles tanto a los nuevos
usuarios como a los ya existentes.
Cambio de Clave: permite al usuario cambiar la clave del sistema.
Mantenimiento de usuarios: esta página permite consultar los datos de un usuario ya existente y
adicionarlo si no existe.
Cartelera de avisos: son mensajes intercambiados entre usuarios del SWIC, a través de la opción
respectiva.
Envío de archivos: permite el envío archivos entre los usuarios del sistema.
Asociación de roles a usuarios: lista de roles asociados que se han asignada a un usuario del
sistema.
ADMINISTRACIÓN DOCENCIA
Aquí se asignan los usuarios que serán los futuros alumnos del curso de docencia, se da
mantenimiento a los cursos ofrecidos por el HNNBB, y se mantienen actualizados las preguntas
y respuestas que alimentaran los autotest generados por el SWIC.
Esta opción esta formada por las siguientes páginas:
Inscripción de alumnos a cursos: permite la inscripción de los alumnos a los cursos.
Cursos Vigentes: muestra la lista de cursos vigentes, permitiendo realizar consultas de alumnos
inscritos a cada curso, editar las características de los cursos y el cierre de cursos.
10
Mantenimiento Autotest: Permite dar mantenimiento a la tabla de invc_cat_autotest.
Catálogo de Preguntas: ingreso de preguntas por cada módulo y alimenta a la tabla
invc_cat_preguntas.
Catálogo de Respuesta: ingreso de respuestas por cada modulo y alimenta a la tabla de
invc_cat_respuestas.
Pareo de preguntas por Módulo: permite el pareo (asociación) de la pregunta y sus respuestas,
tanto de la respuesta correcta, como de las incorrectas para que esta sean utilizadas en la
generación del autotest.
Consultar Preguntas por Módulo: permite realizar la consulta preguntas de un módulo
específico.
Cartelera de Avisos: son todas las comunicaciones que se han enviado entre usuarios del SWIC
Enviar Avisos: permite enviar avisos a un usuario del sistema o a usuarios de externos del
sistema.
Lista General de Preguntas: lista de todas las preguntas ingresadas al sistema.
Lista General de Respuestas: lista de todas las respuestas ingresadas al sistema.
Consulta de Alumnos Aprobación por Cursos: permite la consulta de los resultados de un
alumno por curso.
Administración IC
Entre las funciones que esta opción contiene están: habilitar, dar mantenimiento y listar
investigadores, realizar cambios administrativos, actualización de datos de la investigación
clínica, consulta de investigaciones en proceso, listas de investigaciones en general, envió de
archivos, asociar pasos a investigadores, llevar los tiempo de desarrollo de los pasos de una IC y
mostrar las estadísticas de las investigaciones.
Esta opción esta formada por las siguientes páginas:
Habilitación de Investigadores: permite habilitar a los usuarios como investigador, asesores,
representante de los comités técnico y ético para ser asociados en una investigación.
Lista de investigadores: permite consultar todos los usuarios vigentes en el sistema o un usuario
específico.
Abrir Investigación: permite crear el código y tema de una investigación.
11
Mantenimiento Grupo Investigador: permite el ingreso de los investigadores que conformarán
un grupo de investigación.
Cambios Administrativos en proceso: permite realizar cambios en el proceso de una
investigación clínica en su ruta normal.
Otros documentos a publicar: permite el ingreso de documentos varios que se deseen publicar.
Consulta General de una Investigación: permite la consulta de los datos generales de una
investigación.
Lista de Investigaciones: lista de investigaciones que los comités de ética y técnico tienen
habilitados para dar el seguimiento respectivo.
Envío de Archivos: permite el envío de archivos pendientes en el proceso de la investigación
clínica.
Asociar Pasos a Investigadores: la función de esta página es la de asociar pasos que un
investigador podrá realizar en el desarrollo de una investigación clínica.
Tiempos de desarrollo de pasos: permite la consulta de los tiempos totales que tardó cada paso
en ser finalizado
Estadística Investigaciones: muestra los promedios de publicaciones realizadas y de los
protocolos aprobados, rechazados y con correcciones.
Inicio Proceso de investigación: permite iniciar el proceso de una investigación clínica.
Cierre de Investigaciones: permite realizar el cierre de las investigaciones que se encuentran en
el paso de publicación o descalificación.
INVESTIGADORES IC
La función de esta opción es permitir al investigador realizar las diferentes etapas que conforman
la investigación clínica y además el envió de archivos referentes a la investigación que se este
desarrollando.
Esta opción esta formada por las siguientes páginas:
Envío de Archivos: permite el envío de archivos pendientes en el proceso de la investigación
clínica.
Lista de Investigaciones: lista de investigaciones que tiene asignada cada investigador.
12
EVALUACIONES DE CURSO
La función de esta opción es la de administrar el contenido del curso con los diferentes módulos
para que el alumno los pueda consultar y a la misma ves podrá llevar a cabo el autotest
correspondiente por módulo.
Esta opción esta formada por las siguientes páginas:
Evaluaciones modulares de curso: muestra la lista de módulos del curso, permitiendo obtener la
información de cada uno de ellos y además permite realizar la evaluación de los mismos.
REPRESENTACIÓN DE COMITÉ Y/O TUTOR:
La función de esta opción es mostrar la lista de investigaciones que se le van asignando al
representante de comité o al tutor. Permitiendo realizar observaciones de cada una de ellas.
Esta opción esta formada por las siguientes páginas:
Envío de Archivo: permite el envío de archivos pendientes en el proceso de la investigación clínica.
Lista de investigaciones comité y/o tutor: lista de investigaciones asignadas
correspondientemente.
Nivel 3:
Estas opciones contienen la información específica de todos los enlaces del nivel dos. Para la
mayoría de opciones es el último nivel.
Entre los diferentes usos que pueden tener las opciones de este nivel se encuentran.
a) Captura de datos de Usuarios
Esta se realiza mediante formularios en los cuales se ingresa información que debe ser
almacenada en la base de datos, estos son:
i. Adición de preguntas al autotest: el administrador de la etapa de docencia dentro del
SWIC, deberá dar mantenimiento a las preguntas que conforman cada uno de los autotes
de los diferentes módulos del curso.
13
ii. Adición de respuestas al autotest: al igual que el numeral anterior, esa misma actividad se
debe de realizar para las repuestas.
iii. Ingreso de roles a los alumnos e investigadores: asignación de actividades autorizadas
para poderlas realizar como usuario del SWIC.
iv. Consulta de datos del usuario (si no existe se adiciona un nuevo usuario): se listan los
datos de un usuario o de todos los usuarios activos o inactivos dentro del SWIC.
v. Inscripción de usuarios a cursos de investigación clínica: si el usuario ha cumplido con
los trámites administrativos exigidos por el HNNBB, el paso a seguir es incorporarlo a un
curso de docencia y es por medio de este formulario en el cual se realiza dicha actividad.
vi. Registro de usuario como investigador: autorización de un usuario para la realización de
una investigación clínica.
vii. Registro del tema de la investigación: formulario que registra las diferentes IC de los
grupos de investigadores clínicos.
viii. Ingreso de grupos investigadores: se define si el usuario es investigador clínico, miembro
del comité técnico o del comité de ética.
ix. Cambios administrativos en proceso: en el desarrollo de una investigación clínica es aquí
donde se observa el workflow, así como donde se puede introducir modificaciones al
mismo.
x. Actualización de fases: de requerirse un reajuste en una de las fases de workflow.
xi. Registro de usuarios: para poder ser alumno o investigador activo.
xii. Envío de avisos: medio para comunicarse con los miembros del SWIC.
xiii. Ingreso y/o modificaciones de cursos: mantenimiento de los cursos a desarrollarse y en
desarrollo.
xiv. Ingreso de comentarios para una investigación: parte esencial el desarrollo de una
investigación clínica.
14
b) SALIDA
Las salidas de información se dan mediante formularios que pueden ser tablas de detalle, listas y
tablas de despliegue de datos.
Listas:
a) Cartelera de avisos: son todas las comunicaciones que se han enviado entre usuarios del
SWIC.
b) Resultados de los módulos: son todas las calificaciones obtenidas por el usuario en los
diferentes módulos.
c) Lista de preguntas por módulo: listado de todas las preguntas por módulo, que
actualmente están almacenas en la base de datos.
d) Lista general de preguntas: listado de todas las preguntas en el SWIC.
e) Lista general de respuestas: listado de todas las respuestas en el SWIC.
f) Cursos de docencia IC: listado de cursos que están en proceso en la docencia.
g) Lista General de Investigadores del sistema: investigadores acreditados para desarrollar
una IC en el HNNBB.
h) Consulta de una Investigación(S/T): detalle de una IC en proceso.
i) Investigaciones del usuario: lista de investigaciones asociadas a un usuario.
j) Lista General de usuario del sistema: lista general de usuarios que están registrados en el
sistema.
k) Historial de la investigación: son todas las investigaciones que se finalizaron y se
tienen que guardar para generar conocimiento científico.
Tablas de detalle
a) Consulta de Datos de Usuario: lista de toda la información de cada usuario
Tablas de despliegue de datos
b) Roles asociados: lista de roles asociados que se han asignada a un usuario del sistema.
c) Investigaciones con documentación pendiente de enviar: lista de investigaciones
que tienen pendiente algún tipo de documentos relacionados con el desarrollo de la
misma.
d) Cursos registrados: lista de cursos registrados en el sistema.
15
e) Cuadro de rendimiento en curso IC: lista de las notas obtenidas por un alumno
el proceso de docencia.
f) Investigación para representante de comité: listas de investigaciones que tiene
los representantes de los comités.
g) Grupo investigador: lista de investigadores asociados a una investigación.
4.1.2 Hojas de estilo en cascada (Cascading Style Sheets, CSS)
Las características gráficas tales como imágenes y colores de fondo, márgenes exactos y bordes
en el sitio son manejadas mediante una hoja de estilo la cual está ubicada dentro del sitio y que
se puede consultar mediante la dirección http://localhost/ic/stylesheet.css .
A continuación se presentan todos los estilos de páginas utilizadas en el sistema y su descripción:
Pantalla inicial esta formada en tres bloques (frame) los cuales son:
Frame superior: Barra de menú principal (Main Header)
Información General
Capacitación y Docencia
Comités
Publicaciones
Ejecución de Proyectos
Asistente Experto
Regresar
Es el menú que consta de una imagen que representa al HNNBB en la parte izquierda, seguida de
esta se encuentran otras celdas con imágenes extensión .gif y .jpg que presentan opciones del
menú público y cada una de ellas tiene un link para accesar a otro menú o página. Estas
imágenes tiene como color de fondo bgcolor="#006699”, tipo de letra Arial color=#ffffff y
centrado, para los títulos que tendrán al pie de la imagen.
Frame izquierdo: área de despliegue de menús.
Para despliegue de las opciones de menús se utiliza el siguiente esquema que contiene:
Elemento: Son todos los elementos que conforman un menú (ejemplo: tabla de detalle, links,
títulos, etc.)
16
Clase. Estas son las diferentes clases de estilos que se pueden utilizar para los elementos.
Características: todas las características que pueden tener las clases dentro de la hoja de estilos.
Elemento Clase Características
Tabla de
detalle
Menucss border-right: #a9a9a9 0px solid;
border-top: #a9a9a9 0px solid;
border-left: #a9a9a9 0px solid;
border-bottom: #a9a9a9 0px solid;
Background: white;
Títulos de
tabla de
detalle:
bgcolor="#E6E6E6"
font-size: 10px, color: #000000,
font-family: verdana, arial
Links Menulink display: block;
width: 150px;
text-align: left;
text-decoration: none;
font-family:arial;
font-size:12px;
color: #000000;
BORDER: none;
border: solid 1px #FFFFFF
17
Ejemplo de un menú: ADMINISTRACION DE USUARIOS
Cambio de clave
ADMINISTRACION IC
Habilitación de investigadores
Lista de investigadores
Abrir Investigación
Mtto.grupo investigador
Cambios administrativos en proceso
Actualización de Datos IC
Otros documentos a publicar
Consulta general de una investigación
Cartelera de avisos
Enviar Aviso
Lista Investigaciones
Envío de archivos
Frame derecho: Área de trabajo.
En este frame se mostrarán las páginas tanto estáticas que se utilizan para la presentación de
contenido estático, como por ejemplo la misión y visión de HNNBB, etc. y dinámicas que hacen
uso de la base de datos y las páginas estáticas que solo sirven para mostrar información general.
Páginas Estáticas:
Estas páginas tienen la siguiente estructura:
Elemento Clase Características
Títulos de la
páginas
COLOR: #336699
font-size: 10px,
color: #000000,
font-family: verdana, arial
background="barra.
Texto de la
páginas
font-size: 10px,
color: #000000,
font-family: verdana, arial
background="barra.gif"
TÍTULOSLINKS
18
Páginas dinámicas
Estas páginas se dividen en varias tipos:
LISTA:
Ejemplo.
Cursos registrados
No. Nombre curso Estado Cupos Fecha Inicio Fecha Fin Acción
1 CURSO DE PRUEBA 1 P 40 01/01/2004
01/04/2004
Editar
Ver Alumnos
Adicionar
La estructura de las listas es la siguiente.
Elemento Clase Características
Títulos de la
lista
H1 font-weight: 600;
font-size: 160%;
line-height: 100%;
padding-top: 0pt;
font-family: verdana, arial
Alias que se
asignan en
cada columna
de la lista
list_header border-right: #a9a9a9 1px solid
border-top: #a9a9a9 0px solid
border-left: #a9a9a9 0px solid
border-bottom: #a9a9a9 1px solid
background-color : #006699
Botón de input
Títulos.
Filas se despliegue de datos
Alias de las columnas
Botones de acción
19
font-weight: bold, font-size: 10px
color: white
font-family: arial, helvetica, sans-serif
Text-align: center
Filas de datos
que se
desplegarán
en la lista y
los botones
de acción
detail_text border-right: #a9a9a9 1px solid
border-top: #a9a9a9 0px solid
border-left: #a9a9a9 0px solid
border-bottom: #a9a9a9 1px solid
background-color : transparent
font-weight: bold
font-size: 10px
color: black
font-family: arial, helvetica, sans-serif
Text-align: left
Para los
botones de
input o
entrada
ing_header
border-right: #a9a9a9 1px solid
border-top: #a9a9a9 0px solid
border-left: #a9a9a9 0px solid
border-bottom: #a9a9a9 1px solid
background-color : #006699
font-weight: bold
font-size: 10px
color: white
font-family: arial, helvetica, sans-serif
Text-align: left
20
TABLAS DE DESPLIEGUE DE DATOS
Ejemplo.
fecha Mensaje Tipo Remitente
01/09/2004 Este es un mensaje para Carlos P cer1
01/09/2004 este es otro aviso particular P cer1
01/09/2004 Es este es otro aviso particular adicional P cer1
La estructura de los despliegues de datos es la siguiente:
Elemento Clase Características
Encabezados
de la
columnas
list_header border-right: #a9a9a9 1px solid
border-top: #a9a9a9 0px solid
border-left: #a9a9a9 0px solid
border-bottom: #a9a9a9 1px solid
background-color : #006699
font-weight: bold, font-size: 10px
color: white
font-family: arial, helvetica, sans-serif
Text-align: center
filas de las
tablas
detail_text border-right: #a9a9a9 1px solid
border-top: #a9a9a9 0px solid
border-left: #a9a9a9 0px solid
border-bottom: #a9a9a9 1px solid
background-color : transparent
font-weight: bold
font-size: 10px
color: black
font-family: arial, helvetica, sans-serif
Text-align: left
Encabezados Filas de datos
21
TABLAS DE DETALLE DE DATOS.
Ejemplo.
Consulta Investigador Código Profesional
3
Nombre Investigador
CARLOS ERNESTO RODAS NULL
Sexo M
Fecha de Nacimiento 01/01/1960
Profesión ESTUDIANTE
Especialidad CARDIOLOGÍA PEDIATRICA
Institución de Procedencia HOSPITAL BLOOM
Código Investigador CER1
Categoría CT
Institución CMES
Fecha de acreditación 01/01/2004
Estado V
Fecha de autorización 02/01/2005 12:17:00
Autorizante CER1
Estructura de las tablas de detalle de datos.
Elemento Clase Características
Títulos de la
tabla
H1 font-weight: 600;
font-size: 160%;
line-height: 100%;
padding-top: 0pt;
font-family: verdana, arial
Etiquetas de
los campos
ing_header border-right: #a9a9a9 1px solid
border-top: #a9a9a9 0px solid
border-left: #a9a9a9 0px solid
Título de la página Alias de los
campos
Datos de los
campos a detallar
Encabezados
22
border-bottom: #a9a9a9 1px solid
background-color : #006699
font-weight: bold
font-size: 10px
color: white
font-family: arial, helvetica, sans-serif
Text-align: left
Datos de los
campos a
detallar
ingdetail_text border-right: #a9a9a9 1px solid
border-top: #a9a9a9 0px solid
border-left: #a9a9a9 0px solid
border-bottom: #a9a9a9 1px solid
background-color : transparent
font-weight: bold
font-size: 10px
color: black
font-family: arial, helvetica, sans-serif
text-align : left
PÁGINAS DE CONSULTA: Ejemplo.
Módulo Fundamentos de Epidemiología
Consultar Preguntas
Listas de selección
Alias. Botón input
Las páginas que realizan consulta utilizan la siguiente estructura:
Elemento Clase Características
Combo-box ingdetail_text border-right: #a9a9a9 1px solid
border-top: #a9a9a9 0px solid
border-left: #a9a9a9 0px solid
border-bottom: #a9a9a9 1px solid
background-color : transparent
font-weight: bold
font-size: 10px
color: black
font-family: arial, helvetica, sans-serif
text-align : left
Todas las páginas tienen un mismo pie el cual se especifica de la siguiente manera:
Mensaje
Hospital Nacional de Niños Benjamín Bloom. | Departamento de Enseñanza e Investigación Unidad de Investigación Clínica, Final 25 Avenida Norte y Boulevard de los Héroes, San Salvador, El Salvador
Conmutador: (503)2225-4114 Ext. 295-296
email: [email protected]
Copyright 2004 Universidad Francisco Gavidia, todos los derechos reservados
Este se usa como un archivo de inclusión para todas las páginas. 4.2 ESTÁNDARES DE SITIO WEB
Son todos los estándares que se utilizados en las páginas que tienen relación con la aplicación en
el desarrollo del sitio. A continuación se representan dichos estándares.
23
24
4.2.1 CONVENCIONES DE NOMBRE DE VARIABLES DE TRABAJO
Variables en páginas ASP
VLNombreVariable para identificar variables que se necesite crear dentro del código
Vbscript.
rsNombreRecordset para nombrar los objetos Ado Recordset que sea necesario en el
código Vbscript.
4.2.2 NOMENCLATURA DE ARCHIVOS
Dentro de la aplicación Web existen tres tipos de archivos, páginas de contenido estático (.html),
páginas de contenido dinámicos (.asp) y archivos de inclusión (.inc)) los cuales se nombran
mediante los siguientes estándares:
a) Nomenclatura de las páginas .asp
Son páginas dinámicas que nos permiten el acceso a la bases de datos, al sistema de archivos del
servidor y en general a todos los recursos que tenga el propio servidor.
b) Estructura de las Páginas Dinámicas
Estas se estructuran de acuerdo a su funcionalidad, primero el header, seteos de variables,
conexión a la base de datos (conexion.inc) y los archivos de inclusión de los objetos que
ejecutarán las peticiones (request) a la base de datos.
c) Convenciones de las páginas
ic_NombrePágina.asp son las páginas utilizadas para realizar procesos de consulta,
actualización, inserción, etc. en el sistema.
ic_command_NombrePágina.inc son páginas que contienen definición de los objetos Ado
Command utilizados para la conexión a la base de datos
ic_NombrePágina_action.asp son las páginas hacia las cuales se redirecciona el contenido de
un formulario, para realizar operaciones simples como consultas, actualizaciones, etc. y que no
necesitan el efecto de cascada.
lg_NombrePágina.asp son las páginas encargados de validar lo relacionado con los accesos y
seguridad del sistema.
25
Nombre_pagina.inc: son páginas que se utilizarán como inclusión de procesos simples como
por ejemplo consultas, inserción, actualización, etc.
ic_NombrePagina_pl.asp: son páginas utilizadas como plantillas de despliegue de datos
NombrePagina.htm: son las páginas que contienen información estática.
En la construcción del sitio se utiliza la tecnología ADODB ACTIVE X (Tecnología
multilenguaje para el acceso a datos, cuyo modelo de objetos incorpora objetos de conexión de
datos, comandos de datos, objetos Recordset y colecciones que los incluyan. El modelo de
objetos ADO proporciona un conjunto de objetos, propiedades y métodos fácil de usar para la
creación de secuencias de comandos que proporcionen acceso a la información de bases de
datos.)
A continuación se presentan los objetos ADO utilizados.
ADO RECORDSET:
Crea un objeto de secuencia de comandos Recordset, que permite el acceso a datos desde una
página. El control Recordset actúa como un origen de datos al enlazar controles en tiempo de
diseño con enlace a datos.
La estructura que presentan los Recordset en el sitio es:
• Seteo de Recordset a la base de datos mediante la sentencia
set rsNombre_recordset = server.CreateObject("ADODB.Recordset")%
• Ejecución del Recordset mediante la sentencia
set rsNombre_recordset = cmd.Execute (ejecución)
[Condiciones] rsNombre_recordset.EOF (Condiciones de ejecución)
• El retorno y cierre del Recordset en el sistema se realiza mediante la sentencia
rsNombre_recordset.MoveNext (Retorno)
26
Loop
rsNombre_recordset.Close (cierre)
Ejemplo de un ASP:
En el siguiente bloque de código ASP muestra el seteo de un Recordset al
sp_mantenimiento_docencia de la base de datos para realizar una consulta:
<%
VLTipo = "S"
VLOperacion = 18
set rsModificar = server.CreateObject ("ADODB.Recordset")%>
<! -- #include file="ic_command_mantenimiento_docencia.inc"-->
<%
set rsModificar = cmd.Execute
Do While NOT rsModificar.EOF
VLSecuencial = rsModificar ("secuencial")
VLConcepto = rsModificar("modulo")
VLPromedio_test = rsModificar("promedio")
VLRepeticiones = rsModificar ("repeticiones")
VLFactor_Gral = rsModificar ("factor_gral")
VLDoc_manual = rsModificar ("doc_manual")
VLEstado = rsModificar ("estado")
27
rsModificar.MoveNext
Loop
rsModificar.Close %>
ADO COMMAND:
Objeto del entorno de datos que contiene información sobre el acceso a un objeto concreto de
base de datos. Por ejemplo, un objeto de comando puede señalar una tabla, otro a un
procedimiento almacenado y un tercero a un comando SQL.
En el sistema desarrollado los Command tienen la siguiente estructura
• Seteo del Command a la base de datos mediante la sentencia Set cmd =
Server.CreateObject("ADODB.Command")
• Ejecución de conexión a la base de datos mediante la sentencia Set
cmd.ActiveConnection = cn
• Activación del Command que ejecutará el sp de la base de datos cmd.CommandText =
"Base de datos..sp_Nombre_del_SP"
• Seteo de parámetros del SP (todos los parámetros que tienen relación base de datos en el
SP) con la instrucción set p1 = cmd.CreateParameter ("i_Nombre _Parámetro",
adTipo, adParametro de Salida o entrado, tamaño) como por ejemplo: set p2 =
cmd.CreateParameter ("i_operacion", adInteger, adParamInput, 10) esta
instrucción setea un parámetro que tiene como nombre “i_operacion”, tipo int, parámetro
de entrada, tamaño 10.
• Abriendo todos los parámetros mediante la instrucción cmd.parameters.append p1
• Definición de valores por defecto de las variables ( Instrucciones que le asignan valores
a los parámetros por defecto a las variables el cual es el que el sistema reconocerá al
momento de la ejecución de Command ), como por ejemplo:
28
If VLCorrelativo="" Then
VLCorrelativo = 0
End if
La instrucción anterior asigna a la variable VLCorrelativo en el
ic_command_mantenimiento_docencia el valor por defecto de cero.
• Depurador de los Command estos son bloque de instrucciones que permiten verificar
todos los parámetros que se están enviando desde el sistema se está haciendo
correctamente, como por ejemplo:
If VLDebug = "S" Then
Response.write ("<br>")
Response.write (" Tipo :")
Response.write VLTipo
Response.write ("<br>")
Response.write (" Operacion :")
Response.write VLOperacion
End if
El bloque de instrucciones que se muestra anteriormente ejecuta un depurador para
verificar si las variables de VLTipo y VLOperacion se están ejecutando correctamente,
estos depuradores se utilizan típicamente en los Recordset para la depuración de variables
que en el se ejecutan.
• Definiendo los valores de los parámetros es el proceso cuando a cada parámetro se le
asigna el nombre de una variable la cual es usada en le sistema en la ejecución de los
29
Recordset, un ejemplo es p2.value = VLOperacion (el parámetro 2 se le asigna la
variable de VLOperacion).
Ejemplo de un ADO COMMAND:
A continuación se presenta un bloque de código ASP que contiene un command de nombre de
ic_command_cierre_ic.inc que realiza el seteo de todos los parámetros y variables necesarios
para el sp_cierre_ic de la base de datos.
<%
Set cmd = Server.CreateObject ("ADODB.Command")
Set cmd.ActiveConnection = cn
cmd.CommandText = "investigacion_clinica..sp_cierre_ic"
cmd.CommandType = adCmdStoredProc
‘Seteando los parámetros del sp
set p0 = cmd.CreateParameter ("Return_value", adInteger,adParamReturnValue,10)
set p1 = cmd.CreateParameter ("i_codigo_investigacion", adVarChar,adParamInput,15)
set p2 = cmd.CreateParameter ("i_usuario", adVarChar,adParamInput,10)
cmd.parameters.append p0
'Abriendo los parámetros
cmd.parameters.append p1
cmd.parameters.append p2
'Definiendo valores por defecto
If VLGrupo="" Then
VLGrupo = 0
30
End if
if VLDebug = "S" Then
Response.Write ("<BR>")
Response.Write ("VLCodInvestigacion :")
Response.Write VLCodInvestigacion
Response.Write ("<BR>")
Response.Write ("VLCodDecision :")
Response.Write VLCodDecision
Response.Write ("<BR>")
End If
'Definiendo los valores de los parámetros
p1.value = VLCodInvestigacion
p2.value = Session ("usuario")
%>
Para mayor información referirse a la ayuda de MSDN LIBRARY VISUAL ESTUDIO 6.0.
4.3 DISEÑO DE LA BASE DE DATOS
En esta parte se encuentran los diagramas, los estándares utilizados en las tablas y en el tipo de
datos.
A continuación se presentan dichos diagramas y estándares:
4.3.1 ER
ER son las iniciales para el diagrama Entidad - Relación del Software de Investigación Clínica,
en el se describen todas las asociaciones que existen entre las diferentes categorías de datos
dentro del SWIC.
31
DIAGRAMA DE ENTIDAD RELACIÓN DEL SWIC
in_cod_investigador = us_codigo_profesional
gi_cod_investigador = in_cod_investigador
ip_codigo_investigacion = gi_codigo_investigacion
tv_cod_tabla = cv_tabla
cd_usuario = at_usuario��cd_curso = at_curso
cd_usuario = in_cod_investigador
ca_modulo = at_modulo
cp_pregunta = tr_pregunta
ip_codigo_investigacion = pi_codigo_investigacion
up_usuario = pi_autorizante
fi_cod_fase = pa_fase
ip_codigo_investigacion = di_codigo_investigacion
di_codigo_investigacion = ci_codigo_investigacion
us_cod_usuario = up_usuarious_cod_usuario = at_usuario
us_cod_usuario = cd_usuario
fi_cod_fase = pi_fase
ru_ruta = pi_ruta
ru_ruta = pa_ruta
at_usuario = tr_autorizante��at_curso = tr_curso��at_modulo = tr_modulo��at_conteo_modulo = tr_conteo_modu
cr_respuesta = tr_respuesta
pa_ruta = pd_ruta��pa_paso = pd_paso
ip_codigo_investigacion = do_cod_referencia
us_cod_usuario = av_usuario_des
cd_usuario = nc_usuario��cd_curso = nc_curso
cu_cod_curso = at_curso
cp_pregunta = pr_pregunta
cr_respuesta = pr_respuesta
ca_modulo = pr_modulo
ic_correlativo = do_correlativo
nc_curso = dh_curso��nc_usuario = dh_usuario
cd_curso = dh_curso��cd_usuario = dh_usuario
us_cod_usuario = ac_usuarioop_opcion = mn_correlativo
ro_rol = ac_rolro_rol = op_rol
invc_usuario
us_cod_usuarious_codigo_profesionalus_primer_nombreus_segundo_nombreus_primer_apellidous_segundo_apellidous_apellido_casadaus_sexous_fecha_nacimientous_profesionus_especialidadus_institucion_lus_areaus_emailus_claveus_estadous_fecha_autus_autorizante
varchar(10)varchar(10)varchar(15)varchar(15)varchar(15)varchar(15)varchar(15)char(1)smalldatetimevarchar(10)varchar(10)varchar(10)varchar(10)varchar(35)varchar(30)char(1)smalldatetimevarchar(10)
<fk>
invc_investigador
in_cod_investigadorin_categoriain_institucion_acredin_fecha_acreditacionin_fecha_autin_usuario_autin_estado
varchar(10)varchar(10)varchar(10)smalldatetimesmalldatetimevarchar(10)char(1)
<fk1,fk2>
invc_grupos_ic
gi_correlativogi_grupogi_categoria_gpogi_codigo_investigaciongi_categoria_investigadorgi_cod_investigadorgi_fechagi_autorizadogi_estado
intintvarchar(10)varchar(15)varchar(10)varchar(10)smalldatetimevarchar(10)varchar(10)
<fk>
invc_investigacion_proceso
ip_correlativoip_tema_investigacionip_codigo_investigacionip_institucion_icip_estadoip_fecha_inicioip_fecha_finip_estacionip_rutaip_faseip_pasoip_actividad_finalip_publica_informeip_fecha_autip_autorizante
intvarchar(250)varchar(15)varchar(10)char(1)smalldatetimesmalldatetimevarchar(10)inttinyinttinyintvarchar(50)varchar(10)datetimevarchar(10)
<pk>
invc_cat_valores
cv_tablacv_codigocv_descripcioncv_estadocv_fecha_act
intvarchar(10)varchar(50)char(1)smalldatetime
<fk>
invc_tabla_v
tv_cod_tablatv_tablatv_descripciontv_estadotv_fecha_act
intvarchar(30)varchar(70)char(1)smalldatetime
invc_autotest
at_correlativoat_usuarioat_cursoat_moduloat_sec_moduloat_conteo_moduloat_promedioat_conceptoat_secuencialat_inicioat_finat_fecha_autat_autorizante
intvarchar(10)varchar(6)tinyinttinyinttinyintfloatchar(1)tinyintsmalldatetimesmalldatetimesmalldatetimevarchar(10)
<fk1,fk3><fk1,fk4><fk2>
invc_control_docencia
cd_cursocd_usuariocd_fecha_iniciocd_fecha_fincd_ult_modulocd_estado_registrocd_fecha_autcd_autorizante
varchar(6)varchar(10)smalldatetimesmalldatetimetinyintchar(1)smalldatetimevarchar(10)
<fk>
invc_cat_autotest
ca_secuencialca_moduloca_descripcionca_promedioca_estadoca_repeticionesca_ponderacionca_doc_manualca_fecha_autca_autorizante
inttinyintvarchar(70)decimalchar(1)tinyinttinyintvarchar(150)smalldatetimevarchar(10)
invc_cat_preguntas
cp_correlativocp_preguntacp_estadocp_fecha_autcp_autorizante
intvarchar(200)varchar(10)smalldatetimevarchar(10)
invc_test_respuestas
tr_correlativotr_cursotr_modulotr_conteo_modulotr_preguntatr_respuestatr_resultadotr_fecha_auttr_autorizantetr_secuencialtr_respuesta_correcta
intvarchar(6)inttinyintintintchar(1)smalldatetimevarchar(10)tinyintint
<fk2><fk2><fk2><fk1><fk3>
<fk2>
invc_proceso_ic
pi_secuenciapi_codigo_investigacionpi_rutapi_pasopi_fasepi_cod_decisionpi_estacionpi_fecha_iniciopi_fecha_finpi_estadopi_autorizante
smallintvarchar(15)tinyinttinyinttinyintvarchar(10)varchar(10)datetimedatetimechar(1)char(8)
<fk1><fk4>
<fk3>
<fk2>
invc_usuario_paso
up_usuarioup_pasoup_estadoup_autorizanteup_fecha_aut
varchar(10)char(10)char(1)char(10)datetime
<fk>
invc_pasos
pa_correlativopa_rutapa_pasopa_fasepa_descripcionpa_tiempopa_tipopa_categoriapa_estadopa_autorizantepa_fecha_aut
inttinyinttinyinttinyintvarchar(64)decimalchar(10)varchar(10)char(1)char(10)smalldatetime
<fk2>
<fk1>
invc_fase_ic
fi_cod_fasefi_descripcionfi_estadofi_autorizantefi_fecha_autorizacion
tinyintvarchar(64)char(10)char(10)datetime
invc_desarrollo_investigacion
di_codigo_investigaciondi_pregunta_invdi_antecedente_temadi_importancia_invdi_diseniodi_comentario_diseniodi_criterios_inclusiondi_criterios_exclusiondi_var_estudiodi_medicion_vardi_herram_estaddi_software_utdi_resumen_invdi_estadodi_fecha_autdi_autorizante
varchar(15)varchar(300)varchar(500)varchar(500)varchar(10)varchar(150)varchar(500)varchar(500)varchar(500)varchar(500)varchar(500)varchar(250)varchar(2500)char(1)smalldatetimevarchar(10)
<fk>
invc_comentarios_investigacion
ci_correlativoci_codigo_investigacionci_faseci_pasoci_secuenciaci_comentarioci_fecha_autci_autorizante
tinyintvarchar(15)varchar(10)tinyintsmallinttextsmalldatetimevarchar(10)
<fk>
invc_ruta
ru_rutaru_descripcionru_autorizanteru_fecha_aut
tinyintvarchar(64)char(10)smalldatetime
<pk>
invc_cat_respuestas
cr_correlativocr_respuestacr_estadocr_fecha_autcr_autorizante
intvarchar(200)char(1)smalldatetimevarchar(10)
invc_paso_decision
pd_rutapd_pasopd_cod_decisionpd_paso_sigpd_fecha_autpd_usuario_autpd_estado
tinyintintvarchar(10)intsmalldatetimechar(10)char(1)
<fk><fk>
invc_documentos
do_correlativodo_nombre_docdo_tipo_documentodo_cod_referenciado_secuencial_refdo_fechado_autorizante
tinyintvarchar(150)varchar(10)varchar(15)intsmalldatetimevarchar(10)
<fk2>
<fk1>
invc_avisos
av_correlativoav_tipoav_usuario_desav_comentarioav_fecha_venciav_fecha_autav_autorizante
intvarchar(1)varchar(10)varchar(255)smalldatetimesmalldatetimevarchar(10)
<fk>
invc_notas_cursos
nc_cursonc_usuarionc_ult_modulonc_nota_finalnc_comentariosnc_estado_cursonc_fecha_autnc_autorizante
varchar(6)varchar(10)tinyintdecimalvarchar(600)char(1)smalldatetimevarchar(10)
<fk><fk>
invc_cursos
cu_correlativocu_cod_cursocu_nombrecu_fecha_inicu_fecha_fincu_cupocu_estadocu_comentariocu_fechacu_autorizante
intvarchar(10)varchar(64)smalldatetimesmalldatetimeintvarchar(10)varchar(255)smalldatetimevarchar(10)
invc_errores
er_numeroer_mensajeer_fecha_auter_autorizante
intvarchar(60)smalldatetimevarchar(10)
invc_preguntas_resp
pr_correlativopr_modulopr_secuencialpr_preguntapr_respuestapr_resultadopr_estadopr_fecha_autpr_autorizante
inttinyintsmallintintintvarchar(10)varchar(10)smalldatetimevarchar(10)
<fk3>
<fk1><fk2>
invc_investigaciones
ic_correlativoic_codigo_investigacionic_tema_investigacionic_institucion_icic_tipo_documentoic_fecha_inicioic_fecha_finic_publica_informeic_pregunta_invic_antecedente_temaic_importancia_invic_disenioic_comentario_disenioic_criterios_inclusionic_criterios_exclusionic_var_estudioic_medicion_varic_herram_estadic_software_utic_resumen_invic_autorizanteic_fecha_aut
intvarchar(15)varchar(250)varchar(10)varchar(10)smalldatetimesmalldatetimevarchar(10)varchar(300)varchar(500)varchar(500)varchar(10)varchar(150)varchar(500)varchar(500)varchar(500)varchar(500)varchar(500)varchar(250)varchar(2500)varchar(10)smalldatetime
invc_docencia_his
dh_usuariodh_cursodh_fecha_iniciodh_fecha_findh_nota_finaldh_resultadodh_comentariosdh_fecha_autdh_autorizante
varchar(10)varchar(10)smalldatetimesmalldatetimedecimalvarchar(10)varchar(600)smalldatetimevarchar(10)
<fk1,fk2><fk1,fk2>
invc_accesos
ac_correlativoac_usuarioac_rolac_estadoac_fecha_autac_autorizante
integervarchar(10)integerchar(1)datetimevarchar(10)
<fk1><fk3>
invc_oprol
op_correlativoop_rolop_opcionop_fecha_autop_autorizante
integerintegerintegerdatetimevarchar(10)
<fk1,fk2,fk4>
invc_menu
mn_correlativomn_padremn_ordenmn_finalmn_descripcionmn_archivomn_estadomn_fecha_autmn_autorizante
integerintegertinyintchar(1)varchar(50)varchar(80)char(1)datetimevarchar(10)
<fk>
invc_roles
ro_rolro_descripcionro_fecha_autro_autorizantero_estado
integervarchar(50)datetimevarchar(10)char(1)
Diagrama Entidad-Relación SWIC
32
Como su nombre lo expresa, en el se plasman una serie de entidades que son objetos donde se
almacenan los datos, como por ejemplo tenemos la tabla “invc_usuario” en la cual se
almacenarán todos los datos de los usuarios del SWIC, es decir los médicos de staff, residentes,
técnicos y enfermeras.
En cada una de estas entidades existen los atributos que las conforman, estos son características
de una entidad, ejemplo de estos tenemos en la tabla “invc_usuario”: invc_usuario
us_cod_usuarious_codigo_profesionalus_primer_nombreus_segundo_nombreus_primer_apellidous_segundo_apellidous_apellido_casadaus_sexous_fecha_nacimientous_profesionus_especialidadus_institucion_lus_areaus_emailus_claveus_estadous_fecha_autus_autorizante
varchar(10)varchar(10)varchar(15)varchar(15)varchar(15)varchar(15)varchar(15)char(1)smalldatetimevarchar(10)varchar(10)varchar(10)varchar(10)varchar(35)varchar(30)char(1)smalldatetimevarchar(10)
<fk>
Se tienen también sus correspondientes relaciones con las demás entidades que existen en el ER,
retomando la tabla “invc_usuario”, se detalla a continuación como se relaciona con las tablas:
“invc_avisos”, “invc_accesos”, invc_usuario_paso, invc_investigador, invc_control_docencia,
invc_autotest; debido a que todas estas se conectan por el campo del código de usuario:
in_cod_inv estigador = us_codigo_prof esional
cd_usuario = at_usuario��cd_curso = at_curso
cd_usuario = in_cod_inv estigador
us_cod_usuario = up_usuario
us_cod_usuario = at_usuario
us_cod_usuario = cd_usuario
us_cod_usuario = av _usuario_desus_cod_usuario = ac_usuario
inv c_usuario
us_cod_usuarious_codigo_prof esionalus_primer_nombreus_segundo_nombreus_primer_apellidous_segundo_apellidous_apellido_casadaus_sexous_f echa_nacimientous_prof esionus_especialidadus_institucion_lus_areaus_emailus_clav eus_estadous f echa aut
v archar(10)v archar(10)v archar(15)v archar(15)v archar(15)v archar(15)v archar(15)char(1)smalldatetimev archar(10)v archar(10)v archar(10)v archar(10)v archar(35)v archar(30)char(1)smalldatetime
<f k
inv c_inv estigador
in_cod_inv estigadorin_categoriain_institucion_acredin_f echa_acreditacionin_f echa_autin_usuario_autin estado
v archar(10)v archar(10)v archar(10)smalldatetimesmalldatetimev archar(10)char(1)
<f k1,f k2
inv c_autotest
at_correlativ oat_usuarioat_cursoat_moduloat_sec_moduloat_conteo_moduloat_promedioat_conceptoat_secuencialat_inicioat_f inat_f echa_aut
intv archar(10)v archar(6)tiny inttiny inttiny intf loatchar(1)tiny intsmalldatetimesmalldatetimesmalldatetime
<f k1,f k3<f k1,f k4<f k2>
inv c_control_docencia
cd_cursocd_usuariocd_f echa_iniciocd_f echa_f incd_ult_modulocd_estado_registrocd_f echa_autcd autorizante
v archar(6)v archar(10)smalldatetimesmalldatetimetiny intchar(1)smalldatetimev archar(10)
<f k
inv c_usuario_paso
up_usuarioup_pasoup_estadoup_autorizanteup f echa aut
v archar(10)char(10)char(1)char(10)datetime
<f k
inv c_av isos
av _correlativ oav _tipoav _usuario_desav _comentarioav _f echa_v enciav _f echa_autav autorizante
intv archar(1)v archar(10)v archar(255)smalldatetimesmalldatetimev archar(10)
<f k
inv c_accesosac_correlativ oac_usuarioac_rolac_estadoac_f echa_autac autorizante
integerv archar(10)integerchar(1)datetimev archar(10)
<f k1<f k3
33
De todas estas relaciones descritas existe una relación padre-hijo, en la cual el padre es la tabla
“invc_usuario” a excepción de la tabla “invc_investigador” en la cual esta es el padre de
“invc_usuario”.
Mas adelante estas entidades serán descritas con todas sus características inherentes, mismas que
son las que se convierten en tablas al trasladarlas a la base de datos que se utilizará, que en el
caso particular del SWIC será SQL Server 2000.
Dentro del ER existen agrupaciones de tablas que se pueden nombrar según su afinidad, misma
que es remarcada por el tipo de información que se maneja, las cuales son: Docencia,
Investigación Clínica, Workflow y Tablas Virtuales.
Se hará una breve descripción a continuación de cada una de ellas, para un mejor entendimiento
de las funciones que en ellas se realizan:
Docencia: agrupa todas aquellas tablas que tienen relación con la capacitación previa que
será ofrecida por el SWIC, mediante los diferentes módulos de enseñanza, los cuales
están en formato PDF, para una mayor portabilidad de los mismos; en este grupo de
tablas se encuentran también aquellas que manejarán las evaluaciones que se les harán a
los diferentes aspirante a investigadores clínicos, tarea que se realizará mediante la auto-
generación de un test en línea, siempre y cuando el aspirante se considere apto para
realizar dicha prueba, así como se llevará un control de las calificaciones obtenidos por
los aspirantes.
Investigación Clínica: grupo de tablas que manejarán toda la información concerniente a
los investigadores clínicos acreditados por el HNNBB, así como los investigadores o
grupos de ellos que se encuentren realizando una investigación clínica, aquí se controlará
el estado en el que se hallen las IC. Esta es la parte medular del SWIC ya que es donde se
almacenará la base de conocimiento, que será alimentada por las investigaciones que se
lleven a cabo mediante la ayuda del SWIC.
34
Workflow: este conjunto de tablas son las encargadas de controlar como su nombre lo
indica el flujo de trabajo, es decir: asignar las tareas que debe realizar el investigador
clínico en el desarrollo de una IC, llevar el control del tiempo de realización de un paso
que este desarrollando un investigador, entre otros, aquí se almacenan todas las rutas,
fases y pasos posibles en las que se puede encontrar un investigador clínico y una
investigación clínica.
Tablas Virtuales: para el manejo de catálogos, se utiliza un mecanismo de tablas
virtuales almacenado en 2 tablas físicas cuyo diseño se presenta a continuación:
Cabe mencionar que dentro del ER existe una tabla llamada “invc_errores”, esta fue creada para
manejar los diferentes errores que se produzcan cuando el usuario este interactuando con el
sistema, pero dicha tabla desarrollará su función dentro de la base de datos, análogo a la tabla
“invc_avisos”, que su función es exclusiva cuando el usuario este usando en SWIC.
Así como se encuentra la tabla “invc_usuario”, la cual es el pivote para todo el sistema, ya que es
la entrada principal al SWIC.
t v _c od_ tab la = c v _ tab la
inv c _ tab la_v
tv _c od_ tab latv _ tab latv _des c ripc iontv _es tadotv _ f ec ha_ac t
in tv a rc har(30 )v a rc har(70 )c har(1 )s m a llda te t im e
inv c _c a t_v a lo res
c v _ tab lac v _c od igoc v _des c ripc ionc v _es tadoc v _ f ec ha_ac t
in tv a rc ha r(10 )v a rc ha r(50 )c har(1 )s m a llda te t im e
35
4.3.2 LISTA DE TABLAS DE LA BASE DE DATOS
A continuación se muestra una tabla resumen en la se encuentran todas las entidades agrupadas
por la categoría a la cual pertenecen:
TABLAS PARA SEGURIDAD Y ACCESOS 1 INVC_USUARIO 2 INVC_ACCESOS 3 INVC_ROLES 4 INVC_OPROL 5 INVC_MENU
DOCENCIA
1 INVC_CURSOS 2 INVC_CAT_AUTOTEST 3 INVC_PREGUNTAS_RESP 4 INVC_CAT_PREGUNTAS 5 INVC_CAT_RESPUESTAS 6 INVC_TEST_RESPUESTAS 7 INVC_CONTROL_DOCENCIA 8 INVC_NOTAS_CURSOS 9 INVC_DOCENCIA_HIS
10 INVC_AUTOTEST INVESTIGACION CLINICA
1 INVC_INVESTIGADOR 2 INVC_INVESTIGACION_PROCESO 3 INVC_GRUPOS_IC 4 INVC_DESARROLLO_INVESTIGACION 5 INVC_COMENTARIOS_INVESTIGACION 6 INVC_DOCUMENTOS 7 INVC_INVESTIGACIONES.
WORKFLOW
1 INVC_RUTA 2 INVC_FASE_IC 3 INVC_PASOS 4 INVC_PASO_DECISION
36
5 INVC_USUARIO_PASO 6 INVC_PROCESO_IC
TABLAS VIRTUALES
1 INVC_TABLA_V 2 INVC_CAT_VALORES
TABLAS COMPLEMENATARIAS
1 INVC_AVISOS 2 INVC_ERRORES
4.3.3 ESTÁNDARES PARA TABLAS Y TIPOS DE DATOS
Base de datos:
El nombre que debe tener la base de datos en el servidor de la red se denominará
“investigación_clinica”, esto debido a que toda la información del sistema esta haciendo
referencia a este nombre.
Tablas:
Dentro de las reglas establecidas para nombrar a las tablas que conformarán la base de datos se
deben tomar cuatro letras significativas para obtener el nemotécnico para las mismas, por lo
tanto todas comienzan con “invc” seguido de un guión bajo: “invc_”, además:
o Se utilizarán nombres representativos
o Para el nombre se utilizan letras minúsculas
o En caso de contar con más de una palabra se concatenarán por medio de guión
bajo ( _ )
o En caso de contar con más de tres palabras se abreviará tomando las 4 primeras
letras de cada palabra
Para los campos que conformarán las tablas se utilizó como identificador las primeras dos letras
del nombre que sigue después de “invc”, para tener una mejor ubicación a que tabla pertenece
dicho campo, además:
37
Se utilizarán nombres representativos
Letras minúsculas
Se nombrarán en singular.
En caso de contar con más de una palabra se concatenarán por medio de guión
bajo ( _ ).
En caso de contar con más de tres palabras se abreviará tomando las 4 primeras
letras de cada palabra.
Tipos de Datos:
Los tipos de datos que se usaron para los campos son:
Varchar y Char: para los campos de texto (ej.: us_pimer_nombre) y algunos campos
alfanuméricos (ej.: us_cod_usuario).
Smalldatetime: exclusivo para los campos de las fechas.
Int: para los campos con números correlativos y algunos que son códigos (ej.: gi_grupo).
Tinyint: para almacenar cantidades entre cero y 255.
Decimal: para los campos de calificaciones de los futuros investigadores clínicos.
Smallint: para almacenar cantidades hasta 32,767.
Todos los tipos de datos utilizados están relacionados con los que soporta la base de datos elegida (SQL SERVER 2000).
4.3.4 DICCIONARIO DE DATOS
El diccionario de datos que a continuación se desarrolla tiene dentro de su estructura los
siguientes elementos:
Tabla:
Se utilizarán nombres representativos.
Letras minúsculas.
Se nombrarán en plural.
En caso de contar con más de una palabra se concatenarán por medio de guión
bajo ( _ ).
38
En caso de contar con más de tres palabras se abreviará tomando las 4 primeras letras
de cada palabra.
A continuación se presenta de forma esquemática la representación general del diccionario de
datos del SWIC:
TABLA DESCRIPCIÓN
Nombre de la tabla Breve descripción de la utilización de la tabla.
CAMPO DESCRIPCIÓN TIPO NULO
Nombre del campo Breve descripción del campo Tipo de variable
Si permitirá el ingreso de valores nulos
TABLA DESCRIPCIÓN
invc_usuario Tabla utilizada para registrar a los usuarios del sistema
CAMPO DESCRIPCIÓN TIPO NULO us_cod_usuario Código de usuario del sistema(autogenerado) varchar(10) not null us_codigo_profesional Código profesional varchar(10) not null
us_primer_nombre Primer nombre de la persona a la que pertenece el registro varchar(15) not null
us_segundo_nombre Segundo nombre de la persona a la que pertenece el registro varchar(15) null
us_primer_apellido Primer apellido de la persona a la que pertenece el registro varchar(15) not null
us_segundo_apellido Segundo apellido de la persona a la que pertenece el registro varchar(15) null
us_apellido_casada Apellido de casada, en caso de ser mujer, de la persona a la que pertenece el registro varchar(15) null
us_sexo Sexo de la persona a la que pertenece el registro( referencia a cg_sexo ) char(1) not null
us_fecha_nacimiento Fecha de nacimiento de la persona a la que pertenece el registro smalldatetime not null
us_profesion Código de profesión que ejerce la persona a la que pertenece el registro, relacionar con cg_profesion varchar(10) not null
us_especialidad
Código de especialidad que ejerce la persona a la que pertenece el registro, relacionar con cg_especialidad varchar(10) null
us_institucion_l Institución donde labora actualmente relacionar con cg_institucion varchar(10) not null
us_area Área de la institución donde labora actualmente varchar(10) null
us_email Dirección de correo electrónico de la persona a la que pertenece el registro varchar(35)
null
39
us_clave clave del usuario del sistema varchar(30) not null
us_estado Estado del usuario del sistema relacionado con tabla cg_estado_usuario char(1) not null
us_fecha_aut Fecha en la que se autoriza el usuario smalldatetime not null us_autorizante Usuario que ingresó el registro a la tabla varchar(10) not null LLAVE PRIMARIA us_cod_usuario
TABLA DESCRIPCIÓN
invc_grupos_ic Tabla para el registro de integrantes de los equipos de trabajo relacionados con la investigación clínica
CAMPO DESCRIPCIÓN TIPO NULO
gi_correlativo Número correlativo de registro dentro de la tabla. char(10) null
gi_grupo Código asignado al grupo de investigación int not null
gi_categoria_gpo Categoría de grupo de investigación, relacionar con tabla virtual cg_tipo_gpo varchar(10) not null
gi_codigo_investigacion Código asignado a la investigación a desarrollar varchar(15) not null
gi_categoria_investigador
Categoría del investigador dentro el grupo, descripciones en tabla cg_categoria_investigador varchar(10) not null
gi_cod_investigador Código del investigador asignado al grupo detallado varchar(10) not null
gi_fecha Fecha de ingreso del registro al sistema smalldatetime not null gi_autorizado Usuario que ingresó el registro a la tabla varchar(10) not null gi_estado Estado del registro [V]igente. [C]ancelado varchar(10) null
LLAVE PRIMARIA gi_grupo, gi_codigo_investigacion , gi_cod_investigador
TABLA DESCRIPCIÓN
invc_investigador Tabla utilizada para registrar las diferentes categorías que puede tener un médico dentro del proceso de IC
CAMPO DESCRIPCIÓN TIPO NULO
in_cod_investigador Código del investigador varchar(10) not null
in_categoria Categoría dentro de la IC, relacionado con tabla virtual cg_tipo_grupo varchar(10) not null
in_institucion_acred
Código de la institución donde se recibió la acreditación de investigador, relacionar con tabla cg_institucion varchar(10) not null
in_fecha_acreditacion Fecha en que se recibió la acreditación smalldatetime not null in_fecha_aut Fecha en que se autoriza el registro smalldatetime not null in_usuario_aut Usuario que autoriza el registro varchar(10) not null in_estado Estado del investigador en el proceso de la IC char(1) not null
LLAVE PRIMARIA in_cod_investigador
40
TABLA DESCRIPCIÓN invc_investigacion_proceso Tabla maestra de investigaciones clínicas
CAMPO DESCRIPCIÓN TIPO NULO
ip_correlativo
Número correlativo de registro dentro de la tabla, utilizado como código del grupo investigador int not null
ip _tema_investigacion Tema de investigación varchar(250) not null ip _codigo_investigacion Código asignado a la investigación clínica varchar(15) not null
ip _institucion_ic
Institución donde se desarrolla la investigación clínica, relacionado con tabla cg_instituciones_des varchar(10) null
ip _estado Estado de la investigación, relacionado con tabla virtual cg_estado_ic char(1) not null
ip _fecha_inicio Fecha de inicio del proceso de la investigación smalldatetime null ip _fecha_fin Fecha de finalización de la investigación smalldatetime null
ip_estacion
Fase del desarrollo de la investigación clínica que indica que el proceso está siendo revisado o autorizado varchar(10) null
ip _ruta Ruta actual de desarrollo de la investigación int not null ip _fase Fase actual de desarrollo de la investigación tinyint not null ip _paso Paso actual de desarrollo de la investigación smallint not null ip _actividad_final Indica la actividad final de la IC varchar(50) null
ip _publica_informe Indicativo de la publicación del informe final([S]i, [N]o) varchar(10) null
ip _fecha_aut Fecha en que se autoriza el registro datetime not null ip _autorizante Usuario que autoriza el registro varchar(10) not null
LLAVE PRIMARIA ic_codigo_investigacion
TABLA DESCRIPCIÓN
invc_comentarios_investigacion
Almacenamiento acumulativo de los comentarios y observaciones de los diferentes entes involucrados durante del proceso de desarrollo de la investigación clínica
CAMPO DESCRIPCIÓN TIPO NULO
ci_correlativo Número correlativo de comentario para la investigación tinyint not null
ci_codigo_investigacion Código de la investigación clínica en desarrollo varchar(15) not null ci_fase Fase a la que pertenece el comentario actual varchar(10) not null
ci_paso Paso dentro del proceso al que pertenece el comentario actual tinyint not null
ci_secuencial Número de comentarios recibidos en la investigación smallint not null
ci_comentario Detalle del comentario text not null ci_fecha_aut Fecha de ingreso del comentario smalldatetime not null ci_autorizante Usuario que ingresa el comentario varchar(10) not null
LLAVE PRIMARIA ci_correlativo, ci_codigo_investigacion
41
TABLA DESCRIPCIÓN invc_desarrollo _investigacion
Tabla de registro de datos relevantes de la investigación clínica, generalmente contenido en el preproyecto.
CAMPO DESCRIPCIÓN TIPO NULO
di_codigo_investigacion Código de la investigación clínica en desarrollo varchar(15) not null
di_pregunta_inv Pregunta de investigación varchar(300) null di_antecedente_tema Antecedentes del tema de investigación varchar(500) null
di_importancia_inv Descripción de la importancia de la investigación varchar(500)
null
di_disenio
Código del diseño utilizado en la investigación clínica, relacionar con tabla cg_disenio_investigacion varchar(10)
null
di_comentario_disenio Comentario adicionales sobre la elección del diseño varchar(150)
null
di_criterios_inclusion Criterios de inclusión empleados en la investigación varchar(500)
null
di_criterios_exclusion Criterios de exclusión empleados en la investigación varchar(500)
null
di_var_estudio Variables del estudio varchar(500) null di_medicion_var Descripción sobre el uso de las variables varchar(500) null di_herram_estad Herramientas estadísticas a utilizar varchar(500) null
di_software_ut Detalle de software a utilizar dentro de la Investigación. varchar(250)
null
di_resumen_inv Contenido completo del abstract de la investigación clínica varchar(2500)
null
di_estado Estado en el que se encuentra el desarrollo de la investigación. char(1)
not null
di_fecha_aut Ingreso o actualización del registro smalldatetime not null di_autorizante Usuario de ingresó o actualización varchar(10) not null
TABLA DESCRIPCIÓN invc_control_docencia Tabla de control de inscripción de usuarios en el módulo de docencia
CAMPO DESCRIPCIÓN TIPO NULO
cd_curso Código del curso de investigación clínica( relacionar con tabla cg_cursos_prog ) varchar(6) not null
cd_usuario Usuario inscrito al curso varchar(10) not null cd_fecha_inicio fecha de inicio del curso de investigación smalldatetime not null cd_fecha_fin Fecha de finalización del curso smalldatetime null cd_ult_modulo Último módulo cursado por el usuario tinyint null
cd_estado_registro Estado actual del curso inscrito (relacionar con tabla cg_aprobacion_curso ) char(1) not null
cd_fecha_aut Fecha de actualización del registro smalldatetime not null cd_autorizante Usuario actualización del registro varchar(10) not null
42
TABLA DESCRIPCIÓN invc_cat_autotest Catálogo de módulos de docencia a evaluar
CAMPO DESCRIPCIÓN TIPO NULO ca_secuencial Número secuencial del módulo int not null
ca_modulo
Código de identificación del módulo al que pertenece el registro (relacionado con cg_modulo_docencia ) tinyint not null
ca_descripcion Descripción de los módulos. varchar(70) not null ca_promedio Nota promedio requerida para aprobación decimal not null ca_estado Estado en el que se encuentra cada módulo char(1) not null ca_repeticiones Número de veces que realizó el autotest. tinyint null ca_ponderacion Ponderación asignada a cada módulo tinyint null ca_doc_manual Documentos correspondientes a cada módulo Varchar(150) null ca_fecha_aut Fecha de actualización del registro smalldatetime not null ca_autorizante Usuario que actualiza el registro varchar(10) not null
TABLA DESCRIPCIÓN invc_cat_preguntas Catálogo de preguntas para cada módulo de docencia
CAMPO DESCRIPCIÓN TIPO NULO
cp_correlativo Número correlativo de registro dentro de la tabla int not null
cp_pregunta Descripción del pregunta varchar(200) not null
cp_estado Estado actual de la pregunta, relacionada con tabla cg_estado varchar(10) not null
cp_fecha_aut Fecha de actualización de la pregunta smalldatetime not null cp_autorizante Usuario que ingreso o actualizó el registro varchar(10) not null
LLAVE PRIMARIA cp_modulo, cp_secuencial, cp_pregunta
TABLA DESCRIPCIÓN invc_cat_respuestas Catálogo de respuestas
CAMPO DESCRIPCIÓN TIPO NULO
cr_correlativo Número correlativo de registro dentro de la tabla int not null
cr_respuesta Detalle de la respuesta varchar(200) not null cr_estado Estado del registro [C]ancelado [V]igente char(1) not null cr_fecha_aut Fecha de actualización del registro smalldatetime not null cr_autorizante Usuario que actualizó el registro varchar(10) null
43
TABLA DESCRIPCIÓN
invc_autotest Control de desarrollo de los resultados obtenidos en cada módulo del curso de IC
CAMPO DESCRIPCIÓN TIPO NULO
at_correlativo Número correlativo de registro dentro de la tabla int null
at_usuario Código de identificación del usuario inscrito al curso de investigación varchar(10) not null
at_curso Código del curso de investigación clínica( relacionar con tabla cg_cursos_prog ) varchar(6) not null
at_modulo
Código de identificación del módulo al que pertenece el registro (relacionado con cg_modulo_docencia ) tinyint not null
at_sec_modulo Número secuencial del módulo cursado(acumulador) tinyint null
at_conteo_modulo Veces que se ha evaluado el módulo. tintyint null
at_promedio Puntuación obtenida el final del curso float null
at_concepto Concepto final obtenido para el módulo ( relacionar con cg_aprobacion ) char(1)
null
at_secuencial Número de veces que se ha realizado el autotest tinyint null at_inicio Fecha y hora de inicio del test smalldatetime null at_fin Fecha y hora de finalización del test smalldatetime null at_fecha_aut Fecha en la que se autoriza el registro smalldatetime not null at_autorizante Usuario que autoriza el registro varchar(10) not null
LLAVE PRIMARIA at_usuario, at_curso, at_modulo, at_sec_modulo, at_conteo_modulo
TABLA DESCRIPCIÓN invc_usuario_paso Tabla de registro de fases permitidas a los usuarios
CAMPO DESCRIPCIÓN TIPO NULO up_usuario Código de usuario varchar(10) not null
up_paso Código de paso autorizado(relacionar con tabla cg_pasos_ic ) char(10) not null
up_estado Estado del registro actual ( referenciado a tabla cg_estado) char(1) not null
up_autorizante Usuario que actualiza el registro char(10) not null up_fecha_aut Fecha de ingreso o actualización del registro datetime not null
44
TABLA DESCRIPCIÓN invc_test_respuestas Registro de test(preguntas y respuestas ) evaluado al usuario
CAMPO DESCRIPCIÓN TIPO NULO
tr_correlativo Número correlativo de orden de preguntas en el test int not null
tr_curso Código del curso de investigación clínica varchar(6) not null
tr_modulo Código de identificación del módulo cursado para el usuario int not null
tr_conteo_modulo
Contador de veces que se ha evaluado el módulo
tinyint
not null
tr_pregunta
Número correlativo de pregunta para un módulo X int not null
tr_ respuesta Número identificación de respuesta para un módulo X int null
tr_resultado Resultado conceptual de pregunta-respuesta, C = Respuesta Correcta , I = Respuesta Incorrecta char(1) null
tr_fecha_aut Fecha de ingreso del registro actual smalldatetime not null
tr_autorizante Identificación del usuario que respondió la pregunta del registro actual varchar(10) not null
tr_secuencial Número secuencial del examen tinyint null tr_respuesta_correcta Respuesta correcta para una pregunta Y int null
LLAVE PRIMARIA tr_curso, tr_modulo, tr_pregunta, tr_cod_respuesta
TABLA DESCRIPCIÓN invc_fase_ic Catálogo de fases a desarrollar en la IC
CAMPO DESCRIPCIÓN TIPO NULO fi_cod_fase Código de fase tinyint not null fi_descripcion Descripción de la fase varchar(64) not null fi_estado Estado de la fase char(10) not null fi_autorizante Usuario que ingreso el registro char(10) not null fi_fecha_autorizacion Fecha de autorización del registro datetime not null
LLAVE PRIMARIA fi_cod_fase
45
TABLA DESCRIPCIÓN invc_proceso_ic Tabla de control de flujo de las investigaciones en proceso
CAMPO DESCRIPCIÓN TIPO NULO
pi_secuencia Número secuencial de pasos recorridos por la investigación smallint not null
pi_codigo_investigacion Código de la investigación clínica en desarrollo varchar(15) not null
pi_ruta Código de ruta de la investigación del registro actual tinyint not null
pi_paso Paso de la investigación correspondiente el registro smallint not null
pi_fase Fase de la investigación a la que pertenece el paso tinyint null
pi_cod_decision Código de la decisión a tomar en el paso varchar(10) null
pi_estacion
Fase del proceso de la investigación clínica que indica que el proceso esta siendo revisado o autorizado varchar(10) null
pi_fecha_inicio Fecha de inicio del paso datetime not null pi_fecha_fin Fecha de finalización del paso datetime null pi_estado Estado del paso char(1) not null pi_autorizante Usuario que ingresa o actualiza el registro varchar(8) not null
TABLA DESCRIPCIÓN invc_pasos Catálogo de pasos disponibles en el sistema
CAMPO DESCRIPCIÓN TIPO NULO
pa_correlativo Numero correlativo correspondiente a cada paso int not null
pa_ruta Código de ruta de la investigación del registro actual tinyint not null
pa_paso Código secuencial que identifica un paso dentro de la investigación smallint not null
pa_fase Fase de la investigación a la que pertenece el paso tinyint not null
pa_descripcion Descripción del paso dentro de la investigación varchar(64) not null
pa_tiempo Tiempo normal establecido para duración del paso decimal not null
pa_tipo Se refiere al tipo de actividad que requiere el paso ([D]ecisión, [E]nvío y [S]ecuencia) char(1) not null
pa_categoria Categoría del usuario al cuál corresponde el paso Varchar(10) null
pa_estado Estado de paso actual char(1) not null pa_autorizante Usuario que ingresa o actualiza el registro char(10) not null pa_fecha_aut Fecha de autorización de los pasos realizados smalldatetime not null
LLAVE PRIMARIA
46
TABLA DESCRIPCIÓN invc_ruta Catálogo de rutas disponibles
CAMPO DESCRIPCIÓN TIPO NULO ru_ruta Código de identificación de ruta tinyint not null ru_descripcion Descripción de la ruta varchar(64) not null ru_autorizante Usuario que ingresa o actualiza el registro char(10) not null ru_fecha_aut Fecha de autorización del registro smalldatetime not null
LLAVE PRIMARIA ru_ruta
TABLA DESCRIPCIÓN invc_tabla_v Tabla de registro de tablas virtuales
CAMPO DESCRIPCIÓN TIPO NULO tv_cod_tabla Número correlativo Int not null
tv_tabla Nombre de la tabla, todas comienzan con cg_ como prefijo varchar(30) not null
tv_descripcion Descripción de la tabla virtual varchar(70) not null tv_estado Estado de la tabla virtual char(1) not null tv_fecha_act Fecha de ingreso o actualización del registro smalldatetime not null
LLAVE PRIMARIA tv_cod_tabla
TABLA DESCRIPCIÓN invc_cat_valores Tabla de registro de valores de las tablas virtuales
CAMPO DESCRIPCIÓN TIPO NULO
cv_tabla Número correlativo de la tabla virtual a la que pertenece el registro Int not null
cv_codigo Código del valor varchar(10) not null cv_descripcion Descripción del valor varchar(50) not null cv_estado Estado del registro char(1) not null cv_fecha_aut Fecha de ingreso o actualización del registro smalldatetime not null
LLAVE PRIMARIA cv_tabla, cv_codigo
47
TABLA DESCRIPCIÓN
invc_paso_decision Tabla que contiene el árbol de decisiones para cada paso en las distintas rutas.
CAMPO DESCRIPCIÓN TIPO NULO
pd_ruta Código de ruta de la investigación del registro actual tinyint not null
pd_paso Código secuencial que identifica un paso dentro de la investigación tinyint not null
pd_cod_decision Código de la decisión a tomar en el paso varchar(10) not null pd_paso_sig Código del paso que se debe seguir. int not null pd_fecha_aut Fecha de ingreso o actualización del registro smalldatetime not null pd_usuario_aut Usuario que ingresa o actualiza el registro char(10) not null pd_estado Estado del registro char(1) not null
TABLA DESCRIPCIÓN
invc_documentos Tabla que registra los nombres de los documentos generados para descargas de usuarios
CAMPO DESCRIPCIÓN TIPO NULO
do_correlativo Número correlativo de documento. Tinyint not null do_nombre_doc Nombre del documento ingresado. Varchar(150) not null
do_tipo_documento Tipo de documento ingresado(referencia a catálogo cg_tipo_documento) varchar(10) not null
do_cod_referencia Código que hace referencia a una investigación clínica o un identificador de artículos. varchar(15) not null
do_secuencia_ref Secuencial que indica la referencia del documento int null
do_fecha Fecha de ingreso del documento smalldatetime not null do_autorizante Usuario que autoriza el ingreso de documentos. varchar(10) not null
TABLA DESCRIPCIÓN
invc_avisos Tabla que administra la cartelera de avisos
CAMPO DESCRIPCIÓN TIPO NULO av_correlativo Número correlativo del aviso. tinyint null
av_tipo Indicador del tipo de aviso ( [G]eneral, [P]articular) varchar(1) null
av_usuario_des Código del usuario al cual va dirigido el aviso. varchar(10) not null av_comentario Contenido del aviso varchar(255) not null av_fecha_venci Fecha de vencimiento del aviso smalldatetime not null do_fecha_aut Fecha de ingreso del registro smalldatetime null do_autorizante Usuario que autoriza el ingreso de documentos. varchar(10) null
48
TABLA DESCRIPCIÓN
invc_notas_cursos Tabla de control de inscripción de usuarios en el módulo de docencia
CAMPO DESCRIPCIÓN TIPO NULO
nc_curso Código del curso de investigación clínica( relacionar con tabla cg_cursos_prog ) varchar(6) not null
nc_usuario Usuario inscrito al curso varchar(10) not null
nc_ult_modulo Último módulo aprobado del curso( relacionar con tabla cg_modulo_docencia ) tinyint null
nc_nota_final Nota final obtenida en el curso de investigación clínica decimal null
nc_comentarios Comentarios adicionales sobre el curso varchar(600) null
nc_estado_curso Estado actual del curso inscrito (relacionar con tabla cg_aprobación_curso ) char(1) null
nc_fecha_aut Fecha de actualización del registro smalldatetime not null nc_autorizante Usuario actualización del registro varchar(10) not null LLAVE PRIMARIA nc_curso, nc_usuario, nc_estado_curso
TABLA DESCRIPCIÓN
invc_ docencia_his Tabla que administra el historial de docencia
CAMPO DESCRIPCIÓN TIPO NULO dh_usuario Usuario inscrito al curso varchar(10) not null
dh _curso Código del curso de investigación clínica( relacionar con tabla cg_cursos_prog ) varchar(10) not null
dh _fecha_inicio fecha de inicio del curso de investigación smalldatetime not null dh _fecha_fin Fecha de finalización del curso smalldatetime not null
dh _nota_final Nota final obtenida en el curso de investigación clínica decimal not null
dh_resultado Resultado que se obtuvo al finalizar el curso [A]probado y [R]eprobado varchar(10) not null
dh_comentarios Comentarios adicionales sobre el curso varchar(600) not null dh _fecha_aut Fecha de actualización del registro smalldatetime not null dh _autorizante Usuario actualización del registro varchar(10) not null LLAVE PRIMARIA dh_usuario, dh _curso
49
TABLA DESCRIPCIÓN
invc_preguntas_resp Tabla que administra la asociatividad de las preguntas y respuestas de los módulos.
CAMPO DESCRIPCIÓN TIPO NULO
pr_correlativo Número correlativo de registro dentro de la tabla int not null
pr _modulo
Código de identificación del módulo al que pertenece el registro (relacionado con cg_modulo_docencia ) tinyint not null
pr _secuencial Número identificación de respuesta para un módulo X smallint
not null
pr _pregunta Descripción de la pregunta int not null pr _respuesta Detalle de la respuesta int not null
pr _resultado C=Respuesta Correcta , I = Respuesta Incorrecta varchar(10)
not null
pr _estado Estado de las preguntas y respuestas varchar(10) not null pr _fecha_aut Fecha de actualización del registro smalldatetime not null pr _autorizante Usuario que actualizó el registro varchar(10) not null LLAVE PRIMARIA
TABLA DESCRIPCIÓN invc_investigaciones Tabla que administra los documentos que se publicarán
CAMPO DESCRIPCIÓN TIPO NULO ic _correlativo Número correlativo del registro a publicar int not null ic _codigo_investigacion Código de la investigación clínica a publicar varchar(15) not null ic _tema_investigacion Tema de investigación varchar(250) not null
ic _institucion_ic Institución donde labora actualmente relacionar con cg_institucion varchar(10) not null
ic_tipo_documento Tipo de documento que se va a publicar varchar(10) not null ic _fecha_inicio Fecha que inició la investigación smalldatetime not null ic _fecha_fin Fecha que finalizó la investigación smalldatetime not null ip _actividad_final Indica la actividad final de la IC varchar(50) null
ic _publica_informe Indicativo de la publicación del informe final([S]i, [N]o) varchar(10) not null
ic _pregunta_inv Pregunta de investigación varchar(300) not null ic _antecedente_tema Antecedentes del tema de investigación varchar(500) not null
ic _importancia_inv Descripción de la importancia de la investigación varchar(500)
not null
ic _disenio
Código del diseño utilizado en la investigación clínica, relacionar con tabla cg_disenio_investigacion varchar(10)
not null
ic _comentario_disenio Comentario adicionales sobre la elección del diseño varchar(150)
not null
ic _criterios_inclusion Criterios de inclusión empleados en la investigación varchar(500)
not null
50
ic _criterios_exclusion Criterios de exclusión empleados en la investigación varchar(500)
not null
ic _var_estudio Variables del estudio varchar(500) not null ic _medicion_var Descripción sobre el uso de las variables varchar(500) not null ic _herram_estad Herramientas estadísticas a utilizar varchar(500) not null
ic _software_ut Detalle de software a utilizar dentro de la Investigación. varchar(250)
not null
ic _resumen_inv Contenido completo del abstract de la investigación clínica varchar(2500)
not null
ic _autorizante Usuario de ingresó o actualización varchar(10) not null ic _fecha_aut Ingreso o actualización del registro smalldatetime not null LLAVE PRIMARIA
TABLA DESCRIPCIÓN invc_errores Tabla de registro de los errores que se utilizaran en el sistema
CAMPO DESCRIPCIÓN TIPO NULO er_numero Número correlativo de los errores Int not null er _mensaje Mensaje a mostrar varchar(60) not null er_fecha_aut Fecha de ingreso o actualización del error smalldatetime not null er_autorizante Usuario que ingresó o actualizó el error varchar(10) not null
LLAVE PRIMARIA
TABLA DESCRIPCIÓN invc_accesos Tabla que administra los accesos al sistema por un usuario
CAMPO DESCRIPCIÓN TIPO NULO
ac_correlativo Número correlativo de los accesos al sistema por el usuario Int not null
ac_usuario Código de usuario del sistema varchar(10) not null ac_rol Numero correlativo de un rol X int not null ac_estado Estado del acceso char(1) not null ac_fecha_aut Fecha de ingreso o actualización del acceso datetime not null ac_autorizante Usuario que ingresó o actualizó el acceso varchar(10) not null
LLAVE PRIMARIA
51
TABLA DESCRIPCIÓN invc_roles Tabla que administra los roles que se asignarán a un usuario en el sistema.
CAMPO DESCRIPCIÓN TIPO NULO ro_rol Número correlativo de los roles int not null ro_descripcion Descripción del rol varchar(50) not null ro _fecha_aut Fecha de ingreso o actualización del rol datetime not null ro _autorizante Usuario que ingresó o actualizó el rol varchar(10) not null ro _estado Estado del rol char(1) null
LLAVE PRIMARIA
TABLA DESCRIPCIÓN invc_oprol Tabla de registro de las opciones de para cada rol
CAMPO DESCRIPCIÓN TIPO NULO op_correlativo Número correlativo de la opción. int not null
op_rol Número que identifica cuantas veces se acceso con un rol X int not null
op_opcion Número de veces que se utiliza una opción int not null op_fecha_aut Fecha de ingreso o actualización del rol datetime not null op_autorizante Usuario que ingresó o actualizó el rol varchar(10) not null
LLAVE PRIMARIA
TABLA DESCRIPCIÓN invc_menu Tabla que administra los menús que se asignarán a los roles.
CAMPO DESCRIPCIÓN TIPO NULO mn_correlativo Número correlativo de menú integer not null
mn _padre Menú al cual depende el actual. integer not null
mn _orden Orden de acceso a cada menú tinyint not null
mn _final Si es una opción final en el menú o es un nodo char(1) not null mn _descripcion Descripción del menú. varchar(50) not null mn _archivo Página en la cual se encuentra dicho menú. varchar(80) not null mn _estado Estado del menú. char(1) not null mn _fecha_aut Fecha de actualización del menú. datetime not null mn _autorizante Usuario que actualizó el menú. varchar(10) not null LLAVE PRIMARIA
52
4.3.5 Catálogos Virtuales (tablas virtuales)
A continuación se representa la lista de todos los catálogos que serán accesados desde las tablas
virtuales, esta información esta almacenada en la base de datos de SQL Server 2000 llamada
“investigación_clinica”, por lo que es sujeta a cualquier tipo de mantenimiento que se necesite
realizar.
TABLA DESCRIPCION DEL
USO CODIGO VALOR
cg_cargos Tipo de médicos
investigadores ST Médico Staff
RS Médico Residente
cg_modulo_docencia Distintos módulos de la IC
1 Fundamentos de epidemiología
2 Fundamentos de diseño de investigación biomédica
3 Fundamentos de Bioestadística
4 Fundamentos de Ética en Investigación biomédica
5 Fundamentos de Medicina basada en pruebas
cg_tipo_grupo Tipo de grupos de trabajo que puede haber
dentro de la IC
INV Investigadores
AS Asesores CT Comité Técnico CE Comité Ético
cg_estado_ic Catálogo de estados que puede tomar una
investigación clínica dentro del sistema
V Ingresada
Pr Procesada F Finalizada Pu Publicada D Descalificada
53
cg_categoria_investigador Categoría de un investigador dentro de la
IC
P Principal
A Adjunto T Tutor
cg_disenio_investigacion Clasificación de los diferentes diseños que se
le puede dar a una investigación clínica
RS Revisiones Sistemáticas
SC Serie de Casos CR Correlacional TV Transversal CC Casos y Controles CH Cohorte CE Cuasiexperimental EC Ensayo clínico IC Investigaciones
cualitativas OT Otros
cg_tipo_comentario Tipo de comentarios que puede contener el proceso de la IC
ECI Evaluación curso investigación clínica
ETP Evaluación técnica del preproyecto
EEP Evaluación ética del preproyecto
EPT Evaluación protocolo - tutor
EEC Evaluación ética protocolo
ETC Evaluación técnica del protocolo
EEI Evaluación ética del informe
ETI Evaluación técnica del informe
API Autorización publicación investigadores
54
cg_cursos_prog Cursos programados para la investigación
01/2004 Curso 1-2004
02/2004 Curso 2-2004 01/2005 Curso 1-2005
02/2005 Curso 2-2005
cg_profesion Lista de ocupaciones de
una persona 1 Estudiante
2 Enfermera 3 ... sucesivamente
cg_especialidad Catálogo de carreras de especialidades
CRP Cardiología pediátrica
ONL Oncología ...sucesivamente
cg_estado_ins Estados de inscripción al curso
I Inscrito
R Retirado F Finalizado
cg_estado_usuario Estado que puede tener un usuario del sistema
V Vigente
C Cancelado
cg_documento Diferentes documento generados durante el
proceso de la investigación clínica
PR Preproyecto
PT Protocolo IF Informe Final AR Articulo
cg_aprobacion Define los estados de aprobación del curso de
ic
P Proceso
A Aprobado R Reprobado
55
cg_estado Define los estados en forma general
V Vigente
C Cancelado E Eliminado
cg_fase_ic Fases que involucran la investigación Clínica
PR Preproyecto
PT Protocolo IF Informe Final PB Publicación de Resultados
cg_pasos_ic Pasos de la IC IP Ingreso de preproyecto RTP Revisión técnica del pre-
proyecto
cg_sexo Sexo que puede tener un estudiante o investigador
M Masculino
F Femenino
cg_institucion Instituciones registradas UES Universidad de El Salvador
HNNBB Hospital Bloom UEV Universidad Evangélica OT Otras
cg_estado_curso_ic Estado de los cursos inscritos
I Inscrito
P En proceso F Finalizado
4.3.6 MENSAJES DE ERRORES
Cuando se genera un error en el sistema ya sea por validaciones u operaciones no permitidas en
la base de datos se retorna un código de error desde la base de datos por medio del código de
ejecución (Status Code) de los procedimientos almacenados; cada código tiene su significado
dentro de la tabla de errores, la cual se detalla a continuación:
1 Campo tipo vacío 2 Campo consulta vacío 3 No existen datos para mostrar
56
4 Nombre de tabla vacío 5 Usuario ya existe 6 Error en inserción de registro 7 Usuario no existe 8 Error en actualización de registro 9 Ruta no puede ser nulo
10 Descripción no puede quedar nula 11 Usuario no puede quedar nulo 12 Estación no puede ser nulo 13 Fase no puede ser nulo 14 Usuario ya tiene fase asociada 15 Paso no puede quedar vacío 16 Tiempo no puede ser nulo 17 Fase a asociada a ruta 18 Error en eliminación de registro 19 Código de investigación no puede ser nulo 20 Tema de investigación no puede ser nulo 21 Institución de investigación no puede ser nulo 22 Tipo de comentario no puede ser nulo 23 Comentario no puede ser nulo 24 Código de investigador no puede ser nulo 25 Categoría de investigador no puede ser nulo 26 Institución de acreditación no puede ser nula 27 Fecha de acreditación no puede ser nula 28 Grupo no puede ser nulo 29 Categoría de grupo no puede ser nula 30 Estado no puede ser nulo 31 Curso no puede ser nulo 32 Módulo no puede ser nulo 33 Ya existe inscripción previa 34 Usuario autorizado no puede quedar nulo 35 Promedio no puede ser nulo 36 Módulo ya existe 37 Pregunta ya existe 38 Pregunta no puede ser nula 39 Respuesta ya existe 40 Registro ya existe 41 Resultado no puede ser nulo 42 No existe pregunta 43 Correlativo no puede ser nulo 44 Respuesta no puede ser nula 45 Operación 10- sp mantenimiento docencia 46 No se puede actualizar el registro (sp_docecia,U7)
47 La respuesta no puede ser nula o en blanco (sp_docencia,U8)
48 El registro no puede ser actualizado (sp_docencia,U9 49 El registro no puede ser consultado(sp_docencia,S10 50 El registro no puede ser insertado (sp_avisos,I0) 51 sp_asigna_paso, tipo_op A, i_sistema N
57
52 Investigación ya se encuentra en proceso (sp_asigna_paso,A)
53 Error en la inserción del registro de siguiente paso 54 Error en la inserción del registro (sp_administracion_ic,I2) 55 Fecha de inicio no puede ser nula (administracion_cursos,I0) 56 Fecha de finalización no puede ser nula admin_cursos,I0) 57 Cupo no puede ser nulo (administracion_cursos,I0) 58 Error al insertar el nuevo curso (sp_admin_cursos,I0) 59 Código de curso no puede ser nulo (sp_admin_cursos,U0) 60 Error en la actualización del curso (sp_admin_cursos,U0) 61 Código de curso no definido admin_cursos S0) 62 Error en la consulta del curso (sp_administracion_cursos,S0) 63 Estado del curso no definido sp_admin_cursos,S1 64 Error al consultar cursos (sp_administracion_cursos,S0) 65 Registro no existe 66 Código de investigador incorrecto 67 Clave actual incorrecta 68 Error en eliminación de rol a usuario 69 Rol no definido 70 Tipo de aviso no definido 71 Fecha no definida 72 Curso anterior debe cerrarse previamente 73 No hay cupo disponible 74 Respuesta no puede ser nula 76 No existe la condición actual 77 No existe estación disponible para el paso actual 78 Ya existe paso ( o registro ya existe) 79 No existe estación disponible con el paso 80 Error al cerrar paso anterior vigente 81 Nombre del curso no valido 82 Fecha de inicio no valida 83 Fecha fin no valida 84 cupo de grupo no valido 85 Ya existe curso registrado( o ya existe registro) 86 Código del curso no valido 86 Código de curso no valido 86 curso no existe 87 No existe curso para este estado 88 No se puede duplicar registro inicial para un nuevo tramite 89 investigación en proceso 90 Registro actualizado 91 Resultado no valido 92 No existe pregunta 93 No existe respuesta 94 Solo se permite una respuesta 95 No existen registros para consultar 96 No se puede cerrar el curso, existen alumnos cursándolo 97 Tipo no definido 98 Código de investigación no puede ser nulo
58
99 Ya existen registros de proceso 100 No hay cupo disponible 100 Decisión no definida 101 No existe proceso en ruta 102 No existe registro para actualizar 103 Secuencial no definido 104 Código de investigación no válido o no existe 105 No existe registro para actualizar 106 Conteo de modulo no existe 107 Concepto no definido 108 Tema de investigación ya existe 109 Código de investigador no disponible 110 Ponderación global debe ser igual a 100 111 La investigación ya se encuentra en proceso 112 No existe grupo investigador integrado para la investigación 113 No se ha enviado el archivo correspondiente al paso 114 Ya existe código de investigación 115 Error en cierre de paso 116 Error en inserción de registro histórico 117 Error en eliminación de registro 118 La ruta se ha finalizado, la investigación debe ser cerrada 119 Se debe ingresar preproyecto para poder continuar 120 Código de investigación ya existe 121 Debe ingresarse el resumen(abstract) de la investigación 122 El curso definido no esta vigente
4.4 INTERFAZ CON LA BASE DE DATOS (BACK END)
Son todos los procesos que se realizan a la base de datos mediante el uso de los procedimientos
almacenados (SP’s), que son definidos desde el sitio mediante los objetos ADO COMMAND y
las paginas .ASP.
4.4.1 PROCEDIMIENTOS ALMACENADOS (SP’s)
Los Sp’s son una colección precompilada de instrucciones SQL y de instrucciones de control de
flujo opcionales, almacenadas como un objeto dentro de la base de datos y son procesados como
una unidad; se pueden ejecutar con una llamada desde una aplicación, recibiendo y/o retornando
parámetros previamente establecidos.
Una de las características más importantes dentro del sistema es que se utilizan para ejecución
condicional de operaciones sobre los datos.
59
4.4.2 ESTÁNDARES DE LA BASE DE DATOS
Aquí se encuentran las convenciones de variables, procedimientos almacenados utilizados dentro
del SWIC y sus estándares.
a) CONVENCIONES NOMBRE DE VARIABLES EN LOS SP’S
Variables en los SP’s
@i_NombreVariable para identificar variables de entrada.
@w_NombreVariable para identificar variables de trabajo.
@o_NombreVariable para identificar variables de salida.
b) ESTANDADES PARA LOS PROCEDIMIENTOS ALMACENADOS
Se utiliza nombres representativos.
Se utiliza la siguiente estructura de nombres :
sp_<nombre representativo del procedimiento>
Letras minúsculas.
En caso de contar con más de una palabra se concatenarán por medio de guión
bajo ( _ ).
En caso de contar con más de tres palabras se abreviará tomando las 4 primeras
letras de cada palabra.
Para la codificación se utilizará la siguiente estructura:
{Encabezado} Documentación, todos los sp’s tienen el siguiente encabezado
Ejemplo de un encabezado para los sp’s:
/* Archivo: sp_administracion_ic.sp */
/* Stored procedure: sp_administracion_ic */
/* Base de datos: investigacion_clinica */
/* Base de datos: investigación_clinica */
/* Producto: Administración de la IC */
/* Disenado por: Grupo de Tesis */
60
/* Fecha de escritura: */
/*****************************************************************/
/* PROPOSITO */
/* Administrar todo el proceso de la investigación
*/
/****************************************************************/
Create procedure <nombre procedimiento>
{Parámetros}, definición de todos los parámetros que se utilizarán en el sp’s,
ejemplo de declaración de parámetros dentro de un sp:
ALTER proc sp_administracion_ic (
@i_tipo char(1) = null ,
@i_operacion int = null ,
@i_estacion char(10) = null ,
@i_descripcion varchar(60) = null ,
@i_oficina tinyint = null ,
@i_usuario char(10) = null ,
@i_carga tinyint = null ,
@i_cod_area char(10) = null ,
@i_cod_fase tinyint = null ,
@i_modifica char(1) = null ,
@i_estacion_sus smallint = null ,
@i_cod_ruta tinyint = null ,
@i_cod_paso tinyint = null ,
@i_tiempo float = null ,
@i_nuevo_us char(10) = null ,
@i_nombre char(80) = null ,
@i_clave char(10) = null ,
@i_estado char(1) = null ,
@i_registrador char(10) = null ,
@i_cargo char(10) = null ,
61
@i_id int = null )
El bloque anterior define todos los parámetros que se utilizarán para ejecutar el
sp_administracion_ic desde el sistema.
As
{Declaración de variables} es el bloque de código SQL en el cuál se definen las
variables temporales o de trabajo que sean necesarias dentro de los sp’s
Ejemplo de declaración de variables de trabajo para el sp_administracion_ic:
Declare
@w_today datetime , /* fecha del dia */
@w_return int , /* valor que retorna */
@w_sp_name varchar(32) , /* nombre stored proc */
@w_error int ,
@w_id int ,
@w_estacion int ,
@w_paso int ,
@w_ruta int ,
@w_cod_fase int ,
@w_user int
{Cuerpo del procedimiento}
En todos los procedimientos se utilizan dos variables fundamentales para la ejecución
condicional de la operaciones en la base de datos; estas son @i_tipo que representa el tipo
proceso que realizará en forma general el SP y la variable de @i_operacion que representa las
operaciones internas que realizará cada sub-bloques de operaciones.
62
El cuerpo de los sp’s se dividen en bloques de procedimientos que representan procesos de
accesos a la base de datos como lo son las consultas, borrados, actualizaciones e inserciones, un
ejemplo de estos bloques es el siguiente:
if @i_tipo = 'S' -- Consulta de Datos
begin
if @i_operacion = 1 --
Begin
select us_primer_nombre as
primer_nombre ,
isnull(us_segundo_nombre,'') as segundo_nombre ,
us_primer_apellido as primer_apellido ,
isnull(us_segundo_apellido,'') as segundo_apellido ,
isnull(us_apellido_casada,'') as apellido_casada
from investigacion_clinica..invc_usuario ,
investigacion_clinica..invc_investigador
where us_cod_usuario = @i_estacion
and us_cod_usuario = in_cod_investigador
End
if @i_operacion = 2 -- Catalogo de pasos disponibles
Begin
select pa_paso as paso ,
pa_descripcion as descripcion_paso
from investigacion_clinica..invc_pasos
where pa_estado = 'V'
End
if @i_operacion = 3 -- Catalogo de pasos disponibles
Begin
select up_usuario as usuario ,
63
up_paso as paso ,
pa_descripcion as descripcion_paso ,
up_estado as estado ,
up_autorizante as autorizante ,
up_fecha_aut as fecha_aut
from investigacion_clinica..invc_usuario_paso ,
investigacion_clinica..invc_pasos
where up_usuario = @i_estacion
and up_paso = pa_paso
End
End
El bloque anterior de código SQL representa un procedimiento de consulta que se realizará el
sp_mantenimiento_ic a la base de datos, pero como se puede observar estos bloque se dividen en
sub-bloques que representa una proceso en particular como por ejemplo cuando se consulta el
catálogos de pasos disponibles dentro de la investigación clínica se usa el siguiente sub-bloque
de código.
if @i_operacion = 2 -- Catálogo de pasos disponibles
Begin
select pa_paso as paso ,
pa_descripcion as descripcion_paso
from investigacion_clinica..invc_pasos
where pa_estado = 'V'
End
4.4.3 PROCEDIMIENTOS UTILIZADOS EN EL SWIC
A continuación se explican las partes que forman el esquema utilizado para representar los
procedimientos almacenados en el SWIC:
64
Nombre del procedimiento: Nombre con que se conoce el procedimiento almacenado (SP).
Descripción del SP: Breve descripción del nombre del procedimiento y cual es su función
principal
Procedimientos: Presentación de los tipos de procedimientos por separado de cada SP
Descripción de los procedimientos: Función principal que realiza cada procedimiento
Operaciones de cada procedimiento: Tipos de operaciones que realiza cada procedimiento
Descripción de la operación: Acción que realiza cada operación dentro de los SP’s
4.4.4 INVENTARIO DE PROCEDIMIENTOS ALMACENADOS (SP’S) EN EL SISTEMA:
Nombre procedimiento DESCRIPCIÓN sp_admin_proceso_ic Administra los proceso relacionados con el desarrollo de la IC
Procedimientos
Descripción de los
procedimientos
Operaciones de cada procedimiento Descripción de la operación
@i_operacion = 0 Registro de paso para casos nuevos o en proceso @i_tipo= “U” Actualización de
datos @i_operacion = 1 Cambio de paso y/o ruta manualmente
@i_operacion = 0: Consulta de decisiones según el paso especificado
@i_operacion = 1: Consulta de casos vigentes asignados a un usuario @i_tipo= “S” Consulta de
datos @i_operacion = 2: Consulta del historial de comentario
de un caso.
Nombre procedimiento DESCRIPCIÓN
sp_administracion_cursos Administras los cursos de que están en proceso dentro de la docencia
Procedimientos
Descripción de los procedimientos
Operaciones de cada procedimiento
Descripción de la operación
@i_tipo= “I” Inserción de Datos @i_operacion = 0 Insertar cursos @i_tipo= “U” Actualización de datos @i_operacion= 0 Actualizar Cursos
@i_operacion= 0 Consultar cursos. @i_tipo= “S” Consulta de cursos @i_operacion = 1 Consulta cursos por
estado
65
Nombre procedimiento DESCRIPCIÓN sp_administracion_ic
Administras todos los procesos para el desarrollo de una investigación clínica.
(@i_tipo ) DESCRIPCIÓN (@i_operacion) Descripción de la
operación @i_operacion = 0 Insertar rutas @i_operacion = 1 Insertar fases @i_operacion = 2 Insertar pasos
@i_operacion = 3 Insertar asociación paso estación
@i_tipo= “I”
Inserción de Datos
@i_operacion = 4 Insertar pasos a investigadores
@i_operacion = 0 Actualizar rutas @i_operacion = 1 Actualizar fases @i_tipo= “U” Actualización de datos @i_operacion = 2 Actualizar pasos
@i_operacion = 1 Consulta de usuarios por estación
@i_operacion = 2 Catálogo de pasos disponibles @i_tipo= “S” Consulta de datos
@i_operacion = 3 Consulta de pasos por estación.
@i_operacion = 1 Eliminar asociación de paso_usuario @i_tipo= “D” Eliminación de datos
@i_operacion = 3 Eliminar asociación fase_usuario
Nombre procedimiento DESCRIPCIÓN sp_asigna_paso Maneja el control de flujo de la investigación clínica
Procedimientos
Descripción de los procedimientos
Operaciones de cada procedimiento
Descripción de la operación
@i_tipo='A'
Busca la ruta que tiene
grabada la
investigación en el
registro maestro, si no
tiene asignada UNA,
toma la enviada como
parámetro
66
Nombre procedimiento DESCRIPCIÓN sp_avisos_ic Administras la inserción de avisos y las consulta de los mismos
Procedimientos
Descripción de los procedimientos
Operaciones de cada procedimiento
Descripción de la operación
@i_tipo= “I” Inserción de datos @i_operacion = 0 Inserción de avisos
@i_operacion = 0 Consulta de avisos públicos @i_tipo= “S” Consulta de avisos
@i_operacion = 1 Consulta de avisos para un usuarios IC
Nombre procedimiento DESCRIPCIÓN sp_consulta_documentos Consulta de Datos de las Investigaciones, Artículos, Misceláneos.
Procedimientos
Descripción de los
procedimientos
Operaciones de cada procedimiento Descripción de la operación
@i_operacion = 0 Consulta general de los datos de una investigación
@i_operacion = 1 Datos de una investigación por su código
@i_tipo = 'S'
Consulta de
datos
@i_operacion = 2
Consulta los datos de una investigación que se publica su archivo PDF
Nombre procedimiento DESCRIPCIÓN
sp_consulta_investigacion Administra las consultas que se pueden realizar en el desarrollo de una investigación
Procedimientos
Descripción de los
procedimientos
Operaciones de cada procedimiento Descripción de la operación
@i_operacion = 0 Consulta general de investigaciones
@i_operacion = 1 Consulta de investigadores por trabajo
@i_operacion = 2 Consulta general de investigadores
@i_operacion = 3 Consulta de comentarios de una investigación por tipo (invc_comentarios_investigacion)
@i_tipo = 'S'
Consulta de una @i_operacion = 4 Consulta de todos los comentarios (invc_comentarios_investigacion)
67
@i_operacion = 5 Consulta de investigaciones por usuario
@i_operacion = 6 Consulta de registro básico de investigación
@i_operacion = 7 Consulta datos de un investigador
@i_operacion = 8 Consulta de investigaciones por un usuario
@i_operacion = 9 Consulta de investigaciones para envió de archivos por un usuario
@i_operacion =10 Consulta de Investigadores en el SWIC
@i_operacion = 11 Consulta del historial de pasos @i_operacion =12 Consulta del tiempo de desarrollo
de pasos @i_operacion =13 Consulta de pasos que están en
proceso @i_operacion =14 Consulta de investigaciones por
un usuario OK @i_operacion =15 Consulta de investigaciones en un
paso determinado @i_operacion =16 Verifica si se habilita las
decisiones del paso a un usuario
investigación en
proceso
@i_operacion =17 Documentos de una investigacion
Nombre procedimiento DESCRIPCIÓN sp_consultas_admin Consulta de datos generales
Procedimientos
Descripción de los procedimientos
Operaciones de cada procedimiento
Descripción de la operación
@i_operacion= 1 Lista fases disponibles
@i_operacion = 2 Lista rutas disponibles
@i_operacion = 3 Lista de pasos de una ruta. @i_tipo= 'S'
Consulta de catálogos
de tablas propias de
Sistema de ic
@i_operacion = 4 Consultas a los catálogos de sistema
68
Nombre procedimiento DESCRIPCIÓN
sp_investigacion Administra los procesos de inserción y actualización de datos de una investigación
Procedimientos
Descripción de los procedimientos
Operaciones de cada procedimiento Descripción de la operación
@i_operacion = 0 Insertar registro principal de investigaciones
@i_operacion = 1 Insertar registro complementario de investigaciones
@i_operacion = 2 Insertar comentarios sobre investigación
@i_operacion = 3 Insertar registro de investigadores
@i_operacion = 4 Insertar registro de grupos de investigación
@i_tipo = 'I' Inserción de Datos
@i_operacion = 5 Inserta registro de archivos cargados.
@i_operacion = 0 Actualización normal de registro de investigaciones
@i_operacion = 1 Actualización de registro general e investigaciones por finalización o cancelación
@i_operacion = 2 Actualización de datos de desarrollo de la investigacion
@i_operacion = 3 actualización de registros de investigadores
@i_tipo = 'U' Actualización de Datos
@i_operacion = 4 deshabilitación de miembros de grupo
Nombre procedimiento DESCRIPCIÓN sp_mantenimiento_docencia Mantenimiento de tablas docencia SWIC
Procedimientos
Descripción de los
procedimientos
Operaciones de cada procedimiento Descripción de la operación
@i_operacion = 0 Insertar catálogo de test (INVC_CAT_AUTOTEST)
@i_operacion = 1
Insertar inscripciones a curso de investigación (invc_INSCRIPCION_ DOCENCIA)
@i_operacion = 2 Insertar preguntas ( INVC_CAT_PREGUNTAS )
@i_tipo = 'I' Inserción de Datos
@i_operacion = 3 Insertar respuestas (INVC_CAT_RESPUESTAS)
69
@i_operacion = 4 Insertar asociación de preguntas y respuestas (invc_preguntas_resp)
@i_operacion = 5 Insertar respuestas de test (INVC_TEST_RESPUESTAS)
@i_operacion = 6 Insertar resultados de autotest por alumno(invc_test)
@i_operacion = 7 Insertar datos al historial de docencia(invc_docencia_his)
@i_operacion = 7 Actualiza resultados de autotest por ALUMNO(invc_autotest)
@i_operacion = 8 Actualización de la tabla invc_test_respuestas
@i_operacion = 9 Cierre de autotest @i_operacion = 10
Actualización de preguntas
@i_operacion = 11
Actualización de estado de curso
@i_tipo = 'U' Actualización de datos
@i_operacion = 12
Actualizacion de invc_cat_autotest
@i_operacion = 0 Consulta RESULTADOS DE AUTOTEST POR ALUMNO(invc_autotest)
@i_operacion = 1 consulta resultados de autotest por módulo
@i_operacion = 2 Consultar resultados de autotest por curso
@i_operacion = 3
Consulta de estadísticas de autotest por curso programado, módulo, número de veces que se curso(invc_autotest)
@i_operacion = 4
Consulta de alumnos inscriptos a cada curso(invc_control_docencia, invc_usuario)
@i_operacion = 5
Consulta de notas para alumnos inscritos en cada curso (invc_inscripcion_docencia, invc_test,invc_usuario)
@i_operacion = 6 Consulta las notas por cada examen realizador por un alumno
@i_tipo = 'S' Consulta de Datos
@i_operacion = 8 Consulta de preguntas y sus respuestas (invc_preguntas_resp)
70
@i_operacion = 9 Selecciona una pregunta aleatoriamente del pool disponible para un módulo
@i_operacion =10 Consultar la aproxima pregunta a evaluar
@i_operacion =11 Consultar cursos en proceso
@i_operacion =12Consultar notas finales para aprobación de curso(invc_notas_cursos)
@i_operacion =13 Consultar general de preguntas(invc_cat_preguntas)
@i_operacion =14 Consultar general de respuestas(invc_cat_respuestas)
@i_operacion =15 Consultar general de alumnos curso
@i_operacion =16 Consulta de una pregunta @i_operacion =17 Consulta de una respuesta
@i_operacion =18 Consulta del catalogo de módulos a evaluar(autotest)
@i_operacion =19 Consulta del Histórico de Notas de Autotest
@i_operacion =20 Consultar si existen preguntas creadas para el autotest actual
@i_operacion =21 Consultar si existen preguntas creadas para el autotest actual
@i_operacion =22 Consulta de histórico de un alumno
@i_operacion =23 Consulta de datos generales del alumno
Nombre procedimiento DESCRIPCIÓN sp_proxima_estacion Administra las estaciones realizadas por los pasos
Procedimientos
Descripción de los procedimientos
Operaciones de cada procedimiento
Descripción de la operación
@i_tipo = 'S' Consulta de datos @i_operacion = 0 Define la asociación del paso a la estación.
Nombre procedimiento DESCRIPCIÓN
71
sp_reporte_swic.sp Administra los reportes del SWIC
Procedimientos
Descripción de los procedimientos
Operaciones de cada procedimiento
Descripción de la operación
@i_operacion = 1 Consulta para usuarios del sistema por estado
@i_operacion = 2 Consulta de Usuarios por Código de Usuario (us_cod_usuario)
@i_operacion = 3 Consulta de investigadores por el SWIC
@i_operacion = 4 Consulta de Alumnos por Curso
@i_operacion = 5 Consulta de Alumnos por Curso, Módulo y Código de Usuario
@i_operacion = 6 Autotest realizados por Alumno
@i_operacion = 7 Autotest realizados por Módulo
@i_operacion = 8 Preguntas y respuestas de Autotest por Usuario y Módulo
@i_operacion = 9 Módulos cursados por Alumno
@i_operacion =10 Estadísticas de Autotest por Curso, Módulo, Aprobados
@i_operacion = 11
Consulta de rendimiento de alumnos de investigación clínica
@i_operacion = 12 Consulta general de Investigadores
@i_operacion = 13 Investigaciones realizadas.
@i_operacion = 14 Etapas desarrolladas en una IC
@i_operacion = 15 Investigadores y trabajos en proceso o realizados
@i_tipo = 'S'
Consulta de datos
@i_operacion = 16 Estadísticas de tipo de publicación para investigaciones.
72
@i_operacion = 17
Estadísticas de proporción de protocolos aprobados sobre rechazados o con enmiendas.
Nombre procedimiento DESCRIPCIÓN sp_usuarios Administra los procesos que puede realizar en el sistema el
administrador
Procedimientos
Descripción de los procedimientos
Operaciones de cada procedimiento
Descripción de la operación
@i_operacion = 1 Inserta los usuarios del sistema
@i_tipo = 'I'
Inserción de datos
@i_operacion = 2 Inserta los roles a usuarios
@i_operacion = 1 Actualiza la tabla de invc_usuario @i_tipo = 'U'
Actualización de datos
@i_operacion = 2 Actualiza los usuarios del sistema
@i_operacion = 1 listar los usuarios del sistema por estado
@i_operacion = 2 listar los usuarios del sistema
@i_operacion = 3 validación de usuarios por clave y estado
@i_operacion = 4 validación de roles del usuario
@i_operacion = 5 validación menú del usuario
@i_operacion = 6 Consulta para roles del usuario
@i_tipo = 'S'
Consulta de datos
@i_operacion = 7 consulta para asignación de roles del usuario
Nombre procedimiento DESCRIPCIÓN sp_cierre_ic Administra el cierre de una investigación.
Procedimientos
Descripción de los procedimientos
Operaciones de cada procedimiento
Descripción de la operación
73
Nombre procedimiento DESCRIPCIÓN sp_reglas_ic Administra las reglas que debe cumplirse en cada paso dentro de
una IC
Procedimientos
Descripción de los procedimientos
Operaciones de cada procedimiento
Descripción de la operación
5.- GLOSARIO DE TÉRMINOS.
IC: Investigación Clínica.
SWIC: Software de Investigación Clínica.
ER: Diagrama de Entidad-Relación de la investigación clínica.
Pre-proyecto: Es la versión inicial escrita del plan de la investigación clínica.
Protocolo: Es el documento que contiene el plan de la investigación clínica.
Sistemas Colaborativos: Con la llegada de Internet algunas barreras se rompieron, con este
avance tecnológico se logró compartir información pero no se podían realizar las actividades que
necesitan colaboración, a partir de esta necesidad se comenzó a trabajar en un nuevo tipo de
tecnología: el software colaborativo. Dentro de este tipo de software se encuentra: el Groupware
y el Workflow, ambas tecnologías son comúnmente utilizadas dentro del ámbito empresarial.
SWIC: Software de Investigación Clínica.
Workflow de Colaboración: las aplicaciones de Workflow que resuelven procesos de negocios
donde participa gente para lograr una meta común, son llamadas Workflow de Colaboración. Los
Workflow de colaboración estructuran o semi-estructuran procesos de negocios donde participan
personas, con el objetivo de lograr una meta común. Típicamente involucran documentos, los
cuales son los contenedores de la información. Se sigue la ruta de estos paso a paso, además de
las acciones que se toman sobre ellos. Los documentos son la clave, y por lo tanto es esencial
para la solución de Workflow mantener la integridad de dichos documentos.
WWW: World Wide Web se desarrolló en 1989 por el informático británico Timothy Berners-
Lee para el Consejo Europeo de Investigación Nuclear (CERN) quien propuso el proyecto para
74
ser utilizado como medio para difundir investigaciones e ideas a lo largo de la organización y a
través de la red.
Firewall: Llamamos firewall a un componente o conjunto de componentes que restringen el
acceso entre una red interna (Intranet) protegida y cualquier otra red, comúnmente Internet. El
firewall puede estar basado en hardware o software o en una combinación de ambos.
El objetivo principal de un firewall es implementar una política de seguridad determinada.
IIS (Internet Information Services): Servicios de Internet Information Server (IIS), es el
servicio Web de Windows que facilita la publicación de información en una intranet, podrá
también compartir el contenido de sus sitios y servidores que se administran con los Servicios de
Internet Information Server con otros usuarios a través del Web.
SP´s: (Stored Procedures) procedimientos de almacenamiento.
MANUAL DE USUARIO DEL SISTEMA DE INFORMACIÓN
MECANIZADO DE ASISTENCIA PARA EL SEGUIMIENTO DE LA
INVESTIGACIÓN CLÍNICA Y DOCENCIA DEL HOSPITAL NACIONAL
DE NIÑOS BENJAMIN BLOOM
(SOFTWARE INVESTIGACIÓN CLÍNICA, SWIC)
INDICE
CONTENIDO PÁGINA
1. ANTECEDENTES 1
2. INICIO 4
3. ADMINISTRACIÓN DE USUARIOS 5
3.1. MANTENIMIENTO DE USUARIO 5
3.2. MANTENIMIENTO DE ROLES ASOCIADOS A USUARIO 7
3.3. OTRAS OPCIONES DISPONIBLES 8
4. DOCENCIA 9
4.1. INSCRIPCIÓN A CURSOS 10
4.2. CURSOS VIGENTES 10
4.2.1. CREAR Y MANTENIMIENTO CURSOS 10
4.2.2. MANTENIMIENTO ALUMNOS DEL CURSO 11
4.2.3. CIERRE CURSO 12
4.3. MANTENIMIENTO DE AUTOTEST 13
4.4. CATÁLOGO DE PREGUNTAS 13
4.5. CATÁLOGO DE RESPUESTAS 14
4.6. PAREO PREGUNTAS POR MÓDULO 14
4.7. CONSULTA DE PREGUNTAS POR MÓDULO 15
4.8. CONSULTA GENERAL DE PREGUNTAS Y RESPUESTAS 16
4.9. HISTÓRICO DOCENCIA CURSO INVESTIGACIÓN CLÍNICA 18
4.10 MÓDULOS DEL CURSO 19
5. INVESTIGACIÓN CLÍNICA 23
5.1. ADMINISTRADOR IC 23
5.1.1. HABILITACIÓN DE USUARIOS DEL SWIC COMO
INVESTIGADORES CLÍNICOS 21
5.1.2. INGRESO DE INVESTIGACIONES CLÍNICAS 24
5.1.3. INGRESAR AL SWIC LOS MIEMBROS DEL GRUPO
INVESTIGADOR 24
5.1.4. ASOCIAR PASOS DEL FLUJO DE TRABAJO A UN
GRUPO INVESTIGADOR 26
5.1.5. INICIAR UNA INVESTIGACIÓN CLÍNICA 28
5.1.6. PUBLICACIÓN DEL INFORME FINAL DE UNA
INVESTIGACIÓN CLÍNICA 28
5.1.7. CIERRE DE UNA INVESTIGACIÓN CLÍNICA 29
5.2. INVESTIGADOR PRINCIPAL 30
5.2.1. INGRESO DEL PREPROYECTO 30
5.2.2. INGRESO DEL PROTOCOLO 32
5.2.3. INGRESO DEL INFORME FINAL 34
5.3. INVESTIGADORES ADJUNTOS 34
5.4. TUTOR 35
5.4.1. APROBACIÓN DEL PROTOCOLO 35
5.5. COMITÉ TÉCNICO 37
5.5.1. REVISIÓN TÉCNICA DEL PREPROYECTO 37
5.5.2. ASIGNACIÓN DEL TUTOR 38
5.5.3. REVISIÓN TÉCNICA DEL PROTOCOLO 39
5.5.4. REVISIÓN TÉCNICA DEL INFORME FINAL 40
5.6. COMITÉ DE ÉTICA 41
5.6.1. REVISIÓN ÉTICA DEL PROTOCOLO 41
5.6.2. REVISIÓN ÉTICA DEL INFORME FINAL 42
5.7. INVESTIGACIONES 43