Nothing Special   »   [go: up one dir, main page]

0% encontró este documento útil (0 votos)
195 vistas188 páginas

TFG Joel

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1/ 188

UNIVERSIDAD GRAN ASUNCIÓN

SEDE CENTRAL
FACULTAD DE CIENCIAS EMPRESARIALES
Y
TECNOLOGÍA

INGENIERÍA EN INFORMÁTICA

TEMA: Sistema Informático web para Consultorio Odontológico


“Odonline”

TÍTULO: Desarrollo e implementación de un sistema informático en


entorno web para gestión odontológica en las áreas de Fichas,
Agenda y Cobros en el Consultorio Odontológico ODONTO CARE
de la ciudad de Asunción en el periodo de Julio y Diciembre del año
2018

ALUMNO/A:

JOEL ANDRES ESPINOLA LEZCANO

Trabajo Final de Grado presentado a la Universidad Gran Asunción


como requisito para la obtención del título de Ingeniera en Informática.

CAPIATÁ- PARAGUAY

2019
UNIVERSIDAD GRAN ASUNCIÓN
SEDE CENTRAL
FACULTAD DE CIENCIAS EMPRESARIALES Y TECNOLOGÍA

INGENIERÍA ENFORMATICA
TEMA: Sistema Informático web para Consultorio Odontológico
“Odonline”

TÍTULO: Desarrollo e implementación de un sistema informático en


entorno web para gestión odontológica en las áreas de Fichas,
Agenda y Cobros en el Consultorio Odontológico ODONTO CARE
de la ciudad de Asunción en el periodo de Julio y Diciembre del año
2018

ALUMNO/A:

JOEL ANDRES ESPINOLA LEZCANO

Trabajo Final de Grado presentado a la Universidad Gran Asunción


como requisito para la obtención del título de Ingeniería Informática

TUTORA: LIC. FRANCISCA CASTILLO

CAPIATA- PARAGUAY

2019
Trabajo final de grado presentado como requisito para la obtención del título de
Ingeniera en Informática
ADVERTENCIA
La Universidad Gran Asunción no se
hace responsable de las ideas
expuestas en el presente trabajo

1
DEDICATORIA
Dedico este trabajo a mis padres
Andrés y Blanca y a mi hermano
Juan, que fueron mis principales
motivadores y ejemplos de
superación y trabajo duro para lograr
todo lo que uno se propusiere.
Además de ofrecerme el amor y la
calidez de la familia a la cual amo.

Al Sr. David Lugo, quien me brindó


las herramientas necesarias y
compartió conmigo sus
conocimientos, los cuales fueron
indispensables para el desarrollo de
este trabajo

2
AGRADECIMIENTO
El apoyo incondicional y la
paciencia con la que supo
tratarme mi familia, fue base
sólida para el desarrollo de este
trabajo.

Mi más sincero agradecimiento


está dirigido a las Doctoras Ingrid
Lara y Natalia Benítez, quienes,
con su ayuda desinteresada, me
brindaron su tiempo, guiándome
en momentos relevantes y
aportando todas las informaciones
importantes correspondientes
para el trabajo.

Al Sr. David Lugo, porque sin su


valiosa ayuda, no habría logrado
desarrollar con éxito mi trabajo
final de grado.

A mi tutora Lic. Francisca Castillo,


gracias por su paciencia y
enseñanzas para la concreción
de este trabajo.

3
HOJA DE AUTORIDADES
UNIVERSIDAD GRAN ASUNCIÓN

RECTOR

DR. JUAN ALBERTO ANTONIO DENIS PINTOS

DECANO

MSC. SANTIAGO LAGUARDIA

DIRECTORA ACADÉMICA

MSC. DIRSE MARÍA MARTÍNEZ DE CANTERO

DIRECTOR ADMINISTRATIVO Y FINANCIERO

LIC. MIGUEL ÁNGEL AGUILAR BRÍTEZ

4
UNIVERSIDAD GRAN ASUNCIÓN

HOJA DE APROBACIÓN
El trabajo de grado titulado “Desarrollo e implementación de un sistema
informático en entorno web para gestión odontológica en las áreas de
Fichas, Agenda y Cobros en el Consultorio Odontológico ODONTO CARE
de la ciudad de Asunción en el periodo de Julio y Diciembre del año 2018”,
reúne las condiciones para su defensa. Presentada por Joel Andrés Espínola
Lezcano, con Cédula de Identidad Nº 4.132.446.-

……………………………………………………………….

Tutor Metodológico, Lic. Francisca Castillo

Fecha:…………………./…………………./ 2019

……………………………………………………………….

Corrector:...................................................................................

Fecha:…………………./…………………./ 2019

...........................................................................................
5
DERECHO DE AUTOR
Quien suscribe Joel Andrés Espínola Lezcano, con Cédula de Identidad Nº
4.132.446, autor del trabajo de investigación titulado: “Desarrollo e
implementación de un sistema informático en entorno web para gestión
odontológica en las áreas de Fichas, Agenda y Cobros en el Consultorio
Odontológico ODONTO CARE de la ciudad de Asunción en el periodo de
Julio y Diciembre del año 2018”, declara que voluntariamente cede a título
gratuito y en forma pura y simple, ilimitada e irrevocablemente a favor de la
Universidad Gran Asunción UNIGRAN el derecho de autor de contenido
patrimonial que como autor le corresponde sobre el trabajo de referencia.
Conforme a lo anteriormente expresado, esta cesión otorga a la Universidad
Gran Asunción UNIGRAN la facultad de comunicar la obra, divulgarla,
publicarla y reproducirla en soportes analógicos o digitales en la oportunidad
que ella estime conveniente. La Universidad Gran Asunción UNIGRAN
deberá indicar que la autoría o creación del trabajo corresponde a mi
persona y hará referencia al tutor y a las personas que hayan colaborado en
la realización del presente trabajo de investigación.-

En la ciudad de Capiatá, a los 15 días del mes de Abril de 2019.

…………………………………….

Firma

6
UNIVERSIDAD GRAN ASUNCIÓN

HOJA DE CALIFICACIÓN
Desarrollo e implementación de un sistema informático en entorno web para
gestión odontológica en las áreas de Fichas, Agenda y Cobros en el
Consultorio Odontológico ODONTO CARE de la ciudad de Asunción en el
periodo de Julio y Diciembre del año 2018.

Calificación Número

Letra

Evaluadores: ………………………………………………………………….

Aclaración: ………………………………………………………………….

Evaluadores: ………………………………………………………………….

Aclaración: ………………………………………………………………….

Evaluadores: ………………………………………………………………….

Aclaración: ………………………………………………………………….

Observaciones:……………………………………………………………………………

7
RESUMEN
El siguiente trabajo, titulado “Desarrollo e implementación de un sistema
informático en entorno web para gestión odontológica en las áreas de
Fichas, Agenda y Cobros en el Consultorio Odontológico ODONTO CARE
de la ciudad de Asunción en el periodo de Julio y Diciembre del año 2018”,
que adquiere como tema Sistema Informático web para Consultorio
Odontológico “Odonline”, se realizó mediante investigación de diseño no
experimental transversal. Con un estudio descriptivo para determinar las
falencias y desventajas en los procesos actuales de dicho consultorio
odontológico. Se aplicó la encuesta con preguntas abiertas y cerradas a la
propietaria y a los funcionarios. El relevamiento de datos se realizó en la
única matriz del consultorio. Mediante la investigación se pudo comprobar
que el principal inconveniente era la desorganización de los documentos y
los errores típicos de la escritura a mano de los documentos como son las
facturas, las fichas entre otras. La implementación del sistema Odonline
pudo resolver los inconvenientes anteriormente citados, permitiendo a los
funcionarios, acceder a la información necesaria de forma rápida y eficaz,
además, se logró automatizar los procesos diarios de los profesionales como
del personal de atención al público.

Palabras Claves: Desarrollo, Sistema, Informático, Web

8
ABSTRACT
The following work, entitled "Development and implementation of a computer
system in a web environment for dental management in the areas of
Records, Schedule and Collections in the ODONTO CARE Dental Clinic of
the city of Asunción in the period of July and December of the year 2018",
which acquires the theme of the Computer System for the Odontological
Office "Odonline", was carried out through non-experimental transverse
design research. With a descriptive study to determine the shortcomings and
disadvantages in the current processes of said dental office. The survey was
applied with open and closed questions to the owner and the officials. The
data was collected in the only office matrix. Through the investigation it was
possible to verify that the main inconvenience was the disorganization of the
documents and the typical errors of the handwriting of the documents such
as the invoices, the cards among others. The implementation of the Odonline
system was able to solve the aforementioned inconveniences, allowing
officials to access the necessary information quickly and efficiently, as well as
automating the daily processes of the professionals as well as the customer
service personnel.

Keywords: Development, System, Computing, Web

9
INDICE GENERAL
ADVERTENCIA................................................................................................1

DEDICATORIA.................................................................................................2

AGRADECIMIENTO.........................................................................................3

HOJA DE AUTORIDADES...............................................................................4

HOJA DE APROBACIÓN.................................................................................5

DERECHO DE AUTOR....................................................................................6

HOJA DE CALIFICACIÓN................................................................................7

RESUMEN........................................................................................................8

ABSTRACT......................................................................................................9

INDICE GENERAL.........................................................................................10

INDICE DE TABLAS.......................................................................................18

INDICE DE GRÁFICOS.................................................................................19

CAPÍTULO I....................................................................................................21

1.1 INTRODUCCIÓN......................................................................................22

1.2 PLANTEAMIENTO DEL PROBLEMA......................................................23

1.3 PREGUNTAS DE INVESTIGACIÓN........................................................24

1.3.1 PREGUNTA GENERAL........................................................................24

1.3.2 PREGUNTAS ESPECÍFICAS...............................................................24

1.4 OBJETIVOS.............................................................................................24

1.4.1 OBJETIVO GENERAL.......................................................................24

1.4.2 OBJETIVOS ESPECIFICOS.............................................................24


10
1.5 JUSTIFICACIÓN......................................................................................25

CAPÍTULO II...................................................................................................26

2.1 MARCO CONCEPTUAL..........................................................................27

2.1.1 Definición de Sistema informático.....................................................27

2.1.2 Definición de Aplicación web.............................................................27

2.1.3 Definición de Base de datos..............................................................27

2.1.4 Definición de SQL..............................................................................27

2.1.5 Definición de UML.............................................................................28

2.1.4 Definición de Java.............................................................................28

2.1.5 Definición de Software.......................................................................28

2.1.6 Definición de Modulo.........................................................................28

2.1.6 Definición de Hardware.....................................................................29

2.1.7 Definición de IDE...............................................................................29

2.1.8 Definición de Reporte........................................................................29

2.1.9 Definicion de Servidor Apache..........................................................29

2.1.1 Código fuente....................................................................................30

2.2 MARCO REFERENCIAL..........................................................................30

2.2.1 Apache Tomcat..................................................................................30

2.2.2 Genexus.............................................................................................30

2.2.3 Microsoft Sql Server..........................................................................31

2.2.4 Desarrollo WEB.................................................................................31

2.2.5 Star Uml.............................................................................................31

11
2.2.6 Adobe Photoshop..............................................................................32

2.2.7 HTTP..................................................................................................32

2.2.8 PHP....................................................................................................32

2.2.9 Lenguaje Java...................................................................................33

2.2.10 WWW...............................................................................................33

2.2.11 Navegador De Internet....................................................................33

2.2.12 Software de código abierto..............................................................34

2.2.13 Software propietario.........................................................................35

2.3 MARCO HISTÓRICO...............................................................................36

2.3.1 Informática en Paraguay...................................................................36

2.3.2 Software en la década de 1980: consolidación, módulos, rendimiento


....................................................................................................................37

2.3.3 La década de 1990: la era de Internet..............................................38

2.4 MARCO LEGAL........................................................................................39

2.4.1 De la Constitución Nacional Paraguaya............................................39

ARTÍCULO 175. – SABJOTAJE DE COMPUTADORAS.......................39

ARTÍCULO 188. – OPERACIONES FRAUDULENTAS POR


COMPUTADORA....................................................................................39

2.4.2 Leyes.................................................................................................40

Ley Nº 836 / CÓDIGO SANITARIO........................................................40

2.4.3 Decretos.............................................................................................40

DECRETO Nº 22.439..............................................................................40

CAPITULO III..................................................................................................41

12
3.1. Diseño de la Investigación......................................................................42

3.2. ALCANCE, O NIVEL DE LA INVESTIGACIÓN......................................42

3.3. ENFOQUE DE LA INVESTIGACIÓN......................................................43

3.4. Descripción de la Población y Muestra...................................................43

3.5 Delimitación..............................................................................................44

3.5.1 Espacial.............................................................................................44

3.5.2 Cronología.........................................................................................44

3.5.3 Cronograma de Actividades..............................................................45

3.6. Técnicas e instrumentos de recolección de datos..................................45

Preguntas Cerradas:...................................................................................45

Preguntas abiertas:.....................................................................................46

Instrumentos utilizados:..............................................................................46

Lista de Requerimientos:............................................................................46

3.7. Descripción del procedimiento de análisis de datos...............................46

3.8. Recursos.................................................................................................47

3.8.1 Humanos:...........................................................................................47

3.8.2 Materiales:.........................................................................................47

3.8.3 Financieros:.......................................................................................48

CAPITULO IV.................................................................................................49

4.1. Introducción.............................................................................................50

4.1.1 Posicionamiento................................................................................50

4.1.2 Organigrama de la Empresa.............................................................51

13
4.1.3. Relevamiento de Datos....................................................................52

4.1.4 Alcance del Proyecto.........................................................................58

4.1.5 Descripción del problema..................................................................59

4.1.6 Objetivo del negocio..........................................................................60

4.1.7 Usuario...............................................................................................61

4.1.8 Ambiente............................................................................................62

4.1.9 Requisitos..........................................................................................62

Funcionales.............................................................................................62

No Funcionales.......................................................................................64

4.1.10 Requisitos del Sistema....................................................................66

Documentación...........................................................................................66

4.1.11 Conclusión del Producto..................................................................67

4.1.12 Productos a ser entregados............................................................67

4.1.13 Restricciones, Suposiciones y Dependencias.................................67

4.2 MODELADO DE DATOS.........................................................................68

4.2.1. MODELO DE DIAGRAMA ENTIDAD RELACIÓN...........................68

4.2.2 Diagrama de Actividades...................................................................69

4.2.2.1 Solicitud de Consulta......................................................................69

4.2.2.1 Registrar Consulta..........................................................................70

4.2.2.2 Solicitud de Reserva de Turno.......................................................71

4.2.3 Modelo de Negocio (Alto Nivel).........................................................72

4.2.4 Organigrama Estructural de Módulos................................................73

14
4.2.5 Modelo de Caso de Uso....................................................................74

4.2.5.1 Caso de uso Referenciales............................................................74

4.2.5.2 Caso de uso Agregar Odontólogo..................................................74

4.2.5.3 Caso de uso Agregar Paciente.......................................................75

4.2.5.4 Caso de uso Agregar Agenda........................................................75

4.2.5.5 Caso de Uso Cobro de Factura......................................................76

4.2.5.6 Caso de uso Elaborar Ficha...........................................................76

4.2.6 Interfaz Gráfica de Usuario................................................................77

4.2.6.1 Acceso al sistema...........................................................................77

4.2.6.2 Inicio................................................................................................77

4.2.6.3 Tratamiento.....................................................................................79

4.2.6.4 Especialidades................................................................................79

4.2.6.5 Conceptos.......................................................................................81

4.2.6.6 Pacientes........................................................................................82

4.2.6.7 Agenda............................................................................................83

4.2.6.7 Odontologos...................................................................................83

4.2.6.8 Movimientos en Caja......................................................................85

4.2.7 Diagrama de Clases..........................................................................86

4.2.7.1 Diagrama de Clases Modulo Agenda.............................................86

4.2.7.2 Diagrama de Clases Modulo Fichas..............................................87

4.2.7.3 Diagrama de clases Modulo Caja...................................................88

4.2.8 Diagrama de Secuencia....................................................................89

15
4.2.8.1 Diagrama de Secuencia Agenda....................................................89

4.2.8.2 Diagrama de Secuencia Fichas......................................................90

4.2.8.3 Diagrama de Secuencia Caja.........................................................91

4.2.9 Especificación de Caso de Uso.........................................................92

4.2.9.1 Registrar Paciente..........................................................................92

4.2.9.2 Registrar Odontologo......................................................................94

4.2.9.2 Registrar Agenda............................................................................97

4.2.10 Diccionario de Datos........................................................................99

Entidad Agenda..........................................................................................99

Entidad Detalle de caja.............................................................................100

Entidad Odontólogo..................................................................................100

Entidad Usuario........................................................................................101

Entidad Historico Paciente........................................................................101

Entidad Especialidad................................................................................101

Entidad Concepto.....................................................................................102

Entidad Tratamiento.................................................................................102

Entidad Paciente.......................................................................................102

Entidad Fotos............................................................................................103

Entidad Movimiento de Caja.....................................................................103

CAPÍTULO V................................................................................................104

5.1 CONCLUSIÓN........................................................................................105

5.2 RECOMENDACIONES..........................................................................106

16
5.3 BIBLIOGRAFÍA.......................................................................................107

5.4 ANEXOS.................................................................................................108

5.4.1 Línea de código de la Base de Datos.............................................108

5.4.2 Línea de código Detalle de caja......................................................163

5.4.3 Manual de Usuario...........................................................................167

17
INDICE DE TABLAS
Tabla Nº1 Cronograma de Actividades

Tabla Nº2 Recurso Humano

Tabla Nº3 Recursos Financieros

Tabla Nº4 Organigrama de la Empresa

Tabla Nº5 Descripción del problema

Tabla Nº6 Usuario - Perfil

Tabla Nº7 Ambiente

Tabla Nº8 Organigrama Estructural de Módulos

18
INDICE DE GRÁFICOS
MODELO DE DIAGRAMA ENTIDAD RELACIÓN...Error: Reference source
not found

Solicitud de Consulta............................... Error: Reference source not found

Registrar Consulta................................... Error: Reference source not found

Solicitud de Reserva de Turno................Error: Reference source not found

Modelo de Negocio (Alto Nivel)...............Error: Reference source not found

Caso de uso Referenciales......................Error: Reference source not found

Caso de uso Agregar Odontólogo...........Error: Reference source not found

Caso de uso Agregar Paciente................Error: Reference source not found

Caso de uso Agregar Agenda.................Error: Reference source not found

Caso de Uso Cobro de Factura...............Error: Reference source not found

Caso de uso Elaborar Ficha....................Error: Reference source not found

Acceso al sistema....................................Error: Reference source not found

Inicio.........................................................Error: Reference source not found

Tratamiento..............................................Error: Reference source not found

Especialidades.........................................Error: Reference source not found

Conceptos................................................Error: Reference source not found

Pacientes................................................. Error: Reference source not found

Agenda.....................................................Error: Reference source not found

Odontologos.............................................Error: Reference source not found

Movimientos en Caja............................... Error: Reference source not found

19
Diagrama de Clases Modulo Agenda......Error: Reference source not found

Diagrama de Clases Modulo Fichas........Error: Reference source not found

Diagrama de clases Modulo Caja............Error: Reference source not found

Diagrama de Secuencia Agenda.............Error: Reference source not found

Diagrama de Secuencia Fichas...............Error: Reference source not found

Diagrama de Secuencia Caja..................Error: Reference source not found

20
CAPÍTULO I
MARCO INTRODUCTORIO

21
1.1 INTRODUCCIÓN
En la actualidad, el desarrollo de aplicaciones y sistemas de control
para cualquier tipo de empresas, ha pasado de ser solo una ventaja con
respecto a la competencia, para convertirse en una necesidad, debido a la
gran cantidad de beneficios que nos brinda tener toda muestra información
almacenada de forma segura y disponible al momento en que de ella
requiramos, ahorrándonos tiempo y espacio físico para así, facilitar al
usuario la gestión del negocio y brindar al cliente la mejor atención posible
Actualmente, el consultorio odontológico Odonto Care, no cuenta
con un sistema informático de control que le permita registrar a sus
pacientes y almacenar todo su historial de consultas, como de estudios
realizados con respecto a la salud bucal. Las facturas y recibos de dinero las
realiza de manera manual y los pagos de tratamientos financiados se
registras en fichas de cartón inscriptas a mano. Las reservas de turnos se
registran a través de una planilla electrónica y los pacientes deben llamar al
encargado para verificar los horarios disponibles
Para solucionar dichos inconvenientes se decidió desarrollar un
sistema de gestión de clínica odontológica en la que el doctor encargado
pueda registrar y visualizar la información necesaria para el profesional, así
también podrá confeccionar facturas y recibos, teniendo la opción de
financiar algunos tratamientos de alto costo o duración. También se podrá
administrar los agendamientos en un calendario electrónico, dando a los
pacientes la opción de visualizar horarios disponibles y solicitar turnos
Para el desarrollo de este sistema se empleará el entorno web
debido a las ventajas que este tipo de aplicaciones ofrece, como la
posibilidad de ejecutar la aplicación desde cualquier plataforma, sistema
operativo o dispositivo con acceso a internet

