Merge branch 'master' into rorden

This commit is contained in:
Roberto Orden Erena
2019-12-14 11:23:42 +01:00
39 changed files with 1348 additions and 644 deletions

View File

@@ -1,20 +1,88 @@
DO
$$
begin
IF NOT EXISTS(SELECT schema_name FROM information_schema.schemata WHERE schema_name = 'myhealth') THEN
CREATE SCHEMA myhealth;
END IF;
IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname='usrmyhealth') THEN
create user usrmyhealth with encrypted password 'myhealth.123';
END IF;
IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname='USER') THEN
create user "USER" with encrypted password 'PASSWORD';
END IF;
GRANT ALL ON SCHEMA myhealth TO "USER";
GRANT ALL ON SCHEMA myhealth TO usrmyhealth;
if exists (SELECT 1 FROM pg_tables WHERE schemaname='myhealth' and tablename='administrator') THEN
drop table myhealth.administrator;
end if;
if exists (SELECT 1 FROM pg_tables WHERE schemaname='myhealth' and tablename='familydoctor') THEN
drop table myhealth.familydoctor;
end if;
if exists (SELECT 1 FROM pg_tables WHERE schemaname='myhealth' and tablename='medicalspecialty') THEN
drop table myhealth.medicalspecialty;
end if;
if exists (SELECT 1 FROM pg_tables WHERE schemaname='myhealth' and tablename='medicaltest') THEN
drop table myhealth.medicaltest;
end if;
if exists (SELECT 1 FROM pg_tables WHERE schemaname='myhealth' and tablename='patient') THEN
drop table myhealth.patient;
end if;
if exists (SELECT 1 FROM pg_tables WHERE schemaname='myhealth' and tablename='primaryhealthcarecenter') THEN
drop table myhealth.primaryhealthcarecenter;
end if;
if exists (SELECT 1 FROM pg_tables WHERE schemaname='myhealth' and tablename='question') THEN
drop table myhealth.question;
end if;
if exists (SELECT 1 FROM pg_tables WHERE schemaname='myhealth' and tablename='response') THEN
drop table myhealth.response;
end if;
if exists (SELECT 1 FROM pg_tables WHERE schemaname='myhealth' and tablename='specialistdoctor') THEN
drop table myhealth.specialistdoctor;
end if;
if exists (SELECT 1 FROM pg_tables WHERE schemaname='myhealth' and tablename='visit') THEN
drop table myhealth.visit;
end if;
/*
DROP TABLE myhealth.Administrator;
DROP TABLE myhealth.FamilyDoctor;
DROP TABLE myhealth.MedicalSpecialty;
DROP TABLE myhealth.MedicalTest;
DROP TABLE myhealth.Patient;
DROP TABLE myhealth.PrimaryHealthCareCenter;
DROP TABLE myhealth.Question;
DROP TABLE myhealth.Response;
DROP TABLE myhealth.SpecialistDoctor;
DROP TABLE myhealth.Visit;
drop table myhealth.administrator;
drop table myhealth.familydoctor;
drop table myhealth.medicalspecialty;
drop table myhealth.medicaltest;
drop table myhealth.patient;
drop table myhealth.primaryhealthcarecenter;
drop table myhealth.question;
drop table myhealth.response;
drop table myhealth.specialistdoctor;
drop table myhealth.visit;
*/
if exists (SELECT 1 FROM pg_sequences WHERE schemaname='myhealth' and sequencename='profesionalnumber') THEN
drop sequence myhealth.profesionalnumber;
end if;
if exists (SELECT 1 FROM pg_sequences WHERE schemaname='myhealth' and sequencename='codigoidentificacionpaciente') THEN
drop sequence myhealth.codigoidentificacionpaciente;
end if;
CREATE SEQUENCE myhealth.ProfesionalNumber
INCREMENT 1
START 1000
MINVALUE 1000
CACHE 1;
CREATE SEQUENCE myhealth.CodigoIdentificacionPaciente
INCREMENT 1
START 1000
MINVALUE 1000
CACHE 1;
-- Table: myhealth.administrator
-- DROP TABLE myhealth.administrator;
CREATE TABLE myhealth.administrator
(
email VARCHAR(120) COLLATE pg_catalog."default" NOT NULL,
@@ -32,17 +100,21 @@ ALTER TABLE myhealth.administrator
CREATE TABLE myhealth.familydoctor
(
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
password VARCHAR(100) COLLATE pg_catalog."default" NOT NULL,
nif VARCHAR(50) COLLATE pg_catalog."default",
surname VARCHAR(100) COLLATE pg_catalog."default",
id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
professionalnumber VARCHAR(15) NOT NULL COLLATE pg_catalog."default",
password VARCHAR(100) NOT NULL COLLATE pg_catalog."default",
nif VARCHAR(50) NOT NULL COLLATE pg_catalog."default",
name VARCHAR(100) NOT NULL COLLATE pg_catalog."default",
surname VARCHAR(100) NOT NULL COLLATE pg_catalog."default",
email VARCHAR(120) COLLATE pg_catalog."default",
name VARCHAR(100) COLLATE pg_catalog."default",
primaryhealthcarecenterid VARCHAR(50) COLLATE pg_catalog."default",
primaryhealthcarecenterid integer,
CONSTRAINT familydoctor_pkey PRIMARY KEY (id)
)
TABLESPACE pg_default;
CREATE UNIQUE INDEX family_doctor_professionaln_index
ON myhealth.familydoctor (professionalnumber);
ALTER TABLE myhealth.familydoctor
OWNER to "USER";
@@ -90,43 +162,33 @@ ALTER TABLE myhealth.medicaltest
CREATE TABLE myhealth.patient
(
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
password VARCHAR(100) COLLATE pg_catalog."default",
nif VARCHAR(50) COLLATE pg_catalog."default",
surname VARCHAR(100) COLLATE pg_catalog."default",
personalIdentificationCode VARCHAR(15) NOT NULL COLLATE pg_catalog."default",
password VARCHAR(100) NOT NULL COLLATE pg_catalog."default",
nif VARCHAR(50) NOT NULL COLLATE pg_catalog."default",
name VARCHAR(100) NOT NULL COLLATE pg_catalog."default",
surname VARCHAR(100) NOT NULL COLLATE pg_catalog."default",
email VARCHAR(120) COLLATE pg_catalog."default",
name VARCHAR(100) COLLATE pg_catalog."default",
familydoctorid INTEGER,
CONSTRAINT patient_pkey PRIMARY KEY (id)
)
TABLESPACE pg_default;
CREATE UNIQUE INDEX patient_pic_index
ON myhealth.patient (personalIdentificationCode);
ALTER TABLE myhealth.patient
OWNER to "USER";
-- Table: myhealth.location
-- DROP TABLE myhealth.location;
CREATE TABLE myhealth.location
(
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
name VARCHAR(100) COLLATE pg_catalog."default" NOT NULL,
CONSTRAINT primarylocation_pkey PRIMARY KEY (id)
)
TABLESPACE pg_default;
ALTER TABLE myhealth.location
OWNER to "USER";
-- Table: myhealth.primaryhealthcarecenter
-- DROP TABLE myhealth.primaryhealthcarecenter;
CREATE TABLE myhealth.primaryhealthcarecenter
(
name VARCHAR(50) COLLATE pg_catalog."default" NOT NULL,
location INTEGER,
CONSTRAINT primaryhealthcarecenter_pkey PRIMARY KEY (name)
id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
name VARCHAR(150) COLLATE pg_catalog."default" NOT NULL,
location VARCHAR(512) COLLATE pg_catalog."default",
CONSTRAINT primaryhealthcarecenter_pkey PRIMARY KEY (id)
)
TABLESPACE pg_default;
@@ -174,16 +236,20 @@ ALTER TABLE myhealth.response
CREATE TABLE myhealth.specialistdoctor
(
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
password VARCHAR(100) COLLATE pg_catalog."default",
nif VARCHAR(50) COLLATE pg_catalog."default",
surname VARCHAR(100) COLLATE pg_catalog."default",
professionalnumber VARCHAR(15) NOT NULL COLLATE pg_catalog."default",
password VARCHAR(100) NOT NULL COLLATE pg_catalog."default",
nif VARCHAR(50) NOT NULL COLLATE pg_catalog."default",
name VARCHAR(100) NOT NULL COLLATE pg_catalog."default",
surname VARCHAR(100) NOT NULL COLLATE pg_catalog."default",
email VARCHAR(120) COLLATE pg_catalog."default",
name VARCHAR(100) COLLATE pg_catalog."default",
medicalspecialtyid INTEGER,
CONSTRAINT specialistdoctor_pkey PRIMARY KEY (id)
)
TABLESPACE pg_default;
CREATE UNIQUE INDEX specialistdoctor_professionaln_index
ON myhealth.specialistdoctor (professionalnumber);
ALTER TABLE myhealth.specialistdoctor
OWNER to "USER";
@@ -207,3 +273,5 @@ TABLESPACE pg_default;
ALTER TABLE myhealth.visit
OWNER to "USER";
END;
$$

View File

@@ -2,8 +2,26 @@
insert into myhealth.administrator (email, password) values ('admin@example.com', '21232F297A57A5A743894A0E4A801FC3');
insert into myhealth.administrator (email, password) values ('marcos@example.com', '21232F297A57A5A743894A0E4A801FC3');
-- Inserta Especialidades médicas
-- Insertar Algunos centros médicos
INSERT INTO myhealth.primaryhealthcarecenter(name, location) VALUES
('CENTRO SAUDE A DOBLADA',' CALLE RUA FAISAN S/N '),
('CENTRO SAUDE BEMBRIVE',' CARRETERA BEMBRIVE 259 '),
('CENTRO SAUDE BOLIVIA',' CALLE PIZARRO 22 '),
('CENTRO SAUDE CASCO VELLO',' PLAZA CONSTITUCION 7 '),
('CENTRO SAUDE COIA',' CALLE PONTEAREAS S/N '),
('CENTRO SAUDE COLMEIRO',' CALLE PINTOR COLMEIRO 11 '),
('CENTRO SAUDE CORUXO',' CALLE RUA JOSE RIVAS CARRASQUEIRA S/N '),
('CENTRO SAUDE LAVADORES',' TRAVESIA BARREIRO 1 36 '),
('CENTRO SAUDE LOPEZ MORA',' CALLE LOPEZ MORA 54 '),
('CENTRO SAUDE MATAMA',' CAMINO CAMIÑO BABIO-AS CARNEIRAS S/N '),
('CENTRO SAUDE NICOLAS PEÑA',' CAMINO CAMIÑO REGUEIRO S/N '),
('CENTRO SAUDE ROSALIA DE CASTRO-BEIRAMAR',' CALLE ROSALIA DE CASTRO 21 '),
('CENTRO SAUDE RUA CUBA',' CALLE CUBA 10 '),
('CENTRO SAUDE SAN PAIO DE NAVIA',' CALLE POZA CABALO S/N '),
('CENTRO SAUDE SARDOMA',' CALLE RUA CANTEIRA DE BALIN 76 '),
('CENTRO SAUDE TEIS',' CALLE ANGELA IGLESIAS REBOLLAR S/N ');
-- Inserta Especialidades médicas
insert into MyHealth.MedicalSpecialty(name, description)
values ('Alergologia','Especialidad médica de Alergologia');
insert into MyHealth.MedicalSpecialty(name, description)