Personal tools

Epi:Documentación de entidades y relaciones

From hpcwiki

Jump to: navigation, search

Contents

ETL

Table structure

  • AC: External Medical Practice
  • AT: Transaction
  • AH: Hospitalization
  • ...

Original filesystem structure

Scripts

Shell

* ''' backup_epidemiology_db '''
<verbatim class="bash">
#!/bin/bash  
# Shell Script to create the postgresql database and to import the epidemiology data
# Raúl Ernesto Menéndez-Mora - 7/Apr/2015


#set password for psql service
export PGPASSWORD=psqlpass


#drop database: epidemiology_db
if psql -U postgres -h localhost -l |grep -w "epidemiology_db" > /dev/null;
then
	echo "Droping database: epidemiology_db"
	dropdb -U postgres -h localhost epidemiology_db
fi


#create database: epidemiology_db
time pg_dump -h localhost -U postgres -Fc epidemiology_db > backup_file

</verbatim>


* ''' create_epidemiology_db '''
 #!/bin/bash  
 # Shell Script to create the postgresql database and to import the epidemiology data
 # Raúl Ernesto Menéndez-Mora - 19/Feb/2015
 #set password for psql service
 export PGPASSWORD=psqlpass
 #drop database: epidemiology_db
 if psql -U postgres -h localhost -l |grep -w "epidemiology_db" > /dev/null;
 then
    echo "Droping database: epidemiology_db"
    dropdb -U postgres -h localhost epidemiology_db
 fi
 #create database: epidemiology_db
 echo "Creating database: epidemiology_db"
 createdb -U postgres -h localhost epidemiology_db 
 #run script with database structure
 echo "Run script with database structure: create_epidemiology_db_structure.sql"
 psql -U postgres -h localhost epidemiology_db < 'create_epidemiology_db_structure.sql'
 #run script with database configuration tables' structure
 echo "Run script with database configuration tables' structure: create_epidemiology_db_ref_structure.sql"
 psql -U postgres -h localhost epidemiology_db < 'create_epidemiology_db_ref_structure.sql'
 #run script to alter each table structure to consider the file where the data is coming from
 #echo "Run script with database structure: update_epidemiology_db.sql"
 psql -U postgres -h localhost epidemiology_db < 'update_epidemiology_db.sql'
<<COMMENT1
 #inserting ....
 #psql -c -U postgres epidemiology_db 'COPY US FROM value.txt (FORMAT CSV, DELIMITER(','))'
 #unset the PGPASSWORD variable
 unset PGPASSWORD
 #listing databases running in the server
 #psql -l 
 #COPY weather FROM '/home/user/weather.txt';
 <<COMMENT1
	echo "Current date : $(date) @ $(hostname)"
	echo "Network configuration"
	/sbin/ifconfig
    Master LDAP server : dir1.nixcraft.net.in 
    Add user to master and it will get sync to backup server too
    Profile and active directory hooks are below
	read -p "Please enter the database name  : " db_name
	echo "So you're a $db_name"
	fooVar=$(who)
	echo $fooVar
	create_pgdb() {	
	  echo "echo is Called"
	}
	fooBar() {
	  echo "Functions are FUN!"
	}
	echoFunction;
	fooBar;
	echoFunction;
	# You call functions without (), just the function name then a semicolon.
 COMMENT1
 #clear


*'''create_epidemiology_db_ref_structure'''

SET client_encoding = 'UTF-8';



--tablas de configuración


DROP TABLE IF EXISTS "ref_AMB_REALIZACION";
--ref_AMB_REALIZACION: Ámbito de Realización
CREATE TABLE "ref_AMB_REALIZACION"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_AMB_REALIZACION" ADD CONSTRAINT "ref_AMB_REALIZACION_pkey" PRIMARY KEY ("ID");


DROP TABLE IF EXISTS "ref_CAU_EXTERNA";
--ref_CAU_EXTERNA: Causa externa
CREATE TABLE "ref_CAU_EXTERNA"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_CAU_EXTERNA" ADD CONSTRAINT "ref_CAU_EXTERNA_pkey" PRIMARY KEY ("ID");


DROP TABLE IF EXISTS "ref_CIE_10_RIPS";
--ref_CIE_10_RIPS: Diagnóstico Principal según Clasificación Internacional de Enfermedades (CIE-10)

CREATE TABLE "ref_CIE_10_RIPS"
 (
	"ID"		SERIAL,
	"COD_CIE10"	CHAR(4) UNIQUE NOT NULL, --Está relacionado directamente con AC.COD_DXPPAL
	"DESCRIPCION"	VARCHAR (200) NOT NULL CHECK ("DESCRIPCION" <> '')
);

