create table afiliado

24
CREATE TABLE AFILIADO ( ID_AFI INTEGER NOT NULL , ID_TIPO_OPE INTEGER NOT NULL , ID_TIPO_DOC INTEGER NOT NULL , COD_AFI VARCHAR2(20) NOT NULL , ID_MOD_COB INTEGER NOT NULL , AP_PATERNO_AFILIADO VARCHAR2(20) NOT NULL , AP_MATERNO_AFILIADO VARCHAR2(20) NOT NULL , NOM_AFI VARCHAR2(20) NOT NULL , TELF_AFI char(9) NULL , FEC_NAC_AFI DATE NULL , SEXO_AFI CHAR(1) NOT NULL , EMAIL_AFI VARCHAR2(30) NULL , CELULAR_AFI CHAR(9) NULL , ID_TIPO INTEGER NOT NULL , ID_EC INTEGER NULL , ID_VINCULO INTEGER NOT NULL , NUM_DOCUMENTO_IDENT CHAR(8) NOT NULL , ID_EMP INTEGER NOT NULL , ID_DERECH INTEGER NOT NULL , ID_DISTR INTEGER NOT NULL , ID__EMP_PRESTADORA INTEGER NOT NULL , ID_PROVI INTEGER NOT NULL , ID_ZONA INTEGER NOT NULL , ID_DEP INTEGER NOT NULL , ID_TIPO_IDENTIDAD INTEGER NOT NULL , ESTADO_AFILIADO VARCHAR2(15) NOT NULL , ID_HI INTEGER NOT NULL , TIPO_MOTIVO_BAJA_DH VARCHAR2(15) NULL ); ALTER TABLE AFILIADO ADD CONSTRAINT UK_EMAIL UNIQUE(EMAIL_AFI); ALTER TABLE AFILIADO ADD CONSTRAINT UK_DNIA UNIQUE(NUM_DOCUMENTO_IDENT); ALTER TABLE AFILIADO ADD CONSTRAINT PK_AFILIADO PRIMARY KEY (ID_AFI); create or replace procedure usp_insetar_AFILIADO(ID_AFI in int, ID_TIPO_OPE in int, ID_TIPO_DOC in int, COD_AFI int varchar2 , ID_MOD_COB in int , AP_PATERNO_AFILIADO in varchar2 , AP_MATERNO_AFILIADO in varchar2 , NOM_AFI in varchar2 , TELF_AFI in char ,

Upload: sky071460

Post on 29-Sep-2015

219 views

Category:

Documents


2 download

DESCRIPTION

afiliado

TRANSCRIPT

CREATE TABLE AFILIADO(ID_AFI INTEGER NOT NULL ,ID_TIPO_OPE INTEGER NOT NULL ,ID_TIPO_DOC INTEGER NOT NULL ,COD_AFI VARCHAR2(20) NOT NULL ,ID_MOD_COB INTEGER NOT NULL ,AP_PATERNO_AFILIADO VARCHAR2(20) NOT NULL ,AP_MATERNO_AFILIADO VARCHAR2(20) NOT NULL ,NOM_AFI VARCHAR2(20) NOT NULL ,TELF_AFI char(9) NULL ,FEC_NAC_AFI DATE NULL ,SEXO_AFI CHAR(1) NOT NULL ,EMAIL_AFI VARCHAR2(30) NULL ,CELULAR_AFI CHAR(9) NULL ,ID_TIPO INTEGER NOT NULL ,ID_EC INTEGER NULL ,ID_VINCULO INTEGER NOT NULL ,NUM_DOCUMENTO_IDENT CHAR(8) NOT NULL ,ID_EMP INTEGER NOT NULL ,ID_DERECH INTEGER NOT NULL ,ID_DISTR INTEGER NOT NULL ,ID__EMP_PRESTADORA INTEGER NOT NULL ,ID_PROVI INTEGER NOT NULL ,ID_ZONA INTEGER NOT NULL ,ID_DEP INTEGER NOT NULL ,ID_TIPO_IDENTIDAD INTEGER NOT NULL ,ESTADO_AFILIADO VARCHAR2(15) NOT NULL ,ID_HI INTEGER NOT NULL ,TIPO_MOTIVO_BAJA_DH VARCHAR2(15) NULL );

ALTER TABLE AFILIADO ADD CONSTRAINT UK_EMAIL UNIQUE(EMAIL_AFI);ALTER TABLE AFILIADO ADD CONSTRAINT UK_DNIA UNIQUE(NUM_DOCUMENTO_IDENT);ALTER TABLE AFILIADO ADD CONSTRAINT PK_AFILIADO PRIMARY KEY (ID_AFI);

create or replace procedure usp_insetar_AFILIADO(ID_AFI in int,ID_TIPO_OPE in int,ID_TIPO_DOC in int,COD_AFI int varchar2 ,ID_MOD_COB in int ,AP_PATERNO_AFILIADO in varchar2 ,AP_MATERNO_AFILIADO in varchar2 ,NOM_AFI in varchar2 ,TELF_AFI in char ,FEC_NAC_AFI in date ,SEXO_AFI in char ,EMAIL_AFI in varchar2 ,CELULAR_AFI in char ,ID_TIPO in int ,ID_EC in int,ID_VINCULO in int ,NUM_DOCUMENTO_IDENT in char,ID_EMP in int ,ID_DERECH in int ,ID_DISTR in int ,ID__EMP_PRESTADORA in int,ID_PROVI in int ,ID_ZONA in int ,ID_DEP in int,ID_TIPO_IDENTIDAD in int ,ESTADO_AFILIADO in int ,ID_HI INTEGER in int ,TIPO_MOTIVO_BAJA_DH in varchar2)ASBEGINinsert into afiliar_derecho_habiente(ID_AFI,ID_TIPO_OPE,ID_TIPO_DOC,COD_AFI ,ID_MOD_COB,AP_PATERNO_AFILIADO,AP_MATERNO_AFILIADO ,NOM_AFI,TELF_AFI,FEC_NAC_AFI ,SEXO_AFI ,EMAIL_AFI ,CELULAR_AFI ,ID_TIPO ,ID_EC ,ID_VINCULO,NUM_DOCUMENTO_IDENT,ID_EMP,ID_DERECH ,ID_DISTR ,ID__EMP_PRESTADORA ,ID_PROVI,ID_ZONA ,ID_DEP ,ID_TIPO_IDENTIDAD ,ESTADO_AFILIADO ,ID_HI INTEGER ,TIPO_MOTIVO_BAJA_DH ) values (.nextVal,ID_TIPO_DOC,COD_AFI ,ID_MOD_COB,AP_PATERNO_AFILIADO,AP_MATERNO_AFILIADO ,NOM_AFI,TELF_AFI,FEC_NAC_AFI ,SEXO_AFI ,EMAIL_AFI ,CELULAR_AFI ,ID_TIPO ,ID_EC ,ID_VINCULO,NUM_DOCUMENTO_IDENT,ID_EMP,ID_DERECH ,ID_DISTR ,ID__EMP_PRESTADORA ,ID_PROVI,ID_ZONA ,ID_DEP ,ID_TIPO_IDENTIDAD ,ESTADO_AFILIADO ,ID_HI INTEGER ,TIPO_MOTIVO_BAJA_DH );COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_AFILIADO;

CREATE TABLE Afiliar_Derecho_Habiente(ID_DERECH INTEGER NOT NULL ,AP_MATERNO_DA VARCHAR2(20) NOT NULL ,AP_PATERNO_DA VARCHAR2(20) NOT NULL ,NOM_DA VARCHAR2(20) NOT NULL ,INIC_VIN_DA DATE NOT NULL ,COD_EST_CIVI VARCHAR2(20) NOT NULL ,ID_VINCULO INTEGER NOT NULL ,ID_EC INTEGER NOT NULL ,COD_DH VARCHAR(20) NOT NULL );

ALTER TABLE Afiliar_Derecho_Habiente ADD CONSTRAINT UK_DH UNIQUE(cod_dh);ALTER TABLE Afiliar_Derecho_Habiente ADD CONSTRAINT PK_Afiliar_Derecho_Habiente PRIMARY KEY (ID_DERECH);create or replace procedure usp_insetar_derecho_habiente(AP_MATERNO_DA in VARCHAR2 ,AP_PATERNO_DA in VARCHAR2,NOM_DA in VARCHAR2,INIC_VIN_DA in DATE ,COD_EST_CIVI in VARCHAR2 ,ID_VINCULO in INT ,ID_EC in INT,COD_DH in VARCHAR2

)ASBEGINinsert into afiliar_derecho_habiente(ID_DERECH,AP_MATERNO_DA ,AP_PATERNO_DA,NOM_DA,INIC_VIN_DA ,COD_EST_CIVI,ID_VINCULO,ID_EC ,COD_DH ) values (.nextVal,AP_MATERNO_DA ,AP_PATERNO_DA,NOM_DA,INIC_VIN_DA ,COD_EST_CIVI,ID_VINCULO,ID_EC ,COD_DH );COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_derecho_habiente;

CREATE TABLE Afiliar_Hijo_Incapacitado(ID_HI INTEGER NOT NULL ,COD_HI VARCHAR2(20) NOT NULL ,AP_PATERNO_HI VARCHAR2(30) NOT NULL ,AP_MATERNO_HI VARCHAR2(30) NOT NULL ,NOM_HI VARCHAR(40) NOT NULL ,NUM_RESOL_HI CHAR(9) NOT NULL ,FEC_NAC_HI DATE NOT NULL ,SEXO_HI CHAR(1) NOT NULL ,ID_TIPO_DOC INTEGER NOT NULL ,DIRECCION VARCHAR2(100) NOT NULL );

ALTER TABLE Afiliar_Hijo_Incapacitado ADD CONSTRAINT UK_NUM_RESOL_HI UNIQUE(cod_hi);ALTER TABLE Afiliar_Hijo_Incapacitado ADD CONSTRAINT PK_Afiliar_Hijo_Incapacitado PRIMARY KEY (ID_HI);create or replace procedure usp_insetar_derecho_habiente(COD_HI in VARCHAR2 ,AP_PATERNO_HI in VARCHAR2 ,AP_MATERNO_HI in VARCHAR2,NOM_HI in VARCHAR,NUM_RESOL_HI in CHAR,FEC_NAC_HI in DATE ,SEXO_HI in CHAR,ID_TIPO_DOC in INT,DIRECCION in VARCHAR2

)ASBEGINinsert into afiliar_derecho_habiente(ID_HI,COD_HI,AP_PATERNO_HI ,AP_MATERNO_HI,NOM_HI ,NUM_RESOL_HI,FEC_NAC_HI ,SEXO_HI ,ID_TIPO_DOC ,DIRECCION ) values (.nextVal,COD_HI,AP_PATERNO_HI ,AP_MATERNO_HI,NOM_HI ,NUM_RESOL_HI,FEC_NAC_HI ,SEXO_HI ,ID_TIPO_DOC ,DIRECCION);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_derecho_habiente;

CREATE TABLE Bitacora(Cod_Usuario VARCHAR2(20) NOT NULL ,AP_PATERNO_Usu VARCHAR2(20) NULL ,AP_MATERNO_Usu VARCHAR2(20) NULL ,NOM_Usu VARCHAR2(20) NULL ,TRANSA VARCHAR2(20) NULL ,FECHA DATE NULL ,USUARIO VARCHAR2(20) NULL ,ESTACION VARCHAR2(20) NULL );

CREATE TABLE Centro_Asistencial(ID_CENT_ASIST INTEGER NOT NULL ,NOM_CENT_ASIST VARCHAR2(20) NULL );ALTER TABLE Afiliar_Hijo_Incapacitado ADD CONSTRAINT UK_NUM_RESOL_HI UNIQUE(NOM_CENT_ASIST);

CREATE UNIQUE INDEX XPKCentro_Asistencial ON Centro_Asistencial(ID_CENT_ASIST ASC);

ALTER TABLE Centro_Asistencial ADD CONSTRAINT XPKCentro_Asistencial PRIMARY KEY (ID_CENT_ASIST);create or replace procedure usp_insetar_Centro_Asistencial(NOM_CENT_ASIST in VARCHAR2)ASBEGINinsert into Centro_Asistencial(ID_CENT_ASIST,NOM_CENT_ASIST) values (.nextVal,NOM_CENT_ASIST);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_Centro_Asistencial;

CREATE TABLE Departamento(ID_DEP INTEGER NOT NULL ,ID_PAIS INTEGER NOT NULL ,NOM_DEP VARCHAR2(20) NOT NULL );

CREATE UNIQUE INDEX XPKDepartamento ON Departamento(ID_DEP ASC);

ALTER TABLE DepartamentoADD CONSTRAINT XPKDepartamento PRIMARY KEY (ID_DEP);create or replace procedure usp_insetar_Departamento(ID_PAIS in INT ,NOM_DEP in VARCHAR2

)ASBEGINinsert into Departamento(ID_DEP,ID_PAIS ,NOM_DEP) values (.nextVal,ID_PAIS ,NOM_DEP);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_Departamento;

CREATE TABLE Distrito(ID_DISTR INTEGER NOT NULL ,ID_PROVI INTEGER NOT NULL ,NOM_DISTR VARCHAR2(35) NOT NULL );

CREATE UNIQUE INDEX XPKDistrito ON Distrito(ID_DISTR ASC);

ALTER TABLE Distrito ADD CONSTRAINT XPKDistrito PRIMARY KEY (ID_DISTR);create or replace procedure usp_insetar_Distrito(ID_PROVI in INT ,NOM_DISTR in VARCHAR2

)ASBEGINinsert into Distrito(ID_DISTR,ID_PROVI,NOM_DISTR) values (.nextVal,ID_PROVI,NOM_DISTR);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_Distrito;

CREATE TABLE Empleado(ID_EMPLEADO INTEGER NOT NULL , COD_EMPLEADO VARCHAR2(10) NOT NULL ,AP_PATERNO_EMPLEADO VARCHAR2(20) NOT NULL ,AP_MATERNO_EMPLEADO VARCHAR2(20) NOT NULL ,NOM_EMPLEADO VARCHAR2(20) NULL ,Fecha_Nac_EMPLEADO DATE NOT NULL ,ARE_ESSALUD_EMPLEADO VARCHAR2(18) NOT NULL ,DEPART_ESSALUD_EMPLEADO VARCHAR2(18) NOT NULL );

CREATE UNIQUE INDEX XPKEmpleado ON Empleado(ID_EMPLEADO ASC);

ALTER TABLE Empleado ADD CONSTRAINT XPKEmpleado PRIMARY KEY (ID_EMPLEADO);

CREATE TABLE Empresa(ID_EMP INTEGER NOT NULL ,NOM_EMP VARCHAR2(35) NOT NULL ,TELF_EMP CHAR(9) NULL ,WEB_EMP VARCHAR(38) NULL ,EMAIL_EMP VARCHAR2(35) NULL ,ID_TIPO_EMP INTEGER NOT NULL ,RUC_EMP CHAR(20) NOT NULL ,RAZON_SOCIAL_EMP VARCHAR2(100) NULL );

CREATE UNIQUE INDEX XPKEmpresa ON Empresa(ID_EMP ASC);

ALTER TABLE Empresa ADD CONSTRAINT XPKEmpresa PRIMARY KEY (ID_EMP);create or replace procedure usp_insetar_Empresa(NOM_EMP in VARCHAR2 ,TELF_EMP in CHAR,WEB_EMP in VARCHAR,EMAIL_EMP in VARCHAR2,ID_TIPO_EMP in INT,RUC_EMP in CHAR(,RAZON_SOCIAL_EMP in VARCHAR2)ASBEGINinsert into Empresa(ID_EMP,NOM_EMP,TELF_EMP,WEB_EMP,EMAIL_EMP,ID_TIPO_EMP,RUC_EMP,RAZON_SOCIAL_EMP) values (.nextVal,NOM_EMP,TELF_EMP,WEB_EMP,EMAIL_EMP,ID_TIPO_EMP,RUC_EMP,RAZON_SOCIAL_EMP);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_Empresa;

CREATE TABLE Empresa_Prestadora(ID__EMP_PRESTADORA INTEGER NOT NULL ,NOM_EMP_PRESTADORA VARCHAR2(28) NOT NULL );

CREATE UNIQUE INDEX XPKEmpresa_Prestadora ON Empresa_Prestadora(ID__EMP_PRESTADORA ASC);

ALTER TABLE Empresa_Prestadora ADD CONSTRAINT XPKEmpresa_Prestadora PRIMARY KEY (ID__EMP_PRESTADORA);create or replace procedure usp_insetar_Empresa_Prestadora(NOM_EMP_PRESTADORA in VARCHAR2

)ASBEGINinsert into Empresa_Prestadora(ID__EMP_PRESTADORA,NOM_EMP_PRESTADORA) values (.nextVal,NOM_EMP_PRESTADORA);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_Empresa_Prestadora;

CREATE TABLE Estado_Civil(ID_EC INTEGER NOT NULL ,NOM_EC VARCHAR2(10) NOT NULL );

CREATE UNIQUE INDEX XPKEstado_Civil ON Estado_Civil(ID_EC ASC);

ALTER TABLE Estado_Civil ADD CONSTRAINT XPKEstado_Civil PRIMARY KEY (ID_EC);create or replace procedure usp_insetar_Estado_Civil(NOM_EC in VARCHAR2)ASBEGINinsert into Estado_Civil(ID_EC,NOM_EC) values (.nextVal,NOM_EC);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_Estado_Civil;

CREATE TABLE Historia_Clinica(ID_HC INTEGER NOT NULL ,ID_CENT_ASIST INTEGER NOT NULL ,ID_CIE10 INTEGER NOT NULL ,COD_HC VARCHAR2(15) NOT NULL ,ID_TES VARCHAR2(20) NOT NULL ,ID_TIP_EMERGENCIA INTEGER NOT NULL ,ENFERMEDAD_ACTUAL_HC VARCHAR2(600) NULL ,ANTECEDENTES_PERSONAL_HC VARCHAR2(500) NULL ,ANTECEDENTES_FAMILIARES_HC VARCHAR2(500) NULL ,REVISION_ANAMNESICA_HC VARCHAR2(500) NULL ,EXAMEN_CLINICO_HC VARCHAR2(500) NULL ,DIAGNOSTICO_HC VARCHAR2(500) NULL ,TRATAMIENTO_INDICACION_HC VARCHAR2(500) NULL ,FECH_HC DATE NULL ,ID_USUARIO INTEGER NOT NULL );

CREATE UNIQUE INDEX XPKHistoria_Clinica ON Historia_Clinica(ID_HC ASC);

ALTER TABLE Historia_Clinica ADD CONSTRAINT XPKHistoria_Clinica PRIMARY KEY (ID_HC);create or replace procedure usp_insetar_Historia_Clinica(ID_HC in INT,ID_CENT_ASIST in INT,ID_CIE10 in INT,COD_HC in VARCHAR2,ID_TES in VARCHAR2,ID_TIP_EMERGENCIA in INT,ENFERMEDAD_ACTUAL_HC in VARCHAR2 ,ANTECEDENTES_PERSONAL_HC in VARCHAR2,ANTECEDENTES_FAMILIARES_HC in VARCHAR2,REVISION_ANAMNESICA_HC in VARCHAR2 ,EXAMEN_CLINICO_HC in VARCHAR2,DIAGNOSTICO_HC in VARCHAR2,TRATAMIENTO_INDICACION_HC in VARCHAR2,FECH_HC in DATE,ID_USUARIO in INT

)ASBEGINinsert into Historia_Clinica(ID_HC,ID_CENT_ASIST ,ID_CIE10,COD_HC ,ID_TES ,ID_TIP_EMERGENCIA ,ENFERMEDAD_ACTUAL_HC ,ANTECEDENTES_PERSONAL_HC,ANTECEDENTES_FAMILIARES_HC,REVISION_ANAMNESICA_HC,EXAMEN_CLINICO_HC,DIAGNOSTICO_HC in VARCHAR2,TRATAMIENTO_INDICACION_HC,FECH_HC ,ID_USUARIO) values (.nextVal,ID_CENT_ASIST ,ID_CIE10,COD_HC ,ID_TES ,ID_TIP_EMERGENCIA ,ENFERMEDAD_ACTUAL_HC ,ANTECEDENTES_PERSONAL_HC,ANTECEDENTES_FAMILIARES_HC,REVISION_ANAMNESICA_HC,EXAMEN_CLINICO_HC,DIAGNOSTICO_HC in VARCHAR2,TRATAMIENTO_INDICACION_HC,FECH_HC ,ID_USUARIO);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_Historia_Clinica;

CREATE TABLE Modalidad_Cobertura(ID_MOD_COB INTEGER NOT NULL ,NOM_MOD_COB VARCHAR2(35) NOT NULL );

CREATE UNIQUE INDEX XPKModalidad_Cobertura ON Modalidad_Cobertura(ID_MOD_COB ASC);

ALTER TABLE Modalidad_Cobertura ADD CONSTRAINT XPKModalidad_Cobertura PRIMARY KEY (ID_MOD_COB);create or replace procedure usp_insetar_mod_cob(nom in varchar2)ASBEGINinsert into modalidad_cobertura(id_mod_cob,nom_mod_cob) values (.nextVal,nom);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_mod_cob;

CREATE TABLE Paciente(ID_PACIENTE INTEGER NOT NULL ,ID_AFI INTEGER NOT NULL ,ID_CENT_ASIST INTEGER NOT NULL ,ID_DERECH INTEGER NOT NULL ,ESTADO_PACIENTE VARCHAR2(15) NOT NULL ,COD_PACIENTE varCHAR(10) NOT NULL ,ID_HI INTEGER NOT NULL ,ID_HC INTEGER NOT NULL ,FECH_REG_PAC DATE NOT NULL );

CREATE UNIQUE INDEX XPKPaciente ON Paciente(ID_PACIENTE ASC);

ALTER TABLE Paciente ADD CONSTRAINT XPKPaciente PRIMARY KEY (ID_PACIENTE);create or replace procedure usp_insetar_Paciente(ID_AFI in INT ,ID_CENT_ASIST in INT ,ID_DERECH in INT ,ESTADO_PACIENTE in VARCHAR2 ,COD_PACIENTE in varCHAR ,ID_HI in INT ,ID_HC in INT ,FECH_REG_PAC in DATE

)ASBEGINinsert into Paciente(ID_PACIENTE,ID_AFI,ID_CENT_ASIST,ID_DERECH,ESTADO_PACIENTE,COD_PACIENTE,ID_HI,ID_HC,FECH_REG_PAC ) values (.nextVal,ID_CENT_ASIST,ID_DERECH,ESTADO_PACIENTE,COD_PACIENTE,ID_HI,ID_HC,FECH_REG_PAC);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_Paciente;

CREATE TABLE Paises(ID_PAIS INTEGER NOT NULL ,NOM_PAIS VARCHAR2(20) NOT NULL );

CREATE UNIQUE INDEX XPKPaises ON Paises(ID_PAIS ASC);

ALTER TABLE Paises ADD CONSTRAINT XPKPaises PRIMARY KEY (ID_PAIS);Create or replace procedure usp_insetar_paises(nom in varchar2)ASBEGINinsert into paises(id_pais,nom_pais) values (se_pais.nextVal,nom);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_paises;

CREATE TABLE Provincia(ID_PROVI INTEGER NOT NULL ,ID_DEP INTEGER NOT NULL ,NOM_PROVINCIA VARCHAR2(35) NOT NULL );

CREATE UNIQUE INDEX XPKProvincia ON Provincia(ID_PROVI ASC);

ALTER TABLE Provincia ADD CONSTRAINT XPKProvincia PRIMARY KEY (ID_PROVI);create or replace procedure usp_insetar_provincia(id_dep in int,nom in varchar2)ASBEGINinsert into provincia(id_provi,id_dep,nom_provincia) values (.nextVal,id_dep,nom);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_provincia;

CREATE TABLE Roles(ID_Rol INTEGER NOT NULL ,NOM_Rol VARCHAR2(20) NULL );

CREATE UNIQUE INDEX XPKRoles ON Roles(ID_Rol ASC);

ALTER TABLE Roles ADD CONSTRAINT XPKRoles PRIMARY KEY (ID_Rol);create or replace procedure usp_insetar_Roles(NOM_Rol in VARCHAR2)ASBEGINinsert into Roles(ID_Rol ,NOM_Rol) values (.nextVal,NOM_Rol);COMMIT;EXCEPTIONWHEN OTHERS THENROLLBACK;END usp_insetar_Roles;

CREATE TABLE Testigo(ID_TES VARCHAR2(20) NOT NULL ,AP_PATERNO_TEST VARCHAR2(20) NULL ,NOM_TEST VARCHAR2(20) NULL ,AP_MATERNO_TEST VARCHAR2(20) NULL ,ID_TIPO_DOC INTEGER NOT NULL ,NUM_DOC_TEST CHAR(8) NULL ,ID_VINCULO INTEGER NOT NULL ,DIRECCION_TEST VARCHAR2(500) NULL ,TELEFON_TEST VARCHAR2(9) NULL );

CREATE UNIQUE INDEX XPKTestigo ON Testigo(ID_TES ASC);

ALTER TABLE Testigo ADD CONSTRAINT XPKTestigo PRIMARY KEY (ID_TES);

CREATE TABLE TIpo_Afiliacion(ID_TIPO INTEGER NOT NULL ,NOM_TIPO VARCHAR2(30) NOT NULL );

CREATE UNIQUE INDEX XPKTIpo_Afiliacion ON TIpo_Afiliacion(ID_TIPO ASC);

ALTER TABLE TIpo_Afiliacion ADD CONSTRAINT XPKTIpo_Afiliacion PRIMARY KEY (ID_TIPO);

CREATE TABLE TIPO_CIE10(ID_CIE10 INTEGER NOT NULL ,NOM_CIE10 VARCHAR2(20) NULL );

CREATE UNIQUE INDEX XPKTIPO_CIE10 ON TIPO_CIE10(ID_CIE10 ASC);

ALTER TABLE TIPO_CIE10 ADD CONSTRAINT XPKTIPO_CIE10 PRIMARY KEY (ID_CIE10);

CREATE TABLE Tipo_Docum_Identidad(ID_TIPO_DOC INTEGER NOT NULL ,NOM_TIPO_DOC VARCHAR2(25) NOT NULL );

CREATE UNIQUE INDEX XPKTipo_Docum_Identidad ON Tipo_Docum_Identidad(ID_TIPO_DOC ASC);

ALTER TABLE Tipo_Docum_Identidad ADD CONSTRAINT XPKTipo_Docum_Identidad PRIMARY KEY (ID_TIPO_DOC);

CREATE TABLE TIPO_EMERGENCIA(ID_TIP_EMERGENCIA INTEGER NOT NULL ,NOM_TIP_EMERGENCIA VARCHAR2(25) NULL );

CREATE UNIQUE INDEX XPKTIPO_EMERGENCIA ON TIPO_EMERGENCIA(ID_TIP_EMERGENCIA ASC);

ALTER TABLE TIPO_EMERGENCIA ADD CONSTRAINT XPKTIPO_EMERGENCIA PRIMARY KEY (ID_TIP_EMERGENCIA);

CREATE TABLE Tipo_Empresa(ID_TIPO_EMP INTEGER NOT NULL ,NOM_TIPO_EMP VARCHAR2(25) NOT NULL );

CREATE UNIQUE INDEX XPKTipo_Empresa ON Tipo_Empresa(ID_TIPO_EMP ASC);

ALTER TABLE Tipo_Empresa ADD CONSTRAINT XPKTipo_Empresa PRIMARY KEY (ID_TIPO_EMP);

CREATE TABLE Tipo_Identidad_Con_Essalud(ID_TIPO_IDENTIDAD INTEGER NOT NULL ,NOM_TIPO_IDENTIDAD VARCHAR2(25) NOT NULL );

CREATE UNIQUE INDEX XPKTipo_Identidad_Con_Essalud ON Tipo_Identidad_Con_Essalud(ID_TIPO_IDENTIDAD ASC);

ALTER TABLE Tipo_Identidad_Con_Essalud ADD CONSTRAINT XPKTipo_Identidad_Con_Essalud PRIMARY KEY (ID_TIPO_IDENTIDAD);

CREATE TABLE Tipo_Operacion(ID_TIPO_OPE INTEGER NOT NULL ,NOM_TIPO_OPE VARCHAR2(7) NOT NULL );

CREATE UNIQUE INDEX XPKTipo_Operacion ON Tipo_Operacion(ID_TIPO_OPE ASC);

ALTER TABLE Tipo_Operacion ADD CONSTRAINT XPKTipo_Operacion PRIMARY KEY (ID_TIPO_OPE);

CREATE TABLE Tipo_Zona(ID_ZONA INTEGER NOT NULL ,NOM_ZONA VARCHAR2(20) NOT NULL );

CREATE UNIQUE INDEX XPKTipo_Zona ON Tipo_Zona(ID_ZONA ASC);

ALTER TABLE Tipo_Zona ADD CONSTRAINT XPKTipo_Zona PRIMARY KEY (ID_ZONA);

CREATE TABLE Usuarios(ID_USUARIO INTEGER NOT NULL ,ID_Rol INTEGER NOT NULL ,USUARIO VARCHAR2(20) NULL ,PASS_USUARIO VARCHAR2(20) NULL ,ID_EMPLEADO INTEGER NOT NULL );

CREATE UNIQUE INDEX XPKUsuario ON Usuario(ID_USUARIO ASC);

ALTER TABLE Usuario ADD CONSTRAINT XPKUsuario PRIMARY KEY (ID_USUARIO);

CREATE TABLE Vinculo(ID_VINCULO INTEGER NOT NULL ,NOM_VINCULO VARCHAR2(25) NOT NULL );

CREATE UNIQUE INDEX XPKVinculo ON Vinculo(ID_VINCULO ASC);

ALTER TABLE Vinculo ADD CONSTRAINT XPKVinculo PRIMARY KEY (ID_VINCULO);

ALTER TABLE AFILIADOADD (CONSTRAINT R_EmpPrest_Afilia FOREIGN KEY (ID__EMP_PRESTADORA) REFERENCES Empresa_Prestadora(ID__EMP_PRESTADORA));

ALTER TABLE AFILIADOADD (CONSTRAINT R_TipIdentConEssalud_Afillia FOREIGN KEY (ID_TIPO_IDENTIDAD) REFERENCES Tipo_Identidad_Con_Essalud(ID_TIPO_IDENTIDAD));

ALTER TABLE AFILIADOADD (CONSTRAINT R_TipAfilia_Afilia FOREIGN KEY (ID_TIPO) REFERENCES TIpo_Afiliacion(ID_TIPO));

ALTER TABLE AFILIADOADD (CONSTRAINT R_95 FOREIGN KEY (ID_EC) REFERENCES Estado_Civil(ID_EC) ON DELETE SET NULL);

ALTER TABLE AFILIADOADD (CONSTRAINT R_Vin_Afilia FOREIGN KEY (ID_VINCULO) REFERENCES Vinculo(ID_VINCULO));

ALTER TABLE AFILIADOADD (CONSTRAINT R_Empresa_Afilia FOREIGN KEY (ID_EMP) REFERENCES Empresa(ID_EMP));

ALTER TABLE AFILIADOADD (CONSTRAINT R_HI_Afilia FOREIGN KEY (ID_HI) REFERENCES Afiliar_Hijo_Incapacitado(ID_HI));

ALTER TABLE AFILIADOADD (CONSTRAINT R_DerecHabient_Afilia FOREIGN KEY (ID_DERECH) REFERENCES Afiliar_Derecho_Habiente(ID_DERECH));

ALTER TABLE AFILIADOADD (CONSTRAINT R_Dist_Afilia FOREIGN KEY (ID_DISTR) REFERENCES Distrito(ID_DISTR));

ALTER TABLE AFILIADOADD (CONSTRAINT R_Prov_Afilia FOREIGN KEY (ID_PROVI) REFERENCES Provincia(ID_PROVI));

ALTER TABLE AFILIADOADD (CONSTRAINT R_Depart_Afilia FOREIGN KEY (ID_DEP) REFERENCES Departamento(ID_DEP));

ALTER TABLE AFILIADOADD (CONSTRAINT R_TipDocIdent_Afilia FOREIGN KEY (ID_TIPO_DOC) REFERENCES Tipo_Docum_Identidad(ID_TIPO_DOC));

ALTER TABLE AFILIADOADD (CONSTRAINT R_ModCobert_Afilia FOREIGN KEY (ID_MOD_COB) REFERENCES Modalidad_Cobertura(ID_MOD_COB));

ALTER TABLE AFILIADOADD (CONSTRAINT R_TipOpe_Afilia FOREIGN KEY (ID_TIPO_OPE) REFERENCES Tipo_Operacion(ID_TIPO_OPE));

ALTER TABLE AFILIADOADD (CONSTRAINT R_TipZona_Afilia FOREIGN KEY (ID_ZONA) REFERENCES Tipo_Zona(ID_ZONA));

ALTER TABLE Afiliar_Derecho_HabienteADD (CONSTRAINT R_VINCULO_DERCHO_HABIENTE FOREIGN KEY (ID_VINCULO) REFERENCES Vinculo(ID_VINCULO));

ALTER TABLE Afiliar_Derecho_HabienteADD (CONSTRAINT R_EstCiv_DercHabient FOREIGN KEY (ID_EC) REFERENCES Estado_Civil(ID_EC));

ALTER TABLE Afiliar_Hijo_IncapacitadoADD (CONSTRAINT R_DocIdent_Afilia FOREIGN KEY (ID_TIPO_DOC) REFERENCES Tipo_Docum_Identidad(ID_TIPO_DOC));

ALTER TABLE DepartamentoADD (CONSTRAINT R_Pais_Depart FOREIGN KEY (ID_PAIS) REFERENCES Paises(ID_PAIS));

ALTER TABLE DistritoADD (CONSTRAINT R_Prov_Distri FOREIGN KEY (ID_PROVI) REFERENCES Provincia(ID_PROVI));

ALTER TABLE EmpresaADD (CONSTRAINT R_TipEmpresa_Empresa FOREIGN KEY (ID_TIPO_EMP) REFERENCES Tipo_Empresa(ID_TIPO_EMP));

ALTER TABLE Historia_ClinicaADD (CONSTRAINT R_Test_HC FOREIGN KEY (ID_TES) REFERENCES Testigo(ID_TES));

ALTER TABLE Historia_ClinicaADD (CONSTRAINT R_TipEmerg_HC FOREIGN KEY (ID_TIP_EMERGENCIA) REFERENCES TIPO_EMERGENCIA(ID_TIP_EMERGENCIA));

ALTER TABLE Historia_ClinicaADD (CONSTRAINT R_Usu_HC FOREIGN KEY (ID_USUARIO) REFERENCES Usuario(ID_USUARIO));

ALTER TABLE Historia_ClinicaADD (CONSTRAINT R_CentAsist_HC FOREIGN KEY (ID_CENT_ASIST) REFERENCES Centro_Asistencial(ID_CENT_ASIST));

ALTER TABLE Historia_ClinicaADD (CONSTRAINT R_TipCIE10_HC FOREIGN KEY (ID_CIE10) REFERENCES TIPO_CIE10(ID_CIE10));

ALTER TABLE PacienteADD (CONSTRAINT R_Afilia_Pac FOREIGN KEY (ID_AFI) REFERENCES AFILIADO(ID_AFI));

ALTER TABLE PacienteADD (CONSTRAINT R_CentAsist_Pac FOREIGN KEY (ID_CENT_ASIST) REFERENCES Centro_Asistencial(ID_CENT_ASIST));

ALTER TABLE PacienteADD (CONSTRAINT R_DH_PAC FOREIGN KEY (ID_DERECH) REFERENCES Afiliar_Derecho_Habiente(ID_DERECH));

ALTER TABLE PacienteADD (CONSTRAINT R_HI_PAC FOREIGN KEY (ID_HI) REFERENCES Afiliar_Hijo_Incapacitado(ID_HI));

ALTER TABLE PacienteADD (CONSTRAINT R_HC_PAC FOREIGN KEY (ID_HC) REFERENCES Historia_Clinica(ID_HC));

ALTER TABLE ProvinciaADD (CONSTRAINT R_Depart_Prov FOREIGN KEY (ID_DEP) REFERENCES Departamento(ID_DEP));

ALTER TABLE TestigoADD (CONSTRAINT R_TipDocIdent_Test FOREIGN KEY (ID_TIPO_DOC) REFERENCES Tipo_Docum_Identidad(ID_TIPO_DOC));

ALTER TABLE TestigoADD (CONSTRAINT R_Vin_Test FOREIGN KEY (ID_VINCULO) REFERENCES Vinculo(ID_VINCULO));

ALTER TABLE UsuarioADD (CONSTRAINT R_Rol_User FOREIGN KEY (ID_Rol) REFERENCES Roles(ID_Rol));

ALTER TABLE UsuarioADD (CONSTRAINT R_Empleado_User FOREIGN KEY (ID_EMPLEADO) REFERENCES Empleado(ID_EMPLEADO));