Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

CRK anvender databasen til dels at læse eksisterende endpoint definitioner, dels til oprettelse af nye definitioner og deaktivering af ældre versioner.
Databasen består af 2 tabeller, som tilsammen udgør en versioneret repræsentation af de eksterne endpointdefinitioner.

Entitetsbeskrivelser

...

actions

^^Tilbage til toppen^^Logentry for hændelsen med angivelse af borger, bruger og evt. ansvarlig, organisation og system samt anvender session og tidspunkt.

Action angiver hvordan det enkelte endpoint kaldes

Objektet indeholder følgende informationinformationen:
---------------------------------------------
id
regKode -- Unique enforced af constraint
cprNrBorger -- CPR-nummer for den borger, hvis data der er forsøgt tilgået.
bruger -- CPR for person som har tilgået eller forsøgt at tilgå borgerens data. CPR 0000000000 kan benyttes efter aftale med NSI, hvor registrator så har ansvaret for at kunne fremfinde personens identitet.
ansvarlig -- CPR på sundhedsperson eller borger, der er handlet på vegne af ifbm. tilgang til eller forsøg på tilgang til borgerens data. CPR 0000000000 kan benyttes efter aftale med NSI, hvor registrator så har ansvaret for at kunne fremfinde personens identitet. Kan være tom.
orgUsingID -- Identifikation af tilknyttet organisation ved hjælp af SOR-kode, SHAK-kode, ydernummer, p-nummer, cvr-nummer eller kommunekode samt angivelse af hvilken af disse typer, der anvendes som identifikation. Anvendes kun, når bruger er sundhedsperson. Når registreringen omhandler sundhedspersons adgang til borgers data er elementet krævet, medmindre andet er aftalt i den serviceaftale, som anvender af servicen har indgået med den dataansvarlige myndighed (NSI).
orgUsingName_id -- relation til OrganisationName
systemName -- Identifikation eller navn på kildesystem hvorfra forsøg på tilgang til borgers data er sket.
handling -- Tekstuel beskrivelse af den handling, bruger har udført i forbindelse med forsøg på tilgang til borgers data.
sessionId -- Et teknisk sessions id, der i kontekst af anvendersystemet unikt identificerer den session, som bruger var i, da handlingen blev gennemført.
tidspunkt -- Tidspunktet for tilgang eller forsøg på tilgang til borgers data. Dato og tid skal anføres i Zulu-tid og med millisekunder.

OrganisationName

^^Tilbage til toppen^^

Indeholder organisations navnet som brugeren tilhører

- `name`: uri på den angivne action - Hentet fra ekstern definition og benyttes af DCC
- `model`: Indeholder pt altid værdien 'synchronous_timeout'
- `timeout`: angiver den maksimalt tilladelige svartid for den eksterne service der kaldes gennem DCC.
- `useProxy`: Angiver hvorvidt DCC'en må sende forespørgslen gennem en proxy (SOSI-GW). Indlæst fra ekstern kilde.
- `proxyOverride`: (valgfri) Vedligeholdes af driften og giver mulighed for at overskrive useProxy.
- `idcardmaxage`: (valgfri) Medsendes til gateway, såfremt en sådan benyttes, og anvendes til check for udløbne id-kort.
- `endpointId`: Den version af endpoint, som en given action er knyttet til. Relation til endpoints tabellen
- `inheritedEndpoint`: Såfremt en action "forsvinder" fra den eksterne kilde, bevares den som udgangspunkt i konfigurationen, med angivelse af hvor den er kopieret fra. Relation til endpoints tabellen
- `active`. Angiver hvorvidt pågældende action er aktiv eller ej. Kan f.eks. benyttes af driften til helt at fjerne actions, der forsvinder fra den eksterne kilde.

endpoints

^^Tilbage til toppen^^

Endpoints Konfiguration til brug for Viderstillingservicen, DCC

Objektet indeholder informationen:
Objektet indeholder følgende information:
---------------------------------------------
name - - Navn på sundhedspersonens organisation. Når registreringen (LogDataEntry) omhandler sundhedspersons adgang til borgers data er elementet krævet. Bemærk, at navnet skal være meningsfyldt for en borger.
digest -- relation fra LogEntry

Status

^^Tilbage til toppen^^

Benyttes til at optimere oprydningen af Minlog data.

Objektet indeholder følgende information:
---------------------------------------------
`id` --
`lastUpdated` --

Whitelist config (BRS)

^^Tilbage til toppen^^

`configId`: Navnet på det konfigurerede job i spring konfigurationen.
- `name`: Det eksterne navn, defineret i den eksternt indlæste fil.
- `url`: Adressen på det eksterne endpoint.
- `externaltime`: Tidsstempel defineret i den eksterne kilde. Benyttes ved genindlæsning til at kontrollere om der er sket ændringer.
- `active`: Angiver hvorvidt denne (version af) endpoint definition er aktiv eller ej.
- `version`: Ved genindlæsning oprettes altid en ny version (række i tabellen), og de foregående deaktiveres.

override

^^Tilbage til toppen^^