22
1.2 PLANTEAMIENTO DEL PROBLEMA
La Clínica odontológica Odonto Care brinda servicio odontológico integral, para lo
cual realiza gestiones como agendamiento de citas mediante una agenda impresa.
También realiza facturación, para lo cual utiliza un talonario de facturas y las completa
manualmente. Para registrar el historial de consultas de sus pacientes, se utiliza una
ficha de cartón pre impreso, la cual se completa a mano con los datos del paciente y se
almacena en biblioratos dentro de un mueble
Mediante la observación in situ, se determinó que los procesos que generan más
problemas y en los cuales, más errores existen en la documentación, son los sectores
de agendamiento, fichas de pacientes y facturación, sectores en los cuales se va a
enfatizar esta investigación posteriormente.
El agendamiento de los pacientes mediante una libreta o agenda, resulta problemática
debido a que solo cuentan con una libreta común, la cual se queda en el consultorio,
por lo que, confirmar una cita resulta imposible en horarios que no sean de atención,
además, los pacientes no pueden consultar de manera eficiente los horarios
disponibles de los profesionales. También cabe señalar que se corre el riesgo de que
dicha agenda se extravíe o dañe, lo cual dejaría a la clínica sin ninguna información
sobre consultas agendadas
En el área de facturación, en primer lugar, el hecho de comprar talonarios de facturas
conlleva un gasto semestral a la clínica, además, debido a que las facturas son
completadas manualmente, están expuestos a errores ortográficos, borrones o mala
caligrafía, lo que usualmente genera rechazo o anulación de facturas, desperdiciando
así, varias boletas
Las fichas de cartón pre impresas se adquieren regularmente, por lo que también
conlleva un gasto para la clínica, aparte, la información que se puede anotar no es
completa, hay varios campos que les gustaría incluir en la ficha, aparte de no tener un
medio de almacenar las imágenes del proceso, ya sean fotos del estado de los dientes
o escaneos de los estudios que se realiza el paciente

23
1.3 PREGUNTAS DE INVESTIGACIÓN

1.3.1 PREGUNTA GENERAL


¿En qué sectores puede verse beneficiado el Consultorio Odontológico
Odonto Care con la implementación de un sistema informático en los
sectores de fichas, agenda y cobros?

1.3.2 PREGUNTAS ESPECÍFICAS


¿Qué aspectos se podrían agilizar con la implementación de un módulo de
fichas de pacientes?

¿Cuáles son los beneficios que se obtendrían al tener un módulo de


agendamiento?

¿Cómo se podría mejorar el servicio de cobros en la Clínica Odontológica


Odonto Care?

1.4 OBJETIVOS

1.4.1 OBJETIVO GENERAL


Desarrollar un sistema informático para el consultorio odontológico Odonto
Care para lograr mayor eficiencia en las áreas de ficha, agendamiento y
cobros

1.4.2 OBJETIVOS ESPECIFICOS


Desarrollar un módulo que agilice los procesos de fichas de pacientes

Diseñar un módulo para obtener beneficios en el área de agendamiento

Desarrollar un módulo para mejorar el servicio de cobros

24
1.5 JUSTIFICACIÓN
Al implementarse el sistema informático en la Clínica Odontológica “Odont
Care” en los sectores de agendamiento, facturación y fichas de pacientes, se
obtendrá una mayor fluidez en el momento de gestionar dichos, estos
cambios positivos podrán ser vistos, tanto como para los trabajadores de la
clínica, como para los clientes.

En el módulo de agendamiento, se verá especialmente beneficiado a la hora


de la consulta de los pacientes, ya que, estos podrán solicitar por si mismos
una cita en el horario que más le convenga, podrán visualizar los horarios
disponibles y cuales especialidades pueden consultar en dichos horarios.

Con respecto al área de facturación, se evitaran malentendidos causados


por la mala ortografía y caligrafía, al implementar un sistema de
autoimpresión de facturas, también la rapidez y orden en que se atiende a
los pacientes mejoraría bastante al no tener que depender de un solo
talonario, ya que, dos o más usuarios podrán cobrar y generar facturas al
mismo tiempo independientemente el uno del otro. También, el simple hecho
de tener todos los datos necesarios para confeccionar la factura en la base
de datos, ahorrara bastante tiempo al usuario encargado de realizar la
factura, pues no tendrá que escribirlos manualmente ni solicitar esos datos
directamente al paciente. El control de pagos financiados también tendrá
bastantes mejoras, ya que el sistema permitirá financiar los pagos en cuotas.

El módulo de ficha de pacientes optimizara el tiempo de consulta que


necesita el profesional para realizar un plan de tratamiento, ya que en una
ventana podrá visualizar todos los datos personales, historial médico, estado
del paladar del paciente, imágenes de estudios, radiografías, fotos, y todo
tipo de información necesaria para el análisis del caso, logrando con esto,
que el profesional pueda deshacerse de las fichas de cartón y ahorrar
espacio en su consultorio,

25
CAPÍTULO II
MARCO TEORICO

26
2.1 MARCO CONCEPTUAL

2.1.1 Definición de Sistema informático


En su libro, análisis y diseño de sistemas, Kendall y Kendall, afirman que es
una colección de subsistemas interrelacionados e independientes que
trabajan de manera conjunta para llevar a cabo metas y objetivos
predeterminados (Kendall y Kendall, 2005 P. 711.)

2.1.2 Definición de Aplicación web


Según Sergio Lujan Mora, en su libro Programación en Internet: Clientes
Web, define Aplicación web a aquellas herramientas que los usuarios
pueden utilizar accediendo a un servidor web a través de internet o de una
intranet mediante un navegador. En otras palabras, es un programa que se
codifica en un lenguaje interpretable por los navegadores web en la que se
confía la ejecución al navegador. (Luján Mora, Sergio, 2001)

2.1.3 Definición de Base de datos


Según Kendall y Kendall, en su libro Análisis y Diseño de sistemas, Base de
Datos es un Almacén de datos electrónicos formalmente definido y
centralmente controlado cuyo propósito es ser usado en muchas
aplicaciones diferentes (Kendall y Kendall, 2005 P. 704.)

2.1.4 Definición de SQL


SQL (por sus siglas en inglés Structured Query Language; en español
lenguaje de consulta estructurada) es un lenguaje específico del dominio
utilizado en programación, diseñado para administrar, y recuperar
información de sistemas de gestión de bases de datos relacionales. Una de
sus principales características es el manejo del álgebra y el cálculo
relacional para efectuar consultas con el fin de recuperar, de forma sencilla,
información de bases de datos, así como realizar cambios en ellas.( Morteo,
Bocalandro, Francisco, Nicolás, 2004)

27
2.1.5 Definición de UML
Es un lenguaje gráfico para visualizar, especificar, construir y documentar un
sistema. UML ofrece un estándar para describir un "plano" del sistema
(modelo), incluyendo aspectos conceptuales tales como procesos, funciones
del sistema, y aspectos concretos como expresiones de lenguajes de
programación, esquemas de bases de datos y compuestos reciclados.
(Martin Fowler, Kendall Sccott, 1999.)

2.1.4 Definición de Java


Según Kendall y Kendall, en su libro Análisis y Diseño de sistemas, JAVA es
un Lenguaje de programación orientado a objetos que permite ejecutar
aplicaciones dinámicas en Internet. (Kendall y Kendall, 2005 P. 708.)

2.1.5 Definición de Software


Según Ian Sommerville en su libro Ingeniería del Software, Séptima edición,
define al software como no solo programas, sino todos los documentos
asociados y la configuración de datos que se utilizan para ejecutar estos
programas (Sommerville Ian, 2004, Pág. 5.)
Hardware

2.1.6 Definición de Modulo


En programación, un módulo es una porción de un programa de ordenador.
De las varias tareas que debe realizar un programa para cumplir con su
función u objetivos, un módulo realizará, comúnmente, una de dichas tareas
(o varias, en algún caso).
En general (no necesariamente relacionado con la programación), un
módulo recibe como entrada la salida que haya proporcionado otro módulo o
los datos de entrada al sistema (programa) si se trata del módulo principal de
éste; y proporcionará una salida que, a su vez, podrá ser utilizada como
entrada de otro módulo o bien contribuirá directamente a la salida final del
sistema (programa), si se retorna al módulo principal.
Particularmente, en el caso de la programación, los módulos suelen estar
(no necesariamente) organizados jerárquicamente en niveles, de forma que

28
hay un módulo principal que realiza las llamadas oportunas a los módulos de
nivel inferior. (Colaboradores de Wikipedia, 2018)

2.1.6 Definición de Hardware


La palabra hardware en informática se refiere a las partes físicas tangibles
de un sistema informático; sus componentes eléctricos, electrónicos,
electromecánicos y mecánicos. Los cables, así como los gabinetes o cajas,
los periféricos de todo tipo, y cualquier otro elemento físico involucrado,
componen el hardware o soporte físico (Martín Pozuelo, José María Martín,
2001)

2.1.7 Definición de IDE


Un entorno de desarrollo integrado o entorno de desarrollo interactivo, en
inglés Integrated Development Environment (IDE), es una aplicación
informática que proporciona servicios integrales para facilitarle al
desarrollador o programador el desarrollo de software. Normalmente, un IDE
consiste de un editor de código fuente, herramientas de construcción
automáticas y un depurador. La mayoría de los IDE tienen auto-completado
inteligente de código (IntelliSense). Algunos IDE contienen un compilador, un
intérprete, o ambos, tales como NetBeans y Eclipse; otros no, tales como
SharpDevelop y Lazarus. (Ramos Salavert, 2000)

2.1.8 Definición de Reporte


Un reporte es un Documento, generado por el Sistema, que nos presenta de
manera Estructurada y/o Resumida, datos relevantes guardados o
generados por la misma aplicación de tal manera que se vuelvan útiles para
los fines que la Escuela o al Programa Escuelas de Calidad convengan.
(Manuel Cruz Hidalgo, 2013)

2.1.9 Definicion de Servidor Apache


El servidor HTTP Apache es un servidor web HTTP de código abierto, para
plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y
otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual
según la normativa RFC 2616. (The Apache Software Foundation, 1997)

29
2.1.1 Código fuente
El código fuente de un programa informático (o software) es un conjunto de
líneas de texto con los pasos que debe seguir la computadora para ejecutar
un programa.
El código fuente de un programa está escrito por un programador en algún
lenguaje de programación, pero en este primer estado no es directamente
ejecutable por la computadora, sino que debe ser traducido a otro lenguaje o
código binario; así será más fácil para la máquina interpretarlo (lenguaje
máquina o código objeto que sí pueda ser ejecutado por el hardware de la
computadora). Para esta traducción se usan los llamados compiladores,
ensambladores, intérpretes y otros sistemas de traducción.
El término código fuente también se usa para hacer referencia al código
fuente de otros elementos del software, como por ejemplo el código fuente
de una página web, que está escrito en lenguaje de marcado HTML o en
Javascript, u otros lenguajes de programación web, y que es posteriormente
ejecutado por el navegador web para visualizar dicha página cuando es
visitada.

2.2 MARCO REFERENCIAL

2.2.1 Apache Tomcat


También llamado Jakarta Tomcat o simplemente Tomcat, funciona como un
contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache
Software Foundation. Tomcat implementa las especificaciones de los
servlets y de JavaServer Pages (JSP) de Oracle Corporation (aunque creado
por Sun Microsystems).

2.2.2 Genexus
GeneXus es una herramienta de desarrollo multiplataforma basada en la
representación del conocimiento1 principalmente orientada al entorno
empresarial para aplicaciones web, dispositivos móviles y aplicaciones para
escritorio de Windows. Los desarrolladores escriben la aplicación en un

30
lenguaje de alto nivel, principalmente declarativo, a partir del cual se genera
código nativo para múltiples entornos.
Incluye un módulo de normalización de bases de datos, que crea y mantiene
una estructura óptima de base de datos basada en las vistas del usuario de
la realidad descrita en un lenguaje declarativo.
Los lenguajes para los cuales se puede generar código incluyen C#,
COBOL, Java incluso para Android and BlackBerry, Objective-C, RPG,
Ruby, Visual Basic y Visual FoxPro.2
Los sistemas gestores de bases de datos más populares están soportados,
como SQL Server, Oracle, DB2, Informix, PostgreSQL y MySQL.
GeneXus está desarrollado por la empresa uruguaya ARTech Consultores
SRL.3

2.2.3 Microsoft Sql Server


Microsoft SQL Server es un sistema de manejo de bases de datos del
modelo relacional, desarrollado por la empresa Microsoft.
El lenguaje de desarrollo utilizado (por línea de comandos o mediante la
interfaz gráfica de Management Studio) es Transact-SQL (TSQL), una
implementación del estándar ANSI del lenguaje SQL, utilizado para
manipular y recuperar datos (DML), crear tablas y definir relaciones entre
ellas (DDL).

2.2.4 Desarrollo WEB


Desarrollo web es un término que define la creación de sitios web para
Internet o una intranet. Para conseguirlo se hace uso de tecnologías de
software del lado del servidor y del cliente que involucran una combinación
de procesos de base de datos con el uso de un navegador web a fin de
realizar determinadas tareas o mostrar información.

2.2.5 Star Uml


StarUML es una herramienta para el modelamiento de software basado en
los estándares UML (Unified Modeling Language) y MDA (Model Driven
Arquitecture), que en un principio era un producto comercial y que hace

31
cerca de un año pasó de ser un proyecto comercial (anteriormente llamado
plastic) a uno de licencia abierta GNU/GPL

2.2.6 Adobe Photoshop


Adobe Photoshop es un editor de gráficos rasterizados desarrollado por
Adobe Systems Incorporated. Usado principalmente para el retoque de
fotografías y gráficos, su nombre en español significa literalmente "taller de
fotos". Es líder mundial del mercado de las aplicaciones de edición de
imágenes y domina este sector de tal manera que su nombre es
ampliamente empleado como sinónimo para la edición de imágenes en
general.

2.2.7 HTTP
El Protocolo de transferencia de hipertexto (en inglés: Hypertext Transfer
Protocol o HTTP) es el protocolo de comunicación que permite las
transferencias de información en la World Wide Web. HTTP fue desarrollado
por el World Wide Web Consortium y la Internet Engineering Task Force,
colaboración que culminó en 1999 con la publicación de una serie de RFC,
el más importante de ellos es el RFC 2616 que especifica la versión 1.1.
HTTP define la sintaxis y la semántica que utilizan los elementos de software
de la arquitectura web (clientes, servidores, proxies) para comunicarse.
HTTP es un protocolo sin estado, es decir, no guarda ninguna información
sobre conexiones anteriores. El desarrollo de aplicaciones web necesita
frecuentemente mantener estado. Para esto se usan las cookies, que es
información que un servidor puede almacenar en el sistema cliente. Esto le
permite a las aplicaciones web instituir la noción de sesión, y también
permite rastrear usuarios ya que las cookies pueden guardarse en el cliente
por tiempo indeterminado.

2.2.8 PHP
PHP, acrónimo recursivo en inglés de PHP: Hypertext Preprocessor
(preprocesador de hipertexto), es un lenguaje de programación de propósito
general de código del lado del servidor originalmente diseñado para el

32
desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de
programación del lado del servidor que se podían incorporar directamente en
un documento HTML en lugar de llamar a un archivo externo que procese
los datos. El código es interpretado por un servidor web con un módulo de
procesador de PHP que genera el HTML resultante.

2.2.9 Lenguaje Java


Java es un lenguaje de programación de propósito general, concurrente,
orientado a objetos, que fue diseñado específicamente para tener tan pocas
dependencias de implementación como fuera posible. Su intención es
permitir que los desarrolladores de aplicaciones escriban el programa una
vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o
"write once, run anywhere"), lo que quiere decir que el código que es
ejecutado en una plataforma no tiene que ser recompilado para correr en
otra. Java es, a partir de 2012, uno de los lenguajes de programación más
populares en uso, particularmente para aplicaciones de cliente-servidor de
web, con unos diez millones de usuarios reportados.

2.2.10 WWW
En informática, la World Wide Web (WWW) o red informática mundial es un
sistema de distribución de documentos de hipertexto o hipermedia
interconectados y accesibles a través de Internet. Con un navegador web, un
usuario visualiza sitios web compuestos de páginas web que pueden
contener textos, imágenes, vídeos u otros contenidos multimedia, y navega a
través de esas páginas usando hiperenlaces.

2.2.11 Navegador De Internet


Un navegador web (en inglés, web browser) es un software, aplicación o
programa que permite el acceso a la Web, interpretando la información de
distintos tipos de archivos y sitios web para que estos puedan ser
visualizados.
La funcionalidad básica de un navegador web es permitir la visualización de
documentos de texto, posiblemente con recursos multimedia incrustados.

33
Además, permite visitar páginas web y hacer actividades en ella, es decir,
enlazar un sitio con otro, imprimir, enviar y recibir correo, entre otras
funcionalidades más.
Los documentos que se muestran en un navegador pueden estar ubicados
en la computadora donde está el usuario y también pueden estar en
cualquier otro dispositivo conectado en la computadora del usuario o a
través de Internet, y que tenga los recursos necesarios para la transmisión
de los documentos (un software servidor web).
Tales documentos, comúnmente denominados páginas web, poseen
hiperenlaces o hipervínculos que enlazan una porción de texto o una imagen
a otro documento, normalmente relacionado con el texto o la imagen.
El seguimiento de enlaces de una página a otra, ubicada en cualquier
computadora conectada a Internet, se llama navegación, de donde se origina
el nombre navegador (aplicado tanto para el programa como para la persona
que lo utiliza, a la cual también se le llama cibernauta). Por otro lado,
hojeador es una traducción literal del original en inglés, browser, aunque su
uso es minoritario.

2.2.12 Software de código abierto


El software de código abierto (en inglés open source software u OSS) es el
software cuyo código fuente y otros derechos que normalmente son
exclusivos para quienes poseen los derechos de autor, son publicados bajo
una licencia de código abierto o forman parte del dominio público. En las
licencias compatibles con la Open Source Definition el propietario de los
derechos de autor permite a los usuarios utilizar, cambiar y redistribuir el
software, a cualquiera, para cualquier propósito, ya sea en su forma
modificada o en su forma original. Frecuentemente el software de código
abierto se desarrolla de manera colaborativa y los resultados se publican en
internet. El software es el mejor ejemplo del desarrollo del código abierto y
se compara con el llamado "contenido generado por los usuarios".3 La
expresión software de código abierto surgió a partir de una campaña de
mercadotecnia para el software libre. Un informe del Standish Group (en:)
afirma que la incorporación de los modelos de software de código abierto ha

34
resultado en ahorros de aproximadamente 60 mil millones de dólares por
año a los consumidores

2.2.13 Software propietario


Se denomina con software propietario o privativo al software del cual no
existe una forma libre de acceso a su código fuente, el cual solo se
encuentra a disposición de su desarrollador y no se permite su libre
modificación, adaptación o incluso lectura por parte de terceros. Para la
Fundación para el Software Libre (FSF), este concepto se aplica a cualquier
programa informático que no es libre o que solo lo es parcialmente
(semilibre), sea porque su uso, redistribución o modificación está prohibida,
o sea porque requiere permiso expreso del titular del software.

La persona física o jurídica (compañía, corporación, fundación, etc.), al


poseer los derechos de autor sobre un software, tiene la posibilidad de
controlar y restringir los derechos del usuario sobre su programa, lo que en
el software no libre implica por lo general que el usuario solo tendrá derecho
a ejecutar el software bajo ciertas condiciones, comúnmente fijadas por el
proveedor, que signifique la restricción de una o varias de las cuatro
libertades.

35
2.3 MARCO HISTÓRICO

2.3.1 Informática en Paraguay


En junio de 1930, el Centro Nacional de Computación, dependiente del
Instituto de Ciencias de la Universidad Nacional de Asunción, inauguraba
una computadora IBM 1130, la primera computadora con que contaba el
país. Este hecho marcaba un hito histórico realmente importante, pues hasta
entonces, el Paraguay era el único país de Latinoamérica que carecía de un
instrumento tecnológico de esa naturaleza para realizar aplicaciones tan
importantes como variadas. La incorporación del sistema IBM 1130 al Centro
Nacional de Computación le permitiría cumplir los ambiciosos objetivos que
se había propuesto desde sus inicios.

La incorporación de la computadora IBM 1130 al patrimonio cultural,


científico y tecnológico del país es una consecuencia de otro hecho no
menos importante, la creación años antes del Centro Nacional de
Computación, pues a dicho Centro le cupo la gran responsabilidad de:

 Difundir en el país las ventajas de contar con una infraestructura


computarizada, para encarar y resolver problemas en diversos
campos, especialmente en el campo científico y en la Administración
Pública;

 Formar un núcleo de profesionales capaces de explotar un Centro de


este tipo;

 Incorporar y/o entrenar en el ámbito educativo a los nuevos


profesionales requeridos en computación y en la informática;
finalmente

 Realizar las gestiones necesarias para conseguir financiamiento y el


aval correspondiente para incorporar al Centro los costosos equipos
de computación, de un valor relativo mucho mayor tres décadas atrás
que el que tienen ahora.

