/* KRDK-XSD-BIALYSTOK */

/* 1. DROP and CREATE new SCHEMA */

DROP SCHEMA IF EXISTS krdk_xsd CASCADE;
CREATE SCHEMA krdk_xsd AUTHORIZATION postgres;


/* 2. CREATE tables, keys, indexes */

CREATE TABLE krdk_xsd.isbt_bloodgrrhkellmiltphen
(
    code                  character(1)          NOT NULL,
    antikell              character(1)          NULL,
    rh_anti_c_capital     character(1)          NULL,
    rh_anti_c             character(1)          NULL,
    rh_anti_e_capital     character(1)          NULL,
    rh_anti_e             character(1)          NULL,
    mi_mur                character(1)          NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_isbt_blood PRIMARY KEY (code)
);

COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.code IS 'Kod wartości';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.antikell IS '"+" - pozytywny
"-" - negatywny
" " - nie testowany lub nie ma zastosowania ';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.rh_anti_c_capital IS '"+" - pozytywny
"-" - negatywny
" " - nie testowany lub nie ma zastosowania ';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.rh_anti_c IS '"+" - pozytywny
"-" - negatywny
" " - nie testowany lub nie ma zastosowania ';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.rh_anti_e_capital IS '"+" - pozytywny
"-" - negatywny
" " - nie testowany lub nie ma zastosowania ';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.rh_anti_e IS '"+" - pozytywny
"-" - negatywny
" " - nie testowany lub nie ma zastosowania
';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.mi_mur IS '"+" - pozytywny
"-" - negatywny
" " - nie testowany lub nie ma zastosowania ';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgrrhkellmiltphen.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE TABLE krdk_xsd.isbt_fin
(
    fin                   character varying(5)   NOT NULL,
    firmname              character varying(100) NOT NULL,
    city                  character varying(60)  NULL,
    stateprovince         character varying(60)  NULL,
    country               character varying(60)  NULL,
    postalcode            character varying(10)  NULL,
    website               character varying(100) NULL,
    isbtstafmemberno      character varying(11)  NOT NULL,
    isbtstafmembernomodyf character varying(11)  NOT NULL,
    dataczasutworzenia    timestamp(0)           NOT NULL,
    dataczasmodyfikacji   timestamp(0)           NOT NULL,
    usunieto              character(1)           NOT NULL,
    lokalizacjafin        character varying(5)   NOT NULL,
    lokalizacjafinmodyf   character varying(5)   NOT NULL,
    CONSTRAINT pk_isbt_fin PRIMARY KEY (fin)
);

COMMENT ON COLUMN krdk_xsd.isbt_fin.fin IS 'Numer identyfikacyjny placówki';
COMMENT ON COLUMN krdk_xsd.isbt_fin.firmname IS 'Nazwa placówki';
COMMENT ON COLUMN krdk_xsd.isbt_fin.city IS 'Miasto';
COMMENT ON COLUMN krdk_xsd.isbt_fin.stateprovince IS 'Prowincja';
COMMENT ON COLUMN krdk_xsd.isbt_fin.country IS 'Kraj';
COMMENT ON COLUMN krdk_xsd.isbt_fin.postalcode IS 'Kod pocztowy';
COMMENT ON COLUMN krdk_xsd.isbt_fin.website IS 'Strona WWW';
COMMENT ON COLUMN krdk_xsd.isbt_fin.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu';
COMMENT ON COLUMN krdk_xsd.isbt_fin.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu';
COMMENT ON COLUMN krdk_xsd.isbt_fin.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_fin.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_fin.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_fin.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_fin.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';



CREATE TABLE krdk_xsd.isbt_groupattribute
(
    groupid               character varying(4)  NOT NULL,
    groupname             character varying(50) NOT NULL,
    groupnamepl           character varying(60) NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_isbt_attribute2 PRIMARY KEY (groupid)
);

COMMENT ON COLUMN krdk_xsd.isbt_groupattribute.groupid IS 'Unique attrform ';
COMMENT ON COLUMN krdk_xsd.isbt_groupattribute.groupname IS 'Nazwa grupy';
COMMENT ON COLUMN krdk_xsd.isbt_groupattribute.groupnamepl IS 'Nazwa grupy PL';
COMMENT ON COLUMN krdk_xsd.isbt_groupattribute.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_groupattribute.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_groupattribute.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_groupattribute.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_groupattribute.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_groupattribute.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_groupattribute.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.isbt_modifier
(
    modifiername          character varying(35) NOT NULL,
    modifiernamepl        character varying(80) NULL,
    aktywny               character(1)          NOT NULL DEFAULT '1'::bpchar,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_isbt_modifier PRIMARY KEY (modifiername)
);

COMMENT ON COLUMN krdk_xsd.isbt_modifier.modifiername IS 'Nazwa modyfikatora';
COMMENT ON COLUMN krdk_xsd.isbt_modifier.modifiernamepl IS 'Nazwa modyfikatora PL';
COMMENT ON COLUMN krdk_xsd.isbt_modifier.aktywny IS 'Informacja, czy aktywny';
COMMENT ON COLUMN krdk_xsd.isbt_modifier.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_modifier.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_modifier.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_modifier.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_modifier.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_modifier.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_modifier.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.isbt_specialtestinggeneral
(
    ncode                 character varying(5)   NOT NULL,
    interpretation        character varying(200) NULL,
    isbtstafmemberno      character varying(11)  NOT NULL,
    isbtstafmembernomodyf character varying(11)  NOT NULL,
    dataczasutworzenia    timestamp(0)           NOT NULL,
    dataczasmodyfikacji   timestamp(0)           NOT NULL,
    usunieto              character(1)           NOT NULL,
    lokalizacjafin        character varying(5)   NOT NULL,
    lokalizacjafinmodyf   character varying(5)   NOT NULL,
    CONSTRAINT pk_isbt_spectest PRIMARY KEY (ncode)
);

COMMENT ON COLUMN krdk_xsd.isbt_specialtestinggeneral.ncode IS 'Unique ISBT 128 special testing code.';
COMMENT ON COLUMN krdk_xsd.isbt_specialtestinggeneral.interpretation IS 'Interpretacja';
COMMENT ON COLUMN krdk_xsd.isbt_specialtestinggeneral.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_specialtestinggeneral.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_specialtestinggeneral.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_specialtestinggeneral.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_specialtestinggeneral.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_specialtestinggeneral.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_specialtestinggeneral.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.isbt_typeofdonationorcollection
(
    id                    bigint                NOT NULL,
    code                  character(1)          NOT NULL,
    "name"                character varying(75) NULL,
    namepl                character varying(70) NOT NULL,
    codepl                character varying(10) NOT NULL,
    aktywny               character(1)          NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_typeofdon1 PRIMARY KEY (id),
    CONSTRAINT uq_isbt_typeofdonc UNIQUE (namepl),
    CONSTRAINT uq_isbt_typeofdonn UNIQUE (codepl)
);
CREATE UNIQUE INDEX idx112301025190000 ON krdk_xsd.isbt_typeofdonationorcollection USING btree (id, code);
CREATE UNIQUE INDEX idx212071407140000 ON krdk_xsd.isbt_typeofdonationorcollection USING btree (id, namepl);

COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.id IS 'Identyfikator typu';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.code IS 'Kod typu donacji lub kolekcji.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.name IS 'Nazwa typu donacji lub kolekcji.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.namepl IS 'Nazwa typu donacji lub kolekcji PL';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.codepl IS 'Kod typu donacji lub kolekcji PL';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.aktywny IS 'Informacja czy aktywny.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';




CREATE TABLE krdk_xsd.isbt_typeofdonationorcollection2
(
    id                    bigint                 NOT NULL,
    "name"                character varying(75)  NULL,
    namepl                character varying(150) NULL,
    isbtstafmemberno      character varying(11)  NOT NULL,
    isbtstafmembernomodyf character varying(11)  NOT NULL,
    dataczasutworzenia    timestamp(0)           NOT NULL,
    dataczasmodyfikacji   timestamp(0)           NOT NULL,
    usunieto              character(1)           NOT NULL,
    lokalizacjafin        character varying(5)   NOT NULL,
    lokalizacjafinmodyf   character varying(5)   NOT NULL,
    CONSTRAINT pk_typeofdon2 PRIMARY KEY (id)
);

COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection2.id IS 'Identyfikator typu donacji lub kolekcji';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection2.name IS 'Nazwa typu donacji lub kolekcji';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection2.namepl IS 'Nazwa typu donacji lub kolekcji PL';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection2.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection2.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection2.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection2.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection2.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection2.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_typeofdonationorcollection2.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.sjednostkamiary
(
    idjednostkimiary      bigint                NOT NULL,
    kodjednostkimiary     character varying(20) NOT NULL,
    nazwajednostki        character varying(60) NULL,
    aktywny               character(1)          NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_sjednostkamiary PRIMARY KEY (idjednostkimiary),
    CONSTRAINT uq_sm_kodjm UNIQUE (kodjednostkimiary)
);
CREATE UNIQUE INDEX idx809012231010000 ON krdk_xsd.sjednostkamiary USING btree (idjednostkimiary, kodjednostkimiary);
CREATE UNIQUE INDEX idx809031946240000 ON krdk_xsd.sjednostkamiary USING btree (idjednostkimiary, nazwajednostki);

COMMENT ON COLUMN krdk_xsd.sjednostkamiary.idjednostkimiary IS 'Identyfikator jednostki miary.';
COMMENT ON COLUMN krdk_xsd.sjednostkamiary.kodjednostkimiary IS 'Kod jednostki miary.';
COMMENT ON COLUMN krdk_xsd.sjednostkamiary.nazwajednostki IS 'Nazwa jednostki miary.';
COMMENT ON COLUMN krdk_xsd.sjednostkamiary.aktywny IS 'Czy pozycja aktywna.';
COMMENT ON COLUMN krdk_xsd.sjednostkamiary.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sjednostkamiary.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sjednostkamiary.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sjednostkamiary.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sjednostkamiary.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.sjednostkamiary.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sjednostkamiary.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE TABLE krdk_xsd.skraj
(
    idkraju               bigint                NOT NULL,
    kodkraju              character varying(5)  NOT NULL,
    nazwakraju            character varying(80) NOT NULL,
    aktywny               character(1)          NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_kraj PRIMARY KEY (idkraju)
);
CREATE UNIQUE INDEX idx111301007220000 ON krdk_xsd.skraj USING btree (idkraju, nazwakraju);

COMMENT ON COLUMN krdk_xsd.skraj.idkraju IS 'Identyfikator kraju';
COMMENT ON COLUMN krdk_xsd.skraj.kodkraju IS 'Kod kraju';
COMMENT ON COLUMN krdk_xsd.skraj.nazwakraju IS 'Nazwa kraju';
COMMENT ON COLUMN krdk_xsd.skraj.aktywny IS 'Informacja czy aktywny';
COMMENT ON COLUMN krdk_xsd.skraj.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu';
COMMENT ON COLUMN krdk_xsd.skraj.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu';
COMMENT ON COLUMN krdk_xsd.skraj.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.skraj.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.skraj.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.skraj.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.skraj.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';



CREATE TABLE krdk_xsd.smetodabadania
(
    idmetodybadania        bigint                NOT NULL,
    kodmetodybadania       character varying(3)  NULL,
    nazwametodybadania     character varying(50) NOT NULL,
    aktywny                character(1)          NULL,
    externalid             character varying(40) NULL,
    idoperatorautworzenia  bigint                NOT NULL,
    idoperatoramodyfikacji bigint                NULL,
    dataczasutworzenia     timestamp(0)          NOT NULL,
    dataczasmodyfikacji    timestamp(0)          NOT NULL,
    usunieto               character(1)          NOT NULL,
    lokalizacjafin         character varying(5)  NOT NULL,
    lokalizacjafinmodyf    character varying(5)  NOT NULL,
    processId              character varying(60) NOT NULL,
    CONSTRAINT pk_slmetbad PRIMARY KEY (idmetodybadania)
);

COMMENT ON COLUMN krdk_xsd.smetodabadania.idmetodybadania IS 'Identyfikator metody badania.';
COMMENT ON COLUMN krdk_xsd.smetodabadania.kodmetodybadania IS 'Kod metody badania.';
COMMENT ON COLUMN krdk_xsd.smetodabadania.nazwametodybadania IS 'Nazwa metody badania.';
COMMENT ON COLUMN krdk_xsd.smetodabadania.aktywny IS 'Czy pozycja aktywna.';
COMMENT ON COLUMN krdk_xsd.smetodabadania.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.smetodabadania.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.smetodabadania.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.smetodabadania.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.smetodabadania.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.smetodabadania.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.smetodabadania.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.smetodabadania.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.smetodabadania.processid IS 'Identyfikator procesu.';

CREATE TABLE krdk_xsd.smetodapreparatyki
(
    idmetody               bigint                 NOT NULL,
    nazwa                  character varying(50)  NOT NULL,
    opis                   character varying(255) NULL,
    aktywny                character(1)           NOT NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NOT NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_smetprep PRIMARY KEY (idmetody)
);


COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.idmetody IS 'Identyfikator metody';
COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.nazwa IS 'Nazwa słownikowa metody preparatyki.';
COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.opis IS 'Opis metody preparatyki.';
COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.aktywny IS 'Informacja, czy metoda jest aktywna.';
COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.smetodapreparatyki.processid IS 'Typ prosty: identyfikator procesu wymiany danych';



CREATE TABLE krdk_xsd.sprocedurapreparatyki
(
    idprocedury            bigint                 NOT NULL,
    kod                    character varying(3)   NOT NULL,
    nazwa                  character varying(60)  NOT NULL,
    opis                   character varying(255) NULL,
    czyzabieg              character(1)           NOT NULL,
    czyzabiegleczniczy     character(1)           NOT NULL DEFAULT '0'::bpchar,
    czyprocesrownolegly    character(1)           NOT NULL,
    typskladnika           character(1)           NOT NULL,
    aktywny                character(1)           NOT NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NOT NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_srodzzab PRIMARY KEY (idprocedury)
);

COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.idprocedury IS 'Identyfikator systemowy procedury preparatyki';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.kod IS 'Skrócone oznaczenie identyfikujące procedurę preparatyki.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.nazwa IS 'Pełna nazwa procedury preparatyki.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.opis IS 'Opis procedury preparatyki.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.czyzabieg IS 'Informacja o tym, czy procedura preparatyki jest zabiegiem.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.czyzabiegleczniczy IS 'Informacja o tym, czy procedura preparatyki jest zabiegiem leczniczym.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.czyprocesrownolegly IS 'Informacja o tym, czy preparatyka stanowi proces równoległy.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.typskladnika IS 'Informacja o typie składnika wykorzystywanym w procedurze preparatyki. E - krew i
                        składniki krwi; S- komórki macierzyste';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.aktywny IS 'Czy procedura preparatyki jest aktywna.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sprocedurapreparatyki.processid IS 'Typ prosty: identyfikator procesu wymiany danych';

CREATE TABLE krdk_xsd.sprzeznaczenieprobki
(
    idprzeznaczprob       bigint                 NOT NULL,
    kod                   character varying(3)   NOT NULL,
    przeznaczenie         character varying(100) NOT NULL,
    flaga                 character varying(2)   NULL DEFAULT 0,
    idorganizacji         bigint                 NULL,
    aktywny               character(1)           NOT NULL,
    isbtstafmemberno      character varying(11)  NOT NULL,
    isbtstafmembernomodyf character varying(11)  NOT NULL,
    dataczasutworzenia    timestamp(0)           NOT NULL,
    dataczasmodyfikacji   timestamp(0)           NOT NULL,
    usunieto              character(1)           NOT NULL,
    lokalizacjafin        character varying(5)   NOT NULL,
    lokalizacjafinmodyf   character varying(5)   NOT NULL,
    CONSTRAINT pk_sprzeznprob PRIMARY KEY (idprzeznaczprob)
);
CREATE UNIQUE INDEX uq_sprzezpr_kod ON krdk_xsd.sprzeznaczenieprobki USING btree (idprzeznaczprob, kod, lokalizacjafin);

COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.idprzeznaczprob IS 'Identyfikator systemowy przeznaczenia próbki';
COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.kod IS 'Kod przeznaczenia próbki';
COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.przeznaczenie IS 'Opis przeznaczenia próbki';
COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.flaga IS '<pole techniczne>';
COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.idorganizacji IS '<pole techniczne>';
COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.aktywny IS 'Czy status preparatyki jest aktywny.';
COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sprzeznaczenieprobki.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE TABLE krdk_xsd.srodzajdyskwalifikacji
(
    idrodzajudyskwalifikacji    bigint                NOT NULL,
    kodrodzajudyskwalifikacji   character varying(3)  NOT NULL,
    nazwarodzajudyskwalifikacji character varying(50) NOT NULL,
    aktywny                     character(1)          NULL,
    isbtstafmemberno            character varying(11) NOT NULL,
    isbtstafmembernomodyf       character varying(11) NOT NULL,
    dataczasutworzenia          timestamp(0)          NOT NULL,
    dataczasmodyfikacji         timestamp(0)          NOT NULL,
    usunieto                    character(1)          NOT NULL,
    lokalizacjafin              character varying(5)  NOT NULL,
    lokalizacjafinmodyf         character varying(5)  NOT NULL,
    CONSTRAINT pk_slrodzdysk PRIMARY KEY (idrodzajudyskwalifikacji)
);
COMMENT ON COLUMN krdk_xsd.srodzajdyskwalifikacji.idrodzajudyskwalifikacji IS 'Identyfikator rodzaju dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.srodzajdyskwalifikacji.kodrodzajudyskwalifikacji IS 'Kod rodzaju dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.srodzajdyskwalifikacji.nazwarodzajudyskwalifikacji IS 'Nazwa rodzaju dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.srodzajdyskwalifikacji.aktywny IS 'Czy pozycja aktywna';
COMMENT ON COLUMN krdk_xsd.srodzajdyskwalifikacji.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajdyskwalifikacji.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajdyskwalifikacji.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajdyskwalifikacji.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajdyskwalifikacji.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.srodzajdyskwalifikacji.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajdyskwalifikacji.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE UNIQUE INDEX uq_srodzajdyskwalifikacji_idx1 ON krdk_xsd.srodzajdyskwalifikacji USING btree (idrodzajudyskwalifikacji, aktywny, usunieto);


CREATE TABLE krdk_xsd.srodzajdzialania
(
    idrodzajudzialania    bigint                NOT NULL,
    kod                   character varying(3)  NOT NULL,
    nazwa                 character varying(50) NOT NULL,
    aktywny               character(1)          NOT NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_srodzdzialan PRIMARY KEY (idrodzajudzialania),
    CONSTRAINT uq_srodzdzia_kod UNIQUE (kod)
);
CREATE UNIQUE INDEX idx211270952460000 ON krdk_xsd.srodzajdzialania USING btree (kod, idrodzajudzialania);

COMMENT ON COLUMN krdk_xsd.srodzajdzialania.idrodzajudzialania IS 'Identyfikator systemowy rodzaju działania';
COMMENT ON COLUMN krdk_xsd.srodzajdzialania.kod IS 'kod działania:
PRE - preparatyka
ZAB - zabieg
MAS - preparatyka masowa
POD - podział składnika';
COMMENT ON COLUMN krdk_xsd.srodzajdzialania.nazwa IS 'Pełna nazwa rodzaju działania.';
COMMENT ON COLUMN krdk_xsd.srodzajdzialania.aktywny IS 'Czy rodzaj działania jest aktywny.';
COMMENT ON COLUMN krdk_xsd.srodzajdzialania.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajdzialania.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajdzialania.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajdzialania.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajdzialania.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.srodzajdzialania.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajdzialania.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE TABLE krdk_xsd.srodzajkontrahenta
(
    idrodzkontr           bigint                 NOT NULL,
    kod                   character varying(6)   NOT NULL,
    nazwa                 character varying(250) NOT NULL,
    aktywny               character(1)           NULL,
    nieusuwalneprzyporz   character(1)           NOT NULL,
    systemowy             character(1)           NOT NULL,
    isbtstafmemberno      character varying(11)  NOT NULL,
    isbtstafmembernomodyf character varying(11)  NOT NULL,
    dataczasutworzenia    timestamp(0)           NOT NULL,
    dataczasmodyfikacji   timestamp(0)           NOT NULL,
    usunieto              character(1)           NOT NULL,
    lokalizacjafin        character varying(5)   NOT NULL,
    lokalizacjafinmodyf   character varying(5)   NOT NULL,
    CONSTRAINT pk_srk PRIMARY KEY (idrodzkontr)
);

COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.idrodzkontr IS 'Identyfikator rodzaju kontrahenta';
COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.kod IS 'Kod rodzaju kontrahenta';
COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.nazwa IS 'Nazwa rodzaju kontrahenta';
COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.aktywny IS 'Informacja, czy aktywny.';
COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.nieusuwalneprzyporz IS 'Określa, czy przyporządkowanie kontrahenta do danego rodzaju jest usuwalne, czy też nieusuwalne:
"1" - przyporządkowanie kotrahenta do danego rodzaju lub usuwanie tego przyporządkowania jest niemożliwe z poziomu aplikacji (dotyczy tylko pozycji o nazwie "IHiT", "RCKiK", "otoczenie KRDK", "oddział terenowy", "moduł łączący KRDK"),
"0" - przyporządkowanie kotrahenta do danego rodzaju lub usuwanie tego przyporządkowania jest możliwe z poziomu aplikacji.';
COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.systemowy IS 'Określa, czy pozycja słownikowa jest systemowa (zastrzeżona), to znaczy niemożliwa do usunięcia:
"1" - pozycja systemowa
"0" - pozycja dodana do słownika z poziomu aplikacji. ';
COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu';
COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu';
COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajkontrahenta.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.srodzajmechanizmu
(
    idmechanizmu           bigint                NOT NULL,
    kod                    character varying(3)  NOT NULL,
    nazwa                  character varying(50) NOT NULL,
    aktywny                character(1)          NOT NULL,
    externalid             character varying(40) NULL,
    idoperatorautworzenia  bigint                NOT NULL,
    idoperatoramodyfikacji bigint                NULL,
    dataczasutworzenia     timestamp(0)          NOT NULL,
    dataczasmodyfikacji    timestamp(0)          NOT NULL,
    usunieto               character(1)          NOT NULL,
    lokalizacjafin         character varying(5)  NOT NULL,
    lokalizacjafinmodyf    character varying(5)  NOT NULL,
    processId              character varying(60) NOT NULL,
    CONSTRAINT pk_rodzmech PRIMARY KEY (idmechanizmu)
);

COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.idmechanizmu IS 'Identyfikator rodzaju mechanizmu';
COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.kod IS '3-znakowy kod rodzaju mechanizmu';
COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.nazwa IS 'Nazwa rodzaju mechanizmu';
COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.aktywny IS 'Informacja, czy rodzaj mechanizmu jest aktywny.';
COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajmechanizmu.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.srodzajmiejscowosci
(
    idrodzajumiejscowosci  bigint                 NOT NULL,
    kodrodzajumiejscowosci bpchar(2)              NOT NULL,
    nazwa                  character varying(200) NULL,
    stanna                 date                   NULL,
    aktywny                character(1)           NULL DEFAULT '1'::bpchar,
    isbtstafmemberno       character varying(11)  NOT NULL,
    isbtstafmembernomodyf  character varying(11)  NOT NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    CONSTRAINT pk_srodzajmiejsc PRIMARY KEY (idrodzajumiejscowosci)
);


COMMENT ON COLUMN krdk_xsd.srodzajmiejscowosci.idrodzajumiejscowosci IS 'Identyfikator rodzaju miejscowości';
COMMENT ON COLUMN krdk_xsd.srodzajmiejscowosci.kodrodzajumiejscowosci IS 'Kod rodzaju miejscowości';
COMMENT ON COLUMN krdk_xsd.srodzajmiejscowosci.nazwa IS 'Opis rodzaju miejscowości';
COMMENT ON COLUMN krdk_xsd.srodzajmiejscowosci.stanna IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.srodzajmiejscowosci.aktywny IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.srodzajmiejscowosci.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu';
COMMENT ON COLUMN krdk_xsd.srodzajmiejscowosci.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu';
COMMENT ON COLUMN krdk_xsd.srodzajmiejscowosci.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajmiejscowosci.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajmiejscowosci.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.srodzajmiejscowosci.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajmiejscowosci.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';



CREATE TABLE krdk_xsd.srodzajprobki
(
    idrodzajuprobki       bigint                NOT NULL,
    kod                   character varying(3)  NOT NULL,
    rodzaj                character varying(40) NOT NULL,
    aktywny               character(1)          NOT NULL DEFAULT '1'::bpchar,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_srodzajprobki PRIMARY KEY (idrodzajuprobki),
    CONSTRAINT uq_srodzpr_kod UNIQUE (kod)
);

COMMENT ON COLUMN krdk_xsd.srodzajprobki.idrodzajuprobki IS 'Identyfikator rodzaju próbki.';
COMMENT ON COLUMN krdk_xsd.srodzajprobki.kod IS 'Kod rodzaju próbki.';
COMMENT ON COLUMN krdk_xsd.srodzajprobki.rodzaj IS 'Nazwa rodzaju próbki.';
COMMENT ON COLUMN krdk_xsd.srodzajprobki.aktywny IS 'Czy pozycja aktywna';
COMMENT ON COLUMN krdk_xsd.srodzajprobki.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajprobki.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu..';
COMMENT ON COLUMN krdk_xsd.srodzajprobki.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajprobki.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajprobki.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.srodzajprobki.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajprobki.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE TABLE krdk_xsd.srodzdoktoz
(
    idrodzajudokumentu    bigint                NOT NULL,
    kod                   character varying(4)  NOT NULL,
    nazwa                 character varying(30) NOT NULL,
    aktywny               character(1)          NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_rodzdoktoz PRIMARY KEY (idrodzajudokumentu),
    CONSTRAINT uq_srodzdoktoz_kod UNIQUE (kod)
);

COMMENT ON COLUMN krdk_xsd.srodzdoktoz.idrodzajudokumentu IS 'Identyfikator systemowy rodzaju dokumentu tożsamości.';
COMMENT ON COLUMN krdk_xsd.srodzdoktoz.kod IS 'Kod rodzaju dokumentu tożsamości.';
COMMENT ON COLUMN krdk_xsd.srodzdoktoz.nazwa IS 'Nazwa rodzaju dokumentu tożsamości.';
COMMENT ON COLUMN krdk_xsd.srodzdoktoz.aktywny IS 'Czy rodzaj dokumentu tożsamości jest aktywny.';
COMMENT ON COLUMN krdk_xsd.srodzdoktoz.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzdoktoz.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzdoktoz.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzdoktoz.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzdoktoz.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.srodzdoktoz.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzdoktoz.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.sstatuskwalifikacji
(
    idstatusukwalifikacji bigint                NOT NULL,
    nazwa                 character varying(50) NULL,
    kod                   character varying(3)  NOT NULL,
    aktywny               character(1)          NOT NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_stkwalif PRIMARY KEY (idstatusukwalifikacji),
    CONSTRAINT uq_stkwalif_kod UNIQUE (kod)
);
CREATE UNIQUE INDEX idx906240700070000 ON krdk_xsd.sstatuskwalifikacji USING btree (idstatusukwalifikacji, kod, nazwa);

COMMENT ON COLUMN krdk_xsd.sstatuskwalifikacji.idstatusukwalifikacji IS 'Identyfikator statusu kwalifikacji';
COMMENT ON COLUMN krdk_xsd.sstatuskwalifikacji.nazwa IS 'Nazwa statusu kwalifikacji';
COMMENT ON COLUMN krdk_xsd.sstatuskwalifikacji.kod IS 'Unikalny kod';
COMMENT ON COLUMN krdk_xsd.sstatuskwalifikacji.aktywny IS 'Czy status kwalifikacji jest aktywny';
COMMENT ON COLUMN krdk_xsd.sstatuskwalifikacji.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sstatuskwalifikacji.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sstatuskwalifikacji.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sstatuskwalifikacji.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sstatuskwalifikacji.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.sstatuskwalifikacji.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sstatuskwalifikacji.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.sstatuspreparatyki
(
    idstatusupreparatyki  bigint                NOT NULL,
    kod                   character varying(3)  NOT NULL,
    nazwa                 character varying(50) NULL,
    aktywny               character(1)          NOT NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_sstatusprep PRIMARY KEY (idstatusupreparatyki),
    CONSTRAINT uq_stprep_kod UNIQUE (kod)
);

COMMENT ON COLUMN krdk_xsd.sstatuspreparatyki.idstatusupreparatyki IS 'Identyfikator systemowy statusu preparatyki';
COMMENT ON COLUMN krdk_xsd.sstatuspreparatyki.kod IS 'Kod statusu preparatyki:
wyt  -    Wytworzony
prz  -    Przetworzony
wtr  -    W trakcie procedury preparatyki';
COMMENT ON COLUMN krdk_xsd.sstatuspreparatyki.nazwa IS 'Pełna nazwa statusu preparatyki';
COMMENT ON COLUMN krdk_xsd.sstatuspreparatyki.aktywny IS 'Czy status preparatyki jest aktywny.';
COMMENT ON COLUMN krdk_xsd.sstatuspreparatyki.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sstatuspreparatyki.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sstatuspreparatyki.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sstatuspreparatyki.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sstatuspreparatyki.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.sstatuspreparatyki.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sstatuspreparatyki.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE TABLE krdk_xsd.stypbadania
(
    idtypubadania         bigint                NOT NULL,
    nazwatypubadania      character varying(50) NOT NULL,
    kodtypubadania        character varying(3)  NULL,
    aktywny               character(1)          NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_typ_bad PRIMARY KEY (idtypubadania)
);
CREATE UNIQUE INDEX idx203301152360000 ON krdk_xsd.stypbadania USING btree (idtypubadania, nazwatypubadania);
CREATE UNIQUE INDEX idx906241526220000 ON krdk_xsd.stypbadania USING btree (idtypubadania, kodtypubadania);

COMMENT ON COLUMN krdk_xsd.stypbadania.idtypubadania IS 'Identyfikator typu badania.';
COMMENT ON COLUMN krdk_xsd.stypbadania.nazwatypubadania IS 'Nazwa typu badania.';
COMMENT ON COLUMN krdk_xsd.stypbadania.kodtypubadania IS 'Kod typu badania.';
COMMENT ON COLUMN krdk_xsd.stypbadania.aktywny IS 'Czy pozycja aktywna.';
COMMENT ON COLUMN krdk_xsd.stypbadania.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypbadania.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.stypbadania.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypbadania.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.stypbadania.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.stypbadania.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypbadania.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE TABLE krdk_xsd.stypdawcy
(
    idtypudawcy           bigint                NOT NULL,
    kodtypudawcy          character varying(10) NOT NULL,
    nazwatypudawcy        character varying(50) NOT NULL,
    aktywny               character(1)          NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_sltypdawcy PRIMARY KEY (idtypudawcy)
);

COMMENT ON COLUMN krdk_xsd.stypdawcy.idtypudawcy IS 'Identyfikator systemowy typu dawcy';
COMMENT ON COLUMN krdk_xsd.stypdawcy.kodtypudawcy IS 'Kod typu dawcy';
COMMENT ON COLUMN krdk_xsd.stypdawcy.nazwatypudawcy IS 'Nazwa typu dawcy';
COMMENT ON COLUMN krdk_xsd.stypdawcy.aktywny IS 'Informacja czy rodzaj urządzenia chłodniczego jest aktywny.';
COMMENT ON COLUMN krdk_xsd.stypdawcy.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypdawcy.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.stypdawcy.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypdawcy.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.stypdawcy.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.stypdawcy.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypdawcy.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.stypurzadzenia
(
    idtypuurzadzenia        bigint                NOT NULL,
    nazwatypuurzadzenia     character varying(70) NOT NULL,
    kod                     character varying(15) NOT NULL,
    czytransmisjarownolegla character(1)          NOT NULL DEFAULT '0'::bpchar,
    aktywny                 character(1)          NULL,
    isbtstafmemberno        character varying(11) NOT NULL,
    isbtstafmembernomodyf   character varying(11) NOT NULL,
    dataczasutworzenia      timestamp(0)          NOT NULL,
    dataczasmodyfikacji     timestamp(0)          NOT NULL,
    usunieto                character(1)          NOT NULL,
    lokalizacjafin          character varying(5)  NOT NULL,
    lokalizacjafinmodyf     character varying(5)  NOT NULL,
    CONSTRAINT pk_stypurz PRIMARY KEY (idtypuurzadzenia),
    CONSTRAINT uq_typurz_kod UNIQUE (kod)
);

COMMENT ON COLUMN krdk_xsd.stypurzadzenia.idtypuurzadzenia IS 'Identyfikator systemowy typu urządzenia.';
COMMENT ON COLUMN krdk_xsd.stypurzadzenia.nazwatypuurzadzenia IS 'Nazwa typu urządzenia';
COMMENT ON COLUMN krdk_xsd.stypurzadzenia.kod IS 'Kod typu urządzenia';
COMMENT ON COLUMN krdk_xsd.stypurzadzenia.czytransmisjarownolegla IS 'Określa czy urządzenie danego typu transmituje dane w sposób równoległy.
1 - równoległy,
0 - pojedyncza transmisja';
COMMENT ON COLUMN krdk_xsd.stypurzadzenia.aktywny IS 'Informacja czy rodzaj urządzenia chłodniczego jest aktywny.';
COMMENT ON COLUMN krdk_xsd.stypurzadzenia.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypurzadzenia.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.stypurzadzenia.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypurzadzenia.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.stypurzadzenia.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.stypurzadzenia.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypurzadzenia.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.stypwartosci
(
    idtypuwarosci         bigint                 NOT NULL,
    kodtypuwartosci       character varying(50)  NOT NULL,
    opistypuwartosci      character varying(255) NOT NULL,
    aktywny               character(1)           NOT NULL,
    isbtstafmemberno      character varying(11)  NOT NULL,
    isbtstafmembernomodyf character varying(11)  NOT NULL,
    dataczasutworzenia    timestamp(0)           NOT NULL,
    dataczasmodyfikacji   timestamp(0)           NOT NULL,
    usunieto              character(1)           NOT NULL,
    lokalizacjafin        character varying(5)   NOT NULL,
    lokalizacjafinmodyf   character varying(5)   NOT NULL,
    CONSTRAINT pk_stypwartosci PRIMARY KEY (idtypuwarosci)
);