"override" tabellen anvendes til at overstyre de url'er de DCC'er der kører på dnsp'erne anvender til at kalde videre med således vi kan ramme de services der kører på dnsp'erne også.
(undtagelses håndtering af regionernes DNS, hvor det hedder noget forskelligt i de forskellige regioner (kører på regionernes net), hvorved der kan overrides forskellige dele af url'en, f.eks. hostname)Objektet indeholder de CVR som er whitelisted til brug på test/prod for BRS servicen

Objektet indeholder informationen:
---------------------------------------
service_key
-- BRS behandlingsrelationsservice:
+ dk.nsi.auth.query.type.cvr.list - BRS
+ dk.nsi.auth.create.type.cvr.list - BRS
+ dk.nsi.auth.brs.cvr.list - NO_TYPE
-- Min Log:
+ dk.nsi.minlog.registration (registration service)
+ minlogws (opslags service)

service_type
-- NO_TYPE
-- BRS
-- CPRSUBSCRIPTION
cvr -- CVR nummer
comment -- Her anføres NSP Jira nummer som relaterer den enkelte whitelisting

Tabelbeskrivelser

...


name
node
serviceUrl
useProxy
timeout
idcardmaxage
doNotVerifySSLHostName
wsaHeadersProcessing

Fil: xml-konfiguration (CRK)

^^Tilbage til toppen^^

Filen indeholder definitioner af endpoints med tilhørende actions

Tabelbeskrivelser

Tabel: actions

^^Tilbage til toppen^^

CREATE TABLE LogEntry actions (
id bigint NOT NULL AUTO_INCREMENT,
regKode varchar(36(20) NOT NULL auto_increment,
cprNrBorger varcharendpointId bigint(1020) NOT NULL,
bruger varcharinheritedEndpoint bigint(20),
ansvarlig name varchar(204096) NOT NULL,
orgUsingID varchartimeout bigint(2520) NOT NULL,
orgUsingName_id int,
systemName model varchar(25255) NOT NULL,
handling varchar(75)active boolean default false,
sessionId varcharidcardmaxage int(4611),
tidspunkt datetime useProxy boolean NOT NULL,
proxyOverride boolean,
PRIMARY KEY primary key(id)
),
CONSTRAINT unique_constraint_regKode UNIQUE (regKode),
INDEX log_cpr_and_timestamp_index (cprNrBorger, tidspunkt))
ENGINE=InnoDB DEFAULT CHARSET=latin1 DEFAULT COLLATE=latin1_swedish_ci;

...

;

CREATE INDEX IX_ACT_1 ON actions (endpointId, active); -- bruges af view
ALTER TABLE actions ADD CONSTRAINT act_ep1 FOREIGN KEY (endpointId) REFERENCES endpoints (id); -- bruges af DCC
ALTER TABLE actions ADD CONSTRAINT act_ep2 FOREIGN KEY (inheritedEndpoint) REFERENCES endpoints (id);

Tabel: endpoints

^^Tilbage til toppen^^

CREATE TABLE OrganisationName endpoints (
id intbigint(1120) NOT NULL AUTOauto_INCREMENTincrement,
name configId varchar(256255) NOT NULL,
digest bigint name varchar(255) NOT NULL,
PRIMARY KEY url varchar(id4096) ,
INDEX organisation_name_digest_idx (digest))
ENGINE=InnoDB DEFAULT CHARSET=latin1 DEFAULT COLLATE=latin1_swedish_ci;

Tabel: status

^^Tilbage til toppen^^

CREATE TABLE `status` (
`id` int NOT NULL,
`lastUpdated` datetime not null,
PRIMARY KEY (`id`)
);

Fil: Minlog.log

^^Tilbage til toppen^^

Entries sendt til MinLogRegistrationService formatteres og gemmes i en logfil.

Fil: MinlogTransfer.log

^^Tilbage til toppen^^

Entries sendt til MinLogRegistrationService formatteres og gemmes i en logfil.
Sendes fra dNSP/cNSP til Backend via Minlog Transfer

Tabel: whitelist_config (BRS)

^^Tilbage til toppen^^

NOT NULL,
lastModified Datetime NOT NULL,
externaltime Datetime NOT NULL,
createdtime Datetime NOT NULL,
version bigint(20) NOT NULL,
active boolean NOT NULL,
primary key(id)
);

CREATE UNIQUE INDEX IX_EP_1 ON endpoints (configId, version);
CREATE INDEX IX_EP_2 ON endpoints (active); -- bruges af view
CREATE INDEX IX_EP_3 ON endpoints (createdtime); -- bruges af view

Tabel: override

^^Tilbage til toppen^^

Desc crk.override;

| id | bigint(10) | NO | PRI | NULL | |
| name | varchar(255) | NO | | NULL | |
| node | varchar(255) | YES | | NULL | |
| serviceUrl | varchar(255) | YES | | NULL | |
| useProxy | tinyint(1) | YES | | NULL | |
| timeout | bigint(20) | YES | | NULL | |
| idcardmaxage | int(11) | YES | | NULL | |
| doNotVerifySSLHostName | tinyint(1) | YES | | NULL | |
| wsaHeadersProcessing | varchar(32) | YES | | NULL | |CREATE TABLE whitelist_config (
service_key VARCHAR(50) NOT NULL,
service_type VARCHAR(20) NOT NULL,
cvr CHAR(8) NOT NULL,
comment VARCHAR(100) NULL,
PRIMARY KEY (service_key, service_type, cvr)
); -- ENGINE=InnoDB COLLATE=utf8_bin;

Teknologibeskrivelse

^^Tilbage til toppen^^

...