36
El Centro Nacional de Computación no apareció en forma fortuita. Fue
consecuencia de una serie de hechos y circunstancias que se fueron dando
hasta el momento en que se concretó su nacimiento, su desarrollo y
consolidación, para convertirse en protagonista importante en el desarrollo
de la informática en el Paraguay, tanto en la formación de recursos
humanos, como en los campos de aplicación. (Trabajo de investigación
realizado por integrantes del Grupo Nº6 del Proyecto Interdisciplinario
Jaikuaa ha Ñamomba'e Ñane Retã Rembiasakue.)

2.3.2 Software en la década de 1980: consolidación, módulos,


rendimiento
La década de 1980 fueron años de consolidación relativa en los lenguajes
imperativos. En vez de inventar nuevos paradigmas, se comenzó a trabajar a
partir de las ideas inventadas en la década anterior. C++ combinaba la
programación orientada a objetos y la programación de sistemas. El
gobierno de Estados Unidos estandarizó Ada, un lenguaje de programación
de sistemas destinado a ser utilizado por contratistas de defensa. En Japón
y en otras partes, se gastaron enormes sumas investigando los llamados
lenguajes de programación de quinta generación que incorporaban
construcciones de la programación lógica. La comunidad de los lenguajes
funcionales llevaron a cabo la estandarización de ML y Lisp. La investigación
en Miranda, un lenguaje funcional, con evaluación perezosa, comenzó a
tomar fuerza en esta década.

Una nueva tendencia importante en el diseño de lenguajes era un mayor


enfoque en la programación de sistemas a gran escala a través del uso de
módulos, una organización a gran escala de unidades de código. Modula,
Ada, y ML desarrollaron sistemas de módulos notables en la década de
1980. Los sistemas de módulos eran relacionados con frecuencia con
construcciones de programación genéricas, que serían, en esencia, módulos
parametrizados. (Thomas J. Bergin y Richard G. Gibson, Historia de los
Lenguajes de Programación, 1996.)

37
2.3.3 La década de 1990: la era de Internet
El rápido crecimiento de Internet en la década de 1990 fue el siguiente gran
acontecimiento histórico para los lenguajes de programación. Con la
apertura de una plataforma totalmente nueva para los sistemas informáticos,
Internet creó una oportunidad adoptar nuevos lenguajes. En particular, el
lenguaje de programación JavaScript se hizo popular debido a su pronta
integración con el navegador web Netscape Navigator, y varios lenguajes de
scripting alcanzaron un amplio uso en el desarrollo de aplicaciones
personalizadas para servidores web. La década de 1990 no vio ninguna
novedad fundamental en los lenguajes imperativos, pero sí mucha
recombinación y la maduración de viejas ideas. Esta era comenzó la difusión
de los lenguajes funcionales. Una filosofía de conducción grande era la
productividad del programador. Surgieron muchos lenguajes de
“aplicaciones de desarrollo rápido” (RAD), los cuales usualmente venían con
un IDE, recolector de basura, y eran descendientes de lenguajes anteriores.
Todos estos lenguajes eran orientados a objeto. Estos incluían Object
Pascal, Visual Basic y Java. Java, en particular, recibió mucha atención.
Pero más radicales e innovadores que los lenguajes de RAD eran los
nuevos lenguajes de script. Estos no descendían directamente de otros
lenguajes y ofrecieron nuevas sintaxis e incorporación más liberal de otras
características. Muchos consideran estos lenguajes de script más
productivos que los lenguajes de RAD, aunque esto se debe a menudo a
que es más difícil escribir y mantener largos programas que pequeños
programas simples. Sin embargo, no es menos cierto que los programas de
script llegaron para convertirse en los más prominentes en la conexión con la
Web. (Thomas J. Bergin y Richard G. Gibson, Historia de los Lenguajes de
Programación, 1996.)

38
2.4 MARCO LEGAL

2.4.1 De la Constitución Nacional Paraguaya


ARTÍCULO 175. – SABJOTAJE DE COMPUTADORAS
1º El que obstaculizara un procesamiento de datos de importancia vital para
una empresa o establecimiento ajenos, o una entidad de la administración
pública mediante:

1. un hecho punible según el artículo 174, inciso 1º, o

2. la destrucción, inutilización sustracción o alteración de una instalación de


procesamiento de datos, de una unidad de almacenamiento o de otra parte
accesoria vital, será castigado con pena privativa de libertad de hasta cinco
años o con multa.

2º En estos casos, será castigada también la tentativa.

ARTÍCULO 188. – OPERACIONES FRAUDULENTAS POR


COMPUTADORA
1º El que con la intención de obtener para sí o para otro un beneficio
patrimonial indebido, influyera sobre el resultado de un procesamiento de
datos mediante:

1. programación falsa;

2. utilización de datos falsos o incompletos;

3. utilización indebida de datos; o

4. otras influencias indebidas sobre el procesamiento, y con ello, perjudicara


el patrimonio de otro, será castigado con pena privativa de libertad de hasta
cinco años o con multa.

2º En estos casos, se aplicará también lo dispuesto en el artículo 187,


incisos 2º al 4º.

39
2.4.2 Leyes
Ley Nº 836 / CÓDIGO SANITARIO
Ley N° 4659/12 Que Implementa Procedimientos de Seguridad y
Mecanismos de Prevención de Riesgos para los Profesionales de la Salud y
Pacientes.

2.4.3 Decretos
DECRETO Nº 22.439
POR EL CUAL SE REGLAMENTA EL EJERCICIO DE LA ODONTOLOGÍA
EN TODO EL TERRITORIO DE LA REPÚBLICA

40
CAPITULO III
Marco Metodológico

41
3.1. Diseño de la Investigación
Se establece que un diseño no-experimental es la que se realiza sin manipular
deliberadamente variables. Es decir, se trata de una investigación donde no hacemos
variar intencionadamente las variables independientes. Lo que hacemos en la
investigación no experimental es observar fenómenos tal y como se dan en su contexto
natural, para después analizarlos. (Roberto Hernández Sampieri, Carlos Fernández
Collado, María del Pilar Baptista Lucio, Metodología de la investigación 5ta Edición,
pág. 149).

Se aplica el diseño no experimental a esta investigación debido al estado actual


de la Empresa Odonto Care es una situación ya existente, ajena al control directo que
ha de haber en un experimento, en un estudio no experimental los individuos ya
pertenecen a un grupo o nivel determinado de la variable independiente por
autoselección.

3.2. ALCANCE, O NIVEL DE LA INVESTIGACIÓN


El nivel de esta investigación es descriptivo, porque busca especificar las
propiedades, las características y rasgos importantes de cualquier fenómeno que se
analice. Describe tendencias de un grupo o población. (Roberto Hernández Sampieri,
Carlos Fernández Collado, María del Pilar Baptista Lucio, Metodología de la
investigación 5ta Edición, pág. 80).
Además, se utilizará una investigación explicativa que pretende establecer las
causas de los eventos, sucesos o fenómenos que se estudian, es decir explicar
detalladamente. (Roberto Hernández Sampieri, Carlos Fernández Collado, María del
Pilar Baptista Lucio, Metodología de la investigación 5ta Edición, pág. 83).
En este caso se va a aplicar estos dos tipos de alcance ya que en esta
investigación se pretende medir o recoger información de manera independiente sobre
los conceptos a las que se refieren, y está dirigido a responder las causas de los
eventos y fenómenos físicos o sociales, es decir, se trata de explicar por qué ocurre un
fenómeno y en qué condiciones se manifiesta.

42
3.3. ENFOQUE DE LA INVESTIGACIÓN
El enfoque cualitativo utiliza la recolección de datos sin medición
numérica para descubrir o afinar preguntas de investigación en el proceso de
interpretación, de manera a recoger los datos mediante la técnica de la
entrevista y la observación directa realizados a los empleados de dicho
Centro. (Roberto Hernández Sampieri, Carlos Fernández Collado, María del
Pilar Baptista Lucio, Metodología de la investigación 4ta Edición, pág. 49).

3.4. Descripción de la Población y Muestra


Población: se entiende por población a todos los casos que
concuerdan con determinadas especificaciones (Roberto Hernández
Sampieri, Metodología de la investigación et al; 2010).

La población distinguida para este proyecto ha sido de 7 personas


incluyendo todos los doctores del área de consultorio 5 personas, Atención
al cliente 1 persona y el propietario del local 1 persona El Muestreo es no
experimental basado en un estudio de caso. Ubicado en el Barrio Loma
Pyta, Calle Escritores Paraguayos Casi Avenida Transchaco, ciudad de
Asunción, Paraguay.

Muestra: es un subgrupo de la población del cual se recolectan los datos y


debe ser representativo de ésta. (Roberto Hernández Sampieri, Carlos
Fernández Collado, María del Pilar Baptista Lucio, Metodología de la
investigación 5ta Edición, pág. 173).

La muestra seleccionada es no probabilística: en las muestras no


probabilísticas, la elección de los elementos no depende de la probabilidad,
sino de causas relacionadas con las características de la investigación o de
quien hace la muestra. Aquí el procedimiento no es mecánico ni con base en
fórmulas de probabilidad, sino que depende del proceso de toma de

43
decisiones de un investigador o de un grupo de investigadores y, desde
luego, las muestras seleccionadas obedecen a otros criterios de
investigación. Elegir entre una muestra probabilística o una no probabilística
depende de los objetivos del estudio, del esquema de investigación y de la
contribución que se piensa hacer con ella. (Roberto Hernández Sampieri,
Carlos Fernández Collado, María del Pilar Baptista Lucio, Metodología de la
investigación 5ta Edición, pág. 176).

En la investigación se procedió a la utilización como muestra a 1 persona del


área de Atención al cliente, 2 personas del área de consultorio y al
propietario.

3.5 Delimitación

3.5.1 Espacial
El desarrollo del sistema abarcará las áreas de Ficha, Agendamiento y
Cobros, se elaborará en la Clínica Odontológica Odonto Care ubicado en la
ciudad de Asunción en sobre la Calle Escritores Paraguayos casi
Transchaco.

3.5.2 Cronología

44
3.5.3 Cronograma de Actividades

Etapas Actividades Julio agosto Setiembre Octubre Noviembre Diciemb


Elección del tema            
Inicio del
proyecto

Elaboración del protocolo para la


aprobación del tema escogido            
Entrega del protocolo            
Relevamiento Inicial            
Planteamiento del Problema            
Preguntas de Investigación            
CAPITULO I

Objetivo General            
Objetivos Específicos            
Justificación            
Alcance Técnico del sistema - Limitaciones
del Trabajo            
Revisión Bibliográfica            
           
METODOLOGICO REFERENCIAL

Marco Teórica
CAPITULO III MARCO CAPITULO II
MARCO

Marco Conceptual            
Marco Contextual            
Revisión Bibliográfica            
Diseño de la Investigación            
Alcance, Enfoque y tipo de Investigación            
Población y Muestra            
Técnicas e Instrumentos de
Recolección de datos            
Procesamiento de Análisis de Datos            
Determinación de los Recursos
Humanos            

Fuentes Consultadas            
TABLA Nº1 CRONOGRAMA DE ACTIVIDADES

3.6. Técnicas e instrumentos de recolección de datos


Técnicas: Entrevista estructurada con preguntas cerradas y abiertas.

Entrevista: una entrevista es una conversación dirigida con un propósito


específico que utiliza un formato de preguntas y respuestas. (Kendall &
Kendall II, Análisis y diseño de sistemas, Sexta edición, 2005 pág. 99)

45
Preguntas Cerradas:
son aquellas que tienen opciones de respuestas previamente delimitadas
(Roberto Hernández Sampieri, Metodología de la investigación, 2010).

Preguntas abiertas:
Las preguntas abiertas no delimitan las alternativas de respuesta. Son útiles
cuando no hay suficiente información sobre las posibles respuestas de las
personas. (Roberto Hernández Sampieri, Carlos Fernández Collado, María
del Pilar Baptista Lucio, Metodología de la investigación 5ta Edición, pág.
221).

Instrumentos utilizados:
La observación directa: Es el método mediante el cual se dirige a la fuente
primaria de información y se ocupan de percibir todo el ambiente y los
procesos concernientes al problema, al fin de tener una visión clara del
entorno del problema y de las fallas existentes y percibir las posibles
soluciones que pueden tener en el mismo punto el instrumento utilizado en
esta técnica fue la hoja de registro de Clientes.

Lista de Requerimientos:
Los requerimientos son declaraciones que identifican atributos, capacidades,
características y/o cualidades que necesita cumplir un sistema (o un sistema
de software) para que tenga valor y utilidad para el usuario. En otras
palabras, los requerimientos muestran qué elementos y funciones son
necesarias para un proyecto.

3.7. Descripción del procedimiento de análisis de


datos
En base al primer instrumento de recolección de datos la cual fue la
observación directa se procedió a visitar el Centro para observar la situación,
las actividades y el ambiente de trabajo, también se cometió la elaboración

46
de la entrevista que consta de preguntas abiertas y cerradas, y que está
planteada correlativamente. Fueron entrevistados el Propietario, y
Encargado de Atención al Cliente de nombre Ingrid Lara.

Posteriormente se despojó las respuestas de las entrevistas realizadas como


base para la confección de la lista de requerimientos, y para llevar acabo el
diseño de cómo funcionará el futuro sistema.

3.8. Recursos

3.8.1 Humanos:
En esta sección se considera el recurso humano que se emplea desde el
inicio hasta el final del desarrollo del trabajo, se detallan en el siguiente
cuadro:

Responsable Joel Espínola

Horas trabajadas por día 2 hs

Total, días trabajados


TABLA Nº2 RECURSO HUMANO

3.8.2 Materiales:
En esta sección se consideran todos los elementos requeridos para el
desarrollo del trabajo.

 1 notebook Hp
 1 impresora Hp
 8 cartuchos de tinta negro y color
 Hoja A4 2 resma
 Internet
 Cuaderno
 Bolígrafo
 Fotocopia

47
3.8.3 Financieros:
En esta sección se consideran estimada mente los gastos adquiridos para el desarrollo
del trabajo en guaraníes, se muestra en la siguiente tabla:

Concepto Costo Unitario Gs. Sub Totales Gs.

1 notebook Hp 2.000.000 2.000.000

1 impresora Hp 320.000 320.000

8 cartuchos de tinta negro y color 80.000 640.000

Hola A4 2 Resma 30.000 60.000

Internet 175.000 175.000

Cuaderno 5.000 5.000

Total Gs. 3.200.000

TABLA Nº3 RECURSOS FINANCIEROS

48
CAPITULO IV
ANÁLISIS Y DISEÑO DE SISTEMA

49
4.1. Introducción
El objetivo principal para la realización del siguiente trabajo de investigación
es hacer un análisis efusivo de los recursos necesarios para la
implementación de un sistema informático que automatice determinados
procesos para una clínica odontológica

Para recolectar información precisa de las necesidades del usuario, se


implementaran herramientas como el diagrama de actividades

Seguido, a fin de profundizar la investigación, se realizara la creación de los


casos de usos para conocer y comprender las acciones que realiza cada
autor dentro del software, así también los diagramas clase que provienen de
los prototipos de interfaz, el diagrama de secuencia y las especificaciones de
caso de uso, a través de todo este diseño se podrá tener una visión sobre la
forma final con respecto al desarrollo del sistema.

4.1.1 Posicionamiento
Odont Care e una clínica que brinda servicio odontológico integral. Tuvo sus
inicios en el año 2017, sobre unas instalaciones de 150 metros cuadrados y
el único personal era la propietaria

Su local está ubicado en la ciudad de Asunción a una cuadra de la ruta


Transchaco, actualmente con instalaciones de 300 metros cuadrados
disponiendo de todas las herramientas necesarias para un mejor servicio,
con un personal que consta de 5 doctores, 1 personal de atención al cliente
y la propietaria

El consultorio brinda atención de lunes a viernes en horarios de 07:00hs a


19:00hs, y los días sábados de 07:00hs a 11:00hs

50
4.1.2 Organigrama de la Empresa

Propietaria

Atención al cliente Doctores

= Áreas a informatizar

TABLA Nº4 ORGANIGRAMA DE LA EMPRESA

En el organigrama se puede visualizar la forma en que está estructurado el


consultorio.

51
4.1.3. Relevamiento de Datos
Método utilizado: Entrevista

Estructura: Pirámide

Nombre del entrevistado: Ingrid Lara

Cargo: Propietaria

Área de consultorio

1. ¿Cuál es su función en el consultorio?

Aparte de ser la propietaria, también estoy en el sector de consultorio

2. ¿Cuántas personas trabajan en su consultorio?

Somos 7 personas, 5 doctores, 1 persona en atención al cliente y yo

3. ¿Cómo se distribuye la atención a los pacientes?

Los horarios son flexibles, como contamos con tres consultorios, tenemos
tres doctores a la mañana y dos a la tarde, pero los doctores también suelen
acomodarse al horario de sus pacientes

4. ¿Cómo se realiza el registro de pacientes?

A través de fichas de cartón completados a mano

5. ¿Quiénes son los encargados de completar las fichas?

En principio se completan en recepción con los datos del paciente, luego el


doctor encargado completa los ítems más detallados

6. ¿Dónde se almacenan las fichas?

Son almacenados en biblioratos dentro de un mueble

7. ¿Qué datos necesita el encargado de completar las fichas?

52
Número de cedula, nombre y apellido, dirección, número de teléfono y luego
los datos de la consulta

8. ¿Cuáles son los riesgos de almacenar sus fichas de ese modo?

Principalmente extravíos o algunas fichas podrían dañarse

9. ¿Cuenta con algún tipo de respaldo de esta información?

No contamos con ningún tipo de respaldo

10. ¿Se necesita algún dato aparte de los que se pueden completar en la
ficha?

Sería de mucha utilidad poder almacenar datos clínicos del paciente para así
saber si tiene alguna alergia u otra afección

11. ¿Qué inconvenientes puede identificar con el actual proceso de


fichados?

El tiempo que se pierde al completar las fichas a mano, las faltas


ortográficas y el tiempo empleado para buscar las fichas

12. ¿Los pacientes pueden reservar turnos?

Si, contamos con ese servicio

13. ¿Cuál es el procedimiento para realizar las reservas?

Contamos con un número de teléfono al cual pueden llamar y en recepción


les anotan en una agenda, igualmente pueden acercarse personalmente o
directamente con su doctor después de cada consulta.

14. ¿Qué inconveniente encuentra en dicho proceso?

Un inconveniente es que contamos con una sola agenda donde podemos


ver los horarios disponibles, por lo que a veces no sabemos quién es la
persona que tiene la agenda y perdemos tiempo

15. ¿Emiten facturas legales?

53
Si, emitimos facturas a los que soliciten

16. ¿Cómo se emiten las facturas?

Mediante un talonario de facturas que se completa a terminar la consulta

17. ¿Cuál es el número aproximado de pacientes con los que cuentan

Contamos con al menos 300 pacientes

Nombre del entrevistado: Rafaela Godoy

Cargo: Recepcionista

Área de Atención al Cliente

1. ¿Cuál es su cargo en el consultorio?

Me desempeño como recepcionista

2. ¿Cuáles son las funciones que realiza?

Recepción y agendamiento de pacientes, completo sus fichas con sus


datos, atiendo las llamadas de agendamientos, elaboro las facturas, entre
otros

3. ¿Comparte alguna función con algún otro funcionario del consultorio

El llenado de fichas y el agendamiento pueden realizarse en recepción como


también lo pueden realizar los doctores

4. ¿Qué inconvenientes encuentra a la hora de agendar a los pacientes?

En ocasiones se agendan a dos personas una misma hora debido a que los
doctores también reciben pedidos de agendamientos y a veces se olvidan de
comunicarme

5. ¿Cuáles son los riesgos de agendar a los pacientes con el proceso


actual?

54
Como contamos con una sola agenda, si se llegase a extraviar o sufrir algún
daño, perderíamos toda la información

6. ¿Quién es el encargado de la agenda?

Yo soy la encargada, sin embargo, en ocasiones, los doctores usan la


agenda para revisar sus horarios disponibles

7. ¿Cuál es el procedimiento para realizar las facturas?

Una vez que el paciente termine su consulta el doctor me acerca la ficha y


me informa del tratamiento y el monto que debe abonarse, con esos datos
procedo a elaborar la factura

8. ¿Cuáles son los inconvenientes de realizar las facturas con el método


actual?

Las facturas son completadas a mano, por lo que no estamos exentos de


errores ortográficos y a la mala caligrafía

9. ¿Mayor parte de los pacientes exigen factura o recibo común?

La mayoría exige factura

10. ¿Cuáles son los riesgos de realizar las facturas con el método actual?

El extravió del talonario o si sufriera algún daño

11. ¿Ofrecen pagos fraccionados a los clientes?

Si ofrecemos

12. ¿Cuáles son los plazos que ofrecen?

Dependiendo del tratamiento. En caso de que sea un tratamiento largo, el


cliente abona un monto determinado por cada consulta

13. ¿Qué medios de pago aceptan?

Actualmente solo cobramos en efectivo

55
14. ¿Cómo controlan el dinero que ingresa al día?

Hacemos la suma de acuerdo a los recibos y facturas y luego sumamos el


efectivo

15. ¿Cuentan con un monto inicial en caja?

Si, al iniciar el día tenemos un saldo inicial

Nombre del entrevistado: Natalia Benítez

Cargo: Odontóloga

Área de Consultorio

1. ¿Cuál es su cargo en el consultorio?

Soy odontóloga, realizo todo tipo de tratamiento, pero me especializo en el


área de ortodoncia

2. ¿Cuál es el proceso antes y después de realizar la consulta?

En primer lugar, la recepcionista anuncia que hay paciente, me acerca la


ficha y me informa del tipo de consulta, luego procedo al tratamiento,
después completo la ficha del paciente, pasamos después a recepción
donde entrego la ficha y ahí se encargan de cobrarle

3. ¿Qué datos completan los Doctores en las fichas?

Los tratamientos que se realizó, con que doctor, alguna observaciones y la


fecha y hora

4. ¿Cuáles son los inconvenientes a la hora de completar las fichas?

Debido a que los datos son completados manualmente, se suelen cometer


errores, y ya que la ficha tiene varios datos del paciente, no podemos

56
simplemente desechar la ficha, sino que tenemos que borronear y escribir
correctamente

5. ¿Qué riesgos encuentra en dicho procedimiento?

Las fichas podrían dañarse, extraviarse, o desordenarse

6. ¿Quiénes son las personas que tienen acceso a las fichas?

Todos lo que trabajamos en el consultorio tenemos acceso a las fichas

7. ¿Es completa la información detallada en las fichas?

En ocasiones son incompletas, debido a que las anotaciones son extensas y


no contamos con el espacio suficiente, además que nos gustaría poder
almacenar otro tipo de documentos como radiografías o fotos

57
4.1.4 Alcance del Proyecto
Modulo Fichas

 Registrar e imprimir Fichas

 Gestionar fichas

 Gestionar imágenes

Modulo Agendamiento

 Registrar e imprimir agendamientos

 Gestionar agendamientos

Módulo Facturación

 Registrar Factura de servicio


 Registrar Apertura
 Cierre de caja
 Registrar cobros
 Imprimir recibos
 Registrar Arqueo de caja
 Registrar Recaudaciones

 Elaborar informes

58
4.1.5 Descripción del problema
Problema Demora y poca organización al
registrar y buscar datos de pacientes

Demora y fallas ortográfica al realizar


las facturas

Fallas en el proceso de
agendamientos

Afecta A la propietaria, al área de


consultorio y atención al cliente

Cuyo impacto es Pérdida de tiempo al atender al


paciente
Demora en el llenado de datos por
porte de los doctores
Falta de control en las recaudaciones
Desorganización al realizar
agendamientos

Una buena solución seria Registro digital de los pacientes


Control sobre las recaudaciones
diarias
Desarrollar una herramienta para
evitar confusiones al agendar
consultas

TABLA Nº5 DESCRIPCIÓN DEL PROBLEMA

59
4.1.6 Objetivo del negocio
La realización y desarrollo de este sistema podrá brindar beneficios tales
como:

 Contar con un sistema informático

 Registro veloz y eficaz de los Pacientes

 Control total sobre los procesos de recaudación

 Pulcritud en la confección de facturas

 Exactitud al consultar horarios disponibles

60
4.1.7 Usuario.
Perfil Descripción Responsabilidad

Analista de Encargado de desarrollar, Probar, implantar,


sistemas gestionar, mantener y administrar adaptar y mantener
el sistema informático sistema de
información.

Asesorar en asuntos
de su especialidad.

Administrador Propietaria del Consultorio Fiscalizar las


operaciones que se
realiza en las
distintas áreas con
que cuenta el
negocio.

Consultorio Odontólogos del área de Se encarga de las


consultorio funciones del área de
consultorio, así como
el llenado de fichas y
agendamientos

Atención al cliente Encargada de Recepción Se encarga del


llenado de fichas,
agendamiento, y de
cobros de los
tratamientos
TABLA Nº6 USUARIO - PERFIL

61
4.1.8 Ambiente
Para la automatización del proceso será necesario el ambiente descrito
en la tabla de abajo:

AMBIENTE PROPUESTO
Sistemas Servidor Windows
Operacionales
Usuario Windows, Linux, Android, iOS, etc.

Herramienta de Diseño de Base Genexus Evolution 2


de Datos

Herramienta de Análisis y Diseño StarUML

Motor de Base de Datos SQLServer

Lenguaje de Base de Datos Sql

Plataforma de Programación Java

IDE de programación Genexus Evolution 2

Programas para Reportes Genexus Evolution 2

Programa para Manual de Usuario Dr. Explain

Programa para ayuda interactiva Dr. Explain


TABLA Nº7 AMBIENTE

4.1.9 Requisitos
Funcionales

Controlar Acceso
El sistema deberá permitir el control de acceso de los usuarios, donde el
mismo ingresará al sistema a través de un usuario y una contraseña
digitados.

Gestionar Referenciales.

El sistema deberá permitir dar de alta, baja, modificación y consulta de las


informaciones en relación a los archivos referenciales que alimentan al
sistema de fichas, facturación y agendamientos con sus respectivos
informes.

62
Gestionar Fichas

El sistema deberá permitir gestionar los distintos procesos del área de fichas
como son:

 Registrar e imprimir Fichas

El sistema registrara las fichas cargadas de los pacientes y emitirá un


reporte

 Gestionar Fichas

El sistema permitirá crear, eliminar o modificar las fichas

 Gestionar imágenes

El sistema debe permitir registrar imágenes para adjuntar a las fichas

Gestionar Agendamiento

El sistema permitirá al usuario consultar fechas y horarios disponibles para


reservar turnos por parte de los pacientes

Gestionar Facturación

El sistema permitirá la elaboración de facturas por los tratamientos brindados


en el consultorio

 Registrar Apertura de Caja


El sistema procederá a contabilizar el monto con el cual se va a iniciar
la jornada, y luego efectuar la impresión de la apertura de caja
correspondiente.

 Imprimir comprobante

El sistema imprimirá un comprobante de pago correspondiente por el


servicio realizado.

63
 Registrar Cierre de Caja
El sistema procederá a contabilizar los cobros realizados en el día,
teniendo en cuenta con el monto que se inició y luego realizar la
impresión de cierre de caja.
 Registrar Arqueo de Caja
El sistema permitirá registrar las transacciones realizadas, con el
objetivo de comprobar si se ha contabilizado correctamente y luego
proceder a la inversión de este proceso.

Mantener la Confiabilidad de la Base de Datos


Se deberá construir una Base de Datos para contener la información
referente a los pacientes, los servicios realizados y las facturaciones hechas
en Odont Care

Elaborar Informes
El sistema emitirá todos los informes requeridos por cada una de las áreas a
ser informatizadas.

No Funcionales
Tiempo de Respuesta:

Se espera que no haya restricciones en cuanto al tiempo de respuesta, se


puede considerar, este tiempo puede ser afectado por la conexión que el
cliente posea:

Medio - 3 segundos.

Ideal - 1 segundos.

Máximo - 30 segundos.

Intolerable - 70 segundos.

Disponibilidad

El sistema deberá estar disponible 24hs.

64
Recursos de Utilización

Las configuraciones mínimas necesarias del ambiente de Consultorio.

Recursos de Hardware:
Servidor de aplicativo
· DELL CPU de 3GHz;
· 3Gb RAM;
· HD de 500 GB 1;
· Power Switch 100-Tx base/10-T.

Servidor de base de datos


· DELL CPU de 3GHz;
· 3Gb RAM;
· HD de 500 GB 2;
· Power Switch 100-Tx base/10-T.

Estación de Trabajo

RECEPCION_PC1: Intel Celeron 1.5 GHz, RAM 2GB

CONSULTORIO_PC2: Intel Celeron 4 1.5 GHz, RAM 2GB

CONSULTORIO_PC3: Intel Celeron 4 1.5 GHz, RAM 2GB

CONSULTORIO_PC4: Intel Celeron 4 1.5 GHz, RAM 2GB

Recursos de Software:

 Windows 7 (propietario);
 Base de Datos Sql Server (free)
 Lenguaje de programación Java 1.8.0 (free).

65
4.1.10 Requisitos del Sistema
Confiabilidad de los Datos

Cualquier dato deberá estar disponible en forma coherente antes que sea
removido por algún usuario autorizado.

Autentificación de Usuario

Todos los usuarios deberán poseer los datos de autentificación para ingresar
al sistema

No Técnico

El tiempo medio de entrenamiento será de una semana para cada entrega


parcial del sistema.

Tipo de servicio a ser realizado

Los servicios a ser ejecutados serán: El desarrollo del sistema para fichas,
agendamientos, facturación y la documentación del sistema.

El sistema para fichas, agendamientos, facturación deberá ser testeado e


instalado. En este momento deberán ser entrenados operadores del
sistema a ser implantado.

Documentación
Según lo estipulado en las especificaciones iniciales los manuales se
desarrollarán en medio impreso y ayuda online interactiva de la totalidad de
los módulos del sistema.

Manual de Usuario: Será desarrollado por Joel Espínola.

Manual de Análisis y diseño de sistemas: Será desarrollado por Joel


Espínola.

Archivo de ayuda digital: Será desarrollado por Joel Espínola.

66
4.1.11 Conclusión del Producto
El producto estará hecho y cerrado cuando todos los requisitos en el
documento visión, en las especificaciones de casos de uso y en el modelo
de casos de uso fueran atendidos

4.1.12 Productos a ser entregados


 Sistema desarrollado, instalado, testado y aprobado por el cliente.

 Base de datos creado para SQL Server.

 Archivos digitales de documentación actualizada.

 Capacitación de los Administradores y usuarios para el manejo del


sistema.

 Manual de usuario.

4.1.13 Restricciones, Suposiciones y Dependencias


 Desenvolvimiento del cliente en el desarrollo del proyecto.
 El equipo debe estar adaptado al ambiente de desarrollo que implica en
el entrenamiento del proceso y herramientas adoptadas.
 El Arquitecto del sistema debe tener un total dominio de la arquitectura
a ser implementada.

67
4.2 MODELADO DE DATOS

4.2.1. MODELO DE DIAGRAMA ENTIDAD RELACIÓN

68
4.2.2 Diagrama de Actividades

4.2.2.1 Solicitud de Consulta

69
4.2.2.1 Registrar Consulta

70
4.2.2.2 Solicitud de Reserva de Turno

71
4.2.3 Modelo de Negocio (Alto Nivel)

72
4.2.4 Organigrama Estructural de Módulos

TABLA Nº8 ORGANIGRAMA ESTRUCTURAL DE MÓDULOS

73
4.2.5 Modelo de Caso de Uso

4.2.5.1 Caso de uso Referenciales

4.2.5.2 Caso de uso Agregar Odontólogo

74
4.2.5.3 Caso de uso Agregar Paciente

4.2.5.4 Caso de uso Agregar Agenda

75
4.2.5.5 Caso de Uso Cobro de Factura

4.2.5.6 Caso de uso Elaborar Ficha

76
4.2.6 Interfaz Gráfica de Usuario

4.2.6.1 Acceso al sistema

77
4.2.6.2 Inicio

78
4.2.6.3 Tratamiento

79
4.2.6.4 Especialidades

80
4.2.6.5 Conceptos

81
4.2.6.6 Pacientes

82
4.2.6.7 Agenda

83
4.2.6.7 Odontologos

84
4.2.6.8 Movimientos en Caja

85
4.2.7 Diagrama de Clases

4.2.7.1 Diagrama de Clases Modulo Agenda.

86
4.2.7.2 Diagrama de Clases Modulo Fichas

87
4.2.7.3 Diagrama de clases Modulo Caja

88
4.2.8 Diagrama de Secuencia

4.2.8.1 Diagrama de Secuencia Agenda

89
4.2.8.2 Diagrama de Secuencia Fichas

90
4.2.8.3 Diagrama de Secuencia Caja

91
4.2.9 Especificación de Caso de Uso

4.2.9.1 Registrar Paciente


Descripción Básica

El caso de uso comienza cuando se registra los datos referenciales de los


pacientes existentes en la empresa.

Actores Relacionados

Administrador del sistema.

Precondiciones

- El administrador de sistema debe poseer perfil para ingresar a la ventana


de carga y registro de datos referenciales de los pacientes.

Flujo de Eventos

Flujo Básico

Se conecta a la base de datos e inicia cuando el Administrador selecciona la


opción “pacientes” en el Menú Principal.

El usuario selecciona la acción correspondiente.

Procedimiento Nuevo.

El administrador de sistema presiona el botón correspondiente para la carga


de datos referenciales “Nuevo”.

Se genera el código de paciente en forma auto numérico.

El sistema habilita los campos de texto

El administrador carga los datos del paciente.

Se valida los datos cargados.

92
Se presiona el botón correspondiente para guardar.

Se guarda los datos insertados en la tabla paciente.

Se visualiza el mensaje de registros grabados.

Procedimiento Modificar

El Administrador selecciona la fila de la grilla de pacientes que desea


modificar.

El sistema habilita el botón “Modificar”.

Se presiona el botón correspondiente para la modificación de los datos


“Modificar”.

El sistema habilita los campos de texto

El sistema recupera los datos relacionados al paciente seleccionado por el


método “modificar_datos”

Se valida los datos cargados.

Se presiona el botón correspondiente para guardar.

Se graba los datos modificados en la tabla pacientes.

Se visualiza el mensaje de registros modificados.

Procedimiento Eliminar.

El Administrador selecciona en la grilla el dato que desea eliminar.

El Administrador selecciona la opción “Eliminar”.

El sistema recupera los datos relacionados Paciente seleccionado por el


método “eliminar_datos”.

El sistema solicita la confirmación o cancelación del evento en una ventana


de mensaje.

Si la respuesta fue confirmada.


93
El sistema elimina los datos de Paciente seleccionada.

Se visualiza el mensaje de registros eliminados.

Flujo Alternativo

Cancelar

El Administrador presiona el botón cancelar para que la operación quede sin


efecto.

El sistema limpia los campos.

El sistema deshabilita los campos.

El sistema habilita los botones.

Salir

El Administrador presiona el botón salir.

El sistema cierra el formulario.

4.2.9.2 Registrar Odontologo


Descripción Básica

El caso de uso comienza cuando se registra los datos referenciales de los


Odontologos existentes en la empresa.

Actores Relacionados

Administrador del sistema.

Precondiciones

- El administrador de sistema debe poseer perfil para ingresar a la ventana


de carga y registro de datos referenciales de los Odontologos.

Flujo de Eventos

Flujo Básico

94
Se conecta a la base de datos e inicia cuando el Administrador selecciona la
opción “Odontologos” en el Menú Principal.

El usuario selecciona la acción correspondiente.

Procedimiento Nuevo.

El administrador de sistema presiona el botón correspondiente para la carga


de datos referenciales “Nuevo”.

Se genera el código de Odontologo en forma auto numérico.

El sistema habilita los campos de texto

El administrador carga los datos del Odontologo.

Se valida los datos cargados.

Se presiona el botón correspondiente para guardar.

Se guarda los datos insertados en la tabla Odontologos.

Se visualiza el mensaje de registros grabados.

Procedimiento Modificar

El Administrador selecciona la fila de la grilla de Odontologos que desea


modificar.

El sistema habilita el botón “Modificar”.

Se presiona el botón correspondiente para la modificación de los datos


“Modificar”.

El sistema habilita los campos de texto

El sistema recupera los datos relacionados al Odontologos seleccionado por


el método “modificar_datos”

Se valida los datos cargados.

Se presiona el botón correspondiente para guardar.


95
Se graba los datos modificados en la tabla Odontologos.

Se visualiza el mensaje de registros modificados.

Procedimiento Eliminar.

El Administrador selecciona en la grilla el dato que desea eliminar.

El Administrador selecciona la opción “Eliminar”.

El sistema recupera los datos relacionados Odontologos seleccionado por el


método “eliminar_datos”.

El sistema solicita la confirmación o cancelación del evento en una ventana


de mensaje.

Si la respuesta fue confirmada.

El sistema elimina los datos de Odontologos seleccionada.

Se visualiza el mensaje de registros eliminados.

Flujo Alternativo

Cancelar

El Administrador presiona el botón cancelar para que la operación quede sin


efecto.

El sistema limpia los campos.

El sistema deshabilita los campos.

El sistema habilita los botones.

Salir

El Administrador presiona el botón salir.

El sistema cierra el formulario.

96
4.2.9.2 Registrar Agenda
Descripción Básica

El caso de uso comienza cuando se registra los datos referenciales de las


las agendas existentes en la empresa.

Actores Relacionados

Administrador del sistema.

Precondiciones

- El administrador de sistema debe poseer perfil para ingresar a la ventana


de carga y registro de datos referenciales de las agendas.

Flujo de Eventos

Flujo Básico

Se conecta a la base de datos e inicia cuando el Administrador selecciona la


opción “agenda” en el Menú Principal.

El usuario selecciona la acción correspondiente.

Procedimiento Nuevo.

El administrador de sistema presiona el botón correspondiente para la carga


de datos referenciales “Nuevo”.

Se genera el código de agendas en forma auto numérico.

El sistema habilita los campos de texto

El administrador carga los datos de la agenda.

Se valida los datos cargados.

Se presiona el botón correspondiente para guardar.

Se guarda los datos insertados en la tabla agendas.

97
Se visualiza el mensaje de registros grabados.

Procedimiento Modificar

El Administrador selecciona la fila de la grilla de agendas que desea


modificar.

El sistema habilita el botón “Modificar”.

Se presiona el botón correspondiente para la modificación de los datos


“Modificar”.

El sistema habilita los campos de texto

El sistema recupera los datos relacionados a agendas seleccionado por el


método “modificar_datos”

Se valida los datos cargados.

Se presiona el botón correspondiente para guardar.

Se graba los datos modificados en la tabla agendas.

Se visualiza el mensaje de registros modificados.

Procedimiento Eliminar.

El Administrador selecciona en la grilla el dato que desea eliminar.

El Administrador selecciona la opción “Eliminar”.

El sistema recupera los datos relacionados agenda seleccionado por el


método “eliminar_datos”.

El sistema solicita la confirmación o cancelación del evento en una ventana


de mensaje.

Si la respuesta fue confirmada.

El sistema elimina los datos de agenda seleccionada.

Se visualiza el mensaje de registros eliminados.


98
Flujo Alternativo

Cancelar

El Administrador presiona el botón cancelar para que la operación quede sin


efecto.

El sistema limpia los campos.

El sistema deshabilita los campos.

El sistema habilita los botones.

Salir

El Administrador presiona el botón salir.

El sistema cierra el formulario.

4.2.10 Diccionario de Datos

Entidad Agenda

En esta entidad se utiliza para registrar los datos necesarios para el modulo
agenda, como son el id del paciente, id del odontólogo, la fecha actual, fecha
que se desea reservar y la hora. Sus atributos son Agendaid, PacienteId,
Odontologois, AgendaFecha, AgendaFechaConsulta, AgendaFechaHora,
Obs
99
Entidad Detalle de caja

En esta entidad se almacenan datos necesarios para el modulo caja como


son el id de caja, id del cajero, la fecha, total IVA 5%, Total IVA 10%, total
del impuesto y total a abonar. Sus atributos son DetalleDeCajaId,
ConceptoId, DetalleDeCajaIva5, DetalleDeCajaIva10, DetalleDeCajaIvaEx,
DetalleDeCajaTotal

Entidad Odontólogo

Esta entidad esta contiene datos de los odontólogos como son el nombre,
apellido, cedula, dirección, teléfono, email y su foto. Sus atributos son
OdontologoId, OdontologoNombre, OdontologoApellido, OdontologoCedula,
OdontologoDireccion, OdontologoTelefono, OdontologoEmail,
OdontologoFoto

100
Entidad Usuario

Esta entidad contiene los datos que necesitan los usuarios para iniciar
sesión en el software. Sus atributos son UsuarioId, UsuarioNombre,
UsuarioApellido, UsuarioCedula

Entidad Historico Paciente

Esta entidad esta relacionada con la agenda y con los datos del paciente, es
la que hace posible registrar el historial del paciente. Sus atributos son
HistoricopacienteId, Tratamientoid, Agendaid, historicopacienteObss

Entidad Especialidad

Esta entidad almacena las especialidades con las cuales trabajan los
odontolodos. Sus tributos son, Especialidadid, EspecialidadDescripcion

101
Entidad Concepto

En la tabla concepto se almacenan los datos que indican la cantidad de iva


correspondiente a cada tratamiento realizado. Sus atributos son Conceptoid,
ConceptoDescripcion, conceptoTipo, iva

Entidad Tratamiento

En esta tabla se guardan los tratamientos que se realizan el el consultorio.


Sus atributos son Tratamientoid, tratamientonombre, tratamientodescripcion

Entidad Paciente

En la tabla paciente se almacenan los datos de los pacientes que consultan


en la Clinica. Sus atributos son Pacienteid, Pacientenombre,
PacienteApellido, PacienteCedula, PacienteTelefono, PacienteEmail,
PacienteFoto, PacienteDireccion, pacnombape

102
Entidad Fotos

En la entidad fotos sse almacenan las iamgenes que el Odontologo quiera


anexar a la ficha del paciente. Sus atributos son Fotosid, pacienteid, fotoultlin

Entidad Movimiento de Caja

En la entidad Movimiento de Caja se almacenan los datos que se necesitan


para la elaboración de la factura. Sus atributos son MovCajaid, MovCajaFch,
MovCajaNroFactura, PacienteId, tratamientosid, MovCajaTipFac,
MovCajaFchPriVen, TotalExenta, TotalGra5, TotalGrav10, IVA5, IVA10,
TotalIVA, TotalABONAR

103
CAPÍTULO V
CONCLUSIONES Y RECOMENDACIONES

104
5.1 CONCLUSIÓN
Con el desarrollo e implementación del sistema informático Odonline para el
Consultorio odontológico Odont Care, se logró obtener una mayor eficiencia
en las áreas de fichas, agendamiento y facturación, logrando como resultado
la agilización de los tiempos, pulcritud de los documentos y mayor
organización en los procesos diarios de dicho consultorio odontológico. Es
un hecho que, tras la aplicación del sistema informático, se pudo fortalecer
las debilidades del consultorio en cuestión, logrando resultados favorables y
confirmando así, la resolución de los problemas de investigación y los
objetivos del presente trabajo.

En el sector de fichas, se implementó el sistema informático, consiguiendo


grandes beneficios y agilizando los procesos tanto para los doctores como
para el personal de atención al cliente, evitando errores de ortografía,
desorden de documento o el riesgo de perder la información

Para el sector de agendamiento, se obtuvo beneficios, entre los cuales


podemos citar la posibilidad de que varios usuarios consulten al mismo
tiempo las fechas disponibles y puedan dar una respuesta rápida y precisa a
sus clientes

En cuanto al sector de facturación, son varias las mejoras resultantes tras la


implementación del sistema informático, como pueden ser, la exactitud en el
cálculo de caja, la pulcritud en la confección de facturas, un mayor control en
cuanto a las recaudaciones del día, entre otras

105
5.2 RECOMENDACIONES
El sistema Odonline es un sistema en entorno web, el cual puede ser
utilizado las 24hs. del día mediante un link direccionado a una ip publica, se
recomienda la implementación de una aplicación para celulares en el que los
pacientes puedan consultar los horarios disponibles, realizar reservas,
conocer los tratamientos disponibles y contactar con la propietaria a través
de correo electrónico

Para la realización del trabajo, fueron presupuestados 3 módulos, sin


embargo, recomendamos la implementación de otros módulos que
complementarían el sistema como podrían ser un módulo que imprima las
recetas médicas, un módulo para imprimir reposos, módulo de odontograma,
entre otros.

Con el fin de una mayor rapidez en el procesamiento de los datos y para


mantener la información segura, se recomienda la adquisición y el montaje
de una sala de servidor donde se encuentre el RACK, el servidor, el modem
y los switchs necesarios para el correcto funcionamiento del sistema dentro
del consultorio, dicha sala de servidores deberá cumplir con ciertas normas
de seguridad como son: Piso falso anti incendios, mamparas de material
inflamable, ventilación, por lo menos un extintor de incendios y un equipos
UPS

Para mantener el sistema funcional las 24 horas, se recomienda la


adquisición de un generador de energía, el cual mantendría el sistema en
línea en casos de corte de energía, además de poder alimentar a las
computadoras del consultorio.

106
5.3 BIBLIOGRAFÍA

AMAYA AMAYA, JAIRO.(2004). Sistema de Información. Colombia. Ecoe


Ediciones

E. Kendall K. y E. Kendall J. (2005) Análisis y diseño de sistemas, Sexta


edición. México. Editorial Pearson Educación.

Hernández Sampieri R. (2006). Metodologia-de-la-investigacion-4ta-edicion.


México. Editorial Mc Graw Hill.

Hernández Sampieri R. Fernández Collado C. Baptista Lucio M. del Pilar


(2010) Metodología de la investigación 5ta Edición. México. Editorial Mc
Graw Hill.

Luján Mora, Sergio. (2002). Programación de aplicaciones web. Historia,


principios básicos y clientes web. Alicante. Editorial Club Universitario

Luján Mora, Sergio. (2001). Programación en Internet: clientes web. Alicante.


Editorial Club Universitario

Senn, James. (1992). Análisis y diseño de sistemas de información. Mexico.


Editorial MCGRAW-HILL

Morteo Bocalandro, Francisco Nicolás (2004). Un enfoque práctico de SQL.


Argentina. Editorial Ediciones Cooperativas

Martin Fowler, Kendall Sccott, "UML Gota a Gota", 1999. Mexico. Editorial
Pearson Educación

RUBLE, DAVID.A. (1998). Análisis y Diseño Práctico de Sistemas, Estados


Unidos: Editorial Prentice Hall PTR

107
5.4 ANEXOS

5.4.1 Línea de código de la Base de Datos


USE [master]
GO
/****** Object: Database [odonto] Script Date: 25/04/2019 16:50:49 ******/
CREATE DATABASE [odonto]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'odonto', FILENAME = N'C:\Program Files\Microsoft SQL
Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\odonto.mdf' , SIZE = 10304KB , MAXSIZE =
UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'odonto_log', FILENAME = N'C:\Program Files\Microsoft SQL
Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\odonto_log.ldf' , SIZE = 2368KB ,
MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [odonto] SET COMPATIBILITY_LEVEL = 110
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [odonto].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [odonto] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [odonto] SET ANSI_NULLS OFF
GO
ALTER DATABASE [odonto] SET ANSI_PADDING OFF
GO
ALTER DATABASE [odonto] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [odonto] SET ARITHABORT OFF
GO
ALTER DATABASE [odonto] SET AUTO_CLOSE ON
GO
ALTER DATABASE [odonto] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [odonto] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [odonto] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [odonto] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [odonto] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [odonto] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [odonto] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [odonto] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [odonto] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [odonto] SET ENABLE_BROKER
GO

108
ALTER DATABASE [odonto] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [odonto] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [odonto] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [odonto] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [odonto] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [odonto] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [odonto] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [odonto] SET RECOVERY SIMPLE
GO
ALTER DATABASE [odonto] SET MULTI_USER
GO
ALTER DATABASE [odonto] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [odonto] SET DB_CHAINING OFF
GO
ALTER DATABASE [odonto] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
GO
ALTER DATABASE [odonto] SET TARGET_RECOVERY_TIME = 0 SECONDS
GO
USE [odonto]
GO
/****** Object: Schema [gam] Script Date: 25/04/2019 16:50:49 ******/
CREATE SCHEMA [gam]
GO
/****** Object: Table [dbo].[Agenda] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Agenda](
[AgendaId] [smallint] IDENTITY(1,1) NOT NULL,
[PacienteID] [smallint] NOT NULL,
[OdontologoId] [smallint] NOT NULL,
[AgendaFecha] [datetime] NOT NULL,
[AgendaFechaConsulta] [datetime] NOT NULL,
[AgendaFechaHora] [datetime] NOT NULL,
[Obs] [varchar](150) NOT NULL,
PRIMARY KEY CLUSTERED
(
[AgendaId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Caja] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON

109
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Caja](
[CajaId] [smallint] NOT NULL,
[CajeroId] [smallint] NOT NULL,
[CajaFecha] [datetime] NOT NULL,
[CajaTotal5] [char](20) NOT NULL,
[CajaTotal10] [char](20) NOT NULL,
[CajaTotalImp] [char](20) NOT NULL,
[CajaTotalAbonar] [smallint] NOT NULL,
PRIMARY KEY CLUSTERED
(
[CajaId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Cajero] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Cajero](
[CajeroId] [smallint] NOT NULL,
[FactActual] [decimal](10, 0) NOT NULL,
[FactInicial] [decimal](10, 0) NOT NULL,
[FactFinal] [decimal](10, 0) NOT NULL,
[SucursalId] [smallint] NOT NULL,
[usuarioId] [smallint] NOT NULL,
PRIMARY KEY CLUSTERED
(
[CajeroId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [dbo].[Concepto] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Concepto](
[ConceptoId] [smallint] NOT NULL,
[ConceptoDescripcion] [char](20) NOT NULL,
[ConceptoTipo] [char](20) NOT NULL,
[Iva] [char](20) NOT NULL,
PRIMARY KEY CLUSTERED
(
[ConceptoId] ASC

110
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[DetallaDeCaja] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[DetallaDeCaja](
[DetallaDeCajaId] [smallint] NOT NULL,
[DetallaDeCajaTotal] [char](20) NOT NULL,
[DetallaDeCajaIvaEx] [char](20) NOT NULL,
[DetallaDeCajaIva10] [char](20) NOT NULL,
[DetallaDeCajaIva5] [char](20) NOT NULL,
[ConceptoId] [smallint] NOT NULL,
PRIMARY KEY CLUSTERED
(
[DetallaDeCajaId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Especialidad] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Especialidad](
[EspecialidadID] [smallint] NOT NULL,
[EspecialidadDescripcion] [char](50) NOT NULL,
PRIMARY KEY CLUSTERED
(
[EspecialidadID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[fotos] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[fotos](

111
[fotosid] [smallint] NOT NULL,
[PacienteID] [smallint] NOT NULL,
[fotoultlin] [smallint] NOT NULL,
PRIMARY KEY CLUSTERED
(
[fotosid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [dbo].[fotosdet] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[fotosdet](
[fotosid] [smallint] NOT NULL,
[nrolin] [smallint] NOT NULL,
[foto] [varbinary](max) NOT NULL,
[foto_GXI] [varchar](2048) NULL,
PRIMARY KEY CLUSTERED
(
[fotosid] ASC,
[nrolin] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[historicopaciente] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[historicopaciente](
[historicopacienteID] [smallint] IDENTITY(1,1) NOT NULL,
[tratamientosid] [smallint] NOT NULL,
[AgendaId] [smallint] NOT NULL,
[historicopacienteObs] [varchar](255) NOT NULL,
PRIMARY KEY CLUSTERED
(
[historicopacienteID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Odontologo] Script Date: 25/04/2019 16:50:49
******/

112
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Odontologo](
[OdontologoId] [smallint] IDENTITY(1,1) NOT NULL,
[OdontologoNombre] [char](20) NOT NULL,
[OdontologoApellido] [char](20) NOT NULL,
[OdontologoCedula] [decimal](15, 0) NOT NULL,
[OdontologoDireccion] [varchar](1024) NOT NULL,
[OdontologoTelefono] [char](20) NOT NULL,
[OdontologoEmail] [varchar](100) NOT NULL,
[OdontologoFoto] [varbinary](max) NOT NULL,
[OdontologoFoto_GXI] [varchar](2048) NULL,
PRIMARY KEY CLUSTERED
(
[OdontologoId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[OdontologoEspecialidad] Script Date:
25/04/2019 16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[OdontologoEspecialidad](
[OdontologoId] [smallint] NOT NULL,
[EspecialidadID] [smallint] NOT NULL,
PRIMARY KEY CLUSTERED
(
[OdontologoId] ASC,
[EspecialidadID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [dbo].[Paciente] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Paciente](
[PacienteID] [smallint] IDENTITY(1,1) NOT NULL,
[PacienteNombre] [char](20) NOT NULL,
[PacienteApellido] [char](20) NOT NULL,
[PacienteCedula] [char](20) NOT NULL,
[PacienteTelefono] [char](20) NOT NULL,
[PacienteEmail] [varchar](100) NOT NULL,
[PacienteFoto] [varbinary](max) NOT NULL,

113
[PacienteFoto_GXI] [varchar](2048) NOT NULL,
[PacienteDireccion] [varchar](1024) NOT NULL,
PRIMARY KEY CLUSTERED
(
[PacienteID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Sucursal] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Sucursal](
[SucursalId] [smallint] NOT NULL,
[SucursalDesc] [char](20) NOT NULL,
[SucursalDirec] [varchar](1024) NOT NULL,
[SucursalTel] [char](20) NOT NULL,
[Ubicacion] [char](20) NOT NULL,
PRIMARY KEY CLUSTERED
(
[SucursalId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[tratamientos] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tratamientos](
[tratamientosid] [smallint] NOT NULL,
[tratamientosnombre] [char](20) NOT NULL,
[tratamientosdescrpcion] [char](20) NOT NULL,
PRIMARY KEY CLUSTERED
(
[tratamientosid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[usuario] Script Date: 25/04/2019 16:50:49
******/

114
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[usuario](
[usuarioId] [smallint] NOT NULL,
[usuarioNombre] [char](20) NOT NULL,
[usuarioApellido] [char](20) NOT NULL,
[usuarioCedula] [char](20) NOT NULL,
PRIMARY KEY CLUSTERED
(
[usuarioId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [gam].[AppAuthReq] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppAuthReq](
[RepId] [int] NOT NULL,
[AppAuthReqId] [nchar](254) NOT NULL,
[AppAuthReqRedirURL] [nvarchar](1024) NOT NULL,
[AppAuthReqResponseType] [nchar](5) NOT NULL,
[AppAuthReqAuthorized] [datetime] NULL,
[AppAuthReqRevoked] [datetime] NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppPrmGUID] [nchar](40) NOT NULL,
[AppAuthReqCreated] [datetime] NOT NULL,
[AppAuthReqUserAppPrmCode] [nchar](80) NULL,
[AppAuthReqSesToken] [nchar](120) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppAuthReqId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppEnvironment] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppEnvironment](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppEnvId] [decimal](12, 0) NOT NULL,
[AppEnvGUID] [nchar](40) NOT NULL,
[AppEnvSrvHost] [nchar](120) NOT NULL,

115
[AppEnvSrvPort] [int] NULL,
[AppEnvSrvVirDir] [nchar](120) NULL,
[AppEnvSrvHttps] [bit] NOT NULL,
[AppEnvSrvPgmPac] [nchar](254) NULL,
[AppEnvSrvPgmExt] [nchar](60) NULL,
[AppEnvOrder] [int] NOT NULL,
[AppEnvName] [nchar](120) NULL,
[AppEnvCreDate] [datetime] NULL,
[AppEnvCreUser] [nvarchar](250) NULL,
[AppEnvUpdDate] [datetime] NULL,
[AppEnvUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppEnvId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppEnvironmentLng] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppEnvironmentLng](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppEnvId] [decimal](12, 0) NOT NULL,
[AppEnvLngId] [nchar](3) NOT NULL,
[AppEnvNameLng] [nchar](120) NULL,
[AppEnvDscLng] [nchar](254) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppEnvId] ASC,
[AppEnvLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[Application] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[Application](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppName] [nchar](254) NULL,
[AppGUID] [nchar](40) NOT NULL,
[AppVer] [nchar](60) NOT NULL,
[AppComName] [nchar](254) NULL,
[AppTypeId] [decimal](12, 0) NULL,
[AppParAppId] [decimal](12, 0) NULL,

116
[AppDsc] [nchar](254) NULL,
[AppCopyright] [nchar](254) NULL,
[AppOrder] [int] NOT NULL,
[AppRetMnuOptWithoutPrm] [bit] NOT NULL,
[AppCurEnvId] [decimal](12, 0) NULL,
[AppBaseAppId] [decimal](12, 0) NULL,
[AppCreDate] [datetime] NULL,
[AppCreUser] [nvarchar](250) NULL,
[AppUpdDate] [datetime] NULL,
[AppUpdUser] [nvarchar](250) NULL,
[AppIsBaseApplication] [bit] NOT NULL,
[AppCliId] [nchar](40) NULL,
[AppCliSecret] [nchar](40) NULL,
[AppCliUserGUID] [nchar](40) NULL,
[AppCliImageURL] [nvarchar](1024) NULL,
[AppCliSiteURL] [nvarchar](1024) NULL,
[AppCliSiteDomain] [nvarchar](1024) NULL,
[AppCliRevoked] [datetime] NULL,
[AppType] [smallint] NOT NULL,
[AppCliEncKey] [nchar](32) NOT NULL,
[AppCliDefPrmGUID] [nchar](40) NULL,
[AppAccessReqPrm] [bit] NOT NULL,
[AppCliAccessUniqueByUser] [bit] NOT NULL,
[AppCliAutoRegAnomymousUser] [bit] NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[ApplicationLng] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[ApplicationLng](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppLngId] [nchar](3) NOT NULL,
[AppNameLng] [nchar](254) NOT NULL,
[AppDscLng] [nchar](254) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[ApplicationNum] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON

117
GO
CREATE TABLE [gam].[ApplicationNum](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppNumId] [nchar](30) NOT NULL,
[AppNumLast] [decimal](12, 0) NOT NULL,
[AppNumDate] [datetime] NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppNumId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[ApplicationProp] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[ApplicationProp](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppPropId] [nchar](60) NOT NULL,
[AppPropToken] [nchar](40) NOT NULL,
[AppPropValue] [nvarchar](400) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppPropId] ASC,
[AppPropToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppMenu] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppMenu](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppMnuId] [decimal](12, 0) NOT NULL,
[AppMnuGUID] [nchar](40) NOT NULL,
[AppMnuName] [nchar](254) NULL,
[AppMnuSerOpt] [decimal](12, 0) NOT NULL,
[AppMnuCreDate] [datetime] NOT NULL,
[AppMnuCreUser] [nvarchar](250) NOT NULL,
[AppMnuUpdDate] [datetime] NOT NULL,
[AppMnuUpdUser] [nvarchar](250) NOT NULL,
[AppMnuDsc] [nchar](254) NULL,
[AppMnuToken] [nchar](40) NOT NULL,
PRIMARY KEY CLUSTERED

118
(
[RepId] ASC,
[AppId] ASC,
[AppMnuId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppMenuLng] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppMenuLng](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppMnuId] [decimal](12, 0) NOT NULL,
[AppMnuLngId] [nchar](3) NOT NULL,
[AppMnuNameLng] [nchar](254) NULL,
[AppMnuDscLng] [nchar](254) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppMnuId] ASC,
[AppMnuLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppMenuOption] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppMenuOption](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppMnuId] [decimal](12, 0) NOT NULL,
[AppMnuOptId] [decimal](12, 0) NOT NULL,
[AppMnuOptGUID] [nchar](40) NOT NULL,
[AppMnuOptName] [nchar](254) NULL,
[AppMnuOptDsc] [nchar](254) NULL,
[AppMnuOptCreDate] [datetime] NULL,
[AppMnuOptCreUser] [nvarchar](250) NULL,
[AppMnuOptUpdDate] [datetime] NULL,
[AppMnuOptUpdUser] [nvarchar](250) NULL,
[AppMnuOptOrder] [int] NOT NULL,
[AppMnuOptType] [nchar](1) NOT NULL,
[AppMnuOptRelAppId] [decimal](12, 0) NULL,
[AppMnuOptRelPrmPar] [nchar](254) NULL,
[AppMnuOptRelMnuId] [decimal](12, 0) NULL,
[AppMnuOptRelPrmGUID] [nchar](40) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,

119
[AppId] ASC,
[AppMnuId] ASC,
[AppMnuOptId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppMenuOptionLng] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppMenuOptionLng](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppMnuId] [decimal](12, 0) NOT NULL,
[AppMnuOptId] [decimal](12, 0) NOT NULL,
[AppMnuOptLngId] [nchar](3) NOT NULL,
[AppMnuOptNameLng] [nchar](254) NULL,
[AppMnuOptDscLng] [nchar](254) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppMnuId] ASC,
[AppMnuOptId] ASC,
[AppMnuOptLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppMenuOptionProp] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppMenuOptionProp](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppMnuId] [decimal](12, 0) NOT NULL,
[AppMnuOptId] [decimal](12, 0) NOT NULL,
[AppMnuOptPropId] [nchar](60) NOT NULL,
[AppMnuOptPropToken] [nchar](40) NOT NULL,
[AppMnuOptPropValue] [nvarchar](400) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppMnuId] ASC,
[AppMnuOptId] ASC,
[AppMnuOptPropId] ASC,
[AppMnuOptPropToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

120
GO
/****** Object: Table [gam].[AppMenuProp] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppMenuProp](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppMnuId] [decimal](12, 0) NOT NULL,
[AppMnuPropId] [nchar](60) NOT NULL,
[AppMnuPropToken] [nchar](40) NOT NULL,
[APPMnuPropValue] [nvarchar](400) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppMnuId] ASC,
[AppMnuPropId] ASC,
[AppMnuPropToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppPermission] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppPermission](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppPrmGUID] [nchar](40) NOT NULL,
[AppPrmName] [nchar](254) NOT NULL,
[AppPrmDsc] [nchar](254) NULL,
[AppPrmPgmName] [nchar](254) NULL,
[AppPrmDefType] [nchar](1) NOT NULL,
[AppPrmTokenTypeGUID] [nchar](40) NULL,
[AppPrmCreDate] [datetime] NULL,
[AppPrmCreUser] [nvarchar](250) NULL,
[AppPrmUpdDate] [datetime] NULL,
[AppPrmUpdUser] [nvarchar](250) NULL,
[AppPrmCurEnvId] [decimal](12, 0) NULL,
[AppPrmPgmPar] [nchar](254) NULL,
[AppPrmIsGXAuto] [bit] NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppPrmGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppPermissionLng] Script Date: 25/04/2019
16:50:49 ******/

121
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppPermissionLng](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppPrmGUID] [nchar](40) NOT NULL,
[AppPrmLngId] [nchar](3) NOT NULL,
[AppPrmDscLng] [nchar](254) NOT NULL,
[AppPrmNameLng] [nchar](254) NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppPrmGUID] ASC,
[AppPrmLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppPermissionProp] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppPermissionProp](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppPrmGUID] [nchar](40) NOT NULL,
[AppPrmPropId] [nchar](60) NOT NULL,
[AppPrmPropToken] [nchar](40) NOT NULL,
[AppPrmPropValue] [nvarchar](400) NOT NULL,
[AppPrmPropCreDate] [datetime] NULL,
[AppPrmPropCreUser] [nvarchar](250) NULL,
[AppPrmPropUpdDate] [datetime] NULL,
[AppPrmPropUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppPrmGUID] ASC,
[AppPrmPropId] ASC,
[AppPrmPropToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppPrmMemPrm] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppPrmMemPrm](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,

122
[AppPrmMemPrmParent] [nchar](40) NOT NULL,
[AppPrmMemPrmChild] [nchar](40) NOT NULL,
[AppPrmMemPrmCreDate] [datetime] NULL,
[AppPrmMemPrmCreUser] [nvarchar](250) NULL,
[AppPrmMemPrmUpdDate] [datetime] NULL,
[AppPrmMemPrmUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppPrmMemPrmParent] ASC,
[AppPrmMemPrmChild] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppPrmTokenType] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppPrmTokenType](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppPrmTokenTypeGUID] [nchar](40) NOT NULL,
[AppPrmTokenTypeName] [nchar](254) NOT NULL,
[AppPrmTokenTypeDsc] [nchar](254) NULL,
[AppPrmTokenTypeCreDate] [datetime] NULL,
[AppPrmTokenTypeCreUser] [nvarchar](250) NULL,
[AppPrmTokenTypeUpdDate] [datetime] NULL,
[AppPrmTokenTypeUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppPrmTokenTypeGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppPrmTokenTypeEle] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppPrmTokenTypeEle](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppPrmTokenTypeGUID] [nchar](40) NOT NULL,
[AppPrmTokenEleName] [nchar](60) NOT NULL,
[AppPrmTokenEleDsc] [nchar](254) NOT NULL,
[AppPrmTokenEleWSHost] [nchar](254) NOT NULL,
[AppPrmTokenELWSName] [nchar](254) NOT NULL,
[AppPrmTokenEleOrder] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(

123
[RepId] ASC,
[AppId] ASC,
[AppPrmTokenTypeGUID] ASC,
[AppPrmTokenEleName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppPrmTokenTypeLng] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppPrmTokenTypeLng](
[RepId] [int] NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppPrmTokenTypeGUID] [nchar](40) NOT NULL,
[AppPrmTokenTypeLngId] [nchar](3) NOT NULL,
[AppPrmTokenTypeNameLng] [nchar](254) NOT NULL,
[AppPrmTokenTypeDscLng] [nchar](254) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppId] ASC,
[AppPrmTokenTypeGUID] ASC,
[AppPrmTokenTypeLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppRole] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppRole](
[RepId] [int] NOT NULL,
[AppRoleAppId] [decimal](12, 0) NOT NULL,
[AppRoleRoleId] [decimal](12, 0) NOT NULL,
[AppRoleCreDate] [datetime] NULL,
[AppRoleCreUser] [nvarchar](250) NULL,
[AppRoleUpdDate] [datetime] NULL,
[AppRoleUpdUser] [nvarchar](250) NULL,
[AppRoleTokenTypeGUID] [nchar](40) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppRoleAppId] ASC,
[AppRoleRoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppRoleRest] Script Date: 25/04/2019 16:50:49
******/