-- CREATE INDEXES ...
ALTER TABLE "ref_CIE_10_RIPS" ADD CONSTRAINT "ref_CIE_10_RIPS_pkey" PRIMARY KEY ("ID");


DROP TABLE IF EXISTS "ref_COD_ADMINISTRADORA";
--ref_COD_ADMINISTRADORA: Código de la EPS
CREATE TABLE "ref_COD_ADMINISTRADORA"
 (
	"ID"			SERIAL,	
	"COD_ADMINISTRADORA"	VARCHAR(10) UNIQUE NOT NULL, 
	"NIT"			BIGINT DEFAULT 0, 
	"DESCRIPCION"		VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_COD_ADMINISTRADORA" ADD CONSTRAINT "ref_COD_ADMINISTRADORA_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_COD_CONSULTA";
--ref_COD_CONSULTA: Códigos de consultas
CREATE TABLE "ref_COD_CONSULTA"
 (
	"ID"		INTEGER NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_COD_CONSULTA" ADD CONSTRAINT "ref_COD_CONSULTA_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_COD_DEPARTAMENTO";
--ref_COD_DEPARTAMENTO: Códigos de DEPARTAMENTOS
CREATE TABLE "ref_COD_DEPARTAMENTO"
 (
	"ID"		SMALLINT NOT NULL, 
	"DEPARTAMENTO"	VARCHAR (100) NOT NULL CHECK ("DEPARTAMENTO" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_COD_DEPARTAMENTO" ADD CONSTRAINT "ref_COD_DEPARTAMENTO_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_COD_MEDICAMENTO";
--ref_COD_MEDICAMENTO: Códigos de medicamentos
CREATE TABLE "ref_COD_MEDICAMENTO"
 (
	"ID"			SERIAL,
	"COD_MEDICAMENTO" 	VARCHAR(11) UNIQUE NOT NULL,
	"MEDICAMENTO"		VARCHAR (100) NOT NULL CHECK ("MEDICAMENTO" <> ''), 
	"CONCENT_MODOADMINIST"	VARCHAR (100), -- CONCENTRACIÓN Y/O MODO DE ADMINISTRACIÓN
	"DESCRIPCION_USO"	VARCHAR (100) -- tipo de medicamento o para qué enfermedad se usa...
);

-- CREATE INDEXES ...
ALTER TABLE "ref_COD_MEDICAMENTO" ADD CONSTRAINT "ref_COD_MEDICAMENTO_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_COD_MUNICIPIO";
--ref_COD_MUNICIPIO: Códigos de Municipios
CREATE TABLE "ref_COD_MUNICIPIO"
 (
	"ID"		SMALLINT NOT NULL, -- ** TO CHECK ** EXISTEN VARIOS CÓDIGOS REPETIDOS 
	"MUNICIPIO"	VARCHAR (100) NOT NULL CHECK ("MUNICIPIO" <> ''),
	"ID_DEPARTAMENTO" SMALLINT REFERENCES "ref_COD_DEPARTAMENTO"("ID")  -- ** TO CHECK ** NO ESTOY CLARO DEL SIGNIFICADO DE ESTA TABLA
);

-- **TO CHECH ** DESABILITADA LA RESTRICCIÓN POR EL MOMENTO MIENTRAS SE LOGRA DEFINIR POR QUÉ EXISTEN MUNICIPIOS CON CEL MISMO CÓDIGO
-- CREATE INDEXES ...
--ALTER TABLE "ref_COD_MUNICIPIO" ADD CONSTRAINT "ref_COD_MUNICIPIO_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_COD_PROCEDIMIENTO";
--ref_COD_PROCEDIMIENTO: Código del Procedimiento que se realiza (Clasificación Única de Procedimientos de Salud (CUPS) )
CREATE TABLE "ref_COD_PROCEDIMIENTO"
 (
	"ID"			SMALLINT NOT NULL, 
	"COD_PROCEDIMIENTO"	INTEGER UNIQUE NOT NULL,
	"DESCRIPCION"		VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_COD_PROCEDIMIENTO" ADD CONSTRAINT "ref_COD_PROCEDIMIENTO_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_CON_PRENATAL";
--ref_CON_PRENATAL: Control Prenatal
CREATE TABLE "ref_CON_PRENATAL"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	CHAR (2) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_CON_PRENATAL" ADD CONSTRAINT "ref_CON_PRENATAL_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_DES_USUARIO";
--ref_DES_USUARIO: Destino del usuario a la salida de observación
CREATE TABLE "ref_DES_USUARIO"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_DES_USUARIO" ADD CONSTRAINT "ref_DES_USUARIO_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_EST_SALIDA";
--ref_EST_SALIDA: Estado de Salida 
CREATE TABLE "ref_EST_SALIDA"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_EST_SALIDA" ADD CONSTRAINT "ref_EST_SALIDA_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_FIN_CONSULTA";
--ref_FIN_CONSULTA: Finalidad para promoción y prevención
CREATE TABLE "ref_FIN_CONSULTA"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_FIN_CONSULTA" ADD CONSTRAINT "ref_FIN_CONSULTA_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_FIN_PROCEDIMIENTO";
--ref_FIN_PROCEDIMIENTO: Finalidad del procedimiento
CREATE TABLE "ref_FIN_PROCEDIMIENTO"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_FIN_PROCEDIMIENTO" ADD CONSTRAINT "ref_FIN_PROCEDIMIENTO_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_FOR_REALIZACION";
--ref_FOR_REALIZACION: Forma de realizar el acto quirúrgico 
CREATE TABLE "ref_FOR_REALIZACION"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_FOR_REALIZACION" ADD CONSTRAINT "ref_FOR_REALIZACION_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_PER_ATIENDE";
--ref_PER_ATIENDE: Personal que atiende (Diligenciable solo cuando se realicen procedimientos relacionados con el parto. Dejar en blanco cuando no aplique)
CREATE TABLE "ref_PER_ATIENDE"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_PER_ATIENDE" ADD CONSTRAINT "ref_PER_ATIENDE_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_SEXO";
--ref_SEXO: Sexo
CREATE TABLE "ref_SEXO"
 (
	"ID"	SMALLINT NOT NULL, 
	"SEXO"	VARCHAR (100) NOT NULL CHECK ("SEXO" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_SEXO" ADD CONSTRAINT "ref_SEXO_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_TIP_DXPPAL";
--ref_TIP_DXPPAL: Tipo de Diagnóstico Principal
CREATE TABLE "ref_TIP_DXPPAL"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_TIP_DXPPAL" ADD CONSTRAINT "ref_TIP_DXPPAL_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_TIP_IDENTIFICACION";
--ref_TIP_IDENTIFICACION: Tipo de Identificación del usuario
CREATE TABLE "ref_TIP_IDENTIFICACION"
 (
	"ID"			SMALLINT NOT NULL,
	"TIP_IDENTIFICACION"	CHAR (2) UNIQUE NOT NULL, 
	"DESCRIPCION"		VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '')
);

-- CREATE INDEXES ...
ALTER TABLE "ref_TIP_IDENTIFICACION" ADD CONSTRAINT "ref_TIP_IDENTIFICACION_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_TIP_MEDICAMENTO";
--ref_TIP_MEDICAMENTO: Tipo de medicamento
CREATE TABLE "ref_TIP_MEDICAMENTO"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_TIP_MEDICAMENTO" ADD CONSTRAINT "ref_TIP_MEDICAMENTO_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_TIP_SERVICIO";
--ref_TIP_SERVICIO: Tipo de servicio
CREATE TABLE "ref_TIP_SERVICIO"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_TIP_SERVICIO" ADD CONSTRAINT "ref_TIP_SERVICIO_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_TIP_USUARIO";
--ref_TIP_USUARIO: Tipo de usuario
CREATE TABLE "ref_TIP_USUARIO"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_TIP_USUARIO" ADD CONSTRAINT "ref_TIP_USUARIO_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_UNI_MED_EDAD";
--ref_UNI_MED_EDAD: Unidad de medida de edad
CREATE TABLE "ref_UNI_MED_EDAD"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_UNI_MED_EDAD" ADD CONSTRAINT "ref_UNI_MED_EDAD_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_VIA_INGRESO";
--ref_VIA_INGRESO: Vía de Ingreso del Paciente al Hospital
CREATE TABLE "ref_VIA_INGRESO"
 (
	"ID"		SMALLINT NOT NULL, 
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_VIA_INGRESO" ADD CONSTRAINT "ref_VIA_INGRESO_pkey" PRIMARY KEY ("ID");



DROP TABLE IF EXISTS "ref_ZONA";
--ref_ZONA: Tipo de Zona (urbana o rural)
CREATE TABLE "ref_ZONA"
 (
	"ID"		SERIAL NOT NULL, 
	"COD_ZONA"	CHAR(1) UNIQUE NOT NULL,
	"DESCRIPCION"	VARCHAR (100) NOT NULL CHECK ("DESCRIPCION" <> '') 
);

-- CREATE INDEXES ...
ALTER TABLE "ref_ZONA" ADD CONSTRAINT "ref_ZONA_pkey" PRIMARY KEY ("ID");

PostgreSQL

  • ...