COMMENT ON COLUMN krdk_xsd.stypwartosci.idtypuwarosci IS 'Identyfikator typu wartości.';
COMMENT ON COLUMN krdk_xsd.stypwartosci.kodtypuwartosci IS 'Kod typu wartości.';
COMMENT ON COLUMN krdk_xsd.stypwartosci.opistypuwartosci IS 'Opis typu wartości.';
COMMENT ON COLUMN krdk_xsd.stypwartosci.aktywny IS 'Czy pozycja aktywna.';
COMMENT ON COLUMN krdk_xsd.stypwartosci.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypwartosci.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.stypwartosci.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypwartosci.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.stypwartosci.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.stypwartosci.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypwartosci.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE TABLE krdk_xsd.stypwielkosci
(
    idtypuwielkosci       bigint                 NOT NULL,
    kod                   character varying(10)  NOT NULL,
    nazwa                 character varying(100) NOT NULL,
    aktywny               character(1)           NULL,
    isbtstafmemberno      character varying(11)  NOT NULL,
    isbtstafmembernomodyf character varying(11)  NOT NULL,
    dataczasutworzenia    timestamp(0)           NOT NULL,
    dataczasmodyfikacji   timestamp(0)           NOT NULL,
    usunieto              character(1)           NOT NULL,
    lokalizacjafin        character varying(5)   NOT NULL,
    lokalizacjafinmodyf   character varying(5)   NOT NULL,
    CONSTRAINT pk_stypwielkosci PRIMARY KEY (idtypuwielkosci)
);

COMMENT ON COLUMN krdk_xsd.stypwielkosci.idtypuwielkosci IS 'Identyfikator typu wielkości.';
COMMENT ON COLUMN krdk_xsd.stypwielkosci.kod IS 'Kod typu wielkości.';
COMMENT ON COLUMN krdk_xsd.stypwielkosci.nazwa IS 'Nazwa typu wielkości.';
COMMENT ON COLUMN krdk_xsd.stypwielkosci.aktywny IS 'Czy pozycja aktywna.';
COMMENT ON COLUMN krdk_xsd.stypwielkosci.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypwielkosci.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.stypwielkosci.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypwielkosci.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.stypwielkosci.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.stypwielkosci.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.stypwielkosci.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE TABLE krdk_xsd.swojewodztwo
(
    idwojewodztwa         bigint                NOT NULL,
    kodwojewodztwa        bpchar(3)             NOT NULL,
    nazwawojewodztwa      character varying(30) NOT NULL,
    aktywny               character(1)          NULL,
    stanna                date                  NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_swojew PRIMARY KEY (idwojewodztwa)
);


COMMENT ON COLUMN krdk_xsd.swojewodztwo.idwojewodztwa IS 'Identyfikator województwa (klucz główny tablicy).';
COMMENT ON COLUMN krdk_xsd.swojewodztwo.kodwojewodztwa IS 'Kod województwa';
COMMENT ON COLUMN krdk_xsd.swojewodztwo.nazwawojewodztwa IS 'Nazwa województwa';
COMMENT ON COLUMN krdk_xsd.swojewodztwo.aktywny IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.swojewodztwo.stanna IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.swojewodztwo.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu';
COMMENT ON COLUMN krdk_xsd.swojewodztwo.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu';
COMMENT ON COLUMN krdk_xsd.swojewodztwo.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.swojewodztwo.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.swojewodztwo.usunieto IS 'Informacja, czy dany wpis jest usuniety z db ("0" - wpis aktualny, "1" - wpis usunięty)';
COMMENT ON COLUMN krdk_xsd.swojewodztwo.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.swojewodztwo.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';



CREATE TABLE krdk_xsd.swyksztalcenie
(
    idwyksztalcenia       bigint                NOT NULL,
    nazwa                 character varying(50) NOT NULL,
    aktywny               character(1)          NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_swyksztalcenie PRIMARY KEY (idwyksztalcenia)
);

COMMENT ON COLUMN krdk_xsd.swyksztalcenie.idwyksztalcenia IS 'Identyfikator systemowy rodzaju wykształcenia';
COMMENT ON COLUMN krdk_xsd.swyksztalcenie.nazwa IS 'Nazwa rodzaju wykształcenia';
COMMENT ON COLUMN krdk_xsd.swyksztalcenie.aktywny IS 'Czy wykształcenie jest aktywny.';
COMMENT ON COLUMN krdk_xsd.swyksztalcenie.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.swyksztalcenie.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.swyksztalcenie.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.swyksztalcenie.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.swyksztalcenie.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.swyksztalcenie.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.swyksztalcenie.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE TABLE krdk_xsd.typdzialu
(
    idtypudzialu           bigint                 NOT NULL,
    kod                    character varying(100) NOT NULL,
    nazwa                  character varying(250) NOT NULL,
    ikonka                 character varying(50)  NULL,
    aktywny                character(1)           NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_dzial PRIMARY KEY (idtypudzialu)
);

COMMENT ON COLUMN krdk_xsd.typdzialu.idtypudzialu IS 'Identyfikator typu działu';
COMMENT ON COLUMN krdk_xsd.typdzialu.kod IS 'Kod typu działu.';
COMMENT ON COLUMN krdk_xsd.typdzialu.nazwa IS 'Nazwa typu działu.';
COMMENT ON COLUMN krdk_xsd.typdzialu.ikonka IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.typdzialu.aktywny IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.typdzialu.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.typdzialu.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.typdzialu.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.typdzialu.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.typdzialu.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.typdzialu.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.typdzialu.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.typdzialu.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.typdzialu.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.zrodlopochodzeniaprobki
(
    idzrodla              bigint                 NOT NULL,
    kodzrodla             character varying(10)  NOT NULL,
    zrodlo                character varying(255) NOT NULL,
    aktywny               character(1)           NOT NULL,
    isbtstafmemberno      character varying(11)  NOT NULL,
    isbtstafmembernomodyf character varying(11)  NOT NULL,
    dataczasutworzenia    timestamp(0)           NOT NULL,
    dataczasmodyfikacji   timestamp(0)           NOT NULL,
    usunieto              character(1)           NOT NULL,
    lokalizacjafin        character varying(5)   NOT NULL,
    lokalizacjafinmodyf   character varying(5)   NOT NULL,
    CONSTRAINT pk_zrodlopochodz PRIMARY KEY (idzrodla),
    CONSTRAINT uq_zrpochpr_kod UNIQUE (kodzrodla)
);

COMMENT ON COLUMN krdk_xsd.zrodlopochodzeniaprobki.idzrodla IS 'Identyfikator źródła pochodzenia.';
COMMENT ON COLUMN krdk_xsd.zrodlopochodzeniaprobki.kodzrodla IS 'Kod źródła pochodzenia.';
COMMENT ON COLUMN krdk_xsd.zrodlopochodzeniaprobki.zrodlo IS 'Nazwa źródła pochodzenia.';
COMMENT ON COLUMN krdk_xsd.zrodlopochodzeniaprobki.aktywny IS 'Czy pozycja aktywna.';
COMMENT ON COLUMN krdk_xsd.zrodlopochodzeniaprobki.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.zrodlopochodzeniaprobki.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.zrodlopochodzeniaprobki.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.zrodlopochodzeniaprobki.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.zrodlopochodzeniaprobki.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.zrodlopochodzeniaprobki.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.zrodlopochodzeniaprobki.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE UNIQUE INDEX idx203301152460000 ON krdk_xsd.zrodlopochodzeniaprobki USING btree (idzrodla, zrodlo);


CREATE TABLE krdk_xsd.definicjapakietubadania
(
    iddefinicjipakietu            bigint                 NOT NULL,
    kod                           character varying(5)   NOT NULL,
    nazwa                         character varying(255) NOT NULL,
    aktywny                       character(1)           NOT NULL,
    plikszablonuwydruku           character varying(250) NULL,
    idzrodla                      bigint                 NULL,
    czygentylezlecenilejestprobek character(1)           NULL,
    externalid                    character varying(40)  NULL,
    idoperatorautworzenia         bigint                 NOT NULL,
    idoperatoramodyfikacji        bigint                 NULL,
    dataczasutworzenia            timestamp(0)           NOT NULL,
    dataczasmodyfikacji           timestamp(0)           NOT NULL,
    usunieto                      character(1)           NOT NULL,
    lokalizacjafin                character varying(5)   NOT NULL,
    lokalizacjafinmodyf           character varying(5)   NOT NULL,
    processId                     character varying(60)  NOT NULL,
    CONSTRAINT pk_defpakbad PRIMARY KEY (iddefinicjipakietu),
    CONSTRAINT fk_dpb_zpp FOREIGN KEY (idzrodla) REFERENCES krdk_xsd.zrodlopochodzeniaprobki (idzrodla)
);

COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.iddefinicjipakietu IS 'Identyfikator definicji pakietu badania.';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.kod IS 'Kod definicji pakietu badania.';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.nazwa IS 'Nazwa definicji pakietu badania.';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.aktywny IS 'Czy pozycja aktywna.';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.plikszablonuwydruku IS 'Pole techniczne.';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.idzrodla IS 'Identyfikator źródła (klucz obcy do zrodlopochodzeniaprobki).';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.czygentylezlecenilejestprobek IS 'Informacja, czy generować zlecenia zgodnie z ilością próbek.';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjapakietubadania.processid IS 'Identyfikator procesu.';

CREATE TABLE krdk_xsd.isbt_attribute
(
    attrform              character varying(8)  NOT NULL,
    attrname              character varying(50) NOT NULL,
    attrnamepl            character varying(60) NULL,
    groupid               character varying(4)  NOT NULL,
    isgroup               character(1)          NOT NULL,
    aktywny               character(1)          NOT NULL DEFAULT '1'::bpchar,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_isbt_attribute1 PRIMARY KEY (attrform),
    CONSTRAINT fk_attrgr FOREIGN KEY (groupid) REFERENCES krdk_xsd.isbt_groupattribute (groupid)
);


COMMENT ON COLUMN krdk_xsd.isbt_attribute.attrform IS 'Unique attrform ';
COMMENT ON COLUMN krdk_xsd.isbt_attribute.attrname IS 'Nazwa atrybutu';
COMMENT ON COLUMN krdk_xsd.isbt_attribute.attrnamepl IS 'Nazwa atrybutu PL';
COMMENT ON COLUMN krdk_xsd.isbt_attribute.groupid IS 'Identyfikator grupy atrybutów, klucz obcy do słownika isbt_groupattribute';
COMMENT ON COLUMN krdk_xsd.isbt_attribute.isgroup IS 'Czy atrybut jest grupą: 0/1';
COMMENT ON COLUMN krdk_xsd.isbt_attribute.aktywny IS 'Informacja czy aktywny';
COMMENT ON COLUMN krdk_xsd.isbt_attribute.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attribute.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attribute.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attribute.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attribute.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_attribute.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attribute.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.isbt_bloodgraborhd
(
    code                       character varying(2)  NOT NULL,
    nameabo                    character varying(11) NULL,
    namerh                     character varying(10) NULL,
    idtypeofdonationcollection bigint                NULL,
    isspecialmessage           character(1)          NOT NULL,
    interpretation             character varying(50) NULL,
    nazwa                      character varying(60) NULL,
    nazwad                     character varying(60) NULL,
    isbtstafmemberno           character varying(11) NOT NULL,
    isbtstafmembernomodyf      character varying(11) NOT NULL,
    dataczasutworzenia         timestamp(0)          NOT NULL,
    dataczasmodyfikacji        timestamp(0)          NOT NULL,
    usunieto                   character(1)          NOT NULL,
    lokalizacjafin             character varying(5)  NOT NULL,
    lokalizacjafinmodyf        character varying(5)  NOT NULL,
    CONSTRAINT pk_isbt_bloodgr PRIMARY KEY (code),
    CONSTRAINT fk_blood_type FOREIGN KEY (idtypeofdonationcollection) REFERENCES krdk_xsd.isbt_typeofdonationorcollection2 (id)
);
CREATE UNIQUE INDEX idx906240701560000 ON krdk_xsd.isbt_bloodgraborhd USING btree (code, nazwa);

COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.code IS 'Kod grupy krwi (2 znaki).';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.nameabo IS 'Nazwa w układzie ABO - możliwe wartości:
- "A"
- "B"
- "O"
- "AB"
- "para-Bombay"
- "Bombay" ';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.namerh IS 'Kod w RhD - możliwe wartości:
- "+" - RhD dodatni
- "-" - RhD ujemny
- " " ';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.idtypeofdonationcollection IS 'Typ donacji lub inModelcja o zastosowaniu.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.isspecialmessage IS 'wartosc logiczna określająca czy grupa krwii jest opisywana jako interpretacja.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.interpretation IS 'Interpretacja.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.nazwa IS 'Nazwa grupy krwi w Modelcie: AB Rh+ (plus)';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.nazwad IS 'Nazwa grupy krwi w Modelcie: AB RhD+ (plus)';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_bloodgraborhd.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.isbt_class
(
    namecode              character varying(5)   NOT NULL,
    clas                  character varying(36)  NOT NULL,
    "name"                character varying(75)  NOT NULL,
    modifer               character varying(35)  NULL,
    classpl               character varying(60)  NULL,
    namepl                character varying(100) NULL,
    modiferpl             character varying(100) NULL,
    aktywny               character(1)           NOT NULL DEFAULT '1'::bpchar,
    isbtstafmemberno      character varying(11)  NOT NULL,
    isbtstafmembernomodyf character varying(11)  NOT NULL,
    dataczasutworzenia    timestamp(0)           NOT NULL,
    dataczasmodyfikacji   timestamp(0)           NOT NULL,
    usunieto              character(1)           NOT NULL,
    lokalizacjafin        character varying(5)   NOT NULL,
    lokalizacjafinmodyf   character varying(5)   NOT NULL,
    CONSTRAINT pk_isbt_class PRIMARY KEY (namecode),
    CONSTRAINT fk_isbt_mod FOREIGN KEY (modifer) REFERENCES krdk_xsd.isbt_modifier (modifiername)
);
CREATE UNIQUE INDEX idx906240702010000 ON krdk_xsd.isbt_class USING btree (namecode, namepl);


COMMENT ON COLUMN krdk_xsd.isbt_class.namecode IS 'Kod klasy składnika.';
COMMENT ON COLUMN krdk_xsd.isbt_class.clas IS 'Nazwa klasy';
COMMENT ON COLUMN krdk_xsd.isbt_class.name IS 'Nazwa klasy z modyfikatorem';
COMMENT ON COLUMN krdk_xsd.isbt_class.modifer IS 'Nazwa modyfikatora';
COMMENT ON COLUMN krdk_xsd.isbt_class.classpl IS 'Nazwa klasy PL';
COMMENT ON COLUMN krdk_xsd.isbt_class.namepl IS 'Nazwa klasy z modyfikatorem PL';
COMMENT ON COLUMN krdk_xsd.isbt_class.modiferpl IS 'Nazwa modyfikatora PL';
COMMENT ON COLUMN krdk_xsd.isbt_class.aktywny IS 'Informacja czy aktywny';
COMMENT ON COLUMN krdk_xsd.isbt_class.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_class.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_class.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_class.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_class.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_class.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_class.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.isbt_productdescription
(
    proddescripcode       character varying(5)   NOT NULL,
    proddescrip0          character varying(254) NULL,
    codedate              date                   NULL,
    proddescrippl         character varying(254) NULL,
    proddescripcodeform   character varying(65)  NULL,
    namecode              character varying(5)   NULL,
    volume                integer                NULL,
    aktywny               character(1)           NOT NULL DEFAULT '1'::bpchar,
    isbtstafmemberno      character varying(11)  NOT NULL,
    isbtstafmembernomodyf character varying(11)  NOT NULL,
    dataczasutworzenia    timestamp(0)           NOT NULL,
    dataczasmodyfikacji   timestamp(0)           NOT NULL,
    usunieto              character(1)           NOT NULL,
    lokalizacjafin        character varying(5)   NOT NULL,
    lokalizacjafinmodyf   character varying(5)   NOT NULL,
    CONSTRAINT pk_prodctdescr PRIMARY KEY (proddescripcode),
    CONSTRAINT fk_classforprod FOREIGN KEY (namecode) REFERENCES krdk_xsd.isbt_class (namecode)
);
CREATE UNIQUE INDEX idx301151207100000 ON krdk_xsd.isbt_productdescription USING btree (proddescripcode, usunieto);
CREATE UNIQUE INDEX idx301151238040000 ON krdk_xsd.isbt_productdescription USING btree (proddescripcode, usunieto,
    lokalizacjafinmodyf,
    lokalizacjafin,
    dataczasmodyfikacji,
    dataczasutworzenia,
    isbtstafmembernomodyf,
    isbtstafmemberno, namecode,
    volume, proddescripcodeform,
    proddescrippl, codedate,
    proddescrip0, aktywny);
CREATE UNIQUE INDEX idx308160759010000 ON krdk_xsd.isbt_productdescription USING btree (proddescripcode, namecode, proddescrippl);
CREATE UNIQUE INDEX idx906241528590000 ON krdk_xsd.isbt_productdescription USING btree (proddescripcode, namecode);


COMMENT ON COLUMN krdk_xsd.isbt_productdescription.proddescripcode IS 'Key field that uniquely identifies the product';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.proddescrip0 IS 'Text description of the product including Modifier(s), Class and Attribute Value(s)';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.codedate IS 'Date the product was entered into the database. Format is DD MMM YYYY';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.proddescrippl IS 'Key field that uniquely identifies the product PL';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.proddescripcodeform IS 'Identyfikator pełny';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.namecode IS 'Kod klasy składnika.';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.volume IS 'Objętość w ml';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.aktywny IS 'Informacja czy aktywny.';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_productdescription.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.osoba
(
    idosoby                           bigint                  NOT NULL,
    idrodzajudokumentu                bigint                  NULL,
    imie                              character varying(50)   NULL,
    drugieimie                        character varying(50)   NULL,
    nazwisko                          character varying(100)  NULL,
    pesel                             character varying(50)   NULL,
    plec                              character(1)            NULL,
    dataurodzenia                     date                    NULL,
    mianoprzeciwcial                  integer                 NULL,
    miejsceurodzenia                  character varying(120)  NULL,
    imieojca                          character varying(50)   NULL,
    imiematki                         character varying(50)   NULL,
    nazwiskorodowe                    character varying(100)  NULL,
    nrdoktoz                          character varying(160)  NULL,
    nazwadoktozsamosciinne            character varying(200)  NULL,
    nrteldom                          character varying(80)   NULL,
    nrtelsluzbowy                     character varying(80)   NULL,
    nrtelkom                          character varying(80)   NULL,
    email                             character varying(100)  NULL,
    zgodarodzicowlubopiekunowprawnych character(1)            NULL,
    datarejestracji                   timestamp(0)            NULL,
    miejscerejestracji                character varying(5)    NULL, /* nr FIN jednostki */
    obcokrajowiec                     character(1)            NULL,
    idkrajupochodzenia                bigint                  NULL,
    status                            integer                 NULL,
    fenotyphla                        character varying(150)  NULL,
    fenotyphpa                        character varying(150)  NULL,
    genotyphla                        character varying(50)   NULL,
    genotyphpa                        character varying(50)   NULL,
    fenotyphpadawca                   character varying(150)  NULL,
    fenotyphpabiorca                  character varying(150)  NULL,
    sptestingkrwcz1                   character varying(250)  NULL,
    sptestingkrwcz2                   character varying(250)  NULL,
    sptestingkrwbial1                 character varying(200)  NULL,
    sptestingkrwbial2                 character varying(200)  NULL,
    przeciwciala1                     character varying(4000) NULL,
    przeciwciala2                     character varying(500)  NULL,
    specialtestinghlaaba              character varying(18)   NULL,
    specialtestinghladrba             character varying(18)   NULL,
    specialtestingphlapsa             character varying(18)   NULL,
    specialtestingrbcageneral2        character varying(18)   NULL,
    specialtestingrbcageneral         character varying(18)   NULL,
    numerksiegiglownejszpitala        character varying(200)  NULL,
    grupakrwirh                       character varying(5)    NULL,
    grupakrwiab0                      character varying(20)   NULL,
    graborh1                          character varying(50)   NULL,
    graborh2                          character varying(50)   NULL,
    dawcagrkrwiab0                    character varying(20)   NULL,
    dawcagrkrwirh                     character varying(5)    NULL,
    dawcagrkrwiszab0                  character varying(20)   NULL,
    dawcagrkrwiszrh                   character varying(5)    NULL,
    innefenotypyrbcageneral           character varying(250)  NULL,
    innefenotypyrbcageneral2          character varying(250)  NULL,
    osobazdyskwalifikowana            character(1)            NULL,
    deklargrkrwiab0                   character varying(20)   NULL,
    deklargrkrwirh                    character varying(5)    NULL,
    numerksiegioddzialu               character varying(200)  NULL,
    szpital                           character varying(200)  NULL,
    uwagi                             character varying(500)  NULL,
    przeciwlimfocytotoksyczne         character varying(500)  NULL,
    przeciwprzeciwplytkowe            character varying(500)  NULL,
    przeciwantygranulocytarne         character varying(500)  NULL,
    przeciwpolekowe                   character varying(500)  NULL,
    dawcaautogrkrwiab0                character varying(20)   NULL,
    dawcaautogrkrwirh                 character varying(5)    NULL,
    zabiegilecznicze                  character(1)            NULL,
    typosoby                          character varying(10)   NULL,
    datakordocentezy                  date                    NULL,
    dawca                             character(1)            NOT NULL DEFAULT '0'::bpchar,
    pacjent                           character(1)            NOT NULL DEFAULT '0'::bpchar,
    biorca                            character(1)            NOT NULL DEFAULT '0'::bpchar,
    nazwamiejscowoscizam              character varying(120)  NULL,
    biorcann                          character(1)            NULL     DEFAULT '0'::bpchar,
    validpesel                        bool                    NULL,
    uuid                              character varying(50)   NULL,
    idosobyrejestrujacej              bigint                  NOT NULL,
    externalid                        character varying(40)   NULL,
    idoperatorautworzenia             bigint                  NOT NULL,
    idoperatoramodyfikacji            bigint                  NULL,
    dataczasutworzenia                timestamp(0)            NOT NULL,
    dataczasmodyfikacji               timestamp(0)            NOT NULL,
    usunieto                          character(1)            NOT NULL,
    lokalizacjafin                    character varying(5)    NOT NULL,
    lokalizacjafinmodyf               character varying(5)    NOT NULL,
    processId                         character varying(60)   NOT NULL,
    CONSTRAINT pk_osoba PRIMARY KEY (idosoby),
    CONSTRAINT fk_os_krajpoch FOREIGN KEY (idkrajupochodzenia) REFERENCES krdk_xsd.skraj (idkraju),
    CONSTRAINT fk_os_rodzdoktoz FOREIGN KEY (idrodzajudokumentu) REFERENCES krdk_xsd.srodzdoktoz (idrodzajudokumentu)
);
--CREATE UNIQUE INDEX idx205301013280000 ON krdk_xsd.osoba USING btree (idosoby, usunieto, pesel);
--CREATE UNIQUE INDEX idx906231154330000 ON krdk_xsd.osoba USING btree (idosoby);
--CREATE UNIQUE INDEX idx911161453280000 ON krdk_xsd.osoba USING btree (idosoby, nazwisko, imie);

COMMENT ON COLUMN krdk_xsd.osoba.idosoby IS 'Identyfikator systemowy osoby.';
COMMENT ON COLUMN krdk_xsd.osoba.idrodzajudokumentu IS 'Rodzaj dokumentu tożsamości. Słownik: srodzdoktoz';
COMMENT ON COLUMN krdk_xsd.osoba.imie IS 'Imię.';
COMMENT ON COLUMN krdk_xsd.osoba.drugieimie IS 'Drugie imię.';
COMMENT ON COLUMN krdk_xsd.osoba.nazwisko IS 'Nazwisko.';
COMMENT ON COLUMN krdk_xsd.osoba.pesel IS 'Numer PESEL. W przypadku obcokrajowców nr identyfikacyjny w kraju pochodzenia.';
COMMENT ON COLUMN krdk_xsd.osoba.plec IS 'Płeć.';
COMMENT ON COLUMN krdk_xsd.osoba.dataurodzenia IS 'Data urodzenia.';
COMMENT ON COLUMN krdk_xsd.osoba.mianoprzeciwcial IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.miejsceurodzenia IS 'Miejsce urodzenia.';
COMMENT ON COLUMN krdk_xsd.osoba.imieojca IS 'Imię ojca.';
COMMENT ON COLUMN krdk_xsd.osoba.imiematki IS 'Imię matki.';
COMMENT ON COLUMN krdk_xsd.osoba.nazwiskorodowe IS 'Nazwisko rodowe.';
COMMENT ON COLUMN krdk_xsd.osoba.nrdoktoz IS 'Numer dokumentu tożsamości.';
COMMENT ON COLUMN krdk_xsd.osoba.nazwadoktozsamosciinne IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.nrteldom IS 'Numer telefonu domowego.';
COMMENT ON COLUMN krdk_xsd.osoba.nrtelsluzbowy IS 'Numer telefonu służbowego.';
COMMENT ON COLUMN krdk_xsd.osoba.nrtelkom IS 'Numer telefonu komórkowego.';
COMMENT ON COLUMN krdk_xsd.osoba.email IS 'Adres e-mail.';
COMMENT ON COLUMN krdk_xsd.osoba.zgodarodzicowlubopiekunowprawnych IS 'Zgoda rodziców lub opiekunów prawnych.';
COMMENT ON COLUMN krdk_xsd.osoba.datarejestracji IS 'Data rejestracji.';
COMMENT ON COLUMN krdk_xsd.osoba.miejscerejestracji IS 'Miejsce rejestracji osoby (nr FIN placówki)';
COMMENT ON COLUMN krdk_xsd.osoba.obcokrajowiec IS 'Informacja, czy osoba jest obcokrajowcem.';
COMMENT ON COLUMN krdk_xsd.osoba.idkrajupochodzenia IS 'Id kraju pochodzenia. Słownik: skraj';
COMMENT ON COLUMN krdk_xsd.osoba.status IS 'status wewnętrzny danych (zweryfikowane, niezweryfikowane itp.)';
COMMENT ON COLUMN krdk_xsd.osoba.fenotyphla IS 'Fenotyp HLA';
COMMENT ON COLUMN krdk_xsd.osoba.fenotyphpa IS 'Fenotyp HPA';
COMMENT ON COLUMN krdk_xsd.osoba.genotyphla IS 'Genotyp HLA';
COMMENT ON COLUMN krdk_xsd.osoba.genotyphpa IS 'Genotyp HPA';
COMMENT ON COLUMN krdk_xsd.osoba.fenotyphpadawca IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.fenotyphpabiorca IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.sptestingkrwcz1 IS 'Niepotwierdzony fenotyp krwinek czerwonych';
COMMENT ON COLUMN krdk_xsd.osoba.sptestingkrwcz2 IS 'Potwierdzony fenotyp krwinek czerwonych';
COMMENT ON COLUMN krdk_xsd.osoba.sptestingkrwbial1 IS 'Niepotwierdzony fenotyp leukocytarny.';
COMMENT ON COLUMN krdk_xsd.osoba.sptestingkrwbial2 IS 'Potwierdzony fenotyp leukocytarny.';
COMMENT ON COLUMN krdk_xsd.osoba.przeciwciala1 IS 'Wynik badań obecności przeciwcial. Wynik niepotwierdzony.';
COMMENT ON COLUMN krdk_xsd.osoba.przeciwciala2 IS 'Wynik badań obecności przeciwcial. Wynik potwierdzony.';
COMMENT ON COLUMN krdk_xsd.osoba.specialtestinghlaaba IS 'Wynik badania "Specjalne badanie: Typowanie Alleli HLA-A oraz HLA-B" zakodowany w
                        kodzie ISBT128. Model: 16 cyfr np, "1102300000000000"';
COMMENT ON COLUMN krdk_xsd.osoba.specialtestinghladrba IS 'Wynik  badania "Specjalne badanie: Typowanie Alleli HLA-DRB1" zakodowany w kodzie
                        ISBT128. Model: 16 cyfr np, "1102300000000000".';
COMMENT ON COLUMN krdk_xsd.osoba.specialtestingphlapsa IS 'Wynik badania "Specjalne badanie: Antygeny HLA i HPA" zakodowany w kodzie ISBT128. Model: 16
                        cyfr np, "1102300000000000".';
COMMENT ON COLUMN krdk_xsd.osoba.specialtestingrbcageneral2 IS 'Wynik potwierdzony badania "Specjalne badanie - Fenotyp Krwinek Czerwonych"
                        zakodowany w kodzie ISBT128. Model: 16 cyfr np,  "1102300000000000".';
COMMENT ON COLUMN krdk_xsd.osoba.specialtestingrbcageneral IS 'Wynik niepotwierdzony badania "Specjalne badanie - Fenotyp Krwinek Czerwonych"
                        zakodowany w kodzie ISBT128. Model: 16 cyfr np,  "1102300000000000".';
COMMENT ON COLUMN krdk_xsd.osoba.numerksiegiglownejszpitala IS 'Nr ksiegi glownej szpitala (dotyczy biorcy/pacjenta).';
COMMENT ON COLUMN krdk_xsd.osoba.grupakrwirh IS 'Swoistość antygenu D z ukladu Rh';
COMMENT ON COLUMN krdk_xsd.osoba.grupakrwiab0 IS 'Grupa krwi z ukladu ABO';
COMMENT ON COLUMN krdk_xsd.osoba.graborh1 IS 'Grupa krwi z ukladu ABO i obecności antygenu D z ukladu Rh, np: O Rh+ (dodatni).
                        Wynik niepotwierdzony.';
COMMENT ON COLUMN krdk_xsd.osoba.graborh2 IS 'Grupa krwi z ukladu ABO i obecności antygenu D z ukladu Rh, np: O Rh+ (dodatni).
                        Wynik potwierdzony.';
COMMENT ON COLUMN krdk_xsd.osoba.dawcagrkrwiab0 IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.dawcagrkrwirh IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.dawcagrkrwiszab0 IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.dawcagrkrwiszrh IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.innefenotypyrbcageneral IS 'Fenotypy nie uwzględnione w ISBT 128 badane w
                        badaniu ogólnym.';
COMMENT ON COLUMN krdk_xsd.osoba.innefenotypyrbcageneral2 IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.osobazdyskwalifikowana IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.deklargrkrwiab0 IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.deklargrkrwirh IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.numerksiegioddzialu IS 'Nr ksiegi oddzialu (dotyczy biorcy/pacjenta).';
COMMENT ON COLUMN krdk_xsd.osoba.szpital IS 'Nazwa szpitala (dotyczy biorcy/pacjenta).';
COMMENT ON COLUMN krdk_xsd.osoba.uwagi IS 'Uwagi do osoby.';
COMMENT ON COLUMN krdk_xsd.osoba.przeciwlimfocytotoksyczne IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.przeciwprzeciwplytkowe IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.przeciwantygranulocytarne IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.przeciwpolekowe IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.dawcaautogrkrwiab0 IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.dawcaautogrkrwirh IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.zabiegilecznicze IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.typosoby IS 'Typosoby. Przyjmuje wartości: kc - Kobieta ciężarna | kpp - Kobieta po porodzie |
                        p - plod | n - noworodek | kc,kpp - kobieta ciężarna, kobieta po porodzie';
COMMENT ON COLUMN krdk_xsd.osoba.datakordocentezy IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.dawca IS 'Czy dawca?';
COMMENT ON COLUMN krdk_xsd.osoba.pacjent IS 'Czy pacjent?';
COMMENT ON COLUMN krdk_xsd.osoba.biorca IS 'Czy biorca?';
COMMENT ON COLUMN krdk_xsd.osoba.nazwamiejscowoscizam IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.biorcann IS 'Czy biorca NN?';
COMMENT ON COLUMN krdk_xsd.osoba.validpesel IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.uuid IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.osoba.idosobyrejestrujacej IS 'Identyfikator osoby rejestrującej (klucz obcy do operatora).';
COMMENT ON COLUMN krdk_xsd.osoba.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.osoba.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.osoba.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.osoba.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.osoba.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.osoba.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.osoba.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.osoba.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.osoba.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.pacjent
(
    idosoby                bigint                 NOT NULL,
    skazakrwotoczna        character(1)           NULL,
    status                 integer                NULL,
    numerPacjenta          character varying(100) NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NOT NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_pacjent PRIMARY KEY (idosoby),
    CONSTRAINT fk_pacj_os FOREIGN KEY (idosoby) REFERENCES krdk_xsd.osoba (idosoby)
);

COMMENT ON COLUMN krdk_xsd.pacjent.idosoby IS 'Identyfikator systemowy pacjenta (osoby)';
COMMENT ON COLUMN krdk_xsd.pacjent.skazakrwotoczna IS 'Informacja, czy pacjent jest chory na skazę krwotoczną.';
COMMENT ON COLUMN krdk_xsd.pacjent.status IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.pacjent.numerpacjenta IS 'Numer pacjenta.';
COMMENT ON COLUMN krdk_xsd.pacjent.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.pacjent.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.pacjent.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.pacjent.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.pacjent.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.pacjent.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.pacjent.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.pacjent.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.pacjent.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.spowiat
(
    idpowiatu             bigint                NOT NULL,
    kodpowiatu            bpchar(4)             NOT NULL,
    nazwapowiatu          character varying(60) NOT NULL,
    idwojewodztwa         bigint                NOT NULL,
    aktywny               character(1)          NULL,
    stanna                date                  NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_spowiat PRIMARY KEY (idpowiatu),
    CONSTRAINT uq_spowkod UNIQUE (kodpowiatu),
    CONSTRAINT fk_pow_wo FOREIGN KEY (idwojewodztwa) REFERENCES krdk_xsd.swojewodztwo (idwojewodztwa)
);

COMMENT ON COLUMN krdk_xsd.spowiat.idpowiatu IS 'Identyfikator powiatu';
COMMENT ON COLUMN krdk_xsd.spowiat.kodpowiatu IS 'Kod powiatu';
COMMENT ON COLUMN krdk_xsd.spowiat.nazwapowiatu IS 'Nazwa powiatu';
COMMENT ON COLUMN krdk_xsd.spowiat.idwojewodztwa IS 'Identyfikator województwa, do którego należy powiat (klucz obcy do słownika Swojewodztwo).';
COMMENT ON COLUMN krdk_xsd.spowiat.aktywny IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.spowiat.stanna IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.spowiat.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu';
COMMENT ON COLUMN krdk_xsd.spowiat.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu';
COMMENT ON COLUMN krdk_xsd.spowiat.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.spowiat.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.spowiat.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.spowiat.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.spowiat.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.sprzyczynadyskwalifikacji
(
    idprzyczyny              bigint                 NOT NULL,
    kodprzyczyny             character varying(10)  NOT NULL,
    kodopisowy               character varying(20)  NULL,
    idrodzajudyskwalifikacji bigint                 NULL,
    nazwa                    character varying(300) NOT NULL,
    dawcaautologiczny        character(1)           NULL,
    aktywny                  character(1)           NOT NULL,
    idgrupyprzyczyn          bigint                 NULL,
    isbtstafmemberno         character varying(11)  NOT NULL,
    isbtstafmembernomodyf    character varying(11)  NOT NULL,
    dataczasutworzenia       timestamp(0)           NOT NULL,
    dataczasmodyfikacji      timestamp(0)           NOT NULL,
    usunieto                 character(1)           NOT NULL,
    lokalizacjafin           character varying(5)   NOT NULL,
    lokalizacjafinmodyf      character varying(5)   NOT NULL,
    CONSTRAINT pk_sprzyczdysk PRIMARY KEY (idprzyczyny),
    CONSTRAINT fk_spd_srd FOREIGN KEY (idrodzajudyskwalifikacji) REFERENCES krdk_xsd.srodzajdyskwalifikacji (idrodzajudyskwalifikacji)
);

COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.idprzyczyny IS 'Identyfikator przyczyny dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.kodprzyczyny IS 'Kod przyczyny dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.kodopisowy IS 'Kod opisowy przyczyny dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.idrodzajudyskwalifikacji IS 'Identyfikator rodzaju dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.nazwa IS 'Nazwa przyczyny dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.dawcaautologiczny IS 'Czy przyczyna dyskwalifikacji powinna być widoczna dla dawców autologicznych.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.aktywny IS 'Czy pozycja aktywna';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.idgrupyprzyczyn IS 'Identyfikator grupy przyczyn dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sprzyczynadyskwalifikacji.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE UNIQUE INDEX idx203161050020000 ON krdk_xsd.sprzyczynadyskwalifikacji USING btree (idprzyczyny, kodprzyczyny);
CREATE UNIQUE INDEX idx212071407460000 ON krdk_xsd.sprzyczynadyskwalifikacji USING btree (idprzyczyny, nazwa);


CREATE TABLE krdk_xsd.srodzajbadania
(
    idrodzajubadania       bigint                 NOT NULL,
    kodrodzajubadania      character varying(3)   NOT NULL,
    idtypubadania          bigint                 NOT NULL,
    nazwarodzajubadania    character varying(100) NOT NULL,
    aktywny                character(1)           NULL,
    plikszablonuwydruku    character varying(250) NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NOT NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_rodzbad PRIMARY KEY (idrodzajubadania),
    CONSTRAINT fk_rodz_typ FOREIGN KEY (idtypubadania) REFERENCES krdk_xsd.stypbadania (idtypubadania)
);
--CREATE UNIQUE INDEX idx809012237410000 ON krdk_xsd.srodzajbadania USING btree (idrodzajubadania, idtypubadania, kodrodzajubadania, nazwarodzajubadania);
--CREATE UNIQUE INDEX idx809091344070000 ON krdk_xsd.srodzajbadania USING btree (idrodzajubadania, kodrodzajubadania);
COMMENT ON COLUMN krdk_xsd.srodzajbadania.idrodzajubadania IS 'Identyfikator rodzaju badania.';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.kodrodzajubadania IS 'Kod rodzaju badania.';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.idtypubadania IS 'Identyfikator typu badania (klucz obcy do stypbadania).';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.nazwarodzajubadania IS 'Nazwa rodzaju badania.';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.aktywny IS 'Czy pozycja aktywna.';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.plikszablonuwydruku IS 'Pole techniczne.';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajbadania.processid IS 'Identyfikator procesu.';

CREATE TABLE krdk_xsd.srodzajskladnikakrwi
(
    idrodzajuskladnikakrwi bigint                 NOT NULL,
    namecode               character varying(5)   NULL,
    nazwa                  character varying(200) NOT NULL,
    obiektkontrolijakosci  character(1)           NULL,
    aktywny                character(1)           NULL,
    isbtstafmemberno       character varying(11)  NOT NULL,
    isbtstafmembernomodyf  character varying(11)  NOT NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    CONSTRAINT pk_skladnikkrwi PRIMARY KEY (idrodzajuskladnikakrwi),
    CONSTRAINT fk_srskkr_class FOREIGN KEY (namecode) REFERENCES krdk_xsd.isbt_class (namecode)
);
CREATE UNIQUE INDEX idx809032229440000 ON krdk_xsd.srodzajskladnikakrwi USING btree (idrodzajuskladnikakrwi, namecode, nazwa);


COMMENT ON COLUMN krdk_xsd.srodzajskladnikakrwi.idrodzajuskladnikakrwi IS 'Identyfikator rodzaju składnika krwi';
COMMENT ON COLUMN krdk_xsd.srodzajskladnikakrwi.namecode IS 'Kod klasy składnika.';
COMMENT ON COLUMN krdk_xsd.srodzajskladnikakrwi.nazwa IS 'Nazwa';
COMMENT ON COLUMN krdk_xsd.srodzajskladnikakrwi.obiektkontrolijakosci IS 'Obiekt kontroli jakości';
COMMENT ON COLUMN krdk_xsd.srodzajskladnikakrwi.aktywny IS 'Informacja, czy aktywny';
COMMENT ON COLUMN krdk_xsd.srodzajskladnikakrwi.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajskladnikakrwi.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajskladnikakrwi.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajskladnikakrwi.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajskladnikakrwi.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.srodzajskladnikakrwi.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajskladnikakrwi.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';

CREATE TABLE krdk_xsd.isbt_attrforproduct
(
    attrform              character varying(8)  NOT NULL,
    proddescripcode       character varying(5)  NOT NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_attforprod PRIMARY KEY (attrform, proddescripcode),
    CONSTRAINT fk_attforprod FOREIGN KEY (attrform) REFERENCES krdk_xsd.isbt_attribute (attrform),
    CONSTRAINT fk_prodforatt FOREIGN KEY (proddescripcode) REFERENCES krdk_xsd.isbt_productdescription (proddescripcode)
);


COMMENT ON COLUMN krdk_xsd.isbt_attrforproduct.attrform IS 'Atrybut składnika';
COMMENT ON COLUMN krdk_xsd.isbt_attrforproduct.proddescripcode IS 'Kod produktu wg ISBT128.';
COMMENT ON COLUMN krdk_xsd.isbt_attrforproduct.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attrforproduct.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attrforproduct.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attrforproduct.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attrforproduct.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_attrforproduct.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attrforproduct.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';




CREATE TABLE krdk_xsd.isbt_attrib2rodzajskladkrwi
(
    attrform               character varying(8)  NOT NULL,
    idrodzajuskladnikakrwi bigint                NOT NULL,
    isbtstafmemberno       character varying(11) NOT NULL,
    isbtstafmembernomodyf  character varying(11) NOT NULL,
    dataczasutworzenia     timestamp(0)          NOT NULL,
    dataczasmodyfikacji    timestamp(0)          NOT NULL,
    usunieto               character(1)          NOT NULL,
    lokalizacjafin         character varying(5)  NOT NULL,
    lokalizacjafinmodyf    character varying(5)  NOT NULL,
    CONSTRAINT pk_a2r PRIMARY KEY (attrform, idrodzajuskladnikakrwi),
    CONSTRAINT fk_a2r_attrib FOREIGN KEY (attrform) REFERENCES krdk_xsd.isbt_attribute (attrform),
    CONSTRAINT fk_a2r_srskkr FOREIGN KEY (idrodzajuskladnikakrwi) REFERENCES krdk_xsd.srodzajskladnikakrwi (idrodzajuskladnikakrwi)
);


COMMENT ON COLUMN krdk_xsd.isbt_attrib2rodzajskladkrwi.attrform IS 'Unique attrform';
COMMENT ON COLUMN krdk_xsd.isbt_attrib2rodzajskladkrwi.idrodzajuskladnikakrwi IS 'Identyfikator rodzaju składnika krwi';
COMMENT ON COLUMN krdk_xsd.isbt_attrib2rodzajskladkrwi.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attrib2rodzajskladkrwi.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attrib2rodzajskladkrwi.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attrib2rodzajskladkrwi.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attrib2rodzajskladkrwi.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.isbt_attrib2rodzajskladkrwi.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.isbt_attrib2rodzajskladkrwi.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.sgmina
(
    idgminy               bigint                NOT NULL,
    nazwagminy            character varying(50) NOT NULL,
    kodterytorialny       character varying(10) NULL,
    idpowiatu             bigint                NULL,
    rodzajgminy           character(1)          NULL,
    stanna                date                  NULL,
    aktywny               character(1)          NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    CONSTRAINT pk_gmina PRIMARY KEY (idgminy),
    CONSTRAINT fk_sgm_spow FOREIGN KEY (idpowiatu) REFERENCES krdk_xsd.spowiat (idpowiatu)
);

COMMENT ON COLUMN krdk_xsd.sgmina.idgminy IS 'Identyfikator gminy';
COMMENT ON COLUMN krdk_xsd.sgmina.nazwagminy IS 'Nazwa gminy';
COMMENT ON COLUMN krdk_xsd.sgmina.kodterytorialny IS 'Kod terytorialny';
COMMENT ON COLUMN krdk_xsd.sgmina.idpowiatu IS 'Identyfikator powiatu, w którym znajduje się gmina (klucz obcy do słownika Spowiat).';
COMMENT ON COLUMN krdk_xsd.sgmina.rodzajgminy IS 'Rodzaj gmin.
1 - gmina miejska
2 - gmina wiejska
3 - gmina miejsko-wiejska
4 - miasto w gminie miejsko-wiejskiej
5 - obszar wiejski gminy miejsko-wiejskiej
8 - dzielnicaw m. st. Warszawa
9 - delegatury miast: Kraków, Łódź, Poznań i Wrocław.';
COMMENT ON COLUMN krdk_xsd.sgmina.stanna IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.sgmina.aktywny IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.sgmina.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu';
COMMENT ON COLUMN krdk_xsd.sgmina.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu';
COMMENT ON COLUMN krdk_xsd.sgmina.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sgmina.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sgmina.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.sgmina.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sgmina.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.smiejscowosc
(
    idmiejscowosci             bigint                NOT NULL,
    nazwamiejscowosci          character varying(60) NOT NULL,
    kodpocztowyogolny          character varying(7)  NULL,
    idgminy                    bigint                NULL,
    aktywny                    character(1)          NULL,
    czynazwazwyczajowa         character(1)          NOT NULL,
    kodmiejscowosci            character varying(7)  NOT NULL,
    kodmiejscowoscipodstawowej character varying(7)  NULL,
    stanna                     date                  NULL,
    idrodzajumiejscowosci      bigint                NULL,
    isbtstafmemberno           character varying(11) NOT NULL,
    isbtstafmembernomodyf      character varying(11) NOT NULL,
    dataczasutworzenia         timestamp(0)          NOT NULL,
    dataczasmodyfikacji        timestamp(0)          NOT NULL,
    usunieto                   character(1)          NOT NULL,
    lokalizacjafin             character varying(5)  NOT NULL,
    lokalizacjafinmodyf        character varying(5)  NOT NULL,
    CONSTRAINT pk_smiejsc PRIMARY KEY (idmiejscowosci),
    CONSTRAINT fk_sm_srm FOREIGN KEY (idrodzajumiejscowosci) REFERENCES krdk_xsd.srodzajmiejscowosci (idrodzajumiejscowosci),
    CONSTRAINT fk_smiej_sgm FOREIGN KEY (idgminy) REFERENCES krdk_xsd.sgmina (idgminy)
);
CREATE UNIQUE INDEX idx111301007170000 ON krdk_xsd.smiejscowosc USING btree (idmiejscowosci, nazwamiejscowosci);


COMMENT ON COLUMN krdk_xsd.smiejscowosc.idmiejscowosci IS 'Identyfikator miejscowości';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.nazwamiejscowosci IS 'Nazwa miejscowości';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.kodpocztowyogolny IS ' Kod pocztowy';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.idgminy IS 'Identyfikator gminy w jakiej znajduje się miejscowość. Relacja do tabeli Sgmina.';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.aktywny IS 'Informacja o tym, czy miejscowość istnieje.';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.czynazwazwyczajowa IS 'Flaga informująca o tym, czy dla danej miejscowości występuje nazwa zwyczajowa: (0 - nie, 1 - tak).
Uwaga: w dokumentacji TERYT 0 oznacza, że występuje nazwa zwyczajowa, 1 - brak nazwy zwyczajowej (0 - tak, 1 - nie). ';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.kodmiejscowosci IS 'Identyfikator (symbol) miejscowości.';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.kodmiejscowoscipodstawowej IS 'Identyfikator (symbol) miejscowości podstawowej. Dla części miejscowości wiejskich - identyfikator miejscowości,
    do której dana część należy, dla części miast - identyfikator danego miasta (w miastach posiadających dzielnice/delegatury - identyfikator tej jednostki).';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.stanna IS 'Data aktualizacji danych w podsystemie SIMC.';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.idrodzajumiejscowosci IS 'Identyfikator kodu rodzaju miejscowosci.';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.smiejscowosc.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.listaosobzdyskwalifikowanych
(
    idosobyzdyskwalifikowanej  bigint                 NOT NULL,
    imie                       character varying(60)  NOT NULL,
    drugieimie                 character varying(50)  NULL,
    nazwisko                   character varying(100) NOT NULL,
    dataurodzenia              date                   NULL,
    pesel                      character varying(11)  NULL,
    azulica                    character varying(255) NULL,
    aznumerdomu                character varying(12)  NULL,
    aznumerlokalu              character varying(4)   NULL,
    azkodpocztowy              character varying(7)   NULL,
    idgminy                    bigint                 NULL,
    azmiejscowosc              character varying(60)  NULL,
    koddyskwalifikacji         character varying(50)  NULL,
    imieojca                   character varying(60)  NULL,
    imiematki                  character varying(60)  NULL,
    grupakrwi                  character varying(20)  NULL,
    datazgloszeniazachorowania date                   NULL,
    uwagi                      character varying(250) NULL,
    dataaktualizacji           date                   NULL,
    status                     integer                NULL,
    datawystawienia            timestamp(0)           NULL,
    datapotwierdzenia          timestamp(0)           NULL,
    zrodloinformacji           character varying(250) NULL,
    zrodlodyskwalifikacji      character varying(100) NULL,
    externalid                 character varying(40)  NULL,
    idoperatorautworzenia      bigint                 NOT NULL,
    idoperatoramodyfikacji     bigint                 NULL,
    dataczasutworzenia         timestamp(0)           NOT NULL,
    dataczasmodyfikacji        timestamp(0)           NOT NULL,
    usunieto                   character(1)           NOT NULL,
    lokalizacjafin             character varying(5)   NOT NULL,
    lokalizacjafinmodyf        character varying(5)   NOT NULL,
    processId                  character varying(60)  NOT NULL,
    CONSTRAINT pk_listaoszdysk PRIMARY KEY (idosobyzdyskwalifikowanej),
    CONSTRAINT fk_loszd_gm FOREIGN KEY (idgminy) REFERENCES krdk_xsd.sgmina (idgminy)
);
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.idosobyzdyskwalifikowanej IS 'Identyfikator osoby zdyskwalifikowanej.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.imie IS 'Imię osoby zdyskwalifikowanej.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.drugieimie IS 'Drugie imię osoby zdyskwalifikowanej.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.nazwisko IS 'Nazwisko osoby zdyskwalifikowanej.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.dataurodzenia IS 'Data urodzenia osoby zdyskwalifikowanej.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.pesel IS 'PESEL osoby zdyskwalifikowanej.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.azulica IS 'Ulica z adresu zamieszkania.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.aznumerdomu IS 'Numer domu z adresu zamieszkania.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.aznumerlokalu IS 'Numer lokalu z adresu zamieszkania.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.azkodpocztowy IS 'Kod pocztowy z adresu zamieszkania.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.idgminy IS 'Identyfikator gminy z adresu zamieszkania (klucz obcy do słownika sgmina).';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.azmiejscowosc IS 'Miejscowość z adresu zamieszkania.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.koddyskwalifikacji IS 'Kod dyskwalifikacji';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.imieojca IS 'Imię ojca osoby zdyskwalifikowanej.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.imiematki IS 'Imię matki osoby zdyskwalifikowanej.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.grupakrwi IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.datazgloszeniazachorowania IS 'Data zgłoszenia zachorowania.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.uwagi IS 'Uwagi dotyczące dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.dataaktualizacji IS 'Data ostatniej aktualizacji o dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.status IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.datawystawienia IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.datapotwierdzenia IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.zrodloinformacji IS 'Kolumna niewykorzystywana';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.zrodlodyskwalifikacji IS 'Źródło dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.listaosobzdyskwalifikowanych.processid IS 'Identyfikator procesu.';

CREATE TABLE krdk_xsd.adres
(
    idadresu               bigint                 NOT NULL,
    idkraju                bigint                 NULL,
    ulica                  character varying(255) NULL,
    numerdomu              character varying(24)  NULL,
    numerlokalu            character varying(8)   NULL,
    kodpocztowy            character varying(14)  NULL,
    typadresu              character(1)           NULL,
    idmiejscowosci         bigint                 NULL,
    miejscowoscobca        character varying(120) NULL,
    idosoby                bigint                 NULL,
    idjednostkiorg         bigint                 NULL,
    idodbiorcy             bigint                 NULL,
    status                 integer                NULL,
    iddzialu               bigint                 NULL,
    idkontrahenta          bigint                 NULL,
    idpracownika           bigint                 NULL,
    iduczestnikaszkolenia  bigint                 NULL,
    idklubuhdk             bigint                 NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NOT NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_adres PRIMARY KEY (idadresu)
);

COMMENT ON COLUMN krdk_xsd.adres.idadresu IS 'Identyfikator adresu';
COMMENT ON COLUMN krdk_xsd.adres.idkraju IS 'Identyfikator kraju. Słownik: skraj';
COMMENT ON COLUMN krdk_xsd.adres.ulica IS 'Nazwa ulicy lub miejscowości wynika z Dz.U. 2005 Nr 109 poz. 918 (dotyczy adresu typu Z i K)';
COMMENT ON COLUMN krdk_xsd.adres.numerdomu IS 'Numer domu.';
COMMENT ON COLUMN krdk_xsd.adres.numerlokalu IS 'Numer lokalu.';
COMMENT ON COLUMN krdk_xsd.adres.kodpocztowy IS 'Kod pocztowy wynika z Dz.U. 2005 Nr 109 poz. 918 (dotyczy adresu typu Z i K)';
COMMENT ON COLUMN krdk_xsd.adres.typadresu IS 'Typ adresu (Z - zameldowania, P - zamieszkania, K - korespondencji). ';
COMMENT ON COLUMN krdk_xsd.adres.idmiejscowosci IS 'Identyfikator miejscowości. Słownik: smiejscowosc';
COMMENT ON COLUMN krdk_xsd.adres.miejscowoscobca IS 'Inna nazwa miejscowości (gdy nie ma miejscowości w slowniku smiejscowosc).';
COMMENT ON COLUMN krdk_xsd.adres.idosoby IS 'Identyfikator osoby.';
COMMENT ON COLUMN krdk_xsd.adres.idjednostkiorg IS 'Identyfikator jednostki organizacyjnej (klucz obcy do organizacja). ';
COMMENT ON COLUMN krdk_xsd.adres.idodbiorcy IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.adres.status IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.adres.iddzialu IS 'Identyfikator działu (klucz obcy do dzial).';
COMMENT ON COLUMN krdk_xsd.adres.idkontrahenta IS 'Identyfikator kontrahenta (klucz obcy do kontrahent).';
COMMENT ON COLUMN krdk_xsd.adres.idpracownika IS 'Identyfikator pracownika (klucz obcy do pracownik).';
COMMENT ON COLUMN krdk_xsd.adres.iduczestnikaszkolenia IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.adres.idklubuhdk IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.adres.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.adres.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.adres.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.adres.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.adres.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.adres.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.adres.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.adres.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.adres.processid IS 'Typ prosty: identyfikator procesu wymiany danych';



CREATE TABLE krdk_xsd.badanie
(
    idbadania                bigint                 NOT NULL,
    idpakietu                bigint                 NULL,
    numerbadania             character varying(40)  NULL,
    wynikzbiorczy            character varying(255) NULL,
    datawykonaniabadania     timestamp(0)           NOT NULL,
    czyodplatne              character(1)           NOT NULL,
    status                   character(1)           NOT NULL DEFAULT '0'::bpchar,
    iddonacji                bigint                 NULL,
    idosoby                  bigint                 NULL,
    idzlecenia               bigint                 NULL,
    idbadaniapowtorzenie     bigint                 NULL,
    iddefinicjibadania       bigint                 NOT NULL,
    czywwynikukoncowym       character(1)           NULL,
    datawystawienia          timestamp(0)           NULL,
    datapotwierdzenia        timestamp(0)           NULL,
    iddzialu                 bigint                 NULL,
    idwizyty                 bigint                 NULL,
    pochodzeniebadania       character(1)           NULL,
    numerdonacji             character varying(20)  NULL,
    czysapowtorzenia         character(1)           NULL     DEFAULT '0'::bpchar,
    zaakceptowane            character(1)           NULL,
    czyustalonywynikkoncowy  character(1)           NULL,
    dataczasprzeprbadnaurz   timestamp(0)           NULL,
    uzytkownikprzeprbadnaurz bigint                 NULL,
    dataczaswprbadzurz       timestamp(0)           NULL,
    uzytkownikwprbadzurz     bigint                 NULL,
    dataczasopracwynik       timestamp(0)           NULL,
    uzytkownikopracwynik     bigint                 NULL,
    dataczasakcwynik         timestamp(0)           NULL,
    uzytkownikakcwynik       bigint                 NULL,
    dataczaswydaniawyn       timestamp(0)           NULL,
    uzytkownikwydaniawyn     bigint                 NULL,
    dokwynikubadania         bytea                  NULL,
    podpisdokwynikubadania   bytea                  NULL,
    statuskontroli           character(1)           NULL,
    produniquekey            character varying(24)  NULL,
    idfinew                  character varying(14)  NOT NULL,
    idpary                   bigint                 NULL,
    externalid               character varying(40)  NULL,
    idoperatorautworzenia    bigint                 NOT NULL,
    idoperatoramodyfikacji   bigint                 NULL,
    dataczasutworzenia       timestamp(0)           NOT NULL,
    dataczasmodyfikacji      timestamp(0)           NOT NULL,
    usunieto                 character(1)           NOT NULL,
    lokalizacjafin           character varying(5)   NOT NULL,
    lokalizacjafinmodyf      character varying(5)   NOT NULL,
    processId                character varying(60)  NOT NULL,
    CONSTRAINT pk_badanie1 PRIMARY KEY (idbadania)
);

COMMENT ON COLUMN krdk_xsd.badanie.idbadania IS 'Identyfikator badania.';
COMMENT ON COLUMN krdk_xsd.badanie.idpakietu IS 'Identyfikator pakietu badań, w ramach którego wykonano badanie (klucz obcy do pakietbadania).';
COMMENT ON COLUMN krdk_xsd.badanie.numerbadania IS 'Numer badania.';
COMMENT ON COLUMN krdk_xsd.badanie.wynikzbiorczy IS 'Opis wyniku zbiorczego.';
COMMENT ON COLUMN krdk_xsd.badanie.datawykonaniabadania IS 'Data wykonania badania.';
COMMENT ON COLUMN krdk_xsd.badanie.czyodplatne IS 'Flaga określająca czy badanie jest odpłatne.';
COMMENT ON COLUMN krdk_xsd.badanie.status IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.iddonacji IS 'Identyfikator donacji, w ramach której wykonano badanie (klucz obcy do donacja).';
COMMENT ON COLUMN krdk_xsd.badanie.idosoby IS 'Identyfikator osoby.';
COMMENT ON COLUMN krdk_xsd.badanie.idzlecenia IS 'Identyfikator zlecenia.';
COMMENT ON COLUMN krdk_xsd.badanie.idbadaniapowtorzenie IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.iddefinicjibadania IS 'Identyfikator definicji badania (klucz obcy do definicjabadania).';
COMMENT ON COLUMN krdk_xsd.badanie.czywwynikukoncowym IS 'Informacja czy dane powtórzenie (jeśli takowe zaistniało) zostało wykorzystane dowyznaczania wyniku końcowego.';
COMMENT ON COLUMN krdk_xsd.badanie.datawystawienia IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.datapotwierdzenia IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.iddzialu IS 'Identyfikator działu, w którym wykonano badanie (klucz obcy do dzial).';
COMMENT ON COLUMN krdk_xsd.badanie.idwizyty IS 'Identyfikator wizyty, w ramach której wykonano badanie (klucz obcy do wizytadawcy).';
COMMENT ON COLUMN krdk_xsd.badanie.pochodzeniebadania IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.numerdonacji IS 'Numer donacji.';
COMMENT ON COLUMN krdk_xsd.badanie.czysapowtorzenia IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.zaakceptowane IS 'Czy badanie zostało zaakceptowane.';
COMMENT ON COLUMN krdk_xsd.badanie.czyustalonywynikkoncowy IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.dataczasprzeprbadnaurz IS 'Data oraz czas przeprowadzenia badania na urządzeniu.';
COMMENT ON COLUMN krdk_xsd.badanie.uzytkownikprzeprbadnaurz IS 'Identyfikator operatora, który przeprowadził badanie na urządzeniu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.badanie.dataczaswprbadzurz IS 'Data oraz czas wprowadzenia badania z urządzenia.';
COMMENT ON COLUMN krdk_xsd.badanie.uzytkownikwprbadzurz IS 'Identyfikator operatora, który wprowadził badanie z urządzenia (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.badanie.dataczasopracwynik IS 'Data oraz czas opracowania wyniku.';
COMMENT ON COLUMN krdk_xsd.badanie.uzytkownikopracwynik IS 'Identyfikator operatora, który opracował wynik (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.badanie.dataczasakcwynik IS 'Data oraz czas autoryzacji wyniku.';
COMMENT ON COLUMN krdk_xsd.badanie.uzytkownikakcwynik IS 'Identyfikator operatora, który autoryzował wynik (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.badanie.dataczaswydaniawyn IS 'Data oraz czas wydania wyniku.';
COMMENT ON COLUMN krdk_xsd.badanie.uzytkownikwydaniawyn IS 'Identyfikator operatora, który wydał wynik (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.badanie.dokwynikubadania IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.podpisdokwynikubadania IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.statuskontroli IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.produniquekey IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.idfinew IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.idpary IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.badanie.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.badanie.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.badanie.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.badanie.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.badanie.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.badanie.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.badanie.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.badanie.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.badanie.processid IS 'Identyfikator procesu.';

--CREATE UNIQUE INDEX idx210301047580000 ON krdk_xsd.badanie USING btree (idbadania);
--CREATE UNIQUE INDEX idx809031912170000 ON krdk_xsd.badanie USING btree (idbadania, datawykonaniabadania, iddzialu, numerbadania, numerdonacji, iddefinicjibadania); -- tu bylo jeszcze idprobki wczesniej


CREATE TABLE krdk_xsd.badaniespecjalne
(
    idbadaniaspecjalnego   bigint                 NOT NULL,
    typ                    character varying(4)   NULL,
    databadania            timestamp(0)           NULL,
    idbadania              bigint                 NULL,
    idosoby                bigint                 NULL,
    aktualne               character varying(5)   NULL,
    skl_0                  integer                NULL,
    skl_1                  integer                NULL,
    skl_2                  integer                NULL,
    skl_3                  integer                NULL,
    skl_4                  integer                NULL,
    skl_5                  integer                NULL,
    skl_6                  integer                NULL,
    skl_7                  integer                NULL,
    skl_8                  integer                NULL,
    skl_9                  integer                NULL,
    skl_10                 integer                NULL,
    skl_11                 integer                NULL,
    skl_12                 integer                NULL,
    skl_13                 integer                NULL,
    skl_14                 integer                NULL,
    skl_15                 integer                NULL,
    skl_16                 integer                NULL,
    skl_17                 integer                NULL,
    skl_18                 integer                NULL,
    skl_19                 integer                NULL,
    skl_20                 integer                NULL,
    skl_21                 integer                NULL,
    skl_22                 integer                NULL,
    skl_23                 integer                NULL,
    skl_24                 integer                NULL,
    skl_25                 integer                NULL,
    skl_26                 integer                NULL,
    skl_27                 integer                NULL,
    skl_28                 integer                NULL,
    skl_29                 integer                NULL,
    skl_str_0              character varying(500) NULL,
    skl_str_1              character varying(500) NULL,
    skl_str_2              character varying(500) NULL,
    skl_str_3              character varying(500) NULL,
    skl_str_4              character varying(100) NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NOT NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_badspec PRIMARY KEY (idbadaniaspecjalnego)
);

COMMENT ON COLUMN krdk_xsd.badaniespecjalne.idbadaniaspecjalnego IS 'Identyfikator badania specjalnego.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.typ IS 'Typ badania specjalnego.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.databadania IS 'Data badania.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.idbadania IS 'Identyfikator badania serologicznego, którego wynik jest przechowywany w ramach tej struktury (klucz obcy do badanie).';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.idosoby IS 'Identyfikator osoby, której wykonano badanie serologiczne (klucz obcy do osoba).';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.aktualne IS 'Informacja o tym, czy dane badanie serologiczne jest ostatnim badaniem danej osoby (czy jest aktualne).';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_0 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_1 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_2 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_3 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_4 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_5 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_6 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_7 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_8 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_9 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_10 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_11 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_12 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_13 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_14 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_15 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_16 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_17 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_18 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_19 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_20 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_21 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_22 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_23 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_24 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_25 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_26 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_27 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_28 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_29 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_str_0 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_str_1 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_str_2 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_str_3 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.skl_str_4 IS 'Kolumna techniczna.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.badaniespecjalne.processid IS 'Identyfikator procesu.';

CREATE TABLE krdk_xsd.srodzajzakazenia
(
    idrodzajuzakazenia    bigint                 NOT NULL,
    typzakazenia          character varying(200) NOT NULL,
    aktywny               character(1)           NOT NULL,
    isbtstafmemberno      character varying(11)  NOT NULL,
    isbtstafmembernomodyf character varying(11)  NOT NULL,
    dataczasutworzenia    timestamp(0)           NOT NULL,
    dataczasmodyfikacji   timestamp(0)           NOT NULL,
    usunieto              character(1)           NOT NULL,
    lokalizacjafin        character varying(5)   NOT NULL,
    lokalizacjafinmodyf   character varying(5)   NOT NULL,
    CONSTRAINT pk_srodzajzak PRIMARY KEY (idrodzajuzakazenia)
);

COMMENT ON COLUMN krdk_xsd.srodzajzakazenia.idrodzajuzakazenia IS 'Identyfikator rodzaju zakażenia.';
COMMENT ON COLUMN krdk_xsd.srodzajzakazenia.typzakazenia IS 'Typ zakażenia.';
COMMENT ON COLUMN krdk_xsd.srodzajzakazenia.aktywny IS 'Czy pozycja aktywna';
COMMENT ON COLUMN krdk_xsd.srodzajzakazenia.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajzakazenia.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajzakazenia.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajzakazenia.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajzakazenia.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.srodzajzakazenia.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.srodzajzakazenia.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.dawca
(
    idosoby                        bigint                 NOT NULL,
    idtypudawcy                    bigint                 NOT NULL,
    immunizowany                   character(1)           NULL,
    dataostatniejdonacji           date                   NULL,
    miejscepracy                   character varying(200) NULL,
    nrklubuhdk                     character varying(40)  NULL,
    nazwaklubuhdk                  character varying(100) NULL,
    zdyskwalifikowany              character(1)           NULL,
    ilosczabiegowodpoczatkuroku    integer                NULL,
    iloscoddlitrwprzelnakrewpelna  integer                NULL,
    iloscoddjednosoczodpoczroku    integer                NULL,
    iloscoddjednkrwipelnodpoczroku integer                NULL,
    iloscoddjednkkpodpoczroku      integer                NULL,
    iloscoddjednkkczodpoczroku     integer                NULL,
    iloscdniprzed                  integer                NULL,
    zaproszenienadonacjesms        character(1)           NULL,
    zaproszenienadonacjelist       character(1)           NULL,
    zaproszenienadonacjeemail      character(1)           NULL,
    przypomnienieodonacjilist      character(1)           NULL,
    przypomnienieodonacjisms       character(1)           NULL,
    przypomnienieodonacjiemail     character(1)           NULL,
    podziekowaniezadonacjlist      character(1)           NULL,
    podziekowaniezadonacjesms      character(1)           NULL,
    podziekowaniezadonacjeemail    character(1)           NULL,
    objetoscprzed1995              integer                NULL,
    status                         integer                NULL,
    idklubuhdk                     bigint                 NULL,
    datawystawienia                timestamp(0)           NULL,
    datapotwierdzenia              timestamp(0)           NULL,
    nrdawcy                        character varying(30)  NULL,
    uwagi                          character varying(250) NULL,
    externalid                     character varying(40)  NULL,
    idoperatorautworzenia          bigint                 NOT NULL,
    idoperatoramodyfikacji         bigint                 NULL,
    dataczasutworzenia             timestamp(0)           NOT NULL,
    dataczasmodyfikacji            timestamp(0)           NOT NULL,
    usunieto                       character(1)           NOT NULL,
    lokalizacjafin                 character varying(5)   NOT NULL,
    lokalizacjafinmodyf            character varying(5)   NOT NULL,
    processId                      character varying(60)  NOT NULL,
    CONSTRAINT pk_dawca PRIMARY KEY (idosoby)
);
--CREATE UNIQUE INDEX idx111161210360000 ON krdk_xsd.dawca USING btree (idosoby, usunieto);
--CREATE UNIQUE INDEX idx211270948220000 ON krdk_xsd.dawca USING btree (idosoby, nrdawcy);
--CREATE UNIQUE INDEX idx301151205220000 ON krdk_xsd.dawca USING btree (idosoby);
--CREATE UNIQUE INDEX idx809101703300000 ON krdk_xsd.dawca USING btree (idosoby, usunieto, idtypudawcy);
COMMENT ON COLUMN krdk_xsd.dawca.idosoby IS 'Identyfikator systemowy dawcy (osoby)';
COMMENT ON COLUMN krdk_xsd.dawca.idtypudawcy IS 'Identyfikator typu dawcy. Słownik: stypdawcy.';
COMMENT ON COLUMN krdk_xsd.dawca.immunizowany IS 'Czy dawca immunizowany.';
COMMENT ON COLUMN krdk_xsd.dawca.dataostatniejdonacji IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.miejscepracy IS 'Miejsce pracy.';
COMMENT ON COLUMN krdk_xsd.dawca.nrklubuhdk IS 'Numer Klubu Honorowych Dawców Krwi. wynika z Dz.U. 2005 Nr 109 poz. 918';
COMMENT ON COLUMN krdk_xsd.dawca.nazwaklubuhdk IS 'Nazwa Klubu Honorowych Dawców Krwi.';
COMMENT ON COLUMN krdk_xsd.dawca.zdyskwalifikowany IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.ilosczabiegowodpoczatkuroku IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.iloscoddlitrwprzelnakrewpelna IS 'Ilość oddanej krwi w przeliczeniu na krew pełną.';
COMMENT ON COLUMN krdk_xsd.dawca.iloscoddjednosoczodpoczroku IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.iloscoddjednkrwipelnodpoczroku IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.iloscoddjednkkpodpoczroku IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.iloscoddjednkkczodpoczroku IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.iloscdniprzed IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.zaproszenienadonacjesms IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.zaproszenienadonacjelist IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.zaproszenienadonacjeemail IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.przypomnienieodonacjilist IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.przypomnienieodonacjisms IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.przypomnienieodonacjiemail IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.podziekowaniezadonacjlist IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.podziekowaniezadonacjesms IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.podziekowaniezadonacjeemail IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.objetoscprzed1995 IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.status IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.idklubuhdk IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.datawystawienia IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.datapotwierdzenia IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dawca.nrdawcy IS 'Numer dawcy.';
COMMENT ON COLUMN krdk_xsd.dawca.uwagi IS 'Uwagi n/t dawcy.';
COMMENT ON COLUMN krdk_xsd.dawca.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.dawca.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.dawca.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.dawca.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.dawca.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.dawca.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.dawca.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.dawca.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.dawca.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.definicjabadania
(
    iddefinicjibadania        bigint                 NOT NULL,
    kod                       character varying(10)  NOT NULL,
    nazwa                     character varying(255) NOT NULL,
    idmetodybadania           bigint                 NOT NULL,
    idrodzajubadania          bigint                 NOT NULL,
    iddefskladowejwyniku      bigint                 NULL,
    idorganizacji             bigint                 NOT NULL,
    idzrodlapochodzeniaprobki bigint                 NULL,
    idprzeznaczprob           bigint                 NULL,
    externalid                character varying(40)  NULL,
    idoperatorautworzenia     bigint                 NOT NULL,
    idoperatoramodyfikacji    bigint                 NULL,
    dataczasutworzenia        timestamp(0)           NOT NULL,
    dataczasmodyfikacji       timestamp(0)           NOT NULL,
    usunieto                  character(1)           NOT NULL,
    lokalizacjafin            character varying(5)   NOT NULL,
    lokalizacjafinmodyf       character varying(5)   NOT NULL,
    processId                 character varying(60)  NOT NULL,
    CONSTRAINT pk_defbadania PRIMARY KEY (iddefinicjibadania)
);

COMMENT ON COLUMN krdk_xsd.definicjabadania.iddefinicjibadania IS 'Identyfikattor definicji badania.';
COMMENT ON COLUMN krdk_xsd.definicjabadania.kod IS 'Skrócone oznaczenie definicji badania w postaci łańcucha znakowego, pozwalające na rozpoznanie biznesowych cech definicji badania np. MORF_PEŁ dla definicji badania "Morfologia pełna".';
COMMENT ON COLUMN krdk_xsd.definicjabadania.nazwa IS 'Pełna nazwa definicji badania.';
COMMENT ON COLUMN krdk_xsd.definicjabadania.idmetodybadania IS 'Identyfikator metody badania (klucz obcy do smetodabadania).';
COMMENT ON COLUMN krdk_xsd.definicjabadania.idrodzajubadania IS 'Identyfikator rodzaju badania (klucz obcy do srodzajbadania).';
COMMENT ON COLUMN krdk_xsd.definicjabadania.iddefskladowejwyniku IS 'Identyfikator definicji składowej wyniku.';
COMMENT ON COLUMN krdk_xsd.definicjabadania.idorganizacji IS 'Identyfikator organizacji przeprowadzającego badania według tej definicji badania (klucz obcy do organizacja).';
COMMENT ON COLUMN krdk_xsd.definicjabadania.idzrodlapochodzeniaprobki IS 'Identyfikator źródła pochodzenia próbki. Słownik: zrodlopochodzeniaprobki.';
COMMENT ON COLUMN krdk_xsd.definicjabadania.idprzeznaczprob IS 'Identyfikator przeznaczenia próbki.';
COMMENT ON COLUMN krdk_xsd.definicjabadania.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.definicjabadania.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.definicjabadania.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.definicjabadania.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjabadania.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjabadania.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.definicjabadania.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjabadania.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjabadania.processid IS 'Identyfikator procesu.';

--CREATE UNIQUE INDEX idx111140751180000 ON krdk_xsd.definicjabadania USING btree (iddefinicjibadania);
--CREATE UNIQUE INDEX idx210301048070000 ON krdk_xsd.definicjabadania USING btree (iddefinicjibadania, idrodzajubadania);
--CREATE UNIQUE INDEX idx809091055470000 ON krdk_xsd.definicjabadania USING btree (iddefinicjibadania, usunieto);
--CREATE UNIQUE INDEX idx809091105190000 ON krdk_xsd.definicjabadania USING btree (iddefinicjibadania, usunieto, idrodzajubadania);


CREATE TABLE krdk_xsd.definicjaproduktuwejsciowego
(
    iddefprodwe             bigint                 NOT NULL,
    nazwa                   character varying(100) NOT NULL,
    opis                    character varying(255) NULL,
    namecode                character varying(5)   NULL,
    iddefinicji             bigint                 NOT NULL,
    objetoscmin             integer                NULL,
    objetoscmax             integer                NULL,
    liczbaminutprzydatnosci integer                NULL,
    czyoddatyprodukcji      character(1)           NOT NULL,
    czynumerdonwrekon       character(1)           NOT NULL,
    kodklasyskladnika       character varying(5)   NULL,
    kodmodyfikatora         character varying(5)   NULL,
    externalid              character varying(40)  NULL,
    idoperatorautworzenia   bigint                 NOT NULL,
    idoperatoramodyfikacji  bigint                 NULL,
    dataczasutworzenia      timestamp(0)           NOT NULL,
    dataczasmodyfikacji     timestamp(0)           NOT NULL,
    usunieto                character(1)           NOT NULL,
    lokalizacjafin          character varying(5)   NOT NULL,
    lokalizacjafinmodyf     character varying(5)   NOT NULL,
    processId               character varying(60)  NOT NULL,
    CONSTRAINT pk_klprodwe PRIMARY KEY (iddefprodwe)
);


COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.iddefprodwe IS 'Identyfikator definicji produktu wejściowego';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.nazwa IS 'Nazwa definicji produktu wejsciowego.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.opis IS 'Opis definicji produktu wejsciowego.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.namecode IS 'Kod klasy składnika.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.iddefinicji IS 'Identyfikator definicji preparatyki (klucz obcy do sdefinicjapreparatyki). ';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.objetoscmin IS 'Objetosc min.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.objetoscmax IS 'Objetosc max.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.liczbaminutprzydatnosci IS 'Przydatnosc do uzycia w danej preparatyce - wyrazona w minutach. ';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.czyoddatyprodukcji IS 'odDatyProdukcji czy odDatyPobrania donacji - związane z liczbaMinutPrzydatnosci ';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.czynumerdonwrekon IS 'Określa, że numer donacji jest przepisywany ze składnika wejściowego dla procedury rekonstytucji. ';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.kodklasyskladnika IS 'Kod klasy składnika zgodny z ISBT 128, np. C0014 -> Zlewane osocze. Para
                        kodklasyskladnika i kodmodyfikatora musi być zgodna z listą kombinacji modyfikatorów klasy ISBT 128. ';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.kodmodyfikatora IS 'Kod modyfikatora zgodny z IBST 128, np. M0009 -> Rozmrożony z aferezy. Para
                        kodklasyskladnika i kodmodyfikatora musi być zgodna z listą kombinacji modyfikatorów klasy ISBT 128. ';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwejsciowego.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.definicjaproduktuwyjsciowego
(
    iddefprodwy            bigint                 NOT NULL,
    nazwa                  character varying(100) NOT NULL,
    opis                   character varying(255) NULL,
    namecode               character varying(5)   NULL,
    iddefinicji            bigint                 NOT NULL,
    objetoscmin            integer                NULL,
    objetoscmax            integer                NULL,
    czybadbakteriologiczne character(1)           NULL,
    liczbaminutwaznosci    integer                NULL,
    czyoddatyprodukcji     character(1)           NOT NULL,
    idtypukontenerasju     bigint                 NULL,
    kodklasyskladnika      character varying(5)   NULL,
    kodmodyfikatora        character varying(5)   NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NOT NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_klprodwy PRIMARY KEY (iddefprodwy)
);


COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.iddefprodwy IS 'Identyfikator definicji produktu wyjściowego';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.nazwa IS 'Nazwa definicji produktu wyjsciowego.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.opis IS 'Opis definicji produktu wyjsciowego.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.namecode IS 'Kod klasy składnika.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.iddefinicji IS 'Identyfikator definicji preparatyki (klucz obcy do sdefinicjapreparatyki). ';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.objetoscmin IS 'Objetosc min.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.objetoscmax IS 'Objetosc max.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.czybadbakteriologiczne IS 'Informacja, czy wykonać badanie bakteriologiczne.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.liczbaminutwaznosci IS 'Termin waznosci po wykonaniu preparatyki - wyrazona w minutach';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.czyoddatyprodukcji IS 'odDatyProdukcji czy odDatyPobrania donacji - związane z liczbaMinutPrzydatnosci ';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.idtypukontenerasju IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.kodklasyskladnika IS 'Kod klasy składnika zgodny z ISBT 128, np. C0004 -> Osocze. Para kodklasyskladnika
                        i kodmodyfikatora musi być zgodna z listą kombinacji modyfikatorów klasy ISBT 128. ';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.kodmodyfikatora IS 'Kod modyfikatora zgodny z IBST 128, np. M0013 -> Płynny z aferezy. Para
                        kodklasyskladnika i kodmodyfikatora musi być zgodna z listą kombinacji modyfikatorów klasy ISBT 128. ';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjaproduktuwyjsciowego.processid IS 'Typ prosty: identyfikator procesu wymiany danych';



CREATE TABLE krdk_xsd.defskladowejwynikuwdefbad
(
    iddefskladowejwyniku   bigint                NOT NULL,
    iddefinicjibadania     bigint                NOT NULL,
    kolejnosc              integer               NOT NULL,
    czywidocznanawydruku   character(1)          NOT NULL DEFAULT '1'::bpchar,
    czywidocznawgl         character(1)          NULL     DEFAULT '0'::bpchar,
    czywidocznawkartotece  character(1)          NULL,
    idpodgrupytowaru       bigint                NULL,
    idoperatorautworzenia  bigint                NOT NULL,
    idoperatoramodyfikacji bigint                NULL,
    dataczasutworzenia     timestamp(0)          NOT NULL,
    dataczasmodyfikacji    timestamp(0)          NOT NULL,
    usunieto               character(1)          NOT NULL,
    lokalizacjafin         character varying(5)  NOT NULL,
    lokalizacjafinmodyf    character varying(5)  NOT NULL,
    processId              character varying(60) NOT NULL,
    CONSTRAINT pk_defskwywdefbad PRIMARY KEY (iddefinicjibadania, iddefskladowejwyniku)
);

COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.iddefskladowejwyniku IS 'Identyfikator definicji składowej wyniku w definicji badania.';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.iddefinicjibadania IS 'Identyfikator definicji badania.';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.kolejnosc IS 'Pole techniczne.';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.czywidocznanawydruku IS 'Informacja, czy widoczna na wydruku.';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.czywidocznawgl IS 'Pole techniczne.';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.czywidocznawkartotece IS 'Informacja, czy widoczna w kartotece badań.';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.idpodgrupytowaru IS 'Identyfikator podgrupy towaru.';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.defskladowejwynikuwdefbad.processid IS 'Identyfikator procesu.';

CREATE TABLE krdk_xsd.donacja
(
    iddonacji                  bigint                 NOT NULL,
    idwizyty                   bigint                 NULL,
    numerdonacji               character varying(20)  NOT NULL,
    numerporzadkowydonacji     integer                NULL,
    dataczasdonacji            timestamp(0)           NOT NULL,
    nieprawidlowosci           character varying(255) NULL,
    iloscoddanychjednostek     integer                NOT NULL,
    zawartosckomorek           integer                NULL,
    czastrwaniadonacji         integer                NOT NULL,
    objetoscdonacji            integer                NOT NULL,
    objetosckrwipelnej         integer                NULL,
    dataczaszakonczeniadonacji timestamp(0)           NOT NULL,
    typdonacji                 character(1)           NOT NULL,
    iddawcyosoby               bigint                 NOT NULL,
    status                     integer                NULL,
    kwestionariuszwypelniony   character(1)           NULL,
    kwestionariuszuwagi        character varying(250) NULL,
    czyzakwalifikowano         character(1)           NOT NULL,
    uwagikwalifikacji          character varying(250) NULL,
    idprocedury                bigint                 NOT NULL,
    idmetody                   bigint                 NULL,
    grupakrwiabo               character varying(20)  NULL,
    grupakrwirh                character varying(5)   NULL,
    idadresu                   bigint                 NULL,
    iddefinicji                bigint                 NOT NULL,
    externalid                 character varying(40)  NULL,
    idoperatorautworzenia      bigint                 NOT NULL,
    idoperatoramodyfikacji     bigint                 NULL,
    dataczasutworzenia         timestamp(0)           NOT NULL,
    dataczasmodyfikacji        timestamp(0)           NOT NULL,
    usunieto                   character(1)           NOT NULL,
    lokalizacjafin             character varying(5)   NOT NULL,
    lokalizacjafinmodyf        character varying(5)   NOT NULL,
    processId                  character varying(60)  NOT NULL,
    CONSTRAINT pk_donacja PRIMARY KEY (iddonacji)
);
--CREATE UNIQUE INDEX idx211270956020000 ON krdk_xsd.donacja USING btree (iddonacji, idprocedury, dataczasdonacji, numerdonacji, iddawcyosoby, typdonacji);


COMMENT ON COLUMN krdk_xsd.donacja.iddonacji IS 'Identyfikator donacji';
COMMENT ON COLUMN krdk_xsd.donacja.idwizyty IS 'Identyfikator wizyty dawcy (klucz obcy do wizytadawcy).';
COMMENT ON COLUMN krdk_xsd.donacja.numerdonacji IS 'Numer donacji w standardzie ISBT128.';
COMMENT ON COLUMN krdk_xsd.donacja.numerporzadkowydonacji IS 'Obecnie obowiązujący numer donacji w RCKiK (unikalny w ramach roku). ';
COMMENT ON COLUMN krdk_xsd.donacja.dataczasdonacji IS 'Data i czas donacji. Wynika z Dz.U. 2005 Nr 109 poz. 918';
COMMENT ON COLUMN krdk_xsd.donacja.nieprawidlowosci IS 'Nieprawidłowości podczas donacji.';
COMMENT ON COLUMN krdk_xsd.donacja.iloscoddanychjednostek IS 'Ilość oddanych jednostek.';
COMMENT ON COLUMN krdk_xsd.donacja.zawartosckomorek IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.donacja.czastrwaniadonacji IS 'Czas trwania donacji.';
COMMENT ON COLUMN krdk_xsd.donacja.objetoscdonacji IS 'Objętość donacji.';
COMMENT ON COLUMN krdk_xsd.donacja.objetosckrwipelnej IS 'Objętość krwi pełnej.';
COMMENT ON COLUMN krdk_xsd.donacja.dataczaszakonczeniadonacji IS 'Data i godzina zakończenia donacji.';
COMMENT ON COLUMN krdk_xsd.donacja.typdonacji IS 'Kod typu donacji wg klasyfikacji ISBT128 (RT008).';
COMMENT ON COLUMN krdk_xsd.donacja.iddawcyosoby IS 'Identyfikator osoby (klucz obcy do osoba).';
COMMENT ON COLUMN krdk_xsd.donacja.status IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.donacja.kwestionariuszwypelniony IS 'Informacja, czy wypełniono kwestionariusz.';
COMMENT ON COLUMN krdk_xsd.donacja.kwestionariuszuwagi IS 'Uwagi do kwestionariusza';
COMMENT ON COLUMN krdk_xsd.donacja.czyzakwalifikowano IS 'Czy zakwalifikowano donację. T - tak, N - nie';
COMMENT ON COLUMN krdk_xsd.donacja.uwagikwalifikacji IS 'uwagi do kwalifikacji';
COMMENT ON COLUMN krdk_xsd.donacja.idprocedury IS 'Identyfikator zabiegu, do jakiego został zakwalifikowany dawca (klucz obcy do słownika sprocedurapreparatyki). ';
COMMENT ON COLUMN krdk_xsd.donacja.idmetody IS 'Identyfikator metody, do jakiej został zakwalifikowany dawca (klucz obcy do słownika smetodapreparatyki). ';
COMMENT ON COLUMN krdk_xsd.donacja.grupakrwiabo IS 'Grupa krwi z ukladu ABO';
COMMENT ON COLUMN krdk_xsd.donacja.grupakrwirh IS 'Swoistość antygenu D z układu Rh';
COMMENT ON COLUMN krdk_xsd.donacja.idadresu IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.donacja.iddefinicji IS 'Identyfikator definicji preparatyki (klucz obcy do sdefinicjapreparatyki). ';
COMMENT ON COLUMN krdk_xsd.donacja.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.donacja.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.donacja.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.donacja.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.donacja.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.donacja.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.donacja.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.donacja.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.donacja.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.dyskwalifikacja
(
    iddyskwalifikacji        bigint                 NOT NULL,
    iddawcyosoby             bigint                 NOT NULL,
    idrodzajudyskwalifikacji bigint                 NOT NULL,
    dataod                   date                   NOT NULL,
    datado                   date                   NULL,
    potwierdzeniezakazenia   character(1)           NULL,
    datapotwierdzenia        date                   NULL,
    datawystapieniaincydentu timestamp(0)           NULL,
    status                   integer                NULL,
    idrodzajuzakazenia       bigint                 NULL,
    uwagi                    character varying(250) NULL,
    zrodloinformacji         character varying(250) NULL,
    numerdonacji             character varying(20)  NULL,
    automatycznezniesienie   character(1)           NULL,
    uzytkowniknalozyldyskw   bigint                 NULL,
    uzytkownikzdjeciadyskw   bigint                 NULL,
    dataczaszdjeciadyskw     timestamp(0)           NULL,
    externalid               character varying(40)  NULL,
    idoperatorautworzenia    bigint                 NOT NULL,
    idoperatoramodyfikacji   bigint                 NULL,
    dataczasutworzenia       timestamp(0)           NOT NULL,
    dataczasmodyfikacji      timestamp(0)           NOT NULL,
    usunieto                 character(1)           NOT NULL,
    lokalizacjafin           character varying(5)   NOT NULL,
    lokalizacjafinmodyf      character varying(5)   NOT NULL,
    processId                character varying(60)  NOT NULL,
    CONSTRAINT pk_dyskw PRIMARY KEY (iddyskwalifikacji)
);

COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.iddyskwalifikacji IS 'Identyfikator dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.iddawcyosoby IS 'Identyfikator dawcy.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.idrodzajudyskwalifikacji IS 'Identyfikator rodzaju dyskwalifikacji. Słownik: srodzajdyskwalifikacji';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.dataod IS 'Data rozpoczęcia okresu dyskwalifikacji. Wynika z Dz.U. 2005 Nr 109 poz. 918';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.datado IS 'Data zakończenia okresu dyskwalifikacji. Wynika z Dz.U. 2005 Nr 109 poz. 918';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.potwierdzeniezakazenia IS 'Czy zakażenie zostało potwierdzone.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.datapotwierdzenia IS 'Data potwierdzienia zakażenia.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.datawystapieniaincydentu IS 'Data wystąpienia incydentu.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.status IS 'Informacja, czy dyskwalifikacja obecnie obowiązuje. T - obowiązuje, N - zdjęta';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.idrodzajuzakazenia IS 'Identyfikator rodzaju zakazenia. Słownik: srodzajzakazenia';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.uwagi IS 'Uwagi do dyskwalifikacji';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.zrodloinformacji IS 'Źródło informacji o dyskwalifikacji';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.numerdonacji IS 'Numer donacji.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.automatycznezniesienie IS 'Czy automatyczne zniesienie dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.uzytkowniknalozyldyskw IS 'Identyfikator operatora nakładającego dyskwalifikację (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.uzytkownikzdjeciadyskw IS 'Identyfikator operatora zdejmującego dyskwalifikację (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.dataczaszdjeciadyskw IS 'Data zdjęcia dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.dyskwalifikacja.processid IS 'Identyfikator procesu.';


CREATE TABLE krdk_xsd.dzial
(
    iddzialu               bigint                 NOT NULL,
    iddzialunadrzednego    bigint                 NULL,
    idtypudzialu           bigint                 NOT NULL,
    idorganizacji          bigint                 NOT NULL,
    aktywny                character(1)           NULL,
    nazwadzialu            character varying(250) NOT NULL,
    nrtelefonu             character varying(40)  NULL,
    czybankkrwi            character(1)           NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_dzialwpracowni PRIMARY KEY (iddzialu)
);
--CREATE UNIQUE INDEX idx205111010290000 ON krdk_xsd.dzial USING btree (iddzialu, usunieto, nazwadzialu, idtypudzialu);
--CREATE UNIQUE INDEX idx809012224540000 ON krdk_xsd.dzial USING btree (iddzialu, idtypudzialu, idorganizacji);

COMMENT ON COLUMN krdk_xsd.dzial.iddzialu IS 'Identyfikator działu';
COMMENT ON COLUMN krdk_xsd.dzial.iddzialunadrzednego IS 'Identyfikator dzialu nadrzednego (klucz obcy do dzial).';
COMMENT ON COLUMN krdk_xsd.dzial.idtypudzialu IS 'Identyfikator typu dzialu (klucz obcy do typdzialu).';
COMMENT ON COLUMN krdk_xsd.dzial.idorganizacji IS 'Identyfikator organizacji (klucz obcy do organizacji).';
COMMENT ON COLUMN krdk_xsd.dzial.aktywny IS 'Informacja, czy dział jest aktywny.';
COMMENT ON COLUMN krdk_xsd.dzial.nazwadzialu IS 'Nazwa dzialu.';
COMMENT ON COLUMN krdk_xsd.dzial.nrtelefonu IS 'Nr telefonu dzialu.';
COMMENT ON COLUMN krdk_xsd.dzial.czybankkrwi IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.dzial.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.dzial.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.dzial.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.dzial.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.dzial.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.dzial.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.dzial.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.dzial.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.dzial.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.kartotekaurzadzen
(
    idurzadzenia                 bigint                 NOT NULL,
    kodurzadzenia                character varying(25)  NOT NULL,
    nazwaurzadzenia              character varying(50)  NOT NULL,
    numerseryjny                 character varying(50)  NOT NULL,
    nazwaproducenta              character varying(100) NOT NULL,
    iddostawcy                   bigint                 NULL,
    idfirmyserwisujacej          bigint                 NULL,
    lokalizacja                  character varying(60)  NULL,
    datakwalifikacjidouzycia     date                   NOT NULL,
    zakwalifikowanedouzycia      integer                NULL,
    idtypuurzadzenia             bigint                 NOT NULL,
    iddzialu                     bigint                 NULL,
    czytransmisja                character(1)           NOT NULL DEFAULT '1'::bpchar,
    datakoncagwarancji           date                   NULL,
    status                       character varying(50), -- przyjmowane wartosci: planowane, do kwalifikacji operacyjnej, dopuszczone, uszkodzone, wyłączone, archiwalne
    aktualnawersjaoprogramowania character varying(20)  NULL,
    datanastepnejkwalifikacji    date                   NULL,
    dataprzegladutechnicznego    date                   NULL,
    externalid                   character varying(40)  NULL,
    idoperatorautworzenia        bigint                 NOT NULL,
    idoperatoramodyfikacji       bigint                 NULL,
    dataczasutworzenia           timestamp(0)           NOT NULL,
    dataczasmodyfikacji          timestamp(0)           NOT NULL,
    usunieto                     character(1)           NOT NULL,
    lokalizacjafin               character varying(5)   NOT NULL,
    lokalizacjafinmodyf          character varying(5)   NOT NULL,
    processId                    character varying(60)  NOT NULL,
    CONSTRAINT pk_urzadzenie PRIMARY KEY (idurzadzenia)
);

COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.idurzadzenia IS 'Identyfikator kartoteki urządzeń';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.kodurzadzenia IS 'Kod urzadzenia.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.nazwaurzadzenia IS 'Nazwa urządzenia.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.numerseryjny IS 'Numer seryjny urzadzenia.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.nazwaproducenta IS 'Nazwa producenta urzadzenia.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.iddostawcy IS 'Identyfikator dostawcy urzadzenia.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.idfirmyserwisujacej IS 'Identyfikator firmy serwisującej.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.lokalizacja IS 'Miejsce lokalizacji urządzenia w CKiK';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.datakwalifikacjidouzycia IS 'Data kwalifikacji do uzycia danego urzadzenia.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.zakwalifikowanedouzycia IS 'Informacja, czy urzadzenie zakwalifikowane do uzycia.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.idtypuurzadzenia IS 'Identyfikator typu urzadzenia. Słownik: stypurzadzenia.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.iddzialu IS 'Identyfikator dzialu, w którym jest urzadzenie.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.czytransmisja IS 'Informacja, czy dane urządzenie dokonuje transmisji parametrów.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.datakoncagwarancji IS 'Data konca gwarancji.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.status IS 'Status urządzenia: planowane, do kwalifikacji operacyjnej,
                        dopuszczone, uszkodzone, wyłączone, archiwalne.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.aktualnawersjaoprogramowania IS 'Aktualna wersja oprogramowania.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.datanastepnejkwalifikacji IS 'Data rozpoczęcia okresu dyskwalifikacji - wynika z Dz.U. 2005 Nr 109 poz. 918';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.dataprzegladutechnicznego IS 'Data przeglądu technicznego.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.kartotekaurzadzen.processid IS 'Typ prosty: identyfikator procesu wymiany danych';

CREATE TABLE krdk_xsd.kontrahent
(
    idkontrahenta          bigint                 NOT NULL,
    idorganizacji          bigint                 NULL,
    kodkontrahenta         character varying(40)  NULL,
    nip                    character varying(13)  NULL,
    regon                  character varying(14)  NULL,
    nazwa                  character varying(100) NULL,
    telefon                character varying(20)  NULL,
    fax                    character varying(20)  NULL,
    email                  character varying(60)  NULL,
    aktywny                character(1)           NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NOT NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_kontr PRIMARY KEY (idkontrahenta)
);
--CREATE UNIQUE INDEX idx211270922110000 ON krdk_xsd.kontrahent USING btree (idkontrahenta, idorganizacji);


COMMENT ON COLUMN krdk_xsd.kontrahent.idkontrahenta IS 'Identyfikator kontrahenta';
COMMENT ON COLUMN krdk_xsd.kontrahent.idorganizacji IS 'Identyfikator organizacji (klucz obcy do organizacja).';
COMMENT ON COLUMN krdk_xsd.kontrahent.kodkontrahenta IS 'Kod kontrahenta.';
COMMENT ON COLUMN krdk_xsd.kontrahent.nip IS 'Nr NIP kontrahenta.';
COMMENT ON COLUMN krdk_xsd.kontrahent.regon IS 'Nr REGON kontrahenta.';
COMMENT ON COLUMN krdk_xsd.kontrahent.nazwa IS 'Nazwa kontrahenta.';
COMMENT ON COLUMN krdk_xsd.kontrahent.telefon IS 'Nr telefonu kontrahenta.';
COMMENT ON COLUMN krdk_xsd.kontrahent.fax IS '<Kolumna niewykorzystywana>';;
COMMENT ON COLUMN krdk_xsd.kontrahent.email IS 'Adres email kontrahenta.';
COMMENT ON COLUMN krdk_xsd.kontrahent.aktywny IS 'Informacja, czy kontrahent jest aktywny.';
COMMENT ON COLUMN krdk_xsd.kontrahent.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.kontrahent.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.kontrahent.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.kontrahent.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.kontrahent.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.kontrahent.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.kontrahent.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.kontrahent.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.kontrahent.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.kontrahent2parent
(
    idkontrahenta          bigint                NOT NULL,
    idparent               bigint                NOT NULL,
    kontekst               character(1)          NOT NULL DEFAULT 'o'::bpchar,
    idoperatorautworzenia  bigint                NOT NULL,
    idoperatoramodyfikacji bigint                NULL,
    dataczasutworzenia     timestamp(0)          NOT NULL,
    dataczasmodyfikacji    timestamp(0)          NOT NULL,
    usunieto               character(1)          NOT NULL,
    lokalizacjafin         character varying(5)  NOT NULL,
    lokalizacjafinmodyf    character varying(5)  NOT NULL,
    processId              character varying(60) NOT NULL,
    CONSTRAINT pk_k2p PRIMARY KEY (idkontrahenta, idparent, kontekst)
);

COMMENT ON COLUMN krdk_xsd.kontrahent2parent.idkontrahenta IS 'Identyfikator w systemie. Identyfikator kontrahenta bazowego (np. Oddział Terenowy) (klucz obcy do kontrahent). ';
COMMENT ON COLUMN krdk_xsd.kontrahent2parent.idparent IS 'Identyfikator parenta - np RCKiK dla Oddzialu Terenowego lub RCKiK dla Dostawcy (klucz obcy do kontrahent). ';
COMMENT ON COLUMN krdk_xsd.kontrahent2parent.kontekst IS 'Kontekst powiązania: O - Oddział Terenowy powiązany z RCKiK; A - Aktywność kontrahenta dla danej organizacji. ';
COMMENT ON COLUMN krdk_xsd.kontrahent2parent.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.kontrahent2parent.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.kontrahent2parent.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.kontrahent2parent.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.kontrahent2parent.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.kontrahent2parent.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.kontrahent2parent.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.kontrahent2parent.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd."operator"
(
    idoperatora            bigint                NOT NULL,
    idorganizacji          bigint                NULL,
    aktywny                character(1)          NOT NULL,
    isbtstafmemberidnumber character varying(11) NULL,
    iddzialu               bigint                NULL,
    externalid             character varying(40) NULL,
    idoperatorautworzenia  bigint                NOT NULL,
    idoperatoramodyfikacji bigint                NULL,
    dataczasutworzenia     timestamp(0)          NOT NULL,
    dataczasmodyfikacji    timestamp(0)          NOT NULL,
    usunieto               character(1)          NOT NULL,
    lokalizacjafin         character varying(5)  NOT NULL,
    lokalizacjafinmodyf    character varying(5)  NOT NULL,
    processId              character varying(60) NOT NULL,
    CONSTRAINT pk_operator PRIMARY KEY (idoperatora)
);

COMMENT ON COLUMN krdk_xsd.operator.idoperatora IS 'Identyfikator systemowy operatora';
COMMENT ON COLUMN krdk_xsd.operator.idorganizacji IS 'Identyfikator organizacji (klucz obcy do organizacja).';
COMMENT ON COLUMN krdk_xsd.operator.aktywny IS 'Informacja, czy operator jest aktywny.';
COMMENT ON COLUMN krdk_xsd.operator.isbtstafmemberidnumber IS 'Numer ISBT dla pracownika nadawany przy pierwszym wpisie na podstawie FIN i
                    stafMemberIdNumber.';
COMMENT ON COLUMN krdk_xsd.operator.iddzialu IS 'Identyfikator dzialu operatora (klucz obcy do dzial).';
COMMENT ON COLUMN krdk_xsd.operator.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.operator.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.operator.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.operator.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.operator.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.operator.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.operator.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.operator.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.operator.processid IS 'Typ prosty: identyfikator procesu wymiany danych';

CREATE TABLE krdk_xsd.organizacja
(
    idorganizacji          bigint                 NOT NULL,
    kodorganizacji         character varying(20)  NOT NULL,
    nazwa                  character varying(100) NOT NULL,
    isbtfinnumber          character varying(5)   NOT NULL,
    aktywny                character(1)           NULL,
    idrckikdomyslny        bigint                 NULL,
    idkontrahenta          bigint                 NULL,
    operatorsystemowy      bigint                 NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_jednorg PRIMARY KEY (idorganizacji)
);
--CREATE UNIQUE INDEX idx906230945320000 ON krdk_xsd.organizacja USING btree (idorganizacji, nazwa);


COMMENT ON COLUMN krdk_xsd.organizacja.idorganizacji IS 'Identyfikator organizacji';
COMMENT ON COLUMN krdk_xsd.organizacja.kodorganizacji IS 'Kod organizacji.';
COMMENT ON COLUMN krdk_xsd.organizacja.nazwa IS 'Nazwa organizacji.';
COMMENT ON COLUMN krdk_xsd.organizacja.isbtfinnumber IS 'Numer ISBT jednostki org.';
COMMENT ON COLUMN krdk_xsd.organizacja.aktywny IS 'Informacja, czy organizacja jest aktywna.';
COMMENT ON COLUMN krdk_xsd.organizacja.idrckikdomyslny IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.organizacja.idkontrahenta IS 'Identyfikator kontrahenta jednostki org. (klucz obcy do kontrahent).';
COMMENT ON COLUMN krdk_xsd.organizacja.operatorsystemowy IS 'Operator systemowy';
COMMENT ON COLUMN krdk_xsd.organizacja.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.organizacja.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.organizacja.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.organizacja.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.organizacja.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.organizacja.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.organizacja.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.organizacja.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.organizacja.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.pakietbadania
(
    idpakietu              bigint                  NOT NULL,
    iddefinicjipakietu     bigint                  NOT NULL,
    idpakietuzbiorczego    bigint                  NULL,
    zalecenia              character varying(1000) NULL,
    externalid             character varying(40)   NULL,
    idoperatorautworzenia  bigint                  NOT NULL,
    idoperatoramodyfikacji bigint                  NULL,
    dataczasutworzenia     timestamp(0)            NOT NULL,
    dataczasmodyfikacji    timestamp(0)            NOT NULL,
    usunieto               character(1)            NOT NULL,
    lokalizacjafin         character varying(5)    NOT NULL,
    dataczasakcwynik       timestamp(0)            NULL,
    uzytkownikakcwynik     bigint                  NULL,
    dataczaswydaniawyn     timestamp(0)            NULL,
    uzytkownikwydaniawyn   bigint                  NULL,
    dokwynikubadania       bytea                   NULL,
    podpisdokwynikubadania bytea                   NULL,
    lokalizacjafinmodyf    character varying(5)    NOT NULL,
    idzlecenia             bigint                  NULL,
    processId              character varying(60)   NOT NULL,
    CONSTRAINT pk_pakietbadania1 PRIMARY KEY (idpakietu)
);

COMMENT ON COLUMN krdk_xsd.pakietbadania.idpakietu IS 'Identyfikator pakietu badania.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.iddefinicjipakietu IS 'Identyfikator definicji pakietu badania (klucz obcy do definicjapakietubadania).';
COMMENT ON COLUMN krdk_xsd.pakietbadania.idpakietuzbiorczego IS 'Identyfikator pakietu zbiorczego.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.zalecenia IS 'Zalecenia.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.pakietbadania.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.pakietbadania.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.dataczasakcwynik IS 'Data i czas akceptacji wyniku.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.uzytkownikakcwynik IS 'Id operatora akceptującego wynik (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.pakietbadania.dataczaswydaniawyn IS 'Data i czas wydania wyniku.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.uzytkownikwydaniawyn IS 'Id operatora wydającego wynik (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.pakietbadania.dokwynikubadania IS 'Dokument wyniku badania.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.podpisdokwynikubadania IS 'Podpis wyniku badania.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.idzlecenia IS 'Identyfikator zlecenia.';
COMMENT ON COLUMN krdk_xsd.pakietbadania.processid IS 'Identyfikator procesu.';


CREATE TABLE krdk_xsd.parametrypreparatyki
(
    idparprep              bigint                NOT NULL,
    idwykprep              bigint                NOT NULL,
    idurzadzenia           bigint                NULL,
    numerdonacji           character varying(24) NULL,
    dataczasrozpoczecia    timestamp(0)          NULL,
    dataczaszakonczenia    timestamp(0)          NULL,
    czastrwania            integer               NULL,
    externalid             character varying(40) NULL,
    idoperatorautworzenia  bigint                NOT NULL,
    idoperatoramodyfikacji bigint                NULL,
    dataczasutworzenia     timestamp(0)          NOT NULL,
    dataczasmodyfikacji    timestamp(0)          NOT NULL,
    usunieto               character(1)          NOT NULL,
    lokalizacjafin         character varying(5)  NOT NULL,
    lokalizacjafinmodyf    character varying(5)  NOT NULL,
    processId              character varying(60) NOT NULL,
    CONSTRAINT pk_parpr1 PRIMARY KEY (idparprep)
);

COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.idparprep IS 'Identyfikator systemowy parametru preparatyki';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.idwykprep IS 'Identyfikator wykonanej preparatyki (klucz obcy do wykonanapreparatyka).';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.idurzadzenia IS 'Identyfikator urzadzenia (klucz obcy do kartotekaurzadzen).';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.numerdonacji IS 'NumerDonacji dla Pobierania lub productUniqueKey dla preparatyki.';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.dataczasrozpoczecia IS 'Data i czas rozpoczecia preparatyki.';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.dataczaszakonczenia IS 'Data i czas zakonczenia preparatyki.';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.czastrwania IS 'Czas trwania preparatyki w minutach.';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.parametrypreparatyki.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.pracownik
(
    idpracownika           bigint                 NOT NULL,
    iddzialu               bigint                 NOT NULL,
    idwyksztalcenia        bigint                 NULL,
    idoperatora            bigint                 NULL,
    imie                   character varying(25)  NOT NULL,
    drugieimie             character varying(50)  NULL,
    nazwisko               character varying(100) NOT NULL,
    kodpracownika          character varying(11)  NULL,
    telefon                character varying(12)  NULL,
    dataurodzenia          timestamp(0)           NULL,
    pesel                  character varying(50)  NOT NULL,
    tytul                  character varying(60)  NULL,
    podpis                 bytea                  NULL,
    aktywny                character(1)           NULL,
    informacjedodatkowe    character varying(250) NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NOT NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_pracownik PRIMARY KEY (idpracownika)
);

COMMENT ON COLUMN krdk_xsd.pracownik.idpracownika IS 'Identyfikator systemowy pracownika.';
COMMENT ON COLUMN krdk_xsd.pracownik.iddzialu IS 'Identyfikator działu w jednostce (klucz obcy do dzial).';
COMMENT ON COLUMN krdk_xsd.pracownik.idwyksztalcenia IS 'Identyfikator wykształcenia pracownika. Słownik: swyksztalcenie.';
COMMENT ON COLUMN krdk_xsd.pracownik.idoperatora IS 'Identyfikator operatora (klucz obcy do konta operatora pracownika).';
COMMENT ON COLUMN krdk_xsd.pracownik.imie IS 'Imię pracownika';
COMMENT ON COLUMN krdk_xsd.pracownik.drugieimie IS 'Drugie imię pracownika.';
COMMENT ON COLUMN krdk_xsd.pracownik.nazwisko IS 'Nazwisko pracownika';
COMMENT ON COLUMN krdk_xsd.pracownik.kodpracownika IS 'Kod pracownika';
COMMENT ON COLUMN krdk_xsd.pracownik.telefon IS 'Telefon';
COMMENT ON COLUMN krdk_xsd.pracownik.dataurodzenia IS 'Data urodzenia';
COMMENT ON COLUMN krdk_xsd.pracownik.pesel IS 'PESEL pracownika';
COMMENT ON COLUMN krdk_xsd.pracownik.tytul IS 'Tytuł naukowy pracownika.';
COMMENT ON COLUMN krdk_xsd.pracownik.podpis IS '<pole techniczne>';
COMMENT ON COLUMN krdk_xsd.pracownik.aktywny IS 'Informacja, czy pracownik jest aktywny.';
COMMENT ON COLUMN krdk_xsd.pracownik.informacjedodatkowe IS 'Informacje dodatkowe';
COMMENT ON COLUMN krdk_xsd.pracownik.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.pracownik.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.pracownik.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.pracownik.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.pracownik.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.pracownik.usunieto IS 'Informacja, czy dane zostały usunięte';
COMMENT ON COLUMN krdk_xsd.pracownik.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.pracownik.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.pracownik.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.probka
(
    idprobki                 bigint                 NOT NULL,
    identyfikatorprobki      character varying(30)  NOT NULL,
    nrprobki                 character varying(100) NULL,
    idrodzajuprob            bigint                 NOT NULL,
    czyprobkapilotujaca      character(1)           NULL DEFAULT '0'::bpchar,
    dataczaspobrania         timestamp(0)           NOT NULL,
    idoperatorapobierajacego bigint                 NULL,
    dataprzyjecia            timestamp(0)           NULL,
    miejscepobrania          character varying(250) NULL,
    idosoby                  bigint                 NULL,
    iddonacji                bigint                 NULL,
    idproduktu               bigint                 NULL,
    idzrodla                 bigint                 NULL,
    iddzialu                 bigint                 NOT NULL,
    idprzeznaczprob          bigint                 NULL,
    idtypubadania            bigint                 NULL,
    status                   integer                NOT NULL,
    nrprobkipsk              character varying(30)  NULL,
    informacjedodatkowe      character varying(500) NULL,
    idfinew                  character varying(14)  NOT NULL,
    nrprobkizewnetrznej      character varying(30)  NULL,
    externalid               character varying(40)  NULL,
    idoperatorautworzenia    bigint                 NOT NULL,
    idoperatoramodyfikacji   bigint                 NULL,
    dataczasutworzenia       timestamp(0)           NOT NULL,
    dataczasmodyfikacji      timestamp(0)           NOT NULL,
    usunieto                 character(1)           NOT NULL,
    lokalizacjafin           character varying(5)   NOT NULL,
    lokalizacjafinmodyf      character varying(5)   NOT NULL,
    processId                character varying(60)  NOT NULL,
    CONSTRAINT pk_probka1 PRIMARY KEY (idprobki)
);

COMMENT ON COLUMN krdk_xsd.probka.idprobki IS 'Identyfikator próbki.';
COMMENT ON COLUMN krdk_xsd.probka.identyfikatorprobki IS 'Identyfikator próbki zgodny z ISBT - numer donacji, z oznaczeniem flagi odpowiednim dla próbki.';
COMMENT ON COLUMN krdk_xsd.probka.nrprobki IS 'Numer próbki na zleceniu, lub numer zlecenia powiązanego z próbką.';
COMMENT ON COLUMN krdk_xsd.probka.idrodzajuprob IS 'Rodzaj próbki: 1 - Próbka od osoby, 2 - Próbka ze składnika, 3 - Próbka do kontroli bieżącej.';
COMMENT ON COLUMN krdk_xsd.probka.czyprobkapilotujaca IS 'Informacja, czy dana próbka jest próbką pilotującą.';
COMMENT ON COLUMN krdk_xsd.probka.dataczaspobrania IS 'Data oraz czas pobrania próbki.';
COMMENT ON COLUMN krdk_xsd.probka.idoperatorapobierajacego IS 'Identyfikator operatora, który pobrał próbkę (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.probka.dataprzyjecia IS 'Data i godzina przyjęcia próbki na stan pracowni.';
COMMENT ON COLUMN krdk_xsd.probka.miejscepobrania IS 'Miejsce pobrania próbki.';
COMMENT ON COLUMN krdk_xsd.probka.idosoby IS 'Identyfikator osoby.';
COMMENT ON COLUMN krdk_xsd.probka.iddonacji IS 'Identyfikator donacji.';
COMMENT ON COLUMN krdk_xsd.probka.idproduktu IS 'Identyfikator produktu.';
COMMENT ON COLUMN krdk_xsd.probka.idzrodla IS 'Identyfikator źródła próbki. Słownik: zrodlopochodzeniaprobki, np. Próbka od dawcy.';
COMMENT ON COLUMN krdk_xsd.probka.iddzialu IS 'Identyfikator działu, który przyjął próbkę na stan w celach badania (klucz obcy do dzial).';
COMMENT ON COLUMN krdk_xsd.probka.idprzeznaczprob IS 'Identyfikator przeznaczenia próbki. Słownik: sprzeznaczenieprobki.';
COMMENT ON COLUMN krdk_xsd.probka.idtypubadania IS 'Identyfikator typu badania, do którego przeznaczona jest próbka. Słownik: stypbadania.';
COMMENT ON COLUMN krdk_xsd.probka.status IS 'Status próbki. Przyjmuje wartości: 0 - nowa, 1 - przekazana, 2 - w trakcie przekazania, 3 - deaktywowana, 7 - wymagana w procesie, 8 - zarchiwizowana, 9 - przyjęta.';
COMMENT ON COLUMN krdk_xsd.probka.nrprobkipsk IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.probka.informacjedodatkowe IS 'Informacje dodatkowe';
COMMENT ON COLUMN krdk_xsd.probka.idfinew IS 'Kolumna niewykorzystywana.';
COMMENT ON COLUMN krdk_xsd.probka.nrprobkizewnetrznej IS 'Numer próbki zewnętrznej.';
COMMENT ON COLUMN krdk_xsd.probka.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.probka.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.probka.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.probka.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.probka.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.probka.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.probka.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.probka.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.probka.processid IS 'Identyfikator procesu.';

--CREATE UNIQUE INDEX idx111140749220000 ON krdk_xsd.probka USING btree (idprobki, usunieto, idoperatoramodyfikacji, idoperatorautworzenia, nrprobkizewnetrznej, idfinew, informacjedodatkowe, nrprobkipsk, lokalizacjafinmodyf, lokalizacjafin, dataczasmodyfikacji, dataczasutworzenia, status, idtypubadania, idprzeznaczprob, iddzialu, idzrodla, iddonacji, idosoby, miejscepobrania, dataprzyjecia, idoperatorapobierajacego, dataczaspobrania, czyprobkapilotujaca, idrodzajuprob, nrprobki, identyfikatorprobki);
--CREATE UNIQUE INDEX idx812181839290000 ON krdk_xsd.probka USING btree (idprobki, nrprobkipsk, identyfikatorprobki);
--CREATE UNIQUE INDEX idx906241537320000 ON krdk_xsd.probka USING btree (idprobki);


CREATE TABLE krdk_xsd.produkt
(
    idproduktu                  bigint                 NOT NULL,
    produniquekey               character varying(24)  NOT NULL,
    idorganizacji               bigint                 NOT NULL,
    proddescripcode             character varying(5)   NOT NULL,
    bloodgraborhd               character varying(2)   NULL,
    bloodgrrhkellmiltphen       character(1)           NOT NULL DEFAULT '0'::bpchar,
    collectiondatetime          timestamp(0)           NULL,
    idartykulupojemnika         bigint                 NULL,
    idpodgrupytowarupojemnika   bigint                 NULL,
    contlotnumber               character varying(50)  NULL,
    contmancatnumber            character varying(50)  NULL,
    contexpirationdatetime      timestamp(0)           NULL,
    czyproduktzostalpodzielony  character(1)           NULL,
    donationidentnumber         character varying(15)  NOT NULL,
    donoridennumber             character varying(21)  NULL,
    expirationdatetime          timestamp(0)           NULL,
    otheritem                   bpchar(11)             NULL,
    productcode                 character varying(8)   NOT NULL,
    objetosc                    integer                NULL,
    waga                        integer                NULL,
    liczbawydruketykietgl       integer                NOT NULL DEFAULT 0,
    productiondatetime          timestamp(0)           NULL,
    specialtestinggeneral       character varying(5)   NULL,
    specialtestinghlaaba        character varying(18)  NULL,
    specialtestinghladrba       character varying(18)  NULL,
    specialtestingphlapsa       character varying(18)  NULL,
    specialtestingrbcafinnish   character varying(18)  NULL,
    specialtestingrbcageneral   character varying(18)  NULL,
    idoperatorazwalniajacego    bigint                 NULL,
    typeofdonationorcollection  bigint                 NOT NULL,
    innefenotypyrbcageneral     character varying(250) NULL,
    innefenotypydbcafinnish     character varying(250) NULL,
    dataostzmianystatkwal       timestamp(0)           NULL,
    idstatusupreparatyki        bigint                 NOT NULL,
    idstatuskwalprzedtraceback  bigint                 NULL,
    idstatuskwalprzeddoprkrwzor bigint                 NULL,
    idmagazynuprzedkrwzor       bigint                 NULL,
    idmiejscaskladuprzedkrwzor  bigint                 NULL,
    idstatusukwalifikacji       bigint                 NOT NULL,
    iddonacji                   bigint                 NULL,
    idfinew                     character varying(14)  NOT NULL,
    idfenotypukcz               bigint                 NULL,
    komentarz                   character varying(500) NULL,
    externalid                  character varying(40)  NULL,
    idoperatorautworzenia       bigint                 NOT NULL,
    idoperatoramodyfikacji      bigint                 NULL,
    dataczasutworzenia          timestamp(0)           NOT NULL,
    dataczasmodyfikacji         timestamp(0)           NOT NULL,
    usunieto                    character(1)           NOT NULL,
    lokalizacjafin              character varying(5)   NOT NULL,
    lokalizacjafinmodyf         character varying(5)   NOT NULL,
    processId                   character varying(60)  NOT NULL,
    CONSTRAINT pk_produkt1 PRIMARY KEY (idproduktu)
);
--CREATE UNIQUE INDEX idx211270944580000 ON krdk_xsd.produkt USING btree (idproduktu, typeofdonationorcollection, proddescripcode);
--CREATE UNIQUE INDEX idx212061348530000 ON krdk_xsd.produkt USING btree (idproduktu, proddescripcode);


COMMENT ON COLUMN krdk_xsd.produkt.idproduktu IS 'Identyfikator produktu';
COMMENT ON COLUMN krdk_xsd.produkt.produniquekey IS 'Unikalny id produktu donacyjnego: productCode + "|" + donationNumber ';
COMMENT ON COLUMN krdk_xsd.produkt.idorganizacji IS 'Identyfikator organizacji (klucz obcy do organizacja).';
COMMENT ON COLUMN krdk_xsd.produkt.proddescripcode IS 'Kod produktu wg ISBT128.';
COMMENT ON COLUMN krdk_xsd.produkt.bloodgraborhd IS 'Grupa krwi wg klasyfikacji ISBT128 obejmująca klasyfikację ABO i RhD (RT005).';
COMMENT ON COLUMN krdk_xsd.produkt.bloodgrrhkellmiltphen IS 'Grupa krwi wg klasyfikacji ISBT128 obejmująca klasyfikację fenotypów Rh, Kell i Miltenberger (RT007).';
COMMENT ON COLUMN krdk_xsd.produkt.collectiondatetime IS 'Data i czas pobrania donacji';
COMMENT ON COLUMN krdk_xsd.produkt.idartykulupojemnika IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.produkt.idpodgrupytowarupojemnika IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.produkt.contlotnumber IS 'Numer serii pojemnika (Container Lot Number) - 10-znakowy kod kreskowy.';
COMMENT ON COLUMN krdk_xsd.produkt.contmancatnumber IS 'Wytwórca pojemnika i numer katalogowy (Container Manufacturer and Catalog Number) - 10-znakowy kod kreskowy.';
COMMENT ON COLUMN krdk_xsd.produkt.contexpirationdatetime IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.produkt.czyproduktzostalpodzielony IS 'Informacja, czy produkt zostal podzielony.';
COMMENT ON COLUMN krdk_xsd.produkt.donationidentnumber IS 'Numer donacji.';
COMMENT ON COLUMN krdk_xsd.produkt.donoridennumber IS 'Numer dawcy zgodny z ISBT 128.';
COMMENT ON COLUMN krdk_xsd.produkt.expirationdatetime IS 'Data i czas ważności. Zdefiniowane zostało, że dzień zaczyna się o godzinie 00:00, a kończy o
                        23:59. Jeśli nie została podana godzina, powinna automatycznie zostać ustawiona na 23:59 (koniec dnia).';
COMMENT ON COLUMN krdk_xsd.produkt.otheritem IS 'Informacja, czy przedmiot inny niż "container". Inny algorytm odczytywania numeru serii i numeru katalogowego.';
COMMENT ON COLUMN krdk_xsd.produkt.productcode IS 'Kod składnika zbudowany według konwencji
                        ISBT128: 1) pięć początkowych znaków kodu składnika (jedna litera i cztery cyfry, np.
                        E4078) odnosi się do ciągu kodów identyfikujących rodzaj składnika krwi i danych
                        dotyczących preparatyki - to samo co w atrybucie
                        prodDescripCode; 2) znak na pozycji 6 - typ donacji (np. V - ochotnik) - to samo co w
                        atrybucie typeOfDonationOrCollection; 3) pozycje 7-8 to informacje o podziale składnika (np. 00).';
COMMENT ON COLUMN krdk_xsd.produkt.objetosc IS 'Objętość składnika w ml (mililitrach)';
COMMENT ON COLUMN krdk_xsd.produkt.waga IS 'Waga składnika w gramach.';
COMMENT ON COLUMN krdk_xsd.produkt.liczbawydruketykietgl IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.produkt.productiondatetime IS 'Data i godzina wytworzenia składnika.';
COMMENT ON COLUMN krdk_xsd.produkt.specialtestinggeneral IS 'Wynik niepotwierdzony badania "Specjalne badanie - Fenotyp Krwinek Czerwonych" zakodowany w
                        kodzie ISBT128. Model: 16 cyfr np,  "1102300000000000".';
COMMENT ON COLUMN krdk_xsd.produkt.specialtestinghlaaba IS 'Wynik  badania "Specjalne badanie: Typowanie Alleli HLA-A oraz HLA-B" zakodowany w kodzie
                        ISBT128. Model: 16 cyfr np, "1102300000000000"';
COMMENT ON COLUMN krdk_xsd.produkt.specialtestinghladrba IS 'Wynik  badania "Specjalne badanie: Typowanie Alleli HLA-DRB1" zakodowany w kodzie ISBT128.
                        Model: 16 cyfr np, "1102300000000000".';
COMMENT ON COLUMN krdk_xsd.produkt.specialtestingphlapsa IS 'Wynik  badania "Specjalne badanie: Antygeny HLA i HPA" zakodowany w kodzie ISBT128. Model: 16
                        cyfr np, "1102300000000000".';
COMMENT ON COLUMN krdk_xsd.produkt.specialtestingrbcafinnish IS 'Wynik badania "Specjalne badanie - Fenotyp Krwinek Czerwonych" zakodowany w kodzie ISBT128.
                        Model: 16 cyfr np,  "1102300000000000".';
COMMENT ON COLUMN krdk_xsd.produkt.specialtestingrbcageneral IS 'Wynik badania "Specjalne badanie - Fenotyp Krwinek Czerwonych" zakodowany w kodzie ISBT128.
                        Model: 16 cyfr np,  "1102300000000000".';
COMMENT ON COLUMN krdk_xsd.produkt.idoperatorazwalniajacego IS 'Identyfikator operatora, który zwolnił składnik do użycia (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.produkt.typeofdonationorcollection IS 'Typ donacji wg klasyfikacji ISBT128 (RT008).';
COMMENT ON COLUMN krdk_xsd.produkt.innefenotypyrbcageneral IS 'Fenotypy nie uwzględnione w ISBT 128 badane w badaniu ogólnym.';
COMMENT ON COLUMN krdk_xsd.produkt.innefenotypydbcafinnish IS 'Fenotypy nie uwzględnione w ISBT 128 badane w badaniu końcowym.';
COMMENT ON COLUMN krdk_xsd.produkt.dataostzmianystatkwal IS 'Data i czas ostatniej zmiany statusu kwalifikacji składnika.';
COMMENT ON COLUMN krdk_xsd.produkt.idstatusupreparatyki IS 'Status preparatyki. Słownik: sstatuspreparatyki';
COMMENT ON COLUMN krdk_xsd.produkt.idstatuskwalprzedtraceback IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.produkt.idstatuskwalprzeddoprkrwzor IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.produkt.idmagazynuprzedkrwzor IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.produkt.idmiejscaskladuprzedkrwzor IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.produkt.idstatusukwalifikacji IS 'Status kwalifikacji. Słownik: sstatuskwalifikacji';
COMMENT ON COLUMN krdk_xsd.produkt.iddonacji IS 'Identyfikator donacji, w ramach ktorej powstal produkt (klucz obcy do donacja).';
COMMENT ON COLUMN krdk_xsd.produkt.idfinew IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.produkt.idfenotypukcz IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.produkt.komentarz IS 'Komentarz do produktu.';
COMMENT ON COLUMN krdk_xsd.produkt.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.produkt.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.produkt.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.produkt.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.produkt.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.produkt.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.produkt.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.produkt.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.produkt.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.przyczynydyskwalifikacji
(
    iddyskwalifikacji      bigint                NOT NULL,
    idprzyczyny            bigint                NOT NULL,
    externalid             character varying(40) NULL,
    idoperatorautworzenia  bigint                NOT NULL,
    idoperatoramodyfikacji bigint                NULL,
    dataczasutworzenia     timestamp(0)          NOT NULL,
    dataczasmodyfikacji    timestamp(0)          NOT NULL,
    usunieto               character(1)          NOT NULL,
    lokalizacjafin         character varying(5)  NOT NULL,
    lokalizacjafinmodyf    character varying(5)  NOT NULL,
    processId              character varying(60) NOT NULL,
    CONSTRAINT pk_przyczdyskw PRIMARY KEY (iddyskwalifikacji, idprzyczyny)
);

COMMENT ON COLUMN krdk_xsd.przyczynydyskwalifikacji.iddyskwalifikacji IS 'Identyfikator dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.przyczynydyskwalifikacji.idprzyczyny IS 'Identyfikator przyczyny dyskwalifikacji.';
COMMENT ON COLUMN krdk_xsd.przyczynydyskwalifikacji.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.przyczynydyskwalifikacji.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.przyczynydyskwalifikacji.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.przyczynydyskwalifikacji.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.przyczynydyskwalifikacji.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.przyczynydyskwalifikacji.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.przyczynydyskwalifikacji.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.przyczynydyskwalifikacji.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.przyczynydyskwalifikacji.processid IS 'Identyfikator procesu.';

--CREATE UNIQUE INDEX idx203161050070000 ON krdk_xsd.przyczynydyskwalifikacji USING btree (iddyskwalifikacji, idprzyczyny DESC);


CREATE TABLE krdk_xsd.rodzaj2kontrahent
(
    idkontrahenta       bigint                NOT NULL,
    idrodzkontr         bigint                NOT NULL,
    usunieto            character(1)          NOT NULL,
    lokalizacjafin      character varying(5)  NOT NULL,
    lokalizacjafinmodyf character varying(5)  NOT NULL,
    processId           character varying(60) NOT NULL,
    CONSTRAINT pk_r2k PRIMARY KEY (idkontrahenta, idrodzkontr)
);

COMMENT ON COLUMN krdk_xsd.rodzaj2kontrahent.idkontrahenta IS 'Identyfikator kontrahenta';
COMMENT ON COLUMN krdk_xsd.rodzaj2kontrahent.idrodzkontr IS 'Identyfikator rodzaju kontrahenta';
COMMENT ON COLUMN krdk_xsd.rodzaj2kontrahent.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.rodzaj2kontrahent.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.rodzaj2kontrahent.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.rodzaj2kontrahent.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.sdefinicjapreparatyki
(
    iddefinicji                 bigint                 NOT NULL,
    nazwa                       character varying(100) NOT NULL,
    opis                        character varying(510) NULL,
    rodzajmechanizmu            bigint                 NOT NULL,
    idprocedury                 bigint                 NOT NULL,
    idmetody                    bigint                 NULL,
    czysystemowa                character(1)           NOT NULL,
    typskladnika                character(1)           NOT NULL,
    czyprocesrownolegly         character(1)           NOT NULL,
    czyroznerodzskl             character(1)           NOT NULL,
    idorganizacji               bigint                 NOT NULL,
    iloscjednostek              integer                NULL,
    dopuszczilosczabdlakobiet   integer                NULL,
    dopuszczilosczabdlamezczyzn integer                NULL,
    przelicznikkrwityp          character(1)           NULL,
    przelicznikkrwiobjwe        integer                NULL,
    przelicznikkrwiobjwy        integer                NULL,
    aktywny                     character(1)           NOT NULL,
    externalid                  character varying(40)  NULL,
    idoperatorautworzenia       bigint                 NOT NULL,
    idoperatoramodyfikacji      bigint                 NULL,
    dataczasutworzenia          timestamp(0)           NOT NULL,
    dataczasmodyfikacji         timestamp(0)           NOT NULL,
    usunieto                    character(1)           NOT NULL,
    lokalizacjafin              character varying(5)   NOT NULL,
    lokalizacjafinmodyf         character varying(5)   NOT NULL,
    processId                   character varying(60)  NOT NULL,
    CONSTRAINT pk_sdefprep PRIMARY KEY (iddefinicji)
);
--CREATE UNIQUE INDEX idx809031958300000 ON krdk_xsd.sdefinicjapreparatyki USING btree (iddefinicji, idmetody, nazwa, idprocedury);
--CREATE UNIQUE INDEX idx809032203470000 ON krdk_xsd.sdefinicjapreparatyki USING btree (iddefinicji, aktywny, usunieto);

COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.iddefinicji IS 'Identyfikator definicji';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.nazwa IS 'Nazwa definicji preparatyki.';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.opis IS 'Opis definicji preparatyki.';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.rodzajmechanizmu IS 'Identyfikator rodzaju mechanizmu preparatyki (klucz obcy do slownika srodzajmechanizmu). ';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.idprocedury IS 'Identyfikator procedury preparatyki (klucz obcy do slownika sprocedurapreparatyki). ';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.idmetody IS 'Identyfikator metody preparatyki (klucz obcy do slownika smetodapreparatyki). ';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.czysystemowa IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.typskladnika IS 'Typ skladnika: E - krew i składniki krwi; S- komórki macierzyste ';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.czyprocesrownolegly IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.czyroznerodzskl IS 'Czy różne rodzaje składników wejściowych (np. napromieniowanie). ';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.idorganizacji IS 'Identyfikator organizacji, ktorej dotyczy definicja zabiegu/preparatyki (klucz obcy do organizacji). ';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.iloscjednostek IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.dopuszczilosczabdlakobiet IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.dopuszczilosczabdlamezczyzn IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.przelicznikkrwityp IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.przelicznikkrwiobjwe IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.przelicznikkrwiobjwy IS '<Kolumna niewykorzystywana>';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.aktywny IS 'Informacja, czy definicja preparatyki jest aktywna.';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sdefinicjapreparatyki.processid IS 'Typ prosty: identyfikator procesu wymiany danych';

CREATE TABLE krdk_xsd.definicjaslownika
(
	idslownika              bigint                  NOT NULL,
	typslownika             bpchar(1)               NOT NULL,
	nazwatabeli             character varying(31)   NOT NULL,
	nazwa                   character varying(255)  NOT NULL,
	opis                    character varying(255)  NOT NULL,
	kolumnacombo            character varying(100)  NULL,
	kolumnacomboname        character varying(250)  NULL,
	aktywny                 character(1)            NOT NULL DEFAULT '1'::bpchar,
    externalid              character varying(40)   NULL,
    idoperatorautworzenia   bigint                  NULL,
    idoperatoramodyfikacji  bigint                  NULL,
	dataczasutworzenia      timestamp(0)            NOT NULL,
	dataczasmodyfikacji     timestamp(0)            NOT NULL,
	usunieto                bpchar(1)               NOT NULL,
	lokalizacjafin          character varying(5)    NOT NULL,
	lokalizacjafinmodyf     character varying(5)    NOT NULL,
    processId               character varying(60)   NOT NULL,
	CONSTRAINT pk_defslow PRIMARY KEY (idslownika)
);

CREATE UNIQUE INDEX idx809031946450000 ON krdk_xsd.definicjaslownika USING btree (idslownika, nazwatabeli, typslownika);
COMMENT ON COLUMN krdk_xsd.definicjaslownika.idslownika IS 'Identyfikator definicji słownika.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.typslownika IS 'Typ słownika: D-dynamiczny, S-statyczny.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.nazwatabeli IS 'Nazwa tabeli słownikowej.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.nazwa IS 'Nazwa definicji słownika.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.opis IS 'Opis definicji słownika.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.kolumnacombo IS 'Określa, z jakiej kolumny będą wyświetlane wartości dla comboboxa.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.kolumnacomboname IS 'Nazwa kolumny comboboxa.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.aktywny IS 'Czy pozycja aktywna.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.definicjaslownika.processid IS 'Identyfikator procesu.';


INSERT INTO krdk_xsd.definicjaslownika
(
    idslownika, typslownika, nazwatabeli, nazwa, opis, kolumnacombo, kolumnacomboname, aktywny, externalid, idoperatorautworzenia, idoperatoramodyfikacji, dataczasutworzenia, dataczasmodyfikacji, usunieto, lokalizacjafin, lokalizacjafinmodyf, processId
)
SELECT 1, 'D', 'SlownikDynamiczny', 'Antygen B-27', 'Wykrywanie antygenu B-27', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-03-25 10:20:04.0'::TIMESTAMP, '2008-03-25 10:20:04.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 2, 'D', 'SlownikDynamiczny', 'Antygen wykryto/nie wykryto', 'Antygen wykryto/nie wykryto', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 3, 'D', 'SlownikDynamiczny', 'Antygeny HNA', 'Zbiór antygenów HNA', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 4, 'D', 'SlownikDynamiczny', 'Antygeny HPA', 'Antygeny HPA', 'kod', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 5, 'D', 'SlownikDynamiczny', 'Dodatni/ujemny', 'Dodatni/ujemny', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 6, 'D', 'SlownikDynamiczny', 'Dodatni/Ujemny/Dodatni i ujemny', 'Dodatni/Ujemny/Dodatni i ujemny', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 7, 'D', 'SlownikDynamiczny', 'Fenotyp układu Duffy', 'Fenotyp układu Duffy', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 8, 'D', 'SlownikDynamiczny', 'Fenotyp układu Kell', 'Fenotyp układu Kell', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 9, 'D', 'SlownikDynamiczny', 'Fenotyp układu Kidd', 'Fenotyp układu Kidd', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 10, 'D', 'SlownikDynamiczny', 'Fenotyp układu Lewis', 'Fenotyp układu Lewis', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 11, 'D', 'SlownikDynamiczny', 'Fenotyp układu Lutheran', 'Fenotyp układu Lutheran', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 12, 'D', 'SlownikDynamiczny', 'Fenotyp układu MNS', 'Fenotyp układu MNS', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 13, 'D', 'SlownikDynamiczny', 'Fenotyp układu P', 'Fenotyp układu P', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 14, 'D', 'SlownikDynamiczny', 'Fenotyp układu Rh', 'Fenotyp układu Rh', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 15, 'D', 'SlownikDynamiczny', 'Flaga Chiron', 'słownik do obsługi flag urządzenia', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-03-14 23:52:31.0'::TIMESTAMP, '2008-03-14 23:52:31.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 16, 'D', 'SlownikDynamiczny', 'Grupa krwi ABO', 'Grupa krwi ABO', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 17, 'D', 'SlownikDynamiczny', 'Grupa krwi Rh', 'Grupa krwi Rh', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 18, 'D', 'SlownikDynamiczny', 'Immunoglobuliny związane na płytkach', 'Immunoglobuliny związane na płytkach', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-03-20 12:24:45.0'::TIMESTAMP, '2008-03-20 12:24:45.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 19, 'D', 'SlownikDynamiczny', 'Informacje do zaświadczenia ze szkolenia', 'Informacje do zaświadczenia ze szkolenia', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2009-05-11 15:13:41.0'::TIMESTAMP, '2010-11-10 10:26:54.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 20, 'D', 'SlownikDynamiczny', 'Jednostka kontrolowana - inna', 'Jednostka kontrolowana - inna', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2009-05-27 13:52:04.0'::TIMESTAMP, '2009-05-27 14:39:36.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 21, 'D', 'SlownikDynamiczny', 'Krew zgodna/niezgodna', 'Krew zgodna/niezgodna', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 22, 'D', 'SlownikDynamiczny', 'magazyn', 'magazyn składników krwi', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2012-04-19 13:41:10.0'::TIMESTAMP, '2012-04-19 13:41:10.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 23, 'D', 'SlownikDynamiczny', 'Magazyny', 'Magazyny krwi', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2012-04-20 09:48:33.0'::TIMESTAMP, '2012-04-20 09:48:33.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 24, 'D', 'SlownikDynamiczny', 'miasta', 'odbiorcy kkcz i ffp', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2012-04-19 08:50:11.0'::TIMESTAMP, '2012-04-19 08:50:11.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 25, 'D', 'SlownikDynamiczny', 'Obecny/nieobecny', 'Obecny/nieobecny', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-04-01 11:15:29.0'::TIMESTAMP, '2008-04-01 11:15:29.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 26, 'D', 'SlownikDynamiczny', 'Opis warunków transportu', 'Warunki transportu dla urządzeń chłodniczych', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-07-22 14:42:49.0'::TIMESTAMP, '2008-07-22 14:42:49.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 27, 'D', 'SlownikDynamiczny', 'Przeciwciała EDTA', 'Przeciwciała EDTA', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-03-20 12:46:33.0'::TIMESTAMP, '2008-03-20 12:46:33.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 28, 'D', 'SlownikDynamiczny', 'Przeciwciała HNA', 'Przeciwciała antygranulocytarne', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 29, 'D', 'SlownikDynamiczny', 'Przeciwciała HPA', 'Przeciwciała przeciwpłytkowe (HPA)', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 30, 'D', 'SlownikDynamiczny', 'Przyczyna braku możliwości przekazania składnika', 'Przyczyna braku możliwości przekazania składnika', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2009-05-11 15:13:41.0'::TIMESTAMP, '2009-05-11 15:13:41.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 31, 'D', 'SlownikDynamiczny', 'Przyczyna niepełnej realizacji', 'Słownik przechowuje przyczyny niepełnej realizacji zamówienia', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2009-05-18 12:47:00.0'::TIMESTAMP, '2009-05-18 12:47:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 32, 'D', 'SlownikDynamiczny', 'Rodzaj opłaszczenia', 'Rodzaj opłaszczenia', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-09-11 08:05:31.0'::TIMESTAMP, '2008-09-11 08:05:51.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 33, 'D', 'SlownikDynamiczny', 'Rodzaj opłaszczenia', 'Składowa badania BTA', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-08-19 13:53:31.0'::TIMESTAMP, '2008-08-19 13:53:31.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 34, 'D', 'SlownikDynamiczny', 'Rodzaj wezwania', 'Rodzaj wezwania', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-03-04 16:45:48.0'::TIMESTAMP, '2008-04-01 08:57:52.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 35, 'D', 'SlownikDynamiczny', 'Temperatura_ciała', 'Temperatura ciała', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 36, 'D', 'SlownikDynamiczny', 'Typ autoprzeciwciał', 'Typ autoprzeciwciał', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-09-11 08:04:01.0'::TIMESTAMP, '2008-09-11 08:04:01.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 37, 'D', 'SlownikDynamiczny', 'Typy obiektu', 'Typy obiektów których dotyczy stan nadzwyczajny', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 38, 'D', 'SlownikDynamiczny', 'Wykryto/Nie wykryto', 'Wykryto/Nie wykryto', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 39, 'D', 'SlownikDynamiczny', 'Wykrywanie przeciwciał', 'Wykrywanie przeciwciał', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-04-25 10:37:59.0'::TIMESTAMP, '2008-04-25 10:37:59.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 40, 'D', 'SlownikDynamiczny', 'Wykrywanie przeciwciał anty-HLA', 'Wykrywanie przeciwciał anty-HLA nie wiążących komplementu', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-03-18 10:02:25.0'::TIMESTAMP, '2008-03-20 10:43:41.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 41, 'D', 'SlownikDynamiczny', 'Wykrywanie przeciwciał anty-HLA LCT', 'Wykrywanie przeciwciał anty-HLA wykrywających komplement LCT', 'id', 'wartosc2', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-03-18 10:13:56.0'::TIMESTAMP, '2008-03-18 15:39:49.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 42, 'D', 'SlownikDynamiczny', 'Wykrywanie przeciwciał anty-HNA', 'Wykrywanie przeciwciał anty-HNA', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-03-20 13:01:28.0'::TIMESTAMP, '2008-03-20 13:01:28.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 43, 'D', 'SlownikDynamiczny', 'Wykrywanie przeciwciał przeciwpłytkowych (anty-HPA)', 'Wykrywanie przeciwciał przeciwpłytkowych (anty-HPA)', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-03-19 06:33:07.0'::TIMESTAMP, '2008-03-19 06:33:07.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 44, 'D', 'SlownikDynamiczny', 'Wynik badania', 'Wyniki badań wirusologicznych- serologia', 'wartosc1', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-07-21 11:36:29.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 45, 'D', 'SlownikDynamiczny', 'Wynik badania NAT', 'Wyniki badań wirusologicznych wykonanych metodą NAT', 'wartosc1', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-07-21 11:34:37.0'::TIMESTAMP, '2008-07-21 11:34:37.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 46, 'D', 'SlownikDynamiczny', 'Wynik: Identyfikacja przeciwciał', 'Wynik badania identyfikacji przeciwciał', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 47, 'D', 'SlownikDynamiczny', 'Wynik: identyfikacja przeciwciał HNA', 'Wynik: identyfikacja przeciwciał HNA', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 48, 'D', 'SlownikDynamiczny', 'Wynik kontroli odczynników', 'Wyniki kontroli odczynników', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-02-25 11:59:10.0'::TIMESTAMP, '2008-02-25 11:59:10.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 49, 'D', 'SlownikDynamiczny', 'Wynik testu BTA', 'Wynik testu BTA', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-08-19 13:58:30.0'::TIMESTAMP, '2008-08-19 13:58:30.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 50, 'D', 'SlownikDynamiczny', 'Wynik testu kiły', 'Wynik testu kiły', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-02-28 13:44:12.0'::TIMESTAMP, '2008-02-28 13:44:12.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 51, 'D', 'SlownikDynamiczny', 'Wynik testu limfocytotoksycznego', 'Wynik testu limfocytotoksycznego', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 52, 'D', 'SlownikDynamiczny', 'Wynik: Wykrywanie przeciwciał anty-HLA niewiążących dopełniacza', 'Słownik wartości logicznych -> obecne, nieobecne', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 53, 'D', 'SlownikDynamiczny', 'Wynik: Wykrywanie przeciwciał przeciwpłytkowych (anty-HPA)', 'Immunoglobuliny związane na płytkach', 'id', 'wartosc1', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 54, 'S', 'CennikBadanKomercyjnych', 'Cennik badań komercyjnych', 'Cennik badań komercyjnych', 'id', 'idCennika', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-04-14 13:17:22.0'::TIMESTAMP, '2008-04-14 13:19:24.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 55, 'S', 'DefinicjaPakietuBadania', 'Definicja pakietu badań', 'Definicja pakietu badań', 'kod', 'nazwa', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 56, 'S', 'DefinicjaPakietuZbiorczego', 'Definicja pakietu zbiorczego', 'Definicja pakietu zbiorczego', 'kod', 'nazwa', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 57, 'S', 'DefinicjaSlownika', 'Definicja słownika', 'Definicja słownika', 'id', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 58, 'S', 'Dzial', 'Dział', 'Dział', '', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 59, 'S', 'IsbtClass', 'IsbtClass', 'Isbt Class', '', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-04-23 08:34:53.0'::TIMESTAMP, '2008-04-23 08:34:53.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 60, 'S', 'IsbtTypeofdonationorcollection', 'ISBT Type od donation or collection', 'ISBT Type od donation or collection', 'code', 'namePl', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 61, 'S', 'Operator', 'Operator', 'Operator', '', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-03-06 14:08:50.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 62, 'S', 'SdefinicjaSkladowejWyniku', 'Definicja składowej wyniku', 'Definicja składowej wyniku', 'kodSkladowejWyniku', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 63, 'S', 'Sgmina', 'Gmina', 'Gmina', 'kodTerytorialny', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 64, 'S', 'SjednostkaMiary', 'Jednostka miary', 'Jednostka miary', 'kodJednostkiMiary', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 65, 'S', 'Skraj', 'Kraj pochodzenia', 'Kraj pochodzenia', 'kodKraju', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 66, 'S', 'SmetodaBadania', 'Metoda badania', 'Metoda badania', 'kodMetodyBadania', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 67, 'S', 'SmetodaPreparatyki', 'Metody preparatyki', 'Metody preparatyki', 'id', 'nazwa', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-04-03 13:05:23.0'::TIMESTAMP, '2008-04-03 13:05:23.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 68, 'S', 'Smiejscowosc', 'Miejscowość', 'Miejscowość', 'id', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 69, 'S', 'Spowiat', 'Powiat', 'Powiat', 'kodPowiatu', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 70, 'S', 'SproceduraPreparatyki', 'Procedura preparatyki', 'Procedura preparatyki', 'id', 'nazwa', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 71, 'S', 'SprzeznaczenieProbki', 'Przeznaczenie probek', 'Przeznaczenie probek', 'id', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 72, 'S', 'SprzyczynaDyskwalifikacji', 'Przyczyna dyskwalifikacji', 'Przyczyna dyskwalifikacji', 'id', 'nazwa', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 73, 'S', 'SrodzajBadania', 'Rodzaj badania', 'Rodzaj badania', 'kodRodzajuBadania', 'nazwaRodzajuBadania', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 74, 'S', 'SrodzajDyskwalifikacji', 'Rodzaj dyskwalifikacji', 'Rodzaj dyskwalifikacji', 'kodRodzajuDyskwalifikacji', 'nazwaRodzajuDyskwalifikacji', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 75, 'S', 'SrodzajDzialania', 'Rodzaj działania', 'Rodzaj działania', '', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 76, 'S', 'SrodzajMechanizmu', 'Rodzaj mechanizmu', 'Rodzaj mechanizmu', 'kodTypuDawcy', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 77, 'S', 'SRodzajPrepMasowej', 'Rodzaj preparatyki masowej', 'Rodzaj preparatyki masowej', '', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 78, 'S', 'SrodzajProbki', 'Rodzaj próbki', 'Rodzaj próbki', 'id', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 79, 'S', 'SrodzajSkladnikaKrwi', 'Rodzaj składnika krwi', 'Rodzaj składnika krwi', 'id', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 80, 'S', 'SrodzajZakazenia', 'Rodzaj zakazenia', 'Rodzaj zakazenia', 'id', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 81, 'S', 'SrodzDokToz', 'Rodzaj dokumentu tożsamości', 'Rodzaj dokumentu tożsamości', 'id', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 82, 'S', 'SstatusKwalifikacji', 'Status kwalifikacji', 'Status kwalifikacji', '', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 83, 'S', 'SstatusPreparatyki', 'Status preparatyki', 'Status preparatyki', 'kodTypuDawcy', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 84, 'S', 'StypBadania', 'Typ badania', 'Typ badania', 'kodTypuBadania', 'nazwaTypuBadania', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 85, 'S', 'StypDawcy', 'Typ dawcy', 'Typ dawcy', 'kodTypuDawcy', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 86, 'S', 'StypUrzadzenia', 'Typ urzadzenia', 'Typ urzadzenia', 'id', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 87, 'S', 'StypWartosci', 'Typ wartości', 'Typ wartości', 'id', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 88, 'S', 'StypWielkosci', 'Typ wielkości', 'Typ wielkości', 'kodTypuDawcy', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 89, 'S', 'Swojewodztwo', 'Województwo', 'Województwo', 'kodWojewodztwa', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 90, 'S', 'Swyksztalcenie', 'Wykształcenie', 'Wykształcenie', 'id', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 91, 'S', 'TypDzialu', 'Typ działu', 'Typ działu', 'kod', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1'
UNION ALL SELECT 92, 'S', 'ZrodloPochodzeniaProbki', 'Źródło materiału badawczego', 'Źródło materiału badawczego', '', '', '1', NULL::VARCHAR(40), NULL::BIGINT, NULL::BIGINT, '2008-01-01 00:00:00.0'::TIMESTAMP, '2008-01-01 00:00:00.0'::TIMESTAMP, '0', 'Z4000', 'Z4000', '1';


CREATE TABLE krdk_xsd.sdefinicjaskladowejwyniku
(
    iddefskladowejwyniku   bigint                 NOT NULL,
    kodskladowejwyniku     character varying(10)  NOT NULL,
    nazwaskladowejwyniku   character varying(100) NOT NULL,
    idjednostkimiary       bigint                 NULL,
    idtypuwartosci         bigint                 NOT NULL,
    widocznawkartotece     character(1)           NOT NULL DEFAULT '1'::bpchar,
    nazwasekcji            character varying(255) NULL,
    nrwsekcji              integer                NULL,
	idslownikadefobs       bigint                 NULL,
    czystalapreparatyki    character(1)           NOT NULL DEFAULT '0'::bpchar,
    idwynskldlaosoby       bigint                 NULL,
    czyporownanie          character(1)           NOT NULL,
    idtypuwielkosci        bigint                 NULL,
    idportypuwielkosci     bigint                 NULL,
    czynormowana           character(1)           NULL,
    wartoscniezgodnaznorma character varying(250) NULL,
    wartosczgodnaznorma    character varying(250) NULL,
    aktywny                character(1)           NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NOT NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_sklwynbad PRIMARY KEY (iddefskladowejwyniku)
);
--CREATE UNIQUE INDEX idx203161045180000 ON krdk_xsd.sdefinicjaskladowejwyniku USING btree (kodskladowejwyniku, iddefskladowejwyniku);
--CREATE UNIQUE INDEX idx203301152410000 ON krdk_xsd.sdefinicjaskladowejwyniku USING btree (iddefskladowejwyniku, nazwaskladowejwyniku);
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.iddefskladowejwyniku IS 'Identyfikator definicji składowej wyniku.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.kodskladowejwyniku IS 'Kod składowej wyniku badania.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.nazwaskladowejwyniku IS 'Nazwa składowej wyniku badania.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.idjednostkimiary IS 'Identyfikator jednostki miary składowej wyniku badania.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.idtypuwartosci IS 'Identyfikator typu wartości składowej wyniku badania.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.widocznawkartotece IS 'Informacja, czy dana składowa może określać wynik zbiorczy badania lub pakietu badań.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.nazwasekcji IS 'Nazwa sekcji po której bedą grupowane składowe na formularzu.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.idslownikadefobs IS 'Identyfikator definicji słownika (klucz obcy do definicjaslownika).';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.nrwsekcji IS 'Numer kolejny w sekcji.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.czystalapreparatyki IS 'Informacja, czy stała składowa związana jest z Zabiegiem/Preparatyką czy z Badaniami.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.idwynskldlaosoby IS 'Pole techniczne.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.czyporownanie IS 'Informacja, czy składowa wyniku jest wartością porównania dwóch innych wyników.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.idtypuwielkosci IS 'Identyfikator typu wielkości. Grupuje składowe, które są wartością tego samego parametru ale są mierzone z wykorzystaniem innych jednostek miary (klucz obcy do stypwielkosci).';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.idportypuwielkosci IS 'Identyfikator typu wielkości (klucz obcy do stypwielkosci).';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.czynormowana IS 'Pole techniczne.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.wartoscniezgodnaznorma IS 'Pole techniczne.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.wartosczgodnaznorma IS 'Pole techniczne.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.aktywny IS 'Czy pozycja aktywna.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.sdefinicjaskladowejwyniku.processid IS 'Identyfikator procesu.';

CREATE TABLE krdk_xsd.typurzadzeniawdefbadania
(
    idtypuurzadzenia    bigint                NOT NULL,
    iddefinicjibadania  bigint                NOT NULL,
    czywiadacytypurzadz character(1)          NULL,
    usunieto            character(1)          NOT NULL,
    lokalizacjafin      character varying(5)  NOT NULL,
    lokalizacjafinmodyf character varying(5)  NOT NULL,
    processId           character varying(60) NOT NULL,
    CONSTRAINT pk_typurzdefbad PRIMARY KEY (idtypuurzadzenia, iddefinicjibadania)
);

COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefbadania.idtypuurzadzenia IS 'Identyfikator typu urządzenia.';
COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefbadania.iddefinicjibadania IS 'Identyfikator definicji badania.';
COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefbadania.czywiadacytypurzadz IS 'Informacja, czy wiodący typ urządzenia.';
COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefbadania.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefbadania.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefbadania.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefbadania.processid IS 'Identyfikator procesu.';


CREATE TABLE krdk_xsd.urzadzeniewbadaniu
(
    idurzadzenia        bigint                NOT NULL,
    idbadania           bigint                NOT NULL,
    usunieto            character(1)          NOT NULL,
    lokalizacjafin      character varying(5)  NOT NULL,
    lokalizacjafinmodyf character varying(5)  NOT NULL,
    processId           character varying(60) NOT NULL,
    CONSTRAINT pk_urzadzwbad1 PRIMARY KEY (idurzadzenia, idbadania)
);

COMMENT ON COLUMN krdk_xsd.urzadzeniewbadaniu.idurzadzenia IS 'Identyfikator urządzenia wykorzystanego w badaniu (klucz obcy do kartotekaurzadzenia).';
COMMENT ON COLUMN krdk_xsd.urzadzeniewbadaniu.idbadania IS 'Identyfikator badania, w którym wykorzystano urządzenie (klucz obcy do badanie).';
COMMENT ON COLUMN krdk_xsd.urzadzeniewbadaniu.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.urzadzeniewbadaniu.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.urzadzeniewbadaniu.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.urzadzeniewbadaniu.processid IS 'Identyfikator procesu.';


CREATE TABLE krdk_xsd.uzytedefinicjeprep
(
    idwykprep              bigint                NOT NULL,
    iddefinicji            bigint                NOT NULL,
    lp                     integer               NOT NULL,
    idoperatorautworzenia  bigint                NOT NULL,
    idoperatoramodyfikacji bigint                NULL,
    dataczasutworzenia     timestamp(0)          NOT NULL,
    dataczasmodyfikacji    timestamp(0)          NOT NULL,
    usunieto               character(1)          NOT NULL,
    lokalizacjafin         character varying(5)  NOT NULL,
    lokalizacjafinmodyf    character varying(5)  NOT NULL,
    processId              character varying(60) NOT NULL,
    CONSTRAINT pk_uzdefprep1 PRIMARY KEY (idwykprep, iddefinicji)
);

COMMENT ON COLUMN krdk_xsd.uzytedefinicjeprep.idwykprep IS 'Identyfikator w systemie. Identyfikator wykonanej preparatyki (klucz obcy do
                        wykonanapreparatyka).';
COMMENT ON COLUMN krdk_xsd.uzytedefinicjeprep.iddefinicji IS 'Identyfikator definicji preparatyki (klucz obcy do sdefinicjapreparatyki).';
COMMENT ON COLUMN krdk_xsd.uzytedefinicjeprep.lp IS 'Liczba porządkowa - pozycjonująca wybraną definicję preparatyki.';
COMMENT ON COLUMN krdk_xsd.uzytedefinicjeprep.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.uzytedefinicjeprep.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.uzytedefinicjeprep.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.uzytedefinicjeprep.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.uzytedefinicjeprep.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.uzytedefinicjeprep.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.uzytedefinicjeprep.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.uzytedefinicjeprep.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.uzyteurzadzeniawpreparatyce
(
    idwykprep           bigint                NOT NULL,
    idurzadzenia        bigint                NOT NULL,
    usunieto            character(1)          NOT NULL,
    lokalizacjafin      character varying(5)  NOT NULL,
    lokalizacjafinmodyf character varying(5)  NOT NULL,
    processId           character varying(60) NOT NULL,
    CONSTRAINT pk_uzurzwpr1 PRIMARY KEY (idwykprep, idurzadzenia)
);

COMMENT ON COLUMN krdk_xsd.uzyteurzadzeniawpreparatyce.idwykprep IS 'Identyfikator w systemie (klucz obcy do wykonanapreparatyka).';
COMMENT ON COLUMN krdk_xsd.uzyteurzadzeniawpreparatyce.idurzadzenia IS 'Identyfikator urządzenia użytego w preparatyce (klucz obcy do kartotekaurzadzen).';
COMMENT ON COLUMN krdk_xsd.uzyteurzadzeniawpreparatyce.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.uzyteurzadzeniawpreparatyce.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.uzyteurzadzeniawpreparatyce.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.uzyteurzadzeniawpreparatyce.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.wizytadawcy
(
    idwizyty                                    bigint                 NOT NULL,
    numerdonacji                                character varying(20)  NULL,
    idosoby                                     bigint                 NULL,
    datawizyty                                  timestamp(0)           NULL,
    miejscewizyty                               character varying(100) NULL,
    uwagi                                       character varying(500) NULL,
    zakwadozabiegu                              character(1)           NULL,
    zakwadozabidrodzzabiegu                     bigint                 NULL,
    zakwadozabidmetody                          bigint                 NULL,
    zakwadozabidtypdonacji                      character(1)           NULL,
    externalid                                  character varying(40)  NULL,
    idoperatorautworzenia                       bigint                 NOT NULL,
    idoperatoramodyfikacji                      bigint                 NULL,
    dataczasutworzenia                          timestamp(0)           NOT NULL,
    dataczasmodyfikacji                         timestamp(0)           NOT NULL,
    usunieto                                    character(1)           NOT NULL,
    lokalizacjafin                              character varying(5)   NOT NULL,
    lokalizacjafinmodyf                         character varying(5)   NOT NULL,
    processId                                   character varying(60)  NOT NULL,
    CONSTRAINT pk_wizyta PRIMARY KEY (idwizyty)
);

COMMENT ON COLUMN krdk_xsd.wizytadawcy.idwizyty IS 'Identyfikator wizyty';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.numerdonacji IS 'Numer donacji zgodnie z ISBT 128.';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.idosoby IS 'Identyfikator osoby.';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.datawizyty IS 'Data wizyty.';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.miejscewizyty IS 'Miejsce wizyty. Uzupełnić jeśli wizyta miała miejsce w ekipie wyjazdowej.';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.uwagi IS 'Uwagi do wizyty.';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.zakwadozabiegu IS 'Informacja, czy zakwalifikowano do zabiegu.';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.zakwadozabidrodzzabiegu IS 'Identyfikator rodzaju zabiegu, do jakiego został zakwalifikowany dawca (klucz obcy do słownika sprocedurapreparatyki).';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.zakwadozabidmetody IS 'Identyfikator metody zabiegu, do ktorego zostal zakwalifikowany dawca (klucz obcy do slownika smetodapreparatyki).';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.zakwadozabidtypdonacji IS 'Kod typu donacji wg klasyfikacji ISBT128 (RT008).';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.wizytadawcy.processid IS 'Identyfikator procesu.';


CREATE TABLE krdk_xsd.wykonanapreparatyka
(
    idwykprep                bigint                 NOT NULL,
    idrodzajudzialania       bigint                 NOT NULL,
    dataczasrozpoczecia      timestamp(0)           NULL,
    dataczaszakonczenia      timestamp(0)           NULL,
    idoperatora              bigint                 NOT NULL,
    idlekarzakwalifikujacego bigint                 NULL,
    iddawcy                  bigint                 NULL,
    czyanulowana             character(1)           NOT NULL,
    przyczynaanulowania      character varying(255) NULL,
    numerdonacji             character varying(15)  NULL,
    externalid               character varying(40)  NULL,
    idoperatorautworzenia    bigint                 NOT NULL,
    idoperatoramodyfikacji   bigint                 NULL,
    dataczasutworzenia       timestamp(0)           NOT NULL,
    dataczasmodyfikacji      timestamp(0)           NOT NULL,
    usunieto                 character(1)           NOT NULL,
    lokalizacjafin           character varying(5)   NOT NULL,
    lokalizacjafinmodyf      character varying(5)   NOT NULL,
    processId                character varying(60)  NOT NULL,
    CONSTRAINT pk_wykpr1 PRIMARY KEY (idwykprep)
);
--CREATE UNIQUE INDEX idx211270952530000 ON krdk_xsd.wykonanapreparatyka USING btree (idwykprep, idrodzajudzialania);
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.idwykprep IS 'Identyfikator systemowy wykonanej preparatyki';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.idrodzajudzialania IS 'Identyfikator rodzaju dzialania. Słownik: srodzajdzialania';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.dataczasrozpoczecia IS 'Data i czas rozpoczecia preparatyki.';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.dataczaszakonczenia IS 'Data i czas zakonczenia preparatyki.';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.idoperatora IS 'Identyfikator operatora, który zakonczyl lub anulował proces (klucz obcy do
                    operator).';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.idlekarzakwalifikujacego IS 'Wypełniane jedynie dla Pobierania! identyfikator lekarza kwalifikującego (klucz
                    obcy do operator).';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.iddawcy IS 'Wypelniane tylko w Pobieraniu Krwi! Identyfikator dawcy (klucz obcy do dawca).';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.czyanulowana IS 'Informacja, czy proces preparatyki został anulowany.';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.przyczynaanulowania IS 'Przyczyna anulowania preparatyki.';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.numerdonacji IS 'Wypelniane tylko w Pobieraniu Krwi! Numer donacji dla której wykonywany byl
                    zabieg.';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.wykonanapreparatyka.processid IS 'Typ prosty: identyfikator procesu wymiany danych';

CREATE TABLE krdk_xsd.wykonanyprodukt
(
    idproduktu          bigint                NOT NULL,
    idwykprep           bigint                NULL,
    usunieto            character(1)          NOT NULL,
    lokalizacjafin      character varying(5)  NOT NULL,
    lokalizacjafinmodyf character varying(5)  NOT NULL,
    processId           character varying(60) NOT NULL,
    CONSTRAINT pk_wykonanyprodukt1 PRIMARY KEY (idproduktu)
);
--CREATE UNIQUE INDEX idx211270952560000 ON krdk_xsd.wykonanyprodukt USING btree (idproduktu, idwykprep);
COMMENT ON COLUMN krdk_xsd.wykonanyprodukt.idproduktu IS 'Identyfikator w systemie produktu (klucz obcy do produkt).';
COMMENT ON COLUMN krdk_xsd.wykonanyprodukt.idwykprep IS 'Identyfikator wykonanej preparatyki (klucz obcy do wykonanapreparatyka).';
COMMENT ON COLUMN krdk_xsd.wykonanyprodukt.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.wykonanyprodukt.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.wykonanyprodukt.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.wykonanyprodukt.processid IS 'Typ prosty: identyfikator procesu wymiany danych';

CREATE TABLE krdk_xsd.wynikbadania
(
    idwynikubadania             bigint                  NOT NULL,
    datawydaniawyniku           date                    NULL,
    wartoscwyniku               character varying(500)  NULL,
    wartoscwynikukod            character varying(500)  NULL,
    wartoscwynikuhtml           text                    NULL,
    wartoscwynikublob           character varying(2048) NULL,
    idbadania                   bigint                  NOT NULL,
    idrodzajuskladowej          bigint                  NOT NULL,
    zaakceptowany               character(1)            NOT NULL,
    uwagi                       character varying(250)  NULL,
    czywartosckoncowa           character(1)            NOT NULL,
    czywwynikukoncowym          character(1)            NULL,
    metodaustaleniawartkoncowej character varying(5)    NULL,
    idnormyskldlaurz            bigint                  NULL,
    kolejnosc                   integer                 NULL,
    wartoscnormy                character varying(700)  NULL,
    czywnormie                  character(1)            NULL,
    czywidocznanawydruku        character(1)            NOT NULL DEFAULT '1'::bpchar,
    czywidocznawgl              character(1)            NOT NULL DEFAULT '0'::bpchar,
    czywidocznawkartotece       character(1)            NULL,
    externalid                  character varying(40)   NULL,
    idoperatorautworzenia       bigint                  NOT NULL,
    idoperatoramodyfikacji      bigint                  NULL,
    dataczasutworzenia          timestamp(0)            NOT NULL,
    dataczasmodyfikacji         timestamp(0)            NOT NULL,
    usunieto                    character(1)            NOT NULL,
    lokalizacjafin              character varying(5)    NOT NULL,
    lokalizacjafinmodyf         character varying(5)    NOT NULL,
    processId                   character varying(60)   NOT NULL,
    CONSTRAINT pk_wynikbad1 PRIMARY KEY (idwynikubadania)
);
COMMENT ON COLUMN krdk_xsd.wynikbadania.idwynikubadania IS 'Identyfikator wyniku badania.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.datawydaniawyniku IS 'Data wydania badania.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.wartoscwyniku IS 'Pole techniczne.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.wartoscwynikukod IS 'Wartość wyniku badania.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.wartoscwynikuhtml IS 'Wartość wyniku badania.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.wartoscwynikublob IS 'Wartość wyniku badania.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.idbadania IS 'Identyfikator badania.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.idrodzajuskladowej IS 'Identyfikator definicji składowej. (klucz obcy do sdefinicjaskladowejwyniku)';
COMMENT ON COLUMN krdk_xsd.wynikbadania.zaakceptowany IS 'Informacja, czy dane zostały zaakceptowane.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.uwagi IS 'Uwagi.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.czywartosckoncowa IS 'Czy wartość końcowa wyniku.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.czywwynikukoncowym IS 'Informacja czy dana składowa była wykorzystana do określania wyniku końcowego.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.metodaustaleniawartkoncowej IS 'W jaki sposób ustalono wartość końcową.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.idnormyskldlaurz IS 'Identyfikator normy składowej dla urządzenia. (klucz obcy do normaskladowejdlaurzadzenia)';
COMMENT ON COLUMN krdk_xsd.wynikbadania.kolejnosc IS 'Pole techniczne.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.wartoscnormy IS 'Pole techniczne.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.czywnormie IS 'Informacja, czy wynik badania mieści się w zakresie normy.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.czywidocznanawydruku IS 'Informacja, czy wynik widoczny na wydruku.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.czywidocznawgl IS 'Pole techniczne.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.czywidocznawkartotece IS 'Informacja, czy wynik widoczny w kartotece.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.wynikbadania.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.wynikbadania.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.wynikbadania.processid IS 'Identyfikator procesu.';


CREATE TABLE krdk_xsd.externalid
(
    systemid              bigint                NOT NULL,
    externalid            character varying(40) NOT NULL,
    tabela                character varying(30) NOT NULL,
    isbtstafmemberno      character varying(11) NOT NULL,
    isbtstafmembernomodyf character varying(11) NOT NULL,
    dataczasutworzenia    timestamp(0)          NOT NULL,
    dataczasmodyfikacji   timestamp(0)          NOT NULL,
    usunieto              character(1)          NOT NULL,
    lokalizacjafin        character varying(5)  NOT NULL,
    lokalizacjafinmodyf   character varying(5)  NOT NULL,
    processId             character varying(60) NOT NULL,
    CONSTRAINT pk_extid PRIMARY KEY (externalid, lokalizacjafin, tabela)
);
CREATE UNIQUE INDEX u_externalid_tabela ON krdk_xsd.externalid (externalid, tabela, lokalizacjafin, usunieto);
CREATE UNIQUE INDEX u_systemid_tabela ON krdk_xsd.externalid (systemid, tabela, lokalizacjafin, usunieto);


CREATE TABLE krdk_xsd.wartoscnormy
(
    idwartoscinormy       bigint                 NOT NULL,
    wartoscod             character varying(50)  NULL,
    wartoscodwlacznie     character(1)           NULL,
    wartoscdo             character varying(50)  NULL,
    wartoscdowlacznie     character(1)           NULL,
    norma                 character varying(110) NULL,
    isbtstafmemberno      character varying(11)  NOT NULL,
    isbtstafmembernomodyf character varying(11)  NOT NULL,
    dataczasutworzenia    timestamp(0)           NOT NULL,
    dataczasmodyfikacji   timestamp(0)           NOT NULL,
    usunieto              character(1)           NOT NULL,
    lokalizacjafin        character varying(5)   NOT NULL,
    lokalizacjafinmodyf   character varying(5)   NOT NULL,
    CONSTRAINT pk_wartoscnormy PRIMARY KEY (idwartoscinormy)
);

COMMENT ON COLUMN krdk_xsd.wartoscnormy.idwartoscinormy IS 'Identyfilator wartości normy.';
COMMENT ON COLUMN krdk_xsd.wartoscnormy.wartoscod IS 'Wartość normy "od".';
COMMENT ON COLUMN krdk_xsd.wartoscnormy.wartoscodwlacznie IS 'Wartość normy "od" (włącznie).';
COMMENT ON COLUMN krdk_xsd.wartoscnormy.wartoscdo IS 'Wartość normy "do".';
COMMENT ON COLUMN krdk_xsd.wartoscnormy.wartoscdowlacznie IS 'Wartość normy "do" (włącznie).';
COMMENT ON COLUMN krdk_xsd.wartoscnormy.norma IS 'Norma.';
COMMENT ON COLUMN krdk_xsd.wartoscnormy.isbtstafmemberno IS 'Identyfikator ISBT operatora utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.wartoscnormy.isbtstafmembernomodyf IS 'Identyfikator ISBT operatora modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.wartoscnormy.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.wartoscnormy.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.wartoscnormy.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.wartoscnormy.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.wartoscnormy.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';


CREATE TABLE krdk_xsd.probkawbadaniu
(
    idbadania           bigint                NOT NULL,
    idprobki            bigint                NOT NULL,
    usunieto            character(1)          NOT NULL,
    lokalizacjafin      character varying(5)  NOT NULL,
    lokalizacjafinmodyf character varying(5)  NOT NULL,
    processId           character varying(60) NOT NULL,
    CONSTRAINT pk_probkawbadaniu PRIMARY KEY (idbadania, idprobki)
);

COMMENT ON COLUMN krdk_xsd.probkawbadaniu.idbadania IS 'Identyfikator w systemie badania (klucz obcy do badanie).';
COMMENT ON COLUMN krdk_xsd.probkawbadaniu.idprobki IS 'Identyfikator próbki (klucz obcy do próbki).';
COMMENT ON COLUMN krdk_xsd.probkawbadaniu.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.probkawbadaniu.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.probkawbadaniu.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.probkawbadaniu.processid IS 'Identyfikator procesu.';


CREATE TABLE krdk_xsd.normaskladowejdlaurzadzenia
(
    idnormyskldlaurz       bigint                 NOT NULL,
    idurzadzenia           bigint                 NULL,
    iddefskladowejwyniku   bigint                 NOT NULL,
    odkobietadawca         character varying(250) NULL,
    dokobietadawca         character varying(250) NULL,
    odzamknkobietadawca    character(1)           NULL,
    dozamknkobietadawca    character(1)           NULL,
    odmezczdawca           character varying(250) NULL,
    domezczdawca           character varying(250) NULL,
    odzamknmezczdawca      character(1)           NULL,
    dozamknmezczdawca      character(1)           NULL,
    odmezczpacjent         character varying(250) NULL,
    domezczpacjent         character varying(250) NULL,
    odmezczzamknpacjent    character(1)           NULL,
    domezczzamknpacjent    character(1)           NULL,
    odkobietapacjent       character varying(250) NULL,
    dokobietapacjent       character varying(250) NULL,
    odkobietazamknpacjent  character(1)           NULL,
    dokobietazamknpacjent  character(1)           NULL,
    zaleznaodwieku         character(1)           NULL,
    zaleznaodgrupy         character(1)           NULL,
    niezalezna             character(1)           NULL,
    idkobietadawca         bigint                 NULL,
    idmezczdawca           bigint                 NULL,
    idkobietapacjent       bigint                 NULL,
    idmezczpacjent         bigint                 NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NOT NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_nrmskljdlaurz PRIMARY KEY (idnormyskldlaurz)
);

COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.idnormyskldlaurz IS 'Identyfikator normy składowej dla urządzenia.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.idurzadzenia IS 'Identyfikator urządzenia (klucz obcy do kartotekaurzadzen).';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.iddefskladowejwyniku IS 'Identyfikator definicji składowej wyniku (klucz obcy do sdefinicjaskladowejwyniku).';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.odkobietadawca IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.dokobietadawca IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.odzamknkobietadawca IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.dozamknkobietadawca IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.odmezczdawca IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.domezczdawca IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.odzamknmezczdawca IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.dozamknmezczdawca IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.odmezczpacjent IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.domezczpacjent IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.odmezczzamknpacjent IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.domezczzamknpacjent IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.odkobietapacjent IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.dokobietapacjent IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.odkobietazamknpacjent IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.dokobietazamknpacjent IS 'Wartość parametru.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.zaleznaodwieku IS 'Informacja, czy wartość normy zależna od wieku.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.zaleznaodgrupy IS 'Informacja, czy wartość normy zależna od grupy.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.niezalezna IS 'Informacja, czy wartość nie jest zależna.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.idkobietadawca IS 'Identyfikator wartości normy dla dawczyń - kobiet (klucz obcy do tabeli wartoscnormy).';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.idmezczdawca IS 'Identyfikator wartości normy dla dawców - mężczyzn (klucz obcy do tabeli wartoscnormy).';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.idkobietapacjent IS 'Identyfikator wartości normy dla pacjentek - kobiet (klucz obcy do tabeli wartoscnormy).';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.idmezczpacjent IS 'Identyfikator wartości normy dla pacjentów - mężczyzn (klucz obcy do tabeli wartoscnormy).';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.normaskladowejdlaurzadzenia.processid IS 'Identyfikator procesu.';

CREATE TABLE krdk_xsd.historiaproduktu
(
    idprodwe            bigint                NOT NULL,
    idprodwy            bigint                NOT NULL,
    usunieto            character(1)          NOT NULL,
    lokalizacjafin      character varying(5)  NOT NULL,
    lokalizacjafinmodyf character varying(5)  NOT NULL,
    processId           character varying(60) NOT NULL,
    CONSTRAINT pk_histprod1 PRIMARY KEY (idprodwe, idprodwy)
);
--CREATE UNIQUE INDEX idx212061348500000 ON krdk_xsd.historiaproduktu USING btree (idprodwe, idprodwy DESC);
COMMENT ON COLUMN krdk_xsd.historiaproduktu.idprodwe IS 'Identyfikator w systemie produktu wejściowego (klucz obcy do produkt).';
COMMENT ON COLUMN krdk_xsd.historiaproduktu.idprodwy IS 'Identyfikator produktu wyjściowego (klucz obcy do produkt).';
COMMENT ON COLUMN krdk_xsd.historiaproduktu.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.historiaproduktu.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.historiaproduktu.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.historiaproduktu.processid IS 'Typ prosty: identyfikator procesu wymiany danych';

CREATE TABLE krdk_xsd.rekordparametrupreparatyki
(
    idrekparprep           bigint                 NOT NULL,
    idparprep              bigint                 NOT NULL,
    wartosc                character varying(255) NOT NULL,
    iddefskladowejwyniku   bigint                 NOT NULL,
    externalid             character varying(40)  NULL,
    idoperatorautworzenia  bigint                 NOT NULL,
    idoperatoramodyfikacji bigint                 NULL,
    dataczasutworzenia     timestamp(0)           NOT NULL,
    dataczasmodyfikacji    timestamp(0)           NOT NULL,
    usunieto               character(1)           NOT NULL,
    lokalizacjafin         character varying(5)   NOT NULL,
    lokalizacjafinmodyf    character varying(5)   NOT NULL,
    processId              character varying(60)  NOT NULL,
    CONSTRAINT pk_rekordpar1 PRIMARY KEY (idrekparprep)
);

COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.idrekparprep IS 'Identyfikator systemowy rekordu parametru preparatyki';
COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.idparprep IS 'Identyfikator parametru wykonanej preparatyki (klucz obcy do
                        parametrypreparatyki).';
COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.wartosc IS 'Wartość wyniku preparatyki.';
COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.iddefskladowejwyniku IS 'Identyfikator składowej wyniku (klucz obcy do słownika sdefinicjaskladowejwyniku).';
COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.externalid IS 'Identyfikator w systemie zewnętrznym.';
COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.idoperatorautworzenia IS 'Id operatora utworzenia rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.idoperatoramodyfikacji IS 'Id operatora modyfikacji rekordu (klucz obcy do operator).';
COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.dataczasutworzenia IS 'Data i czas utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.dataczasmodyfikacji IS 'Data i czas modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.rekordparametrupreparatyki.processid IS '<Kolumna niewykorzystywana>';

CREATE TABLE krdk_xsd.typurzadzeniawdefprep
(
    idtypuurzadzenia    bigint                NOT NULL,
    iddefinicji         bigint                NOT NULL,
    usunieto            character(1)          NOT NULL,
    lokalizacjafin      character varying(5)  NOT NULL,
    lokalizacjafinmodyf character varying(5)  NOT NULL,
    processId           character varying(60) NOT NULL,
    CONSTRAINT pk_typurzwdefpr PRIMARY KEY (idtypuurzadzenia, iddefinicji)
);

COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefprep.idtypuurzadzenia IS 'Identyfikator w systemie. Słownik: stypurzadzenia.';
COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefprep.iddefinicji IS 'Identyfikator definicji preparatyki (klucz obcy do sdefinicjapreparatyki). ';
COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefprep.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefprep.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefprep.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.typurzadzeniawdefprep.processid IS 'Typ prosty: identyfikator procesu wymiany danych';



CREATE TABLE krdk_xsd.uzytyprodwejscwprep
(
    idwykprep           bigint                NOT NULL,
    idproduktu          bigint                NOT NULL,
    usunieto            character(1)          NOT NULL,
    lokalizacjafin      character varying(5)  NOT NULL,
    lokalizacjafinmodyf character varying(5)  NOT NULL,
    processId           character varying(60) NOT NULL,
    CONSTRAINT pk_uzprowewpr1 PRIMARY KEY (idwykprep, idproduktu)
);

COMMENT ON COLUMN krdk_xsd.uzytyprodwejscwprep.idwykprep IS 'Identyfikator w systemie (klucz obcy do wykonanapreparatyka).';
COMMENT ON COLUMN krdk_xsd.uzytyprodwejscwprep.idproduktu IS 'Identyfikator produktu wejściowego użytego w preparatyce (klucz obcy do produkt).';
COMMENT ON COLUMN krdk_xsd.uzytyprodwejscwprep.usunieto IS 'Informacja, czy dane zostały usunięte.';
COMMENT ON COLUMN krdk_xsd.uzytyprodwejscwprep.lokalizacjafin IS 'Nr FIN placówki utworzenia rekordu.';
COMMENT ON COLUMN krdk_xsd.uzytyprodwejscwprep.lokalizacjafinmodyf IS 'Nr FIN placówki modyfikacji rekordu.';
COMMENT ON COLUMN krdk_xsd.uzytyprodwejscwprep.processid IS 'Typ prosty: identyfikator procesu wymiany danych';


CREATE TABLE krdk_xsd.santygenhpa
(
    idantygenuhpa bigint                NOT NULL,
    nazwa         character varying(50) NULL,
    CONSTRAINT pk_santygenhpa PRIMARY KEY (idantygenuhpa)
);

COMMENT ON COLUMN krdk_xsd.santygenhpa.idantygenuhpa IS 'Identyfikator antygenu HPA';
COMMENT ON COLUMN krdk_xsd.santygenhpa.nazwa IS 'Nazwa antygenu HPA.';


CREATE TABLE krdk_xsd.santygenhla
(
    idantygenuhla bigint                NOT NULL,
    nazwa         character varying(50) NULL,
    CONSTRAINT pk_santygenhla PRIMARY KEY (idantygenuhla)
);

COMMENT ON COLUMN krdk_xsd.santygenhla.idantygenuhla IS 'Identyfikator antygenu HLA';
COMMENT ON COLUMN krdk_xsd.santygenhla.nazwa IS 'Nazwa antygenu HLA.';

CREATE TABLE krdk_xsd.santygenfkcz
(
    idantygenufkcz bigint                NOT NULL,
    nazwa          character varying(50) NULL,
    CONSTRAINT pk_santygenfkcz PRIMARY KEY (idantygenufkcz)
);

COMMENT ON COLUMN krdk_xsd.santygenfkcz.idantygenufkcz IS 'Identyfikator antygenu FKCz';
COMMENT ON COLUMN krdk_xsd.santygenfkcz.nazwa IS 'Nazwa antygenu FKCz.';


CREATE TABLE krdk_xsd.salloprzeciwciala
(
    idalloprzeciwciala bigint                NOT NULL,
    kod                character varying (10) NULL,
    kod_opis           character varying (100) NULL,
    nazwa              character varying(50) NULL,
    CONSTRAINT pk_salloprzeciwciala PRIMARY KEY (idalloprzeciwciala)
);

COMMENT ON COLUMN krdk_xsd.salloprzeciwciala.idalloprzeciwciala IS 'Identyfikator przeciwciał.';
COMMENT ON COLUMN krdk_xsd.salloprzeciwciala.kod IS 'Kod grupowania przeciwciał.';
COMMENT ON COLUMN krdk_xsd.salloprzeciwciala.kod_opis IS 'Opis kodu grupowania przeciwciał.';
COMMENT ON COLUMN krdk_xsd.salloprzeciwciala.nazwa IS 'Nazwa przeciwciał.';


ALTER TABLE krdk_xsd.smetodabadania
    OWNER TO postgres;
ALTER TABLE krdk_xsd.stypdawcy
    OWNER TO postgres;
ALTER TABLE krdk_xsd.sprzeznaczenieprobki
    OWNER TO postgres;
ALTER TABLE krdk_xsd.typdzialu
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_groupattribute
    OWNER TO postgres;
ALTER TABLE krdk_xsd.definicjapakietubadania
    OWNER TO postgres;
ALTER TABLE krdk_xsd.swyksztalcenie
    OWNER TO postgres;
ALTER TABLE krdk_xsd.zrodlopochodzeniaprobki
    OWNER TO postgres;
ALTER TABLE krdk_xsd.stypwartosci
    OWNER TO postgres;
ALTER TABLE krdk_xsd.stypwielkosci
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_bloodgraborhd
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_typeofdonationorcollection2
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_modifier
    OWNER TO postgres;
ALTER TABLE krdk_xsd.skraj
    OWNER TO postgres;
ALTER TABLE krdk_xsd.srodzdoktoz
    OWNER TO postgres;
ALTER TABLE krdk_xsd.pacjent
    OWNER TO postgres;
ALTER TABLE krdk_xsd.swojewodztwo
    OWNER TO postgres;
ALTER TABLE krdk_xsd.srodzajbadania
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_class
    OWNER TO postgres;
ALTER TABLE krdk_xsd.srodzajdyskwalifikacji
    OWNER TO postgres;
ALTER TABLE krdk_xsd.stypbadania
    OWNER TO postgres;
ALTER TABLE krdk_xsd.sprzyczynadyskwalifikacji
    OWNER TO postgres;
ALTER TABLE krdk_xsd.osoba
    OWNER TO postgres;
ALTER TABLE krdk_xsd.smiejscowosc
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_productdescription
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_attrforproduct
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_attribute
    OWNER TO postgres;
ALTER TABLE krdk_xsd.srodzajskladnikakrwi
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_attrib2rodzajskladkrwi
    OWNER TO postgres;
ALTER TABLE krdk_xsd.spowiat
    OWNER TO postgres;
ALTER TABLE krdk_xsd.srodzajmiejscowosci
    OWNER TO postgres;
ALTER TABLE krdk_xsd.sgmina
    OWNER TO postgres;
ALTER TABLE krdk_xsd.listaosobzdyskwalifikowanych
    OWNER TO postgres;
ALTER TABLE krdk_xsd.probka
    OWNER TO postgres;
ALTER TABLE krdk_xsd.typurzadzeniawdefbadania
    OWNER TO postgres;
ALTER TABLE krdk_xsd.urzadzeniewbadaniu
    OWNER TO postgres;
ALTER TABLE krdk_xsd.uzytedefinicjeprep
    OWNER TO postgres;
ALTER TABLE krdk_xsd.wizytadawcy
    OWNER TO postgres;
ALTER TABLE krdk_xsd.wykonanapreparatyka
    OWNER TO postgres;
ALTER TABLE krdk_xsd.wykonanyprodukt
    OWNER TO postgres;
ALTER TABLE krdk_xsd.adres
    OWNER TO postgres;
ALTER TABLE krdk_xsd.badaniespecjalne
    OWNER TO postgres;
ALTER TABLE krdk_xsd.definicjaproduktuwejsciowego
    OWNER TO postgres;
ALTER TABLE krdk_xsd.definicjaproduktuwyjsciowego
    OWNER TO postgres;
ALTER TABLE krdk_xsd.defskladowejwynikuwdefbad
    OWNER TO postgres;
ALTER TABLE krdk_xsd.srodzajzakazenia
    OWNER TO postgres;
ALTER TABLE krdk_xsd.dawca
    OWNER TO postgres;
ALTER TABLE krdk_xsd.kontrahent2parent
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_fin
    OWNER TO postgres;
ALTER TABLE krdk_xsd.pakietbadania
    OWNER TO postgres;
ALTER TABLE krdk_xsd.parametrypreparatyki
    OWNER TO postgres;
ALTER TABLE krdk_xsd.pracownik
    OWNER TO postgres;
ALTER TABLE krdk_xsd.srodzajprobki
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_bloodgrrhkellmiltphen
    OWNER TO postgres;
ALTER TABLE krdk_xsd.donacja
    OWNER TO postgres;
ALTER TABLE krdk_xsd.sstatuspreparatyki
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_typeofdonationorcollection
    OWNER TO postgres;
ALTER TABLE krdk_xsd.sstatuskwalifikacji
    OWNER TO postgres;
ALTER TABLE krdk_xsd.isbt_specialtestinggeneral
    OWNER TO postgres;
ALTER TABLE krdk_xsd.dyskwalifikacja
    OWNER TO postgres;
ALTER TABLE krdk_xsd.przyczynydyskwalifikacji
    OWNER TO postgres;
ALTER TABLE krdk_xsd.srodzajkontrahenta
    OWNER TO postgres;
ALTER TABLE krdk_xsd.kontrahent
    OWNER TO postgres;
ALTER TABLE krdk_xsd.rodzaj2kontrahent
    OWNER TO postgres;
ALTER TABLE krdk_xsd.smetodapreparatyki
    OWNER TO postgres;
ALTER TABLE krdk_xsd.organizacja
    OWNER TO postgres;
ALTER TABLE krdk_xsd.srodzajmechanizmu
    OWNER TO postgres;
ALTER TABLE krdk_xsd.sjednostkamiary
    OWNER TO postgres;
ALTER TABLE krdk_xsd.stypurzadzenia
    OWNER TO postgres;
ALTER TABLE krdk_xsd.definicjabadania
    OWNER TO postgres;
ALTER TABLE krdk_xsd.sdefinicjapreparatyki
    OWNER TO postgres;
ALTER TABLE krdk_xsd.kartotekaurzadzen
    OWNER TO postgres;
ALTER TABLE krdk_xsd.uzyteurzadzeniawpreparatyce
    OWNER TO postgres;
ALTER TABLE krdk_xsd.dzial
    OWNER TO postgres;
ALTER TABLE krdk_xsd.sprocedurapreparatyki
    OWNER TO postgres;
ALTER TABLE krdk_xsd.operator
    OWNER TO postgres;
ALTER TABLE krdk_xsd.srodzajdzialania
    OWNER TO postgres;
ALTER TABLE krdk_xsd.produkt
    OWNER TO postgres;
ALTER TABLE krdk_xsd.definicjaslownika
    OWNER TO postgres;
ALTER TABLE krdk_xsd.sdefinicjaskladowejwyniku
    OWNER TO postgres;
ALTER TABLE krdk_xsd.badanie
    OWNER TO postgres;
ALTER TABLE krdk_xsd.wynikbadania
    OWNER TO postgres;
ALTER TABLE krdk_xsd.externalid
    OWNER TO postgres;
ALTER TABLE krdk_xsd.wartoscnormy
    OWNER TO postgres;
ALTER TABLE krdk_xsd.probkawbadaniu
    OWNER TO postgres;
ALTER TABLE krdk_xsd.normaskladowejdlaurzadzenia
    OWNER TO postgres;
ALTER TABLE krdk_xsd.historiaproduktu
    OWNER TO postgres;
ALTER TABLE krdk_xsd.rekordparametrupreparatyki
    OWNER TO postgres;
ALTER TABLE krdk_xsd.typurzadzeniawdefprep
    OWNER TO postgres;
ALTER TABLE krdk_xsd.uzytyprodwejscwprep
    OWNER TO postgres;
ALTER TABLE krdk_xsd.santygenhpa
    OWNER TO postgres;
ALTER TABLE krdk_xsd.santygenhla
    OWNER TO postgres;
ALTER TABLE krdk_xsd.santygenfkcz
    OWNER TO postgres;
ALTER TABLE krdk_xsd.salloprzeciwciala
    OWNER TO postgres;


-- krdk_xsd.adres foreign keys
ALTER TABLE krdk_xsd.adres
    ADD CONSTRAINT fk_adr_kontr FOREIGN KEY (idkontrahenta) REFERENCES krdk_xsd.kontrahent (idkontrahenta);
ALTER TABLE krdk_xsd.adres
    ADD CONSTRAINT fk_adr_prac FOREIGN KEY (idpracownika) REFERENCES krdk_xsd.pracownik (idpracownika);
ALTER TABLE krdk_xsd.adres
    ADD CONSTRAINT fk_adr_smiejsc FOREIGN KEY (idmiejscowosci) REFERENCES krdk_xsd.smiejscowosc (idmiejscowosci);
ALTER TABLE krdk_xsd.adres
    ADD CONSTRAINT fk_adres_dzial FOREIGN KEY (iddzialu) REFERENCES krdk_xsd.dzial (iddzialu);
ALTER TABLE krdk_xsd.adres
    ADD CONSTRAINT fk_adres_jedorg FOREIGN KEY (idjednostkiorg) REFERENCES krdk_xsd.organizacja (idorganizacji);
--ALTER TABLE krdk_xsd.adres ADD CONSTRAINT fk_adres_odb FOREIGN KEY (idodbiorcy) REFERENCES krdk_xsd.odbiorca(idodbiorcy);
ALTER TABLE krdk_xsd.adres
    ADD CONSTRAINT fk_adres_osoba FOREIGN KEY (idosoby) REFERENCES krdk_xsd.osoba (idosoby);
--ALTER TABLE krdk_xsd.adres ADD CONSTRAINT fk_adres_sklubhdk FOREIGN KEY (idklubuhdk) REFERENCES krdk_xsd.sklubhdk(idklubhdk);
ALTER TABLE krdk_xsd.adres
    ADD CONSTRAINT fk_adres_skraj FOREIGN KEY (idkraju) REFERENCES krdk_xsd.skraj (idkraju);
--ALTER TABLE krdk_xsd.adres ADD CONSTRAINT fk_adres_uczszk FOREIGN KEY (iduczestnikaszkolenia) REFERENCES krdk_xsd.uczestnikszkolenia(iduczestnikaszkolenia);

-- krdk_xsd.badanie foreign keys
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_bad_defbad FOREIGN KEY (iddefinicjibadania) REFERENCES krdk_xsd.definicjabadania (iddefinicjibadania);
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_bad_donc FOREIGN KEY (iddonacji) REFERENCES krdk_xsd.donacja (iddonacji);
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_bad_operator1 FOREIGN KEY (uzytkownikprzeprbadnaurz) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_bad_operator2 FOREIGN KEY (uzytkownikwprbadzurz) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_bad_operator3 FOREIGN KEY (uzytkownikopracwynik) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_bad_operator4 FOREIGN KEY (uzytkownikakcwynik) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_bad_operator5 FOREIGN KEY (uzytkownikwydaniawyn) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_bad_osob FOREIGN KEY (idosoby) REFERENCES krdk_xsd.osoba (idosoby);
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_bad_pakbad FOREIGN KEY (idpakietu) REFERENCES krdk_xsd.pakietbadania (idpakietu);
--ALTER TABLE krdk_xsd.badanie ADD CONSTRAINT fk_bad_zlec FOREIGN KEY (idzlecenia) REFERENCES krdk_xsd.zlecenie(idzlecenia);
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_badanie_wizyta FOREIGN KEY (idwizyty) REFERENCES krdk_xsd.wizytadawcy (idwizyty);
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_badwdziale FOREIGN KEY (iddzialu) REFERENCES krdk_xsd.dzial (iddzialu);


-- krdk_xsd.badaniespecjalne foreign keys
ALTER TABLE krdk_xsd.badaniespecjalne
    ADD CONSTRAINT fk_badspec_badanie FOREIGN KEY (idbadania) REFERENCES krdk_xsd.badanie (idbadania);
ALTER TABLE krdk_xsd.badaniespecjalne
    ADD CONSTRAINT fk_badspec_osoba FOREIGN KEY (idosoby) REFERENCES krdk_xsd.osoba (idosoby);


-- krdk_xsd.dawca foreign keys
ALTER TABLE krdk_xsd.dawca
    ADD CONSTRAINT fk_da_ty FOREIGN KEY (idtypudawcy) REFERENCES krdk_xsd.stypdawcy (idtypudawcy);
ALTER TABLE krdk_xsd.dawca
    ADD CONSTRAINT fk_dawca_osoba FOREIGN KEY (idosoby) REFERENCES krdk_xsd.osoba (idosoby);
--ALTER TABLE krdk_xsd.dawca ADD CONSTRAINT fk_dawca_sklubhdk FOREIGN KEY (idklubuhdk) REFERENCES krdk_xsd.sklubhdk(idklubhdk);


-- krdk_xsd.definicjabadania foreign keys
ALTER TABLE krdk_xsd.definicjabadania
    ADD CONSTRAINT fk_def_met FOREIGN KEY (idmetodybadania) REFERENCES krdk_xsd.smetodabadania (idmetodybadania);
ALTER TABLE krdk_xsd.definicjabadania
    ADD CONSTRAINT fk_def_rodz FOREIGN KEY (idrodzajubadania) REFERENCES krdk_xsd.srodzajbadania (idrodzajubadania);
ALTER TABLE krdk_xsd.definicjabadania
    ADD CONSTRAINT fk_defbad_organ FOREIGN KEY (idorganizacji) REFERENCES krdk_xsd.organizacja (idorganizacji);
ALTER TABLE krdk_xsd.definicjabadania
    ADD CONSTRAINT fk_defbad_zrodlo FOREIGN KEY (idzrodlapochodzeniaprobki) REFERENCES krdk_xsd.zrodlopochodzeniaprobki (idzrodla);
ALTER TABLE krdk_xsd.definicjabadania
    ADD CONSTRAINT fk_dfbd_dfsklwn FOREIGN KEY (iddefskladowejwyniku) REFERENCES krdk_xsd.sdefinicjaskladowejwyniku (iddefskladowejwyniku);


-- krdk_xsd.definicjaproduktuwejsciowego foreign keys
ALTER TABLE krdk_xsd.definicjaproduktuwejsciowego
    ADD CONSTRAINT fk_dprowe_isbt_cl FOREIGN KEY (namecode) REFERENCES krdk_xsd.isbt_class (namecode);
ALTER TABLE krdk_xsd.definicjaproduktuwejsciowego
    ADD CONSTRAINT fk_dprowe_sdefpr FOREIGN KEY (iddefinicji) REFERENCES krdk_xsd.sdefinicjapreparatyki (iddefinicji);


-- krdk_xsd.definicjaproduktuwyjsciowego foreign keys
--ALTER TABLE krdk_xsd.definicjaproduktuwyjsciowego ADD CONSTRAINT fk_defprwy_podtow FOREIGN KEY (idtypukontenerasju) REFERENCES krdk_xsd.podgrupatowaru(idpodgrupytowaru);
ALTER TABLE krdk_xsd.definicjaproduktuwyjsciowego
    ADD CONSTRAINT fk_dprowy_isbt_cl FOREIGN KEY (namecode) REFERENCES krdk_xsd.isbt_class (namecode);
ALTER TABLE krdk_xsd.definicjaproduktuwyjsciowego
    ADD CONSTRAINT fk_dprowy_sdepr FOREIGN KEY (iddefinicji) REFERENCES krdk_xsd.sdefinicjapreparatyki (iddefinicji);


-- krdk_xsd.defskladowejwynikuwdefbad foreign keys
ALTER TABLE krdk_xsd.defskladowejwynikuwdefbad
    ADD CONSTRAINT fk_dfsklwn_dfbd FOREIGN KEY (iddefinicjibadania) REFERENCES krdk_xsd.definicjabadania (iddefinicjibadania);
ALTER TABLE krdk_xsd.defskladowejwynikuwdefbad
    ADD CONSTRAINT fk_dfskwndfbd_dskw FOREIGN KEY (iddefskladowejwyniku) REFERENCES krdk_xsd.sdefinicjaskladowejwyniku (iddefskladowejwyniku);


-- krdk_xsd.donacja foreign keys
ALTER TABLE krdk_xsd.donacja
    ADD CONSTRAINT fk_don_metpr FOREIGN KEY (idmetody) REFERENCES krdk_xsd.smetodapreparatyki (idmetody);
ALTER TABLE krdk_xsd.donacja
    ADD CONSTRAINT fk_don_os FOREIGN KEY (iddawcyosoby) REFERENCES krdk_xsd.osoba (idosoby);
ALTER TABLE krdk_xsd.donacja
    ADD CONSTRAINT fk_don_procpr FOREIGN KEY (idprocedury) REFERENCES krdk_xsd.sprocedurapreparatyki (idprocedury);
ALTER TABLE krdk_xsd.donacja
    ADD CONSTRAINT fk_donwiz FOREIGN KEY (idwizyty) REFERENCES krdk_xsd.wizytadawcy (idwizyty);
ALTER TABLE krdk_xsd.donacja
    ADD CONSTRAINT fk_dondefprep FOREIGN KEY (iddefinicji) REFERENCES krdk_xsd.sdefinicjapreparatyki (iddefinicji);


-- krdk_xsd.dyskwalifikacja foreign keys
ALTER TABLE krdk_xsd.dyskwalifikacja
    ADD CONSTRAINT fk_dy_naloz_oper FOREIGN KEY (uzytkowniknalozyldyskw) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.dyskwalifikacja
    ADD CONSTRAINT fk_dy_zdj_oper FOREIGN KEY (uzytkownikzdjeciadyskw) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.dyskwalifikacja
    ADD CONSTRAINT fk_dysk_r FOREIGN KEY (idrodzajudyskwalifikacji) REFERENCES krdk_xsd.srodzajdyskwalifikacji (idrodzajudyskwalifikacji);
ALTER TABLE krdk_xsd.dyskwalifikacja
    ADD CONSTRAINT fk_dysk_srodzzak FOREIGN KEY (idrodzajuzakazenia) REFERENCES krdk_xsd.srodzajzakazenia (idrodzajuzakazenia);
ALTER TABLE krdk_xsd.dyskwalifikacja
    ADD CONSTRAINT fk_dyskdaw FOREIGN KEY (iddawcyosoby) REFERENCES krdk_xsd.dawca (idosoby);


-- krdk_xsd.dzial foreign keys
ALTER TABLE krdk_xsd.dzial
    ADD CONSTRAINT fk_dzialwpdzial FOREIGN KEY (idtypudzialu) REFERENCES krdk_xsd.typdzialu (idtypudzialu);
ALTER TABLE krdk_xsd.dzial
    ADD CONSTRAINT fk_dzialwporg FOREIGN KEY (idorganizacji) REFERENCES krdk_xsd.organizacja (idorganizacji);
ALTER TABLE krdk_xsd.dzial
    ADD CONSTRAINT fk_dzialdzialnadrzedny FOREIGN KEY (iddzialunadrzednego) REFERENCES krdk_xsd.dzial (iddzialu);

-- krdk_xsd.kartotekaurzadzen foreign keys
ALTER TABLE krdk_xsd.kartotekaurzadzen
    ADD CONSTRAINT fk_idtypuurz FOREIGN KEY (idtypuurzadzenia) REFERENCES krdk_xsd.stypurzadzenia (idtypuurzadzenia);
ALTER TABLE krdk_xsd.kartotekaurzadzen
    ADD CONSTRAINT fk_karurz_kont FOREIGN KEY (iddostawcy) REFERENCES krdk_xsd.kontrahent (idkontrahenta);
ALTER TABLE krdk_xsd.kartotekaurzadzen
    ADD CONSTRAINT fk_karurzadzial FOREIGN KEY (iddzialu) REFERENCES krdk_xsd.dzial (iddzialu);
ALTER TABLE krdk_xsd.kartotekaurzadzen
    ADD CONSTRAINT fk_karurz_idfirmyserwisujacej FOREIGN KEY (idfirmyserwisujacej) REFERENCES krdk_xsd.kontrahent (idkontrahenta);


-- krdk_xsd.kontrahent foreign keys
ALTER TABLE krdk_xsd.kontrahent
    ADD CONSTRAINT fk_kontr_org FOREIGN KEY (idorganizacji) REFERENCES krdk_xsd.organizacja (idorganizacji);


-- krdk_xsd.kontrahent2parent foreign keys
ALTER TABLE krdk_xsd.kontrahent2parent
    ADD CONSTRAINT fk_k2p_konbaz FOREIGN KEY (idkontrahenta) REFERENCES krdk_xsd.kontrahent (idkontrahenta);
ALTER TABLE krdk_xsd.kontrahent2parent
    ADD CONSTRAINT fk_k2p_par FOREIGN KEY (idparent) REFERENCES krdk_xsd.kontrahent (idkontrahenta);


-- krdk_xsd."operator" foreign keys
ALTER TABLE krdk_xsd."operator"
    ADD CONSTRAINT fk_op_dzial FOREIGN KEY (iddzialu) REFERENCES krdk_xsd.dzial (iddzialu);
ALTER TABLE krdk_xsd."operator"
    ADD CONSTRAINT fk_oper_org FOREIGN KEY (idorganizacji) REFERENCES krdk_xsd.organizacja (idorganizacji);


-- krdk_xsd.organizacja foreign keys
--ALTER TABLE krdk_xsd.organizacja ADD CONSTRAINT fk_org_graf FOREIGN KEY (idlogo) REFERENCES krdk_xsd.grafika(idgrafiki);
ALTER TABLE krdk_xsd.organizacja
    ADD CONSTRAINT fk_org_isbt_fin FOREIGN KEY (isbtfinnumber) REFERENCES krdk_xsd.isbt_fin (fin);
ALTER TABLE krdk_xsd.organizacja
    ADD CONSTRAINT fk_org_kontr FOREIGN KEY (idkontrahenta) REFERENCES krdk_xsd.kontrahent (idkontrahenta);
ALTER TABLE krdk_xsd.organizacja
    ADD CONSTRAINT fk_org_organ FOREIGN KEY (idrckikdomyslny) REFERENCES krdk_xsd.organizacja (idorganizacji);


-- krdk_xsd.pakietbadania foreign keys
ALTER TABLE krdk_xsd.pakietbadania
    ADD CONSTRAINT fk_pak_defpak FOREIGN KEY (iddefinicjipakietu) REFERENCES krdk_xsd.definicjapakietubadania (iddefinicjipakietu);
--ALTER TABLE krdk_xsd.pakietbadania ADD CONSTRAINT fk_pakbad_pakzb FOREIGN KEY (idpakietuzbiorczego) REFERENCES krdk_xsd.pakietzbiorczy(idpakietuzbiorczego);
--ALTER TABLE krdk_xsd.pakietbadania ADD CONSTRAINT fk_pakbad_zlec FOREIGN KEY (idzlecenia) REFERENCES krdk_xsd.zlecenie(idzlecenia);
ALTER TABLE krdk_xsd.pakietbadania
    ADD CONSTRAINT fk_pbakc_oper FOREIGN KEY (uzytkownikakcwynik) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.pakietbadania
    ADD CONSTRAINT fk_pbwyd_oper FOREIGN KEY (uzytkownikwydaniawyn) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.parametrypreparatyki foreign keys
ALTER TABLE krdk_xsd.parametrypreparatyki
    ADD CONSTRAINT fk_parpr_karturz FOREIGN KEY (idurzadzenia) REFERENCES krdk_xsd.kartotekaurzadzen (idurzadzenia);
ALTER TABLE krdk_xsd.parametrypreparatyki
    ADD CONSTRAINT fk_parpr_wykpr FOREIGN KEY (idwykprep) REFERENCES krdk_xsd.wykonanapreparatyka (idwykprep);

-- krdk_xsd.pracownik foreign keys
ALTER TABLE krdk_xsd.pracownik
    ADD CONSTRAINT fk_prac_dzial FOREIGN KEY (iddzialu) REFERENCES krdk_xsd.dzial (iddzialu);
ALTER TABLE krdk_xsd.pracownik
    ADD CONSTRAINT fk_praco_oper FOREIGN KEY (idoperatora) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.pracownik
    ADD CONSTRAINT fk_prc_wykszt FOREIGN KEY (idwyksztalcenia) REFERENCES krdk_xsd.swyksztalcenie (idwyksztalcenia);

-- krdk_xsd.probka foreign keys
ALTER TABLE krdk_xsd.probka
    ADD CONSTRAINT fk_prob_przprob FOREIGN KEY (idprzeznaczprob) REFERENCES krdk_xsd.sprzeznaczenieprobki (idprzeznaczprob);
ALTER TABLE krdk_xsd.probka
    ADD CONSTRAINT fk_prob_rodzpro FOREIGN KEY (idrodzajuprob) REFERENCES krdk_xsd.srodzajprobki (idrodzajuprobki);
ALTER TABLE krdk_xsd.probka
    ADD CONSTRAINT fk_prob_typbad FOREIGN KEY (idtypubadania) REFERENCES krdk_xsd.stypbadania (idtypubadania);
ALTER TABLE krdk_xsd.probka
    ADD CONSTRAINT fk_probka_dzial FOREIGN KEY (iddzialu) REFERENCES krdk_xsd.dzial (iddzialu);
ALTER TABLE krdk_xsd.probka
    ADD CONSTRAINT fk_probka_zrpoch FOREIGN KEY (idzrodla) REFERENCES krdk_xsd.zrodlopochodzeniaprobki (idzrodla);
ALTER TABLE krdk_xsd.probka
    ADD CONSTRAINT fk_probkaosoby FOREIGN KEY (idosoby) REFERENCES krdk_xsd.osoba (idosoby);
ALTER TABLE krdk_xsd.probka
    ADD CONSTRAINT fk_probkazdonacji FOREIGN KEY (iddonacji) REFERENCES krdk_xsd.donacja (iddonacji);
ALTER TABLE krdk_xsd.probka
    ADD CONSTRAINT fk_probkadlaproduktu FOREIGN KEY (idproduktu) REFERENCES krdk_xsd.produkt (idproduktu);
ALTER TABLE krdk_xsd.probka
    ADD CONSTRAINT fk_probkaidoperatorapobierajacego FOREIGN KEY (idoperatorapobierajacego) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.produkt foreign keys
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_pr_blgraborhd FOREIGN KEY (bloodgraborhd) REFERENCES krdk_xsd.isbt_bloodgraborhd (code);
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_pr_blkelmphen FOREIGN KEY (bloodgrrhkellmiltphen) REFERENCES krdk_xsd.isbt_bloodgrrhkellmiltphen (code);
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_pr_donacja FOREIGN KEY (iddonacji) REFERENCES krdk_xsd.donacja (iddonacji);
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_pr_proddescr FOREIGN KEY (proddescripcode) REFERENCES krdk_xsd.isbt_productdescription (proddescripcode);
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_pr_sstkw_tb FOREIGN KEY (idstatuskwalprzedtraceback) REFERENCES krdk_xsd.sstatuskwalifikacji (idstatusukwalifikacji);
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_pr_statkwalif FOREIGN KEY (idstatusukwalifikacji) REFERENCES krdk_xsd.sstatuskwalifikacji (idstatusukwalifikacji);
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_pr_statpr FOREIGN KEY (idstatusupreparatyki) REFERENCES krdk_xsd.sstatuspreparatyki (idstatusupreparatyki);
--ALTER TABLE krdk_xsd.produkt ADD CONSTRAINT fk_prod_mag FOREIGN KEY (idmagazynuprzedkrwzor) REFERENCES krdk_xsd.magazyn(idmagazynu);
--ALTER TABLE krdk_xsd.produkt ADD CONSTRAINT fk_prod_misk FOREIGN KEY (idmiejscaskladuprzedkrwzor) REFERENCES krdk_xsd.miejsceskladu(idmiejscaskladu);
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_prod_organ2 FOREIGN KEY (idorganizacji) REFERENCES krdk_xsd.organizacja (idorganizacji);
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_prod_todoc FOREIGN KEY (typeofdonationorcollection) REFERENCES krdk_xsd.isbt_typeofdonationorcollection (id);
--ALTER TABLE krdk_xsd.produkt ADD CONSTRAINT fk_prodsju_art FOREIGN KEY (idartykulupojemnika) REFERENCES krdk_xsd.artykul(idartykulu);
--ALTER TABLE krdk_xsd.produkt ADD CONSTRAINT fk_prsju_podgrtow FOREIGN KEY (idpodgrupytowarupojemnika) REFERENCES krdk_xsd.podgrupatowaru(idpodgrupytowaru);
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_prsk_krwzor FOREIGN KEY (idstatuskwalprzeddoprkrwzor) REFERENCES krdk_xsd.sstatuskwalifikacji (idstatusukwalifikacji);
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_prspt_general FOREIGN KEY (specialtestinggeneral) REFERENCES krdk_xsd.isbt_specialtestinggeneral (ncode);
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_pr_idoperatorazwalniajacego FOREIGN KEY (idoperatorazwalniajacego) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.przyczynydyskwalifikacji foreign keys
ALTER TABLE krdk_xsd.przyczynydyskwalifikacji
    ADD CONSTRAINT fk_dyskw_przycz FOREIGN KEY (idprzyczyny) REFERENCES krdk_xsd.sprzyczynadyskwalifikacji (idprzyczyny);
ALTER TABLE krdk_xsd.przyczynydyskwalifikacji
    ADD CONSTRAINT fk_przycz_dyskw FOREIGN KEY (iddyskwalifikacji) REFERENCES krdk_xsd.dyskwalifikacja (iddyskwalifikacji);


-- krdk_xsd.sprzyczynadyskwalifikacji foreign keys
ALTER TABLE krdk_xsd.sprzyczynadyskwalifikacji
    ADD CONSTRAINT fk_sprzyczynadyskwalifikacji_idprzyczyny FOREIGN KEY (idgrupyprzyczyn) REFERENCES krdk_xsd.sprzyczynadyskwalifikacji (idprzyczyny);


-- krdk_xsd.rodzaj2kontrahent foreign keys
ALTER TABLE krdk_xsd.rodzaj2kontrahent
    ADD CONSTRAINT fk_rodz2k_srodzk FOREIGN KEY (idrodzkontr) REFERENCES krdk_xsd.srodzajkontrahenta (idrodzkontr);
ALTER TABLE krdk_xsd.rodzaj2kontrahent
    ADD CONSTRAINT fk_rodz2kontr_k FOREIGN KEY (idkontrahenta) REFERENCES krdk_xsd.kontrahent (idkontrahenta);


-- krdk_xsd.sdefinicjapreparatyki foreign keys
ALTER TABLE krdk_xsd.sdefinicjapreparatyki
    ADD CONSTRAINT fk_defpr_metpr FOREIGN KEY (idmetody) REFERENCES krdk_xsd.smetodapreparatyki (idmetody);
ALTER TABLE krdk_xsd.sdefinicjapreparatyki
    ADD CONSTRAINT fk_defpr_prpr FOREIGN KEY (idprocedury) REFERENCES krdk_xsd.sprocedurapreparatyki (idprocedury);
ALTER TABLE krdk_xsd.sdefinicjapreparatyki
    ADD CONSTRAINT fk_sdp_org FOREIGN KEY (idorganizacji) REFERENCES krdk_xsd.organizacja (idorganizacji);
ALTER TABLE krdk_xsd.sdefinicjapreparatyki
    ADD CONSTRAINT fk_sdpr_srmech FOREIGN KEY (rodzajmechanizmu) REFERENCES krdk_xsd.srodzajmechanizmu (idmechanizmu);


-- krdk_xsd.sdefinicjaskladowejwyniku foreign keys
--ALTER TABLE krdk_xsd.sdefinicjaskladowejwyniku ADD CONSTRAINT fk_defsklwyndlaos FOREIGN KEY (idwynskldlaosoby) REFERENCES krdk_xsd.wynikiskladowychdlaosoby(idwynskldlaosoby);
ALTER TABLE krdk_xsd.sdefinicjaskladowejwyniku
    ADD CONSTRAINT fk_rosklwy_j FOREIGN KEY (idjednostkimiary) REFERENCES krdk_xsd.sjednostkamiary (idjednostkimiary);
ALTER TABLE krdk_xsd.sdefinicjaskladowejwyniku
    ADD CONSTRAINT fk_sdfsklwn_stpwrt FOREIGN KEY (idtypuwartosci) REFERENCES krdk_xsd.stypwartosci (idtypuwarosci);
ALTER TABLE krdk_xsd.sdefinicjaskladowejwyniku
    ADD CONSTRAINT fk_sdskwy_postwi FOREIGN KEY (idportypuwielkosci) REFERENCES krdk_xsd.stypwielkosci (idtypuwielkosci);
ALTER TABLE krdk_xsd.sdefinicjaskladowejwyniku
    ADD CONSTRAINT fk_sdskwy_stwi FOREIGN KEY (idtypuwielkosci) REFERENCES krdk_xsd.stypwielkosci (idtypuwielkosci);
ALTER TABLE krdk_xsd.sdefinicjaskladowejwyniku
    ADD CONSTRAINT fk_sdskwy_defslown FOREIGN KEY (idslownikadefobs) REFERENCES krdk_xsd.definicjaslownika (idslownika);


-- krdk_xsd.typurzadzeniawdefbadania foreign keys
ALTER TABLE krdk_xsd.typurzadzeniawdefbadania
    ADD CONSTRAINT fk_defbadtypurzad FOREIGN KEY (idtypuurzadzenia) REFERENCES krdk_xsd.stypurzadzenia (idtypuurzadzenia);
ALTER TABLE krdk_xsd.typurzadzeniawdefbadania
    ADD CONSTRAINT fk_typurzawdefbad FOREIGN KEY (iddefinicjibadania) REFERENCES krdk_xsd.definicjabadania (iddefinicjibadania);


-- krdk_xsd.urzadzeniewbadaniu foreign keys
ALTER TABLE krdk_xsd.urzadzeniewbadaniu
    ADD CONSTRAINT fk_badwurz FOREIGN KEY (idbadania) REFERENCES krdk_xsd.badanie (idbadania);
ALTER TABLE krdk_xsd.urzadzeniewbadaniu
    ADD CONSTRAINT fk_urzwbad FOREIGN KEY (idurzadzenia) REFERENCES krdk_xsd.kartotekaurzadzen (idurzadzenia);


-- krdk_xsd.uzytedefinicjeprep foreign keys
ALTER TABLE krdk_xsd.uzytedefinicjeprep
    ADD CONSTRAINT fk_uzdefpr_sdefpr FOREIGN KEY (iddefinicji) REFERENCES krdk_xsd.sdefinicjapreparatyki (iddefinicji);
ALTER TABLE krdk_xsd.uzytedefinicjeprep
    ADD CONSTRAINT fk_uzdefpr_wykpr FOREIGN KEY (idwykprep) REFERENCES krdk_xsd.wykonanapreparatyka (idwykprep);


-- krdk_xsd.uzyteurzadzeniawpreparatyce foreign keys
ALTER TABLE krdk_xsd.uzyteurzadzeniawpreparatyce
    ADD CONSTRAINT fk_uzurzpr_karturz FOREIGN KEY (idurzadzenia) REFERENCES krdk_xsd.kartotekaurzadzen (idurzadzenia);
ALTER TABLE krdk_xsd.uzyteurzadzeniawpreparatyce
    ADD CONSTRAINT fk_uzurzpr_wykpr FOREIGN KEY (idwykprep) REFERENCES krdk_xsd.wykonanapreparatyka (idwykprep);


-- krdk_xsd.wizytadawcy foreign keys
ALTER TABLE krdk_xsd.wizytadawcy
    ADD CONSTRAINT fk_wiz_osoba FOREIGN KEY (idosoby) REFERENCES krdk_xsd.osoba (idosoby);
ALTER TABLE krdk_xsd.wizytadawcy
    ADD CONSTRAINT fk_wizyta_proc FOREIGN KEY (zakwadozabidrodzzabiegu) REFERENCES krdk_xsd.sprocedurapreparatyki (idprocedury);
ALTER TABLE krdk_xsd.wizytadawcy
    ADD CONSTRAINT fk_wizyta_metod FOREIGN KEY (zakwadozabidmetody) REFERENCES krdk_xsd.smetodapreparatyki (idmetody);


-- krdk_xsd.wykonanapreparatyka foreign keys
ALTER TABLE krdk_xsd.wykonanapreparatyka
    ADD CONSTRAINT fk_wykpr_lekkwalif FOREIGN KEY (idlekarzakwalifikujacego) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.wykonanapreparatyka
    ADD CONSTRAINT fk_wykpr_operator FOREIGN KEY (idoperatora) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.wykonanapreparatyka
    ADD CONSTRAINT fk_wykpr_osoba FOREIGN KEY (iddawcy) REFERENCES krdk_xsd.osoba (idosoby);
ALTER TABLE krdk_xsd.wykonanapreparatyka
    ADD CONSTRAINT fk_wykpr_roddzi FOREIGN KEY (idrodzajudzialania) REFERENCES krdk_xsd.srodzajdzialania (idrodzajudzialania);


-- krdk_xsd.wykonanyprodukt foreign keys
ALTER TABLE krdk_xsd.wykonanyprodukt
    ADD CONSTRAINT fk_wykpr_prod FOREIGN KEY (idproduktu) REFERENCES krdk_xsd.produkt (idproduktu);
ALTER TABLE krdk_xsd.wykonanyprodukt
    ADD CONSTRAINT fk_wykpr_wykprep FOREIGN KEY (idwykprep) REFERENCES krdk_xsd.wykonanapreparatyka (idwykprep);
--ALTER TABLE krdk_xsd.wykonanyprodukt ADD CONSTRAINT fk_wykpr_zlec FOREIGN KEY (idzlecenia) REFERENCES krdk_xsd.zlecenie(idzlecenia);


-- krdk_xsd.wynikbadania foreign keys
ALTER TABLE krdk_xsd.wynikbadania
    ADD CONSTRAINT fk_wyn_norma FOREIGN KEY (idnormyskldlaurz) REFERENCES krdk_xsd.normaskladowejdlaurzadzenia (idnormyskldlaurz);
ALTER TABLE krdk_xsd.wynikbadania
    ADD CONSTRAINT fk_wyn_rodzsk FOREIGN KEY (idrodzajuskladowej) REFERENCES krdk_xsd.sdefinicjaskladowejwyniku (iddefskladowejwyniku);
ALTER TABLE krdk_xsd.wynikbadania
    ADD CONSTRAINT fk_wynbad_bad FOREIGN KEY (idbadania) REFERENCES krdk_xsd.badanie (idbadania);


-- krdk_xsd.osoba foreign keys
ALTER TABLE krdk_xsd.osoba
    ADD CONSTRAINT fk_osoba_idosobyrejestrujacej FOREIGN KEY (idosobyrejestrujacej) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.probkawbadaniu foreign keys
ALTER TABLE krdk_xsd.probkawbadaniu
    ADD CONSTRAINT fk_prwbad_idbadania FOREIGN KEY (idbadania) REFERENCES krdk_xsd.badanie (idbadania);
ALTER TABLE krdk_xsd.probkawbadaniu
    ADD CONSTRAINT fk_prwbad_idprobki FOREIGN KEY (idprobki) REFERENCES krdk_xsd.probka (idprobki);


-- krdk_xsd.normaskladowejdlaurzadzenia foreign keys
ALTER TABLE krdk_xsd.normaskladowejdlaurzadzenia
    ADD CONSTRAINT fk_normkobd_wart FOREIGN KEY (idkobietadawca) REFERENCES krdk_xsd.wartoscnormy (idwartoscinormy);
ALTER TABLE krdk_xsd.normaskladowejdlaurzadzenia
    ADD CONSTRAINT fk_normkobp_wart FOREIGN KEY (idkobietapacjent) REFERENCES krdk_xsd.wartoscnormy (idwartoscinormy);
ALTER TABLE krdk_xsd.normaskladowejdlaurzadzenia
    ADD CONSTRAINT fk_normmezczd_wart FOREIGN KEY (idmezczdawca) REFERENCES krdk_xsd.wartoscnormy (idwartoscinormy);
ALTER TABLE krdk_xsd.normaskladowejdlaurzadzenia
    ADD CONSTRAINT fk_normmezczp_wart FOREIGN KEY (idmezczpacjent) REFERENCES krdk_xsd.wartoscnormy (idwartoscinormy);
ALTER TABLE krdk_xsd.normaskladowejdlaurzadzenia
    ADD CONSTRAINT fk_nrmskl_urz FOREIGN KEY (idurzadzenia) REFERENCES krdk_xsd.kartotekaurzadzen (idurzadzenia);
ALTER TABLE krdk_xsd.normaskladowejdlaurzadzenia
    ADD CONSTRAINT fk_urz_defsklwyn FOREIGN KEY (iddefskladowejwyniku) REFERENCES krdk_xsd.sdefinicjaskladowejwyniku (iddefskladowejwyniku);


-- krdk_xsd.historiaproduktu foreign keys
ALTER TABLE krdk_xsd.historiaproduktu
    ADD CONSTRAINT fk_hpwe_prod FOREIGN KEY (idprodwe) REFERENCES krdk_xsd.produkt (idproduktu);
ALTER TABLE krdk_xsd.historiaproduktu
    ADD CONSTRAINT fk_hpwy_prod FOREIGN KEY (idprodwy) REFERENCES krdk_xsd.produkt (idproduktu);


-- krdk_xsd.rekordparametrupreparatyki foreign keys
ALTER TABLE krdk_xsd.rekordparametrupreparatyki
    ADD CONSTRAINT fk_rekparpr_dskwy FOREIGN KEY (iddefskladowejwyniku) REFERENCES krdk_xsd.sdefinicjaskladowejwyniku (iddefskladowejwyniku);
ALTER TABLE krdk_xsd.rekordparametrupreparatyki
    ADD CONSTRAINT fk_rekparpr_parpr FOREIGN KEY (idparprep) REFERENCES krdk_xsd.parametrypreparatyki (idparprep);


-- krdk_xsd.typurzadzeniawdefprep foreign keys
ALTER TABLE krdk_xsd.typurzadzeniawdefprep
    ADD CONSTRAINT fk_typurzwpr_sdepr FOREIGN KEY (iddefinicji) REFERENCES krdk_xsd.sdefinicjapreparatyki (iddefinicji);
ALTER TABLE krdk_xsd.typurzadzeniawdefprep
    ADD CONSTRAINT fk_typurzwpr_sturz FOREIGN KEY (idtypuurzadzenia) REFERENCES krdk_xsd.stypurzadzenia (idtypuurzadzenia);


-- krdk_xsd.uzytyprodwejscwprep foreign keys
ALTER TABLE krdk_xsd.uzytyprodwejscwprep
    ADD CONSTRAINT fk_uprwejpr_pr FOREIGN KEY (idproduktu) REFERENCES krdk_xsd.produkt (idproduktu);
ALTER TABLE krdk_xsd.uzytyprodwejscwprep
    ADD CONSTRAINT fk_uzprowepr_wykpr FOREIGN KEY (idwykprep) REFERENCES krdk_xsd.wykonanapreparatyka (idwykprep);


-- krdk_xsd.smetodabadania foreign keys
ALTER TABLE krdk_xsd.smetodabadania
    ADD CONSTRAINT fk_smetodabadania_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.smetodabadania
    ADD CONSTRAINT fk_smetodabadania_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.smetodapreparatyki foreign keys
ALTER TABLE krdk_xsd.smetodapreparatyki
    ADD CONSTRAINT fk_smetodapreparatyki_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.smetodapreparatyki
    ADD CONSTRAINT fk_smetodapreparatyki_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.sprocedurapreparatyki foreign keys
ALTER TABLE krdk_xsd.sprocedurapreparatyki
    ADD CONSTRAINT fk_sprocedurapreparatyki_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.sprocedurapreparatyki
    ADD CONSTRAINT fk_sprocedurapreparatyki_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.srodzajmechanizmu foreign keys
ALTER TABLE krdk_xsd.srodzajmechanizmu
    ADD CONSTRAINT fk_srodzajmechanizmu_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.srodzajmechanizmu
    ADD CONSTRAINT fk_srodzajmechanizmu_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.typdzialu foreign keys
ALTER TABLE krdk_xsd.typdzialu
    ADD CONSTRAINT fk_typdzialu_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.typdzialu
    ADD CONSTRAINT fk_typdzialu_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.definicjapakietubadania foreign keys
ALTER TABLE krdk_xsd.definicjapakietubadania
    ADD CONSTRAINT fk_definicjapakietubadania_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.definicjapakietubadania
    ADD CONSTRAINT fk_definicjapakietubadania_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.osoba foreign keys
ALTER TABLE krdk_xsd.osoba
    ADD CONSTRAINT fk_osoba_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.osoba
    ADD CONSTRAINT fk_osoba_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.pacjent foreign keys
ALTER TABLE krdk_xsd.pacjent
    ADD CONSTRAINT fk_pacjent_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.pacjent
    ADD CONSTRAINT fk_pacjent_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.srodzajbadania foreign keys
ALTER TABLE krdk_xsd.srodzajbadania
    ADD CONSTRAINT fk_srodzajbadania_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.srodzajbadania
    ADD CONSTRAINT fk_srodzajbadania_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.listaosobzdyskwalifikowanych foreign keys
ALTER TABLE krdk_xsd.listaosobzdyskwalifikowanych
    ADD CONSTRAINT fk_listaosobzdyskwalifikowanych_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.listaosobzdyskwalifikowanych
    ADD CONSTRAINT fk_listaosobzdyskwalifikowanych_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.adres foreign keys
ALTER TABLE krdk_xsd.adres
    ADD CONSTRAINT fk_adres_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.adres
    ADD CONSTRAINT fk_adres_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.badanie foreign keys
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_badanie_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.badanie
    ADD CONSTRAINT fk_badanie_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.badaniespecjalne foreign keys
ALTER TABLE krdk_xsd.badaniespecjalne
    ADD CONSTRAINT fk_badaniespecjalne_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.badaniespecjalne
    ADD CONSTRAINT fk_badaniespecjalne_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.dawca foreign keys
ALTER TABLE krdk_xsd.dawca
    ADD CONSTRAINT fk_dawca_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.dawca
    ADD CONSTRAINT fk_dawca_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.definicjabadania foreign keys
ALTER TABLE krdk_xsd.definicjabadania
    ADD CONSTRAINT fk_definicjabadania_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.definicjabadania
    ADD CONSTRAINT fk_definicjabadania_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.definicjaproduktuwejsciowego foreign keys
ALTER TABLE krdk_xsd.definicjaproduktuwejsciowego
    ADD CONSTRAINT fk_definicjaproduktuwejsciowego_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.definicjaproduktuwejsciowego
    ADD CONSTRAINT fk_definicjaproduktuwejsciowego_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.definicjaproduktuwyjsciowego foreign keys
ALTER TABLE krdk_xsd.definicjaproduktuwyjsciowego
    ADD CONSTRAINT fk_definicjaproduktuwyjsciowego_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.definicjaproduktuwyjsciowego
    ADD CONSTRAINT fk_definicjaproduktuwyjsciowego_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.defskladowejwynikuwdefbad foreign keys
ALTER TABLE krdk_xsd.defskladowejwynikuwdefbad
    ADD CONSTRAINT fk_defskladowejwynikuwdefbad_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.defskladowejwynikuwdefbad
    ADD CONSTRAINT fk_defskladowejwynikuwdefbad_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.donacja foreign keys
ALTER TABLE krdk_xsd.donacja
    ADD CONSTRAINT fk_donacja_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.donacja
    ADD CONSTRAINT fk_donacja_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.dyskwalifikacja foreign keys
ALTER TABLE krdk_xsd.dyskwalifikacja
    ADD CONSTRAINT fk_dyskwalifikacja_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.dyskwalifikacja
    ADD CONSTRAINT fk_dyskwalifikacja_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.dzial foreign keys
ALTER TABLE krdk_xsd.dzial
    ADD CONSTRAINT fk_dzial_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.dzial
    ADD CONSTRAINT fk_dzial_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.kartotekaurzadzen foreign keys
ALTER TABLE krdk_xsd.kartotekaurzadzen
    ADD CONSTRAINT fk_kartotekaurzadzen_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.kartotekaurzadzen
    ADD CONSTRAINT fk_kartotekaurzadzen_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);

-- krdk_xsd.kontrahent foreign keys
ALTER TABLE krdk_xsd.kontrahent
    ADD CONSTRAINT fk_kontrahent_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.kontrahent
    ADD CONSTRAINT fk_kontrahent_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.kontrahent2parent foreign keys
ALTER TABLE krdk_xsd.kontrahent2parent
    ADD CONSTRAINT fk_kontrahent2parent_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.kontrahent2parent
    ADD CONSTRAINT fk_kontrahent2parent_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.operator foreign keys
ALTER TABLE krdk_xsd.operator
    ADD CONSTRAINT fk_operator_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.operator
    ADD CONSTRAINT fk_operator_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.organizacja foreign keys
ALTER TABLE krdk_xsd.organizacja
    ADD CONSTRAINT fk_organizacja_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.organizacja
    ADD CONSTRAINT fk_organizacja_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.pakietbadania foreign keys
ALTER TABLE krdk_xsd.pakietbadania
    ADD CONSTRAINT fk_pakietbadania_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.pakietbadania
    ADD CONSTRAINT fk_pakietbadania_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.parametrypreparatyki foreign keys
ALTER TABLE krdk_xsd.parametrypreparatyki
    ADD CONSTRAINT fk_parametrypreparatyki_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.parametrypreparatyki
    ADD CONSTRAINT fk_parametrypreparatyki_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.pracownik foreign keys
ALTER TABLE krdk_xsd.pracownik
    ADD CONSTRAINT fk_pracownik_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.pracownik
    ADD CONSTRAINT fk_pracownik_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.probka foreign keys
ALTER TABLE krdk_xsd.probka
    ADD CONSTRAINT fk_probka_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.probka
    ADD CONSTRAINT fk_probka_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.produkt foreign keys
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_produkt_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.produkt
    ADD CONSTRAINT fk_produkt_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.przyczynydyskwalifikacji foreign keys
ALTER TABLE krdk_xsd.przyczynydyskwalifikacji
    ADD CONSTRAINT fk_przyczynydyskwalifikacji_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.przyczynydyskwalifikacji
    ADD CONSTRAINT fk_przyczynydyskwalifikacji_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.sdefinicjapreparatyki foreign keys
ALTER TABLE krdk_xsd.sdefinicjapreparatyki
    ADD CONSTRAINT fk_sdefinicjapreparatyki_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.sdefinicjapreparatyki
    ADD CONSTRAINT fk_sdefinicjapreparatyki_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.sdefinicjaskladowejwyniku foreign keys
ALTER TABLE krdk_xsd.sdefinicjaskladowejwyniku
    ADD CONSTRAINT fk_sdefinicjaskladowejwyniku_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.sdefinicjaskladowejwyniku
    ADD CONSTRAINT fk_sdefinicjaskladowejwyniku_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.uzytedefinicjeprep foreign keys
ALTER TABLE krdk_xsd.uzytedefinicjeprep
    ADD CONSTRAINT fk_uzytedefinicjeprep_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.uzytedefinicjeprep
    ADD CONSTRAINT fk_uzytedefinicjeprep_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.wizytadawcy foreign keys
ALTER TABLE krdk_xsd.wizytadawcy
    ADD CONSTRAINT fk_wizytadawcy_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.wizytadawcy
    ADD CONSTRAINT fk_wizytadawcy_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.wykonanapreparatyka foreign keys
ALTER TABLE krdk_xsd.wykonanapreparatyka
    ADD CONSTRAINT fk_wykonanapreparatyka_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.wykonanapreparatyka
    ADD CONSTRAINT fk_wykonanapreparatyka_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.wynikbadania foreign keys
ALTER TABLE krdk_xsd.wynikbadania
    ADD CONSTRAINT fk_wynikbadania_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.wynikbadania
    ADD CONSTRAINT fk_wynikbadania_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.normaskladowejdlaurzadzenia foreign keys
ALTER TABLE krdk_xsd.normaskladowejdlaurzadzenia
    ADD CONSTRAINT fk_normaskladowejdlaurzadzenia_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.normaskladowejdlaurzadzenia
    ADD CONSTRAINT fk_normaskladowejdlaurzadzenia_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


-- krdk_xsd.rekordparametrupreparatyki foreign keys
ALTER TABLE krdk_xsd.rekordparametrupreparatyki
    ADD CONSTRAINT fk_rekordparametrupreparatyki_operatorutworzenia FOREIGN KEY (idoperatorautworzenia) REFERENCES krdk_xsd.operator (idoperatora);
ALTER TABLE krdk_xsd.rekordparametrupreparatyki
    ADD CONSTRAINT fk_rekordparametrupreparatyki_operatormodyfikacji FOREIGN KEY (idoperatoramodyfikacji) REFERENCES krdk_xsd.operator (idoperatora);


/* 3. INSERT data INTO dictionaries */
do
$$
    DECLARE
v_location VARCHAR(100);
BEGIN
EXECUTE 'SHOW data_directory' INTO v_location;

EXECUTE 'COPY krdk_xsd.sjednostkamiary FROM ''' || v_location ||
        '\slowniki\sjednostkamiary.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.stypwartosci FROM ''' || v_location ||
        '\slowniki\stypwartosci.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.stypwielkosci FROM ''' || v_location ||
        '\slowniki\stypwielkosci.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.isbt_typeofdonationorcollection2 FROM ''' || v_location ||
        '\slowniki\isbt_typeofdonationorcollection2.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.isbt_bloodgraborhd FROM ''' || v_location ||
        '\slowniki\isbt_bloodgraborhd.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.isbt_bloodgrrhkellmiltphen FROM ''' || v_location ||
        '\slowniki\isbt_bloodgrrhkellmiltphen.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.isbt_fin FROM ''' || v_location ||
        '\slowniki\isbt_fin.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.isbt_specialtestinggeneral FROM ''' || v_location ||
        '\slowniki\isbt_specialtestinggeneral.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.isbt_typeofdonationorcollection FROM ''' || v_location ||
        '\slowniki\isbt_typeofdonationorcollection.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.swojewodztwo FROM ''' || v_location ||
        '\slowniki\swojewodztwo.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.spowiat FROM ''' || v_location || '\slowniki\spowiat.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.sgmina FROM ''' || v_location || '\slowniki\sgmina.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.skraj FROM ''' || v_location || '\slowniki\skraj.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.srodzajmiejscowosci FROM ''' || v_location ||
        '\slowniki\srodzajmiejscowosci.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.smiejscowosc FROM ''' || v_location ||
        '\slowniki\smiejscowosc.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.sprzeznaczenieprobki FROM ''' || v_location ||
        '\slowniki\sprzeznaczenieprobki.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.srodzajdyskwalifikacji FROM ''' || v_location ||
        '\slowniki\srodzajdyskwalifikacji.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.sprzyczynadyskwalifikacji FROM ''' || v_location ||
        '\slowniki\sprzyczynadyskwalifikacji.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.srodzajdzialania FROM ''' || v_location ||
        '\slowniki\srodzajdzialania.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.srodzajkontrahenta FROM ''' || v_location ||
        '\slowniki\srodzajkontrahenta.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.srodzajprobki FROM ''' || v_location ||
        '\slowniki\srodzajprobki.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.srodzajzakazenia FROM ''' || v_location ||
        '\slowniki\srodzajzakazenia.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.srodzdoktoz FROM ''' || v_location ||
        '\slowniki\srodzdoktoz.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.sstatuskwalifikacji FROM ''' || v_location ||
        '\slowniki\sstatuskwalifikacji.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.sstatuspreparatyki FROM ''' || v_location ||
        '\slowniki\sstatuspreparatyki.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.stypbadania FROM ''' || v_location ||
        '\slowniki\stypbadania.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.stypdawcy FROM ''' || v_location ||
        '\slowniki\stypdawcy.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.stypurzadzenia FROM ''' || v_location ||
        '\slowniki\stypurzadzenia.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.swyksztalcenie FROM ''' || v_location ||
        '\slowniki\swyksztalcenie.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.zrodlopochodzeniaprobki FROM ''' || v_location ||
        '\slowniki\zrodlopochodzeniaprobki.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.wartoscnormy FROM ''' || v_location ||
        '\slowniki\wartoscnormy.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.santygenhla FROM ''' || v_location ||
        '\slowniki\santygenhla.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.santygenhpa FROM ''' || v_location ||
        '\slowniki\santygenhpa.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.santygenfkcz FROM ''' || v_location ||
        '\slowniki\santygenfkcz.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.salloprzeciwciala FROM ''' || v_location ||
        '\slowniki\salloprzeciwciala.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.typdzialu FROM ''' || v_location ||
        '\slowniki\typdzialu.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.organizacja FROM ''' || v_location ||
        '\slowniki\organizacja.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.dzial FROM ''' || v_location ||
        '\slowniki\dzial.csv'' DELIMITER '','' CSV HEADER;';
EXECUTE 'COPY krdk_xsd.dzial FROM ''' || v_location ||
        '\slowniki\dzial_podrzedny.csv'' DELIMITER '','' CSV HEADER;';

end
$$