124
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppRoleRest](
[RepId] [int] NOT NULL,
[AppRoleAppId] [decimal](12, 0) NOT NULL,
[AppRoleRoleId] [decimal](12, 0) NOT NULL,
[AppRoleRestToken] [nchar](40) NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppRoleAppId] ASC,
[AppRoleRoleId] ASC,
[AppRoleRestToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppType] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppType](
[RepId] [int] NOT NULL,
[AppTypeId] [decimal](12, 0) NOT NULL,
[AppTypeGUID] [nchar](40) NOT NULL,
[AppTypeName] [nchar](254) NOT NULL,
[AppTypeDsc] [nchar](254) NOT NULL,
[AppTypeCreDate] [datetime] NULL,
[AppTypeCreUser] [nvarchar](250) NULL,
[AppTypeUpdDate] [datetime] NULL,
[AppTypeUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppTypeId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppTypeAction] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppTypeAction](
[RepId] [int] NOT NULL,
[AppTypeId] [decimal](12, 0) NOT NULL,
[AppTypeActId] [decimal](12, 0) NOT NULL,
[AppTypeActGUID] [nchar](40) NOT NULL,
[AppTypeActName] [nchar](254) NOT NULL,
[AppTypeActDsc] [nchar](254) NULL,
[AppTypeActCreDate] [datetime] NULL,
[AppTypeActCreUser] [nvarchar](250) NULL,

125
[AppTypeActUpdDate] [datetime] NULL,
[AppTypeActUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppTypeId] ASC,
[AppTypeActId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppTypePermission] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppTypePermission](
[RepId] [int] NOT NULL,
[AppTypeId] [decimal](12, 0) NOT NULL,
[AppTypePrmId] [decimal](12, 0) NOT NULL,
[AppTypePrmGUID] [nchar](40) NOT NULL,
[AppTypeResId] [decimal](12, 0) NOT NULL,
[AppTypeActId] [decimal](12, 0) NOT NULL,
[AppTypePrmIsParent] [bit] NOT NULL,
[AppTypePrmCreDate] [datetime] NULL,
[AppTypePrmCreUser] [nvarchar](250) NULL,
[AppTypePrmUpdDate] [datetime] NULL,
[AppTypePrmUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppTypeId] ASC,
[AppTypePrmId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppTypePrmMemPrm] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppTypePrmMemPrm](
[RepId] [int] NOT NULL,
[AppTypeId] [decimal](12, 0) NOT NULL,
[AppTypePrmMemPrmParId] [decimal](12, 0) NOT NULL,
[AppTypePrmMemPrmChiId] [decimal](12, 0) NOT NULL,
[AppTypePrmMemPrmCreDate] [datetime] NULL,
[AppTypePrmMemPrmCreUser] [nvarchar](250) NULL,
[AppTypePrmMemPrmUpdDate] [datetime] NULL,
[AppTypePrmMemPrmUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppTypeId] ASC,
[AppTypePrmMemPrmParId] ASC,

126
[AppTypePrmMemPrmChiId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AppTypeResource] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AppTypeResource](
[RepId] [int] NOT NULL,
[AppTypeId] [decimal](12, 0) NOT NULL,
[AppTypeResId] [decimal](12, 0) NOT NULL,
[AppTypeResGUID] [nchar](40) NOT NULL,
[AppTypeResName] [nchar](254) NOT NULL,
[AppTypeResDsc] [nchar](254) NULL,
[AppTypeResCreDate] [datetime] NULL,
[AppTypeResCreUser] [nvarchar](250) NULL,
[AppTypeResUpdDate] [datetime] NULL,
[AppTypeResUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AppTypeId] ASC,
[AppTypeResId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[Auditory] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[Auditory](
[RepId] [int] NOT NULL,
[AudId] [int] NOT NULL,
[AudSesRepId] [int] NOT NULL,
[AudSesToken] [nchar](120) NOT NULL,
[AudDate] [datetime] NOT NULL,
[AudActId] [decimal](12, 0) NOT NULL,
[AudPgmName] [nchar](254) NOT NULL,
[AudActKey1] [decimal](12, 0) NOT NULL,
[AudActKey2] [decimal](12, 0) NOT NULL,
[AudActKey3] [decimal](12, 0) NOT NULL,
[AudActKey4] [decimal](12, 0) NOT NULL,
[AudActPreDet] [nvarchar](500) NOT NULL,
[AudActCurDet] [nvarchar](500) NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AudId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

127
GO
/****** Object: Table [gam].[AuditoryAction] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AuditoryAction](
[AudActId] [decimal](12, 0) NOT NULL,
[AudActDsc] [nchar](254) NOT NULL,
PRIMARY KEY CLUSTERED
(
[AudActId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AuditoryActionLng] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AuditoryActionLng](
[AudActId] [decimal](12, 0) NOT NULL,
[AudActLngId] [nchar](3) NOT NULL,
[AudActDscLng] [nchar](254) NOT NULL,
PRIMARY KEY CLUSTERED
(
[AudActId] ASC,
[AudActLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AuthenticationType] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AuthenticationType](
[RepId] [int] NOT NULL,
[AutTypeName] [nchar](60) NOT NULL,
[AutTypeType] [nchar](30) NOT NULL,
[AutTypeFunc] [nchar](30) NOT NULL,
[AutTypeIsEna] [bit] NOT NULL,
[AutTypeDsc] [nchar](120) NULL,
[AutTypeCreDate] [datetime] NOT NULL,
[AutTypeCreUser] [nvarchar](250) NOT NULL,
[AutTypeUpdDate] [datetime] NOT NULL,
[AutTypeUpdUser] [nvarchar](250) NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AutTypeName] ASC

128
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AuthenticationTypeLng] Script Date:
25/04/2019 16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AuthenticationTypeLng](
[RepId] [int] NOT NULL,
[AutTypeName] [nchar](60) NOT NULL,
[AutTypeLngId] [nchar](3) NOT NULL,
[AutTypeNameLng] [nchar](254) NULL,
[AutTypeDscLng] [nchar](254) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AutTypeName] ASC,
[AutTypeLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[AuthenticationTypeProp] Script Date:
25/04/2019 16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[AuthenticationTypeProp](
[RepId] [int] NOT NULL,
[AutTypeName] [nchar](60) NOT NULL,
[AutTypePropId] [nchar](60) NOT NULL,
[AutTypePropToken] [nchar](40) NOT NULL,
[AutTypePropValue] [nvarchar](400) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[AutTypeName] ASC,
[AutTypePropId] ASC,
[AutTypePropToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[Browser] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[Browser](
[BrwId] [smallint] NOT NULL,
[BrwDsc] [nchar](60) NULL,
[BrwVer] [nchar](60) NULL,

129
PRIMARY KEY CLUSTERED
(
[BrwId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[Country] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[Country](
[CountryId] [nchar](9) NOT NULL,
[CountryName] [nchar](120) NOT NULL,
[Country_iso_3] [nchar](3) NOT NULL,
[CountryCreDate] [datetime] NULL,
[CountryCreUser] [nvarchar](250) NULL,
[CountryUpdDate] [datetime] NULL,
[CountryUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[CountryId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[CountryLng] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[CountryLng](
[CountryId] [nchar](9) NOT NULL,
[CountryLngId] [nchar](3) NOT NULL,
[CountryNameLng] [nchar](120) NOT NULL,
PRIMARY KEY CLUSTERED
(
[CountryId] ASC,
[CountryLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[OauthGrantUserApp] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[OauthGrantUserApp](
[RepId] [int] NOT NULL,
[OGUserAppCode] [nchar](120) NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[UserGUID] [nchar](40) NOT NULL,

130
[OGUserAppSesToken] [nchar](120) NULL,
[OGUserAppRefreshToken] [nchar](40) NULL,
[OGUserAppGrantDate] [datetime] NULL,
[OGUserAppRevokedDate] [datetime] NULL,
[OGUserAppCreDate] [datetime] NULL,
[OGUserAppCreUser] [nvarchar](250) NULL,
[OGUserAppUpdDate] [datetime] NULL,
[OGUserAppUpdUser] [nvarchar](250) NULL,
[AppPrmGUID] [nchar](40) NOT NULL,
[OGUserAppExpire] [datetime] NULL,
[OGUserAppStatus] [nchar](1) NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[OGUserAppCode] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[OperatingSystem] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[OperatingSystem](
[OpeSysId] [smallint] NOT NULL,
[OpeSysDsc] [nchar](60) NOT NULL,
[OpeSysVer] [nchar](60) NOT NULL,
[OpeSysCreDate] [datetime] NULL,
[OpeSysCreUser] [nvarchar](250) NULL,
[OpeSysUpdDate] [datetime] NULL,
[OpeSysUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[OpeSysId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[Repository] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[Repository](
[RepId] [int] NOT NULL,
[RepVer] [nchar](60) NOT NULL,
[RepUpg] [nchar](60) NOT NULL,
[RepDefAutTypeName] [nchar](60) NULL,
[RepUserActType] [nchar](1) NOT NULL,
[RepUserActTimeOut] [smallint] NOT NULL,
[RepDefSecPolId] [int] NULL,
[RepGenAud] [nchar](20) NOT NULL,
[RepUserRemMeTimeOut] [smallint] NOT NULL,
[RepGenSesSta] [nchar](20) NOT NULL,
[RepUserChrMinLog] [smallint] NOT NULL,

131
[RepGUID] [nchar](40) NOT NULL,
[RepCanRegUser] [bit] NOT NULL,
[RepUserRemMeType] [nchar](6) NOT NULL,
[RepGiveAnoSes] [bit] NOT NULL,
[RepAnoUserGUID] [nchar](40) NULL,
[RepDefRoleId] [decimal](12, 0) NULL,
[RepCreDate] [datetime] NOT NULL,
[RepCreUser] [nvarchar](250) NOT NULL,
[RepUpdDate] [datetime] NOT NULL,
[RepUpdUser] [nvarchar](250) NOT NULL,
[RepNameSpace] [nchar](60) NOT NULL,
[RepUserRecPwdKeyTimeOut] [smallint] NOT NULL,
[RepUserReqPwd] [bit] NOT NULL,
[RepUserReqEmail] [bit] NOT NULL,
[RepUserReqFirstName] [bit] NOT NULL,
[RepUserReqLastName] [bit] NOT NULL,
[RepUserReqBir] [bit] NOT NULL,
[RepUserReqGen] [bit] NOT NULL,
[RepUserReqPhone] [bit] NOT NULL,
[RepUserReqAddress] [bit] NOT NULL,
[RepUserReqCity] [bit] NOT NULL,
[RepUserReqState] [bit] NOT NULL,
[RepUserReqCountry] [bit] NOT NULL,
[RepUserReqPostCode] [bit] NOT NULL,
[RepUserReqLng] [bit] NOT NULL,
[RepUserReqTimeZone] [bit] NOT NULL,
[RepUserReqPhoto] [bit] NOT NULL,
[RepUserAttLogLockUser] [smallint] NOT NULL,
[RepUserAttLogLockSession] [smallint] NOT NULL,
[RepDsc] [nchar](254) NULL,
[RepUserEmailSecAdm] [nchar](254) NULL,
[RepUserTimeToUnblock] [smallint] NOT NULL,
[RepName] [nchar](60) NOT NULL,
[RepUserEmailUnique] [bit] NOT NULL,
[RepAllowOauthAccess] [bit] NOT NULL,
[RepUserIdentification] [nchar](6) NOT NULL,
[RepKeepSesOnlyOriIP] [bit] NOT NULL,
[RepUserSessionCacheTimeout] [smallint] NOT NULL,
[RepAnoUserSDRoleId] [decimal](12, 0) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RepositoryConnAdd] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RepositoryConnAdd](
[RepId] [int] NOT NULL,
[RepConName] [nchar](120) NOT NULL,
[RepConSrvCon] [nchar](60) NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,

132
[RepConName] ASC,
[RepConSrvCon] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RepositoryConnection] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RepositoryConnection](
[RepId] [int] NOT NULL,
[RepConName] [nchar](120) NOT NULL,
[RepConUser] [nchar](100) NOT NULL,
[RepConPwd] [nchar](254) NOT NULL,
[RepConLng] [nchar](3) NOT NULL,
[RepConType] [nchar](30) NOT NULL,
[RepConKey] [nchar](32) NOT NULL,
[RepConChaExpire] [int] NOT NULL,
[RepConSrvSpecify] [bit] NOT NULL,
[RepConChaSrv] [nchar](60) NULL,
[RepConChaDate] [datetime] NULL,
[RepConCha] [nchar](254) NULL,
[RepConCreDate] [datetime] NOT NULL,
[RepConCreUser] [nvarchar](250) NOT NULL,
[RepConUpdDate] [datetime] NOT NULL,
[RepConUpdUser] [nvarchar](250) NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[RepConName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RepositoryCountry] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RepositoryCountry](
[RepId] [int] NOT NULL,
[CountryId] [nchar](9) NOT NULL,
[RepCountryCreDate] [datetime] NULL,
[RepCountryCreUser] [nvarchar](250) NULL,
[RepCountryUpdDate] [datetime] NULL,
[RepCountryUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[CountryId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

133
GO
/****** Object: Table [gam].[RepositoryLng] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RepositoryLng](
[RepId] [int] NOT NULL,
[RepLngId] [nchar](3) NOT NULL,
[RepNameLng] [nchar](254) NULL,
[RepDscLng] [nchar](254) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[RepLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RepositoryNum] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RepositoryNum](
[RepId] [int] NOT NULL,
[RepNumId] [nchar](30) NOT NULL,
[RepNumLast] [decimal](12, 0) NOT NULL,
[RepNumDate] [datetime] NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[RepNumId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RepositoryProp] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RepositoryProp](
[RepId] [int] NOT NULL,
[RepPropId] [nchar](60) NOT NULL,
[RepPropToken] [nchar](40) NOT NULL,
[RepPropVal] [nvarchar](400) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[RepPropId] ASC,
[RepPropToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

134
GO
/****** Object: Table [gam].[RepQuestionUser] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RepQuestionUser](
[RepId] [int] NOT NULL,
[QstUserId] [int] NOT NULL,
[QstUserName] [nchar](254) NULL,
[QstUserDsc] [nchar](254) NULL,
[QstUserCreDate] [datetime] NOT NULL,
[QstUserCreUser] [nvarchar](250) NOT NULL,
[QstUserUpdDate] [datetime] NOT NULL,
[QstUserUpdUser] [nvarchar](250) NOT NULL,
[QstUserGUID] [nchar](40) NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[QstUserId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RepQuestionUserLng] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RepQuestionUserLng](
[RepId] [int] NOT NULL,
[QstUserId] [int] NOT NULL,
[QstUserLngId] [nchar](3) NOT NULL,
[QstUserNameLng] [nchar](254) NULL,
[QstUserDscLng] [nchar](254) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[QstUserId] ASC,
[QstUserLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[Role] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[Role](
[RepId] [int] NOT NULL,
[RoleId] [decimal](12, 0) NOT NULL,
[RoleExtId] [nvarchar](100) NULL,
[RoleSecPolId] [int] NULL,

135
[RoleGUID] [nchar](40) NOT NULL,
[RoleName] [nchar](254) NULL,
[RoleDsc] [nchar](254) NULL,
[RoleCreDate] [datetime] NULL,
[RoleCreUser] [nvarchar](250) NULL,
[RoleUpdDate] [datetime] NULL,
[RoleUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[RoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RoleAppPrm] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RoleAppPrm](
[RepId] [int] NOT NULL,
[RoleId] [decimal](12, 0) NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppPrmGUID] [nchar](40) NOT NULL,
[RoleAppPrmToken] [nchar](254) NOT NULL,
[RoleAppPrmType] [nchar](1) NOT NULL,
[RoleAppPrmInh] [bit] NOT NULL,
[RoleAppPrmCreDate] [datetime] NULL,
[RoleAppPrmCreUser] [nvarchar](250) NULL,
[RoleAppPrmUpdDate] [datetime] NULL,
[RoleAppPrmUpdUser] [nvarchar](250) NULL,
[AppPrmName] [nchar](254) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[RoleId] ASC,
[AppId] ASC,
[AppPrmGUID] ASC,
[RoleAppPrmToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RoleAppPrmProp] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RoleAppPrmProp](
[RepId] [int] NOT NULL,
[RoleId] [decimal](12, 0) NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppPrmGUID] [nchar](40) NOT NULL,
[RoleAppPrmToken] [nchar](254) NOT NULL,
[RoleAppPrmPropId] [nchar](60) NOT NULL,

136
[RoleAppPrmPropToken] [nchar](40) NOT NULL,
[RoleAppPrmPropValue] [nvarchar](400) NOT NULL,
[RoleAppPrmPropCreDate] [datetime] NOT NULL,
[RoleAppPrmPropCreUser] [nvarchar](250) NOT NULL,
[RoleAppPrmPropUpdDate] [datetime] NOT NULL,
[RoleAppPrmPropUpdUser] [nvarchar](250) NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[RoleId] ASC,
[AppId] ASC,
[AppPrmGUID] ASC,
[RoleAppPrmToken] ASC,
[RoleAppPrmPropId] ASC,
[RoleAppPrmPropToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RoleAppTypePrm] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RoleAppTypePrm](
[RepId] [int] NOT NULL,
[RoleId] [decimal](12, 0) NOT NULL,
[AppTypeId] [decimal](12, 0) NOT NULL,
[AppTypePrmId] [decimal](12, 0) NOT NULL,
[RoleAppTypePrmType] [nchar](1) NOT NULL,
[RoleAppTypePrmInh] [bit] NOT NULL,
[RoleAppTypePrmAllItems] [bit] NOT NULL,
[RoleAppTypePrmCreDate] [datetime] NULL,
[RoleAppTypePrmCreUser] [nvarchar](250) NULL,
[RoleAppTypePrmUpdDate] [datetime] NULL,
[RoleAppTypePrmUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[RoleId] ASC,
[AppTypeId] ASC,
[AppTypePrmId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RoleAppTypePrmProp] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RoleAppTypePrmProp](
[RepId] [int] NOT NULL,
[RoleId] [decimal](12, 0) NOT NULL,
[AppTypeId] [decimal](12, 0) NOT NULL,
[AppTypePrmId] [decimal](12, 0) NOT NULL,

137
[RoleAppTypePrmPropId] [nchar](60) NOT NULL,
[RoleAppTypePrmPropValue] [nvarchar](400) NOT NULL,
[RoleAppTypePrmPropCreDate] [datetime] NOT NULL,
[RoleAppTypePrmPropCreUser] [nvarchar](250) NOT NULL,
[RoleAppTypePrmPropUpdDate] [datetime] NOT NULL,
[RoleAppTypePrmPropUpdUser] [nvarchar](250) NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[RoleId] ASC,
[AppTypeId] ASC,
[AppTypePrmId] ASC,
[RoleAppTypePrmPropId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RoleLng] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RoleLng](
[RepId] [int] NOT NULL,
[RoleId] [decimal](12, 0) NOT NULL,
[RoleLngId] [nchar](3) NOT NULL,
[RoleNameLng] [nchar](254) NULL,
[RoleDscLng] [nchar](254) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[RoleId] ASC,
[RoleLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RoleMemRole] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RoleMemRole](
[RepId] [int] NOT NULL,
[RoleMemRoleParent] [decimal](12, 0) NOT NULL,
[RoleMemRoleChild] [decimal](12, 0) NOT NULL,
[RoleMemRoleCreDate] [datetime] NULL,
[RoleMemRoleCreUser] [nvarchar](250) NULL,
[RoleMemRoleUpdDate] [datetime] NULL,
[RoleMemRoleUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[RoleMemRoleParent] ASC,
[RoleMemRoleChild] ASC

138
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[RoleProp] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[RoleProp](
[RepId] [int] NOT NULL,
[RoleId] [decimal](12, 0) NOT NULL,
[RolePropId] [nchar](60) NOT NULL,
[RolePropToken] [nchar](40) NOT NULL,
[RolePropValue] [nvarchar](400) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[RoleId] ASC,
[RolePropId] ASC,
[RolePropToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[SecurityPolicy] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[SecurityPolicy](
[RepId] [int] NOT NULL,
[SecPolId] [int] NOT NULL,
[SecPolPerChgPwd] [smallint] NOT NULL,
[SecPolSesTimeOut] [smallint] NOT NULL,
[SecPolMinLenPwd] [smallint] NOT NULL,
[SecPolAmoCharNumericPwd] [smallint] NOT NULL,
[SecPolAmoHisPwd] [smallint] NOT NULL,
[SecPolName] [nchar](254) NULL,
[SecPolGUID] [nchar](40) NOT NULL,
[SecPolCreDate] [datetime] NULL,
[SecPolCreUser] [nvarchar](250) NULL,
[SecPolUpdDate] [datetime] NULL,
[SecPolUpdUser] [nvarchar](250) NULL,
[SecPolDsc] [nchar](254) NULL,
[SecPolOauthTokenExpire] [int] NOT NULL,
[SecPolAmoCharUpperCasePwd] [smallint] NOT NULL,
[SecPolAmoCharSpecialPwd] [smallint] NOT NULL,
[SecPolOauthGrantExpire] [int] NOT NULL,
[SecPolActSesPerUser] [smallint] NOT NULL,
[SecPolOauthTokenMaxRenew] [smallint] NOT NULL,
[SecPolFrecMinChangePwd] [smallint] NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[SecPolId] ASC

139
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[SecurityPolicyLng] Script Date: 25/04/2019
16:50:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[SecurityPolicyLng](
[RepId] [int] NOT NULL,
[SecPolId] [int] NOT NULL,
[SecPolLngId] [nchar](3) NOT NULL,
[SecPolNameLng] [nchar](254) NOT NULL,
[SecPolDscLng] [nchar](254) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[SecPolId] ASC,
[SecPolLngId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[Session] Script Date: 25/04/2019 16:50:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[Session](
[RepId] [int] NOT NULL,
[SesToken] [nchar](120) NOT NULL,
[SesDate] [datetime] NOT NULL,
[SesSts] [nchar](1) NOT NULL,
[SesType] [smallint] NOT NULL,
[SesURL] [nvarchar](1024) NOT NULL,
[SesIPAdd] [nchar](60) NOT NULL,
[OpeSysId] [smallint] NULL,
[SesLastAcc] [datetime] NOT NULL,
[SesTimeOut] [smallint] NOT NULL,
[SesLogAtt] [int] NOT NULL,
[SesLogDate] [datetime] NOT NULL,
[SesSharedData] [nvarchar](max) NOT NULL,
[SesEndDate] [datetime] NOT NULL,
[SesReload] [bit] NOT NULL,
[BrwId] [smallint] NULL,
[SesLastURL] [nvarchar](1024) NOT NULL,
[SesLogin] [nvarchar](250) NOT NULL,
[SesExtToken] [nchar](120) NOT NULL,
[UserGUID] [nchar](40) NULL,
[SesAppTokenExp] [datetime] NULL,
[SesRefreshToken] [nchar](40) NULL,
[SesAppId] [decimal](12, 0) NULL,
[SesDeviceId] [nchar](40) NULL,
PRIMARY KEY CLUSTERED
(

140
[RepId] ASC,
[SesToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
/****** Object: Table [gam].[SessionHistory] Script Date: 25/04/2019
16:50:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[SessionHistory](
[RepId] [int] NOT NULL,
[SesHisToken] [nchar](120) NOT NULL,
[SesHisLogin] [nvarchar](250) NOT NULL,
[SesHisDate] [datetime] NOT NULL,
[SesHisSts] [nchar](1) NOT NULL,
[SesHisType] [smallint] NOT NULL,
[SesHisURL] [nvarchar](1024) NOT NULL,
[SesHisIPAdd] [nchar](60) NOT NULL,
[BrwId] [smallint] NULL,
[OpeSysId] [smallint] NULL,
[SesHisLastAcc] [datetime] NOT NULL,
[SesHisLastURL] [nvarchar](1024) NOT NULL,
[SesHisTimeOut] [smallint] NOT NULL,
[SesHisExtToken] [nchar](120) NOT NULL,
[SesHisLogAtt] [int] NOT NULL,
[SesHisLogDate] [datetime] NOT NULL,
[SesHisSharedData] [nvarchar](max) NOT NULL,
[SesHisEndDate] [datetime] NOT NULL,
[UserGUID] [nchar](40) NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[SesHisToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
/****** Object: Table [gam].[SessionHistoryHisLogAtt] Script Date:
25/04/2019 16:50:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[SessionHistoryHisLogAtt](
[RepId] [int] NOT NULL,
[SesHisToken] [nchar](120) NOT NULL,
[SesHisAttUserLog] [nvarchar](250) NOT NULL,
[SesHisAttQtyLog] [smallint] NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[SesHisToken] ASC,
[SesHisAttUserLog] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

141
) ON [PRIMARY]

GO
/****** Object: Table [gam].[SessionLogAtt] Script Date: 25/04/2019
16:50:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[SessionLogAtt](
[RepId] [int] NOT NULL,
[SesToken] [nchar](120) NOT NULL,
[SesAttUserLog] [nvarchar](250) NOT NULL,
[SesAttQtyLog] [smallint] NOT NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[SesToken] ASC,
[SesAttUserLog] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[SysPar] Script Date: 25/04/2019 16:50:50
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[SysPar](
[SysParId] [nchar](30) NOT NULL,
[SysParVal] [nchar](254) NOT NULL,
PRIMARY KEY CLUSTERED
(
[SysParId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[User] Script Date: 25/04/2019 16:50:50
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [gam].[User](
[UserGUID] [nchar](40) NOT NULL,
[UserNameSpace] [nchar](60) NOT NULL,
[UserAutTypeName] [nchar](60) NOT NULL,
[UserName] [nvarchar](100) NOT NULL,
[UserEMail] [nvarchar](100) NOT NULL,
[UserExtId] [nvarchar](100) NULL,
[UserPwd] [nchar](254) NOT NULL,
[UserFirstName] [nchar](60) NULL,
[UserLastName] [nchar](60) NULL,
[UserBirthday] [datetime] NULL,

142
[UserGender] [nchar](1) NOT NULL,
[UserPhone] [nchar](254) NULL,
[UserAddress] [nchar](254) NULL,
[UserAddress2] [nchar](254) NULL,
[UserCity] [nchar](254) NULL,
[UserState] [nchar](254) NULL,
[CountryId] [nchar](9) NULL,
[UserPostCode] [nchar](60) NULL,
[UserLng] [nchar](3) NULL,
[UserTimeZone] [nchar](60) NULL,
[UserPhoto] [varbinary](max) NULL,
[UserNotRcvInf] [bit] NOT NULL,
[UserIsBlk] [bit] NOT NULL,
[UserBlkLastDate] [datetime] NULL,
[UserIsAct] [bit] NOT NULL,
[UserActKey] [nchar](254) NULL,
[UserActDate] [datetime] NULL,
[UserNotChgPwd] [bit] NOT NULL,
[UserChgPwdNexLog] [bit] NOT NULL,
[UserPwdNevExp] [bit] NOT NULL,
[UserRecPwdKey] [nchar](254) NULL,
[UserRecPwdKeyExp] [datetime] NULL,
[UserDateLastChgPwd] [datetime] NULL,
[UserIsDlt] [bit] NOT NULL,
[UserDateLastAuth] [datetime] NULL,
[UserCreDate] [datetime] NULL,
[UserCreUser] [nvarchar](250) NULL,
[UserUpdDate] [datetime] NULL,
[UserUpdUser] [nvarchar](250) NULL,
[UserURLImage] [nvarchar](1024) NULL,
[UserURLProf] [nvarchar](1024) NULL,
[UserDataReqComplete] [bit] NOT NULL,
[UserDataReqCompleteKey] [nchar](254) NULL,
[UserIsDevice] [bit] NOT NULL,
PRIMARY KEY CLUSTERED
(
[UserGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [gam].[UserAppPrm] Script Date: 25/04/2019 16:50:50
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[UserAppPrm](
[RepId] [int] NOT NULL,
[UserGUID] [nchar](40) NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppPrmGUID] [nchar](40) NOT NULL,
[UserAppPrmToken] [nchar](254) NOT NULL,
[UserAppPrmType] [nchar](1) NOT NULL,
[UserAppPrmInh] [bit] NOT NULL,
[UserAppPrmCreDate] [datetime] NULL,
[UserAppPrmCreUser] [nvarchar](250) NULL,

143
[UserAppPrmUpdDate] [datetime] NULL,
[UserAppPrmUpdUser] [nvarchar](250) NULL,
[AppPrmName] [nchar](254) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[UserGUID] ASC,
[AppId] ASC,
[AppPrmGUID] ASC,
[UserAppPrmToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[UserAppPrmProp] Script Date: 25/04/2019
16:50:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[UserAppPrmProp](
[RepId] [int] NOT NULL,
[UserGUID] [nchar](40) NOT NULL,
[AppId] [decimal](12, 0) NOT NULL,
[AppPrmGUID] [nchar](40) NOT NULL,
[UserAppPrmToken] [nchar](254) NOT NULL,
[UserAppPrmPropId] [nchar](60) NOT NULL,
[UserAppPrmPropToken] [nchar](40) NOT NULL,
[UserAppPrmPropValue] [nvarchar](400) NULL,
[UserAppPrmPropCreDate] [datetime] NULL,
[UserAppPrmPropCreUser] [nvarchar](250) NULL,
[UserAppPrmPropUpdDate] [datetime] NULL,
[UserAppPrmPropUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[RepId] ASC,
[UserGUID] ASC,
[AppId] ASC,
[AppPrmGUID] ASC,
[UserAppPrmToken] ASC,
[UserAppPrmPropId] ASC,
[UserAppPrmPropToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[UserAtt] Script Date: 25/04/2019 16:50:50
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[UserAtt](
[UserGUID] [nchar](40) NOT NULL,
[UserAttId] [nchar](60) NOT NULL,
[UserAttIsMV] [bit] NOT NULL,
[UserAttVal] [nvarchar](400) NULL,
PRIMARY KEY CLUSTERED

144
(
[UserGUID] ASC,
[UserAttId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[UserAttMultiValue] Script Date: 25/04/2019
16:50:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[UserAttMultiValue](
[UserGUID] [nchar](40) NOT NULL,
[UserAttId] [nchar](60) NOT NULL,
[UserAttMVId] [nchar](60) NOT NULL,
[UserAttMVVal] [nvarchar](400) NULL,
PRIMARY KEY CLUSTERED
(
[UserGUID] ASC,
[UserAttId] ASC,
[UserAttMVId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[UserHisPwd] Script Date: 25/04/2019 16:50:50
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[UserHisPwd](
[UserGUID] [nchar](40) NOT NULL,
[UserHisPwdDate] [datetime] NOT NULL,
[UserHisPwdPwd] [nchar](254) NOT NULL,
PRIMARY KEY CLUSTERED
(
[UserGUID] ASC,
[UserHisPwdDate] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[UserMemAppRole] Script Date: 25/04/2019
16:50:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[UserMemAppRole](
[UserGUID] [nchar](40) NOT NULL,
[RepId] [int] NOT NULL,
[UserMemAppRoleAppId] [decimal](12, 0) NOT NULL,
[UserMemAppRoleRoleId] [decimal](12, 0) NOT NULL,
[UserMemAppRoleCreDate] [datetime] NULL,

145
[UserMemAppRoleCreUser] [nvarchar](250) NULL,
[UserMemAppRoleUpdDate] [datetime] NULL,
[UserMemAppRoleUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[UserGUID] ASC,
[RepId] ASC,
[UserMemAppRoleAppId] ASC,
[UserMemAppRoleRoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[UserMemAppRoleRest] Script Date: 25/04/2019
16:50:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[UserMemAppRoleRest](
[UserGUID] [nchar](40) NOT NULL,
[RepId] [int] NOT NULL,
[UserMemAppRoleAppId] [decimal](12, 0) NOT NULL,
[UserMemAppRoleRoleId] [decimal](12, 0) NOT NULL,
[UserMemAppRoleRestToken] [nchar](40) NOT NULL,
PRIMARY KEY CLUSTERED
(
[UserGUID] ASC,
[RepId] ASC,
[UserMemAppRoleAppId] ASC,
[UserMemAppRoleRoleId] ASC,
[UserMemAppRoleRestToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Table [gam].[UserMemRole] Script Date: 25/04/2019 16:50:50
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[UserMemRole](
[UserGUID] [nchar](40) NOT NULL,
[RepId] [int] NOT NULL,
[UserMemRoleRoleId] [decimal](12, 0) NOT NULL,
[UserMemRoleCreDate] [datetime] NULL,
[UserMemRoleCreUser] [nvarchar](250) NULL,
[UserMemRoleUpdDate] [datetime] NULL,
[UserMemRoleUpdUser] [nvarchar](250) NULL,
PRIMARY KEY CLUSTERED
(
[UserGUID] ASC,
[RepId] ASC,
[UserMemRoleRoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

146
GO
/****** Object: Table [gam].[UserRepository] Script Date: 25/04/2019
16:50:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [gam].[UserRepository](
[UserGUID] [nchar](40) NOT NULL,
[RepId] [int] NOT NULL,
[UserRepSecPolId] [int] NULL,
[UserRepMainRoleId] [decimal](12, 0) NULL,
[UserRepCreDate] [datetime] NULL,
[UserRepCreUser] [nvarchar](250) NULL,
[UserRepUpdDate] [datetime] NULL,
[UserRepUpdUser] [nvarchar](250) NULL,
[UserRepRecPwdAns] [nchar](254) NULL,
[UserRepQstUserId] [int] NULL,
PRIMARY KEY CLUSTERED
(
[UserGUID] ASC,
[RepId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object: Index [IAGENDA1] Script Date: 25/04/2019 16:50:50 ******/
CREATE NONCLUSTERED INDEX [IAGENDA1] ON [dbo].[Agenda]
(
[OdontologoId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IAGENDA2] Script Date: 25/04/2019 16:50:50 ******/
CREATE NONCLUSTERED INDEX [IAGENDA2] ON [dbo].[Agenda]
(
[PacienteID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [ICAJA1] Script Date: 25/04/2019 16:50:50 ******/
CREATE NONCLUSTERED INDEX [ICAJA1] ON [dbo].[Caja]
(
[CajeroId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [ICAJERO1] Script Date: 25/04/2019 16:50:50 ******/
CREATE NONCLUSTERED INDEX [ICAJERO1] ON [dbo].[Cajero]
(
[SucursalId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO

147
/****** Object: Index [ICAJERO2] Script Date: 25/04/2019 16:50:50 ******/
CREATE NONCLUSTERED INDEX [ICAJERO2] ON [dbo].[Cajero]
(
[usuarioId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IDETALLADECAJA1] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IDETALLADECAJA1] ON [dbo].[DetallaDeCaja]
(
[ConceptoId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IFOTOS1] Script Date: 25/04/2019 16:50:50 ******/
CREATE NONCLUSTERED INDEX [IFOTOS1] ON [dbo].[fotos]
(
[PacienteID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IHISTORICOPACIENTE1] Script Date: 25/04/2019
16:50:50 ******/
CREATE NONCLUSTERED INDEX [IHISTORICOPACIENTE1] ON [dbo].[historicopaciente]
(
[AgendaId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IHISTORICOPACIENTE2] Script Date: 25/04/2019
16:50:50 ******/
CREATE NONCLUSTERED INDEX [IHISTORICOPACIENTE2] ON [dbo].[historicopaciente]
(
[tratamientosid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IODONTOLOGOESPECIALIDAD1] Script Date: 25/04/2019
16:50:50 ******/
CREATE NONCLUSTERED INDEX [IODONTOLOGOESPECIALIDAD1] ON [dbo].
[OdontologoEspecialidad]
(
[EspecialidadID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IAPPAUTHREQ1] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IAPPAUTHREQ1] ON [gam].[AppAuthReq]
(

148
[RepId] ASC,
[AppId] ASC,
[AppPrmGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IAPPLICATIONBASE] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IAPPLICATIONBASE] ON [gam].[Application]
(
[RepId] ASC,
[AppBaseAppId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IAPPLICATIONPAR] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IAPPLICATIONPAR] ON [gam].[Application]
(
[RepId] ASC,
[AppParAppId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IAPPLICATIONTYPE] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IAPPLICATIONTYPE] ON [gam].[Application]
(
[RepId] ASC,
[AppTypeId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UAPPLICATIONCLIID] Script Date: 25/04/2019 16:50:50
******/
CREATE UNIQUE NONCLUSTERED INDEX [UAPPLICATIONCLIID] ON [gam].[Application]
(
[RepId] ASC,
[AppCliId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UAPPLICATIONGUID] Script Date: 25/04/2019 16:50:50
******/
CREATE UNIQUE NONCLUSTERED INDEX [UAPPLICATIONGUID] ON [gam].[Application]
(
[RepId] ASC,
[AppGUID] ASC

149
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UAPPLICATIONNAME] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [UAPPLICATIONNAME] ON [gam].[Application]
(
[RepId] ASC,
[AppName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UAPPMENUGUID] Script Date: 25/04/2019 16:50:50
******/
CREATE UNIQUE NONCLUSTERED INDEX [UAPPMENUGUID] ON [gam].[AppMenu]
(
[RepId] ASC,
[AppId] ASC,
[AppMnuGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UAPPMENUTOKEN] Script Date: 25/04/2019 16:50:50
******/
CREATE UNIQUE NONCLUSTERED INDEX [UAPPMENUTOKEN] ON [gam].[AppMenu]
(
[RepId] ASC,
[AppId] ASC,
[AppMnuToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IAPPMENUOPTION2] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IAPPMENUOPTION2] ON [gam].[AppMenuOption]
(
[RepId] ASC,
[AppMnuOptRelAppId] ASC,
[AppMnuOptRelMnuId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO

150
/****** Object: Index [IAPPMENUOPTION3] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IAPPMENUOPTION3] ON [gam].[AppMenuOption]
(
[RepId] ASC,
[AppMnuOptRelAppId] ASC,
[AppMnuOptRelPrmGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IAPPPERMISSION1] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IAPPPERMISSION1] ON [gam].[AppPermission]
(
[RepId] ASC,
[AppId] ASC,
[AppPrmTokenTypeGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IAPPPERMISSION2] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IAPPPERMISSION2] ON [gam].[AppPermission]
(
[RepId] ASC,
[AppId] ASC,
[AppPrmCurEnvId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UAPPPERMISSIONNAME] Script Date: 25/04/2019
16:50:50 ******/
CREATE UNIQUE NONCLUSTERED INDEX [UAPPPERMISSIONNAME] ON [gam].[AppPermission]
(
[RepId] ASC,
[AppId] ASC,
[AppPrmName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IAPPPRMMEMPRM2] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IAPPPRMMEMPRM2] ON [gam].[AppPrmMemPrm]
(
[RepId] ASC,
[AppId] ASC,
[AppPrmMemPrmChild] ASC

151
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UAPPPRMTOKENTYPEELE] Script Date: 25/04/2019
16:50:50 ******/
CREATE NONCLUSTERED INDEX [UAPPPRMTOKENTYPEELE] ON [gam].[AppPrmTokenTypeEle]
(
[RepId] ASC,
[AppId] ASC,
[AppPrmTokenTypeGUID] ASC,
[AppPrmTokenEleOrder] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IAPPROLE1] Script Date: 25/04/2019 16:50:50 ******/
CREATE NONCLUSTERED INDEX [IAPPROLE1] ON [gam].[AppRole]
(
[RepId] ASC,
[AppRoleAppId] ASC,
[AppRoleTokenTypeGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IAPPROLEROLE] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IAPPROLEROLE] ON [gam].[AppRole]
(
[RepId] ASC,
[AppRoleRoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UAPPTYPEACTGUID] Script Date: 25/04/2019 16:50:50
******/
CREATE UNIQUE NONCLUSTERED INDEX [UAPPTYPEACTGUID] ON [gam].[AppTypeAction]
(
[RepId] ASC,
[AppTypeActGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IAPPTYPEPERMISSION1] Script Date: 25/04/2019
16:50:50 ******/
CREATE NONCLUSTERED INDEX [IAPPTYPEPERMISSION1] ON [gam].[AppTypePermission]
(
[RepId] ASC,

152
[AppTypeId] ASC,
[AppTypeActId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IAPPTYPEPERMISSION2] Script Date: 25/04/2019
16:50:50 ******/
CREATE NONCLUSTERED INDEX [IAPPTYPEPERMISSION2] ON [gam].[AppTypePermission]
(
[RepId] ASC,
[AppTypeId] ASC,
[AppTypeResId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UAPPTYPERESGUID] Script Date: 25/04/2019 16:50:50
******/
CREATE UNIQUE NONCLUSTERED INDEX [UAPPTYPERESGUID] ON [gam].[AppTypeResource]
(
[RepId] ASC,
[AppTypeResGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IAUDITORY1] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IAUDITORY1] ON [gam].[Auditory]
(
[AudActId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UAUTTYPEDSC] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [UAUTTYPEDSC] ON [gam].[AuthenticationType]
(
[RepId] ASC,
[AutTypeDsc] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IOAUTHGRANTUSERAPP1] Script Date: 25/04/2019
16:50:50 ******/
CREATE NONCLUSTERED INDEX [IOAUTHGRANTUSERAPP1] ON [gam].[OauthGrantUserApp]
(
[UserGUID] ASC,

153
[RepId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IOAUTHGRANTUSERAPP2] Script Date: 25/04/2019
16:50:50 ******/
CREATE NONCLUSTERED INDEX [IOAUTHGRANTUSERAPP2] ON [gam].[OauthGrantUserApp]
(
[RepId] ASC,
[AppId] ASC,
[AppPrmGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UOAUTHGRANTUSERAPP] Script Date: 25/04/2019
16:50:50 ******/
CREATE NONCLUSTERED INDEX [UOAUTHGRANTUSERAPP] ON [gam].[OauthGrantUserApp]
(
[RepId] ASC,
[UserGUID] ASC,
[AppId] ASC,
[OGUserAppStatus] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UOAUTHGRANTUSERAPPTOKEN] Script Date: 25/04/2019
16:50:50 ******/
CREATE NONCLUSTERED INDEX [UOAUTHGRANTUSERAPPTOKEN] ON [gam].
[OauthGrantUserApp]
(
[RepId] ASC,
[OGUserAppSesToken] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IREPOSITORY] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IREPOSITORY] ON [gam].[Repository]
(
[RepId] ASC,
[RepAnoUserSDRoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

154
GO
/****** Object: Index [IREPOSITORYATYPE] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IREPOSITORYATYPE] ON [gam].[Repository]
(
[RepId] ASC,
[RepDefAutTypeName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IREPOSITORYROLE] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IREPOSITORYROLE] ON [gam].[Repository]
(
[RepId] ASC,
[RepDefRoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IREPOSITORYSECPOL] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IREPOSITORYSECPOL] ON [gam].[Repository]
(
[RepId] ASC,
[RepDefSecPolId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UREPGIUD] Script Date: 25/04/2019 16:50:50 ******/
CREATE UNIQUE NONCLUSTERED INDEX [UREPGIUD] ON [gam].[Repository]
(
[RepGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UREPOSITORYCONNUSER] Script Date: 25/04/2019
16:50:50 ******/
CREATE UNIQUE NONCLUSTERED INDEX [UREPOSITORYCONNUSER] ON [gam].
[RepositoryConnection]
(
[RepId] ASC,
[RepConUser] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO

155
/****** Object: Index [IREPOSITORYCOUNTRY1] Script Date: 25/04/2019
16:50:50 ******/
CREATE NONCLUSTERED INDEX [IREPOSITORYCOUNTRY1] ON [gam].[RepositoryCountry]
(
[CountryId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UREPQSTUSERGUID] Script Date: 25/04/2019 16:50:50
******/
CREATE UNIQUE NONCLUSTERED INDEX [UREPQSTUSERGUID] ON [gam].[RepQuestionUser]
(
[RepId] ASC,
[QstUserGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Index [IROLESECPOL] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IROLESECPOL] ON [gam].[Role]
(
[RepId] ASC,
[RoleSecPolId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UROLEEXTID] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [UROLEEXTID] ON [gam].[Role]
(
[RepId] ASC,
[RoleExtId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UROLEGUID] Script Date: 25/04/2019 16:50:50 ******/
CREATE UNIQUE NONCLUSTERED INDEX [UROLEGUID] ON [gam].[Role]
(
[RepId] ASC,
[RoleGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO

156
/****** Object: Index [IROLEAPPPRM3] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IROLEAPPPRM3] ON [gam].[RoleAppPrm]
(
[RepId] ASC,
[AppId] ASC,
[AppPrmGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IROLEAPPPRM14] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IROLEAPPPRM14] ON [gam].[RoleAppTypePrm]
(
[RepId] ASC,
[AppTypeId] ASC,
[AppTypePrmId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IROLEMEMROLE2] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IROLEMEMROLE2] ON [gam].[RoleMemRole]
(
[RepId] ASC,
[RoleMemRoleChild] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [ISESBRW] Script Date: 25/04/2019 16:50:50 ******/
CREATE NONCLUSTERED INDEX [ISESBRW] ON [gam].[Session]
(
[BrwId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [ISESSION] Script Date: 25/04/2019 16:50:50 ******/
CREATE NONCLUSTERED INDEX [ISESSION] ON [gam].[Session]
(
[UserGUID] ASC,
[RepId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [ISESSION1] Script Date: 25/04/2019 16:50:50 ******/
CREATE NONCLUSTERED INDEX [ISESSION1] ON [gam].[Session]
(
[OpeSysId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO

157
/****** Object: Index [ISESHISTORYBRW] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [ISESHISTORYBRW] ON [gam].[SessionHistory]
(
[BrwId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [ISESHISTORYOS] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [ISESHISTORYOS] ON [gam].[SessionHistory]
(
[OpeSysId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [ISESHISUSER] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [ISESHISUSER] ON [gam].[SessionHistory]
(
[UserGUID] ASC,
[RepId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IUSERCOUNTRY] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IUSERCOUNTRY] ON [gam].[User]
(
[CountryId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UUSEREMAIL] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [UUSEREMAIL] ON [gam].[User]
(
[UserNameSpace] ASC,
[UserAutTypeName] ASC,
[UserEMail] ASC,
[UserIsDlt] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

158
GO
/****** Object: Index [UUSEREXTID] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [UUSEREXTID] ON [gam].[User]
(
[UserNameSpace] ASC,
[UserAutTypeName] ASC,
[UserExtId] ASC,
[UserIsDlt] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UUSERLOGIN] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [UUSERLOGIN] ON [gam].[User]
(
[UserNameSpace] ASC,
[UserAutTypeName] ASC,
[UserName] ASC,
[UserIsDlt] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IUSERAPPPRM1] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IUSERAPPPRM1] ON [gam].[UserAppPrm]
(
[RepId] ASC,
[AppId] ASC,
[AppPrmGUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [IUSERAPPPRM2] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IUSERAPPPRM2] ON [gam].[UserAppPrm]
(
[UserGUID] ASC,
[RepId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
SET ANSI_PADDING ON

GO
/****** Object: Index [UUSERHISPWD] Script Date: 25/04/2019 16:50:50
******/

159
CREATE NONCLUSTERED INDEX [UUSERHISPWD] ON [gam].[UserHisPwd]
(
[UserGUID] ASC,
[UserHisPwdDate] DESC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IUSERMEMAPPROLE1] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IUSERMEMAPPROLE1] ON [gam].[UserMemAppRole]
(
[RepId] ASC,
[UserMemAppRoleAppId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IUSERMEMROLEROLE] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IUSERMEMROLEROLE] ON [gam].[UserMemRole]
(
[RepId] ASC,
[UserMemRoleRoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IUSERREPOSITORY] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IUSERREPOSITORY] ON [gam].[UserRepository]
(
[RepId] ASC,
[UserRepQstUserId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IUSERREPOSITORY1] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IUSERREPOSITORY1] ON [gam].[UserRepository]
(
[RepId] ASC,
[UserRepSecPolId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
/****** Object: Index [IUSERREPOSITORY2] Script Date: 25/04/2019 16:50:50
******/
CREATE NONCLUSTERED INDEX [IUSERREPOSITORY2] ON [gam].[UserRepository]
(
[RepId] ASC,
[UserRepMainRoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Agenda] WITH CHECK ADD CONSTRAINT [IAGENDA1] FOREIGN
KEY([OdontologoId])

160
REFERENCES [dbo].[Odontologo] ([OdontologoId])
GO
ALTER TABLE [dbo].[Agenda] CHECK CONSTRAINT [IAGENDA1]
GO
ALTER TABLE [dbo].[Agenda] WITH CHECK ADD CONSTRAINT [IAGENDA2] FOREIGN
KEY([PacienteID])
REFERENCES [dbo].[Paciente] ([PacienteID])
GO
ALTER TABLE [dbo].[Agenda] CHECK CONSTRAINT [IAGENDA2]
GO
ALTER TABLE [dbo].[Caja] WITH CHECK ADD CONSTRAINT [ICAJA1] FOREIGN
KEY([CajeroId])
REFERENCES [dbo].[Cajero] ([CajeroId])
GO
ALTER TABLE [dbo].[Caja] CHECK CONSTRAINT [ICAJA1]
GO
ALTER TABLE [dbo].[Cajero] WITH CHECK ADD CONSTRAINT [ICAJERO1] FOREIGN
KEY([SucursalId])
REFERENCES [dbo].[Sucursal] ([SucursalId])
GO
ALTER TABLE [dbo].[Cajero] CHECK CONSTRAINT [ICAJERO1]
GO
ALTER TABLE [dbo].[Cajero] WITH CHECK ADD CONSTRAINT [ICAJERO2] FOREIGN
KEY([usuarioId])
REFERENCES [dbo].[usuario] ([usuarioId])
GO
ALTER TABLE [dbo].[Cajero] CHECK CONSTRAINT [ICAJERO2]
GO
ALTER TABLE [dbo].[DetallaDeCaja] WITH CHECK ADD CONSTRAINT
[IDETALLADECAJA1] FOREIGN KEY([ConceptoId])
REFERENCES [dbo].[Concepto] ([ConceptoId])
GO
ALTER TABLE [dbo].[DetallaDeCaja] CHECK CONSTRAINT [IDETALLADECAJA1]
GO
ALTER TABLE [dbo].[fotos] WITH CHECK ADD CONSTRAINT [IFOTOS1] FOREIGN
KEY([PacienteID])
REFERENCES [dbo].[Paciente] ([PacienteID])
GO
ALTER TABLE [dbo].[fotos] CHECK CONSTRAINT [IFOTOS1]
GO
ALTER TABLE [dbo].[fotosdet] WITH CHECK ADD CONSTRAINT [IFOTOSDET1] FOREIGN
KEY([fotosid])
REFERENCES [dbo].[fotos] ([fotosid])
GO
ALTER TABLE [dbo].[fotosdet] CHECK CONSTRAINT [IFOTOSDET1]
GO
ALTER TABLE [dbo].[historicopaciente] WITH CHECK ADD CONSTRAINT
[IHISTORICOPACIENTE1] FOREIGN KEY([AgendaId])
REFERENCES [dbo].[Agenda] ([AgendaId])
GO
ALTER TABLE [dbo].[historicopaciente] CHECK CONSTRAINT [IHISTORICOPACIENTE1]
GO
ALTER TABLE [dbo].[historicopaciente] WITH CHECK ADD CONSTRAINT
[IHISTORICOPACIENTE2] FOREIGN KEY([tratamientosid])
REFERENCES [dbo].[tratamientos] ([tratamientosid])
GO
ALTER TABLE [dbo].[historicopaciente] CHECK CONSTRAINT [IHISTORICOPACIENTE2]
GO
ALTER TABLE [dbo].[OdontologoEspecialidad] WITH CHECK ADD CONSTRAINT
[IODONTOLOGOESPECIALIDAD1] FOREIGN KEY([EspecialidadID])

161
REFERENCES [dbo].[Especialidad] ([EspecialidadID])
GO
ALTER TABLE [dbo].[OdontologoEspecialidad] CHECK CONSTRAINT
[IODONTOLOGOESPECIALIDAD1]
GO
ALTER TABLE [dbo].[OdontologoEspecialidad] WITH CHECK ADD CONSTRAINT
[IODONTOLOGOESPECIALIDAD2] FOREIGN KEY([OdontologoId])
REFERENCES [dbo].[Odontologo] ([OdontologoId])
GO
ALTER TABLE [dbo].[OdontologoEspecialidad] CHECK CONSTRAINT
[IODONTOLOGOESPECIALIDAD2]
GO
USE [master]
GO
ALTER DATABASE [odonto] SET READ_WRITE
GO

162
5.4.2 Línea de código Detalle de caja
<table id="TableMain" class="TableBorder100x100">
<tbody>
<tr>
<td>
<table id="TableToolbar" class="ViewTable">
<tbody>
<tr>
<td>
<div id="SectionToolbar" class="ToolbarMain"
style="WHITE-SPACE: nowrap"><img id="btn_first" title="GXM_first"
class="ImageHandCenter" hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\First.first.png"
imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-48"
eventgx="First" /><img id="btn_first_separator" class="ImageTop"
hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\toolbarseparator.toolbarsepara
tor.gif" imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-80"
eventgx="First" /><img id="btn_previous" title="GXM_previous"
class="ImageHandCenter" hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\Previous.previous.png"
imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-59"
eventgx="Previous" /><img id="btn_previous_separator"
class="ImageTop" hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\toolbarseparator.toolbarsepara
tor.gif" imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-80"
eventgx="Previous" /><img id="btn_next" title="GXM_next"
class="ImageHandCenter" hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\Next.next.png"
imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-57"
eventgx="Next" /><img id="btn_next_separator" class="ImageTop"
hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\toolbarseparator.toolbarsepara
tor.gif" imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-80"
eventgx="Next" /><img id="btn_last" title="GXM_last"
class="ImageHandCenter" hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\Last.last.png"
imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-53"
eventgx="Last" /><img id="btn_last_separator" class="ImageTop"
hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\toolbarseparator.toolbarsepara
tor.gif" imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-80"
eventgx="Last" /><img id="btn_select" title="GX_BtnSelect"
class="ImageHandCenter" hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\Select.select.png"
imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-65"
eventgx="Select" /><img id="btn_select_separator" class="ImageTop"
hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\toolbarseparator.toolbarsepara
tor.gif" imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-80"
eventgx="Select" /><img id="btn_enter2" title="GX_BtnEnter"
class="ImageHandCenter" hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\Save.save.png"
imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-64"
eventgx="Enter" /><img id="btn_enter2_separator" class="ImageTop"
hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\toolbarseparator.toolbarsepara

163
tor.gif" imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-80"
eventgx="Enter" /><img id="btn_cancel2" title="GX_BtnCancel"
class="ImageHandCenter" hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\Cancel.Cancel.png"
imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-41"
eventgx="Cancel" /><img id="btn_cancel2_separator" class="ImageTop"
hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\toolbarseparator.toolbarsepara
tor.gif" imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-80"
eventgx="Cancel" /><img id="btn_delete2" title="GX_BtnDelete"
class="ImageHandCenter" hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\ActionDelete.ActionDelete.png"
imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-26"
eventgx="Delete" /><img id="btn_delete2_separator" class="ImageTop"
hspace="0"
src="C:\Users\Joel\AppData\Local\Temp\toolbarseparator.toolbarsepara
tor.gif" imagereference="9fb193d9-64a4-4d30-b129-ff7c76830f7e-80"
eventgx="Delete" />
</div></td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
<fieldset id="GroupData" class="Group"
captionexpression="<Tokens><Token><Type>Constant</Type><Data><!
[CDATA[Detalla De Caja]]></Data></Token></Tokens>">
<legend class="GroupTitle" contenteditable="false">Detalla
De Caja</legend>
<table id="Table1" class="Table">
<tbody>
<tr>
<td><span contenteditable="false"
gxprop="ControlName=ctlError" gxcontrol="ErrorViewer">
<ul class="ErrorViewer" style="BACKGROUND: none
transparent scroll repeat 0% 0%">
<li>Errorviewer: ctlError</li>
</ul></span></td>
</tr>
<tr>
<td>
<table id="Table2" class="Table">
<tbody>
<tr>
<td class="td5" style="WHITE-SPACE: nowrap"
valign="top"><span class="TextBlock" contenteditable="false"
gxprop="id=TextBlockDetallaDeCajaId;CaptionExpression=<Tokens><Token
><Type>Attribute</Type><Data><!
[CDATA[43]]></Data></Token><Token><Type>Property</Type><Data><!
[CDATA[ContextualTitle]]></Data></Token></Tokens>"
gxcontrol="TextBlock">Caja Id</span></td>
<td style="WHITE-SPACE: nowrap">
<input class="Attribute"
contenteditable="false" size="4" value="DetallaDeCajaId"
gxprop="AttID=att:43" gxcontrol="Attribute" /></td>
</tr>
<tr>

164
<td class="td5" style="WHITE-SPACE: nowrap"
valign="top"><span class="TextBlock" contenteditable="false"
gxprop="id=TextBlockConceptoId;CaptionExpression=<Tokens><Token><Typ
e>Attribute</Type><Data><!
[CDATA[39]]></Data></Token><Token><Type>Property</Type><Data><!
[CDATA[Title]]></Data></Token></Tokens>"
gxcontrol="TextBlock">Concepto Id</span></td>
<td style="WHITE-SPACE: nowrap">
<input class="Attribute"
contenteditable="false" size="4" value="ConceptoId"
gxprop="AttID=att:39" gxcontrol="Attribute" /></td>
</tr>
<tr>
<td class="td5" style="WHITE-SPACE: nowrap"
valign="top"><span class="TextBlock" contenteditable="false"
gxprop="id=TextBlockDetallaDeCajaIva5;CaptionExpression=<Tokens><Tok
en><Type>Attribute</Type><Data><!
[CDATA[45]]></Data></Token><Token><Type>Property</Type><Data><!
[CDATA[ContextualTitle]]></Data></Token></Tokens>"
gxcontrol="TextBlock">Caja Iva5</span></td>
<td style="WHITE-SPACE: nowrap">
<input class="Attribute"
contenteditable="false" value="DetallaDeCajaIva5"
gxprop="AttID=att:45" gxcontrol="Attribute" /></td>
</tr>
<tr>
<td class="td5" style="WHITE-SPACE: nowrap"
valign="top"><span class="TextBlock" contenteditable="false"
gxprop="id=TextBlockDetallaDeCajaIva10;CaptionExpression=<Tokens><To
ken><Type>Attribute</Type><Data><!
[CDATA[46]]></Data></Token><Token><Type>Property</Type><Data><!
[CDATA[ContextualTitle]]></Data></Token></Tokens>"
gxcontrol="TextBlock">Caja Iva10</span></td>
<td style="WHITE-SPACE: nowrap">
<input class="Attribute"
contenteditable="false" value="DetallaDeCajaIva10"
gxprop="AttID=att:46" gxcontrol="Attribute" /></td>
</tr>
<tr>
<td class="td5" style="WHITE-SPACE: nowrap"
valign="top"><span class="TextBlock" contenteditable="false"
gxprop="id=TextBlockDetallaDeCajaIvaEx;CaptionExpression=<Tokens><To
ken><Type>Attribute</Type><Data><!
[CDATA[47]]></Data></Token><Token><Type>Property</Type><Data><!
[CDATA[ContextualTitle]]></Data></Token></Tokens>"
gxcontrol="TextBlock">Iva Ex</span></td>
<td style="WHITE-SPACE: nowrap">
<input class="Attribute"
contenteditable="false" value="DetallaDeCajaIvaEx"
gxprop="AttID=att:47" gxcontrol="Attribute" /></td>
</tr>
<tr>
<td class="td5" style="WHITE-SPACE: nowrap"
valign="top"><span class="TextBlock" contenteditable="false"
gxprop="id=TextBlockDetallaDeCajaTotal;CaptionExpression=<Tokens><To
ken><Type>Attribute</Type><Data><!
[CDATA[48]]></Data></Token><Token><Type>Property</Type><Data><!
[CDATA[ContextualTitle]]></Data></Token></Tokens>"
gxcontrol="TextBlock">Caja Total</span></td>

165
<td style="WHITE-SPACE: nowrap">
<input class="Attribute"
contenteditable="false" value="DetallaDeCajaTotal"
gxprop="AttID=att:48" gxcontrol="Attribute" /></td>
</tr>
</tbody>
</table></td>
</tr>
<tr>
<td>
<input class="BtnEnter" contenteditable="false"
type="button" value="Confirmar"
gxprop="Event=Enter;Class=BtnEnter;ControlName=btn_enter;CaptionExpr
ession=<Tokens><Token><Type>Constant</Type><Data><!
[CDATA[GX_BtnEnter]]></Data></Token></Tokens>" gxcontrol="Button" />
<input class="BtnCancel" contenteditable="false"
type="button" value="Cancelar"
gxprop="Event=Cancel;Class=BtnCancel;ControlName=btn_cancel;CaptionE
xpression=<Tokens><Token><Type>Constant</Type><Data><!
[CDATA[GX_BtnCancel]]></Data></Token></Tokens>" gxcontrol="Button"
/>
<input class="BtnDelete" contenteditable="false"
type="button" value="Eliminar"
gxprop="Event=Delete;Class=BtnDelete;ControlName=btn_delete;CaptionE
xpression=<Tokens><Token><Type>Constant</Type><Data><!
[CDATA[GX_BtnDelete]]></Data></Token></Tokens>" gxcontrol="Button"
/></td>
</tr>
</tbody>
</table>
</fieldset></td>
</tr>
</tbody>
</table>

166
5.4.3 Manual de Usuario

Sistema Informático Odonline

Manual de instrucciones

2019

167
1. Ingresar al Sistema

Para ingresar al sistema es necesario iniciar sesión con un usuario y contraseña

168
Loguearse

Formulario de inicio de Sesión

Formulario donde se
ingresan las credenciales de usuario

169
Mensaje de error

Validación en caso de ingresar credenciales incorrectas

Botón Ingresar

Ingresar al sistema

Mantener conectado

Mantiene iniciada la sesión

170
2. Pantalla de Inicio

En la pantalla de inicio tenemos una vista previa de las citas agendadas para la
fecha actual y posteriores

171
Home

Fecha de búsqueda

Aquí podemos ingresar la fecha en la que queremos consultar citas


pendientes

Logotipo del Sistema

El logotipo del sistema

Botón Home

172
Ir a la página de inicio

Botón Salir

Cerrar sesión

Tabla de Bienvenido

Menú y agendas

Menú

173
Menú sin desplegar

Agendamientos del día

Vista de las citas agendadas con los datos del paciente y el odontólogo

Página del Desarrollador

Ir a la página del desarrollador

174
Agendar Consultas

Esta página nos permite agendar consultas

175
Agendas

Buscar por fecha

Menú

176
Botón Agregar

Agrega

Tabla de Reservas

177
Grupo Agenda

Id auto numérico

Buscar Paciente

178
Buscador de Pacientes

Datos de la Agenda

Datos necesarios para el agendamiento

Botón Cancelar

Cancelar

Observación

Observaciones que quisieran resaltar

Botón Confirmar

179
Confirmar

Fecha de Consulta

Hora Consulta

180
Imprimir Fichas

Imprimir Ficha de los pacientes con sus datos y su historial, además de sus anexos

181
Grupo Fichas

Id Paciente

Nombre del paciente

Botón Confirmar

182
Movimientos en caja

Este módulo nos permite realizar cobranzas por los tratamientos realizados, así
como imprimir la factura correspondiente

183
Movimientos en caja

Datos para la factura

Buscador de paciente, tratamiento y tipo de factura

Detalle de factura

184
Detalle de los costos y tratamientos realizados

Suma de totales

Sumas totales de la factura

Botones de comando

Botones para confirmar o cancelar

185

También podría gustarte