INDHOLD

Beskrivelse

NB! Dette register er dedikereret udtræk til FMK og er ikke et fuldt SOR register (for fuldt udtræk se: B20 Sundhedsvæsenets Organisations Register (SOR2)).

SOR / Sundhedsvæsenets Organisationsregister for FMK

Visionen for SOR er, at man ét sted samlet kan finde "telefonbogs-oplysninger" over samtlige enheder og aktører i sundhedsvæsenet: sygehuse, praktiserende læger, tandlæger, fysioterapeuter, kommuner, plejehjem osv. Registret skal bl.a. indeholde information om deres adresser, telefonnr., faxnr., e-mail osv.


NSP: SOR-FMK

Forretningsanvendelse

^^Tilbage til toppen^^

Generel register beskrivelser:  Dokumentation af stamdataregistre.  Specifikt: SOR-FMK

Anvendelse af B00 Stamdata Kopi register service (SKRS)SDM - Guide til anvendere

Bruges kun af FMK.

Applikationsbeskrivelse

^^Tilbage til toppen^^

Generisk parameterstyret import controller, der kalder den dedikerede importer for det aktuelle dataobjekt først mod preflight databasen og hvis det ikke fører til fejl, kaldes den samme dedikerede importer mod produktions databasen.
Indsamlingen af data implementeres i forhold til hvert enkelt kilderegister ved anvendelse af en registerspecifik Parser, men med anvendelse af en fælles Importer-komponent.
Importer-komponenten kører på NSP Backend platformen, og er ansvarlig for at indlæse dataset fra registerfiler, der placeres i en dedikeret mappe i filsystemet . Hvert register har sin egen dedikerede mappe som automatisk bliver oprettet af Importer-komponenten.
Importeren overvåger filsystemet og aktiverer de registerspecifikke parsere, når nye registerfiler er tilgængelige i filsystemet.
De respektive parsere (Importere) processerer registerfilerne og overfører registerdata til den lokale database. Parsningen kan i princippet bestå af en direkte dataoverførsel fra fil til database, men indeholder i de fleste tilfælde forretningslogik, f.eks. transformationer af data og denormaliseringer.
Stamdatatabellerne registreres i NSP’ens replikeringsmekanisme, og de parsede registerdata replikeres derfor automatisk ud til de enkelte NSP instanser, hvorfra de kan tilgås gennem de udstillede stamdataservices.

Opgradering af importer databasen sker automatisk ved serverstart, og fungerer på den måde at sql scripts med navne formatet "Vyyyymmdd_hhmm_description.sql" afvikles på databasen. Script filerne placeres under resources\db\migration" og inkluderes dermed automatisk i den deployede applikation.
Bemærk at sql filerne afvikles i navne orden, og da dato og tid indgår i navnet, kan man styre hvilke scripts der skal afvikles først.
'db_migrations' tabellen varetager den fælles styring af skema-versioner, som alle importerer benytter til at holde styr på hvilke scripts der er afviklet, så hvert script kun afvikles én gang.

Dedikereret importer til FMK og ikke et fuldt SOR register (se: B20 Sundhedsvæsenets Organisations Register (SOR2)).
Support ansvarlig: Trifork

Bruges kun af FMK.

Datastruktur, Stamdata register: SOR-FMK

^^Tilbage til toppen^^

Register properties:

Entitetsbeskrivelser

Apotek

^^Tilbage til toppen^^

Objektet rummer følgende information:
--------------------------------------------
ApotekPID --
SorNummer -- sorNummer
ApotekNummer -- apotekNummer
FilialNummer -- filialNummer
EanLokationsnummer -- eanLokationsnummer
cvr -- cvr
pcvr -- pcvr
Navn -- navn
Telefon -- telefon
Vejnavn -- vejnavn
Postnummer -- postnummer
Bynavn -- bynavn
Email -- email
Www -- www
ModifiedDate --
ValidFrom -- validFrom
ValidTo -- validTo
validFrom -- Gyldig fra (format: yyyy-MM-ddTHH:mm:ss+Z)
validTo -- Gyldig til (format: yyyy-MM-ddTHH:mm:ss+Z)

Praksis

^^Tilbage til toppen^^

Objektet rummer følgende information:
--------------------------------------------

PraksisPID --
SorNummer -- sorNummer
EanLokationsnummer -- eanLokationsnummer
RegionCode -- regionCode
Navn -- navn
ModifiedDate --
ValidFrom -- validFrom
ValidTo -- validTo

SORRelationer

^^Tilbage til toppen^^


Objektet rummer følgende information:
--------------------------------------------
-- SOR - search optimized
`sor_parent` VARCHAR(100)
`sor_child` VARCHAR(100)

SORYderSHAKRelationer

^^Tilbage til toppen^^

Objektet rummer følgende information:
--------------------------------------------
-- SOR - search optimized
`shak_yder` VARCHAR(100)
`sor` VARCHAR(100)

Sygehus

^^Tilbage til toppen^^

Objektet rummer følgende information:
--------------------------------------------

SygeHusPID --
SorNummer -- sorNummer
EanLokationsnummer -- eanLokationsnummer
Nummer -- nummer
Telefon -- telefon
Navn -- navn
Vejnavn -- vejnavn
Postnummer -- postnummer
Bynavn -- bynavn
Email -- email
Www -- www
ModifiedDate --
ValidFrom -- validFrom
ValidTo -- validTo

Sygehusafdeling

^^Tilbage til toppen^^

Objektet rummer følgende information:
--------------------------------------------
SygeHusAfdelingPID --
SorNummer -- sorNummer
EanLokationsnummer -- eanLokationsnummer
Nummer -- nummer
Navn -- navn
SygehusSorNummer -- sygehusSorNummer
OverAfdelingSorNummer -- overafdelingSorNummer
UnderlagtSygehusSorNummer -- underlagtSygehusSorNummer
AfdelingTypeKode -- afdelingTypeKode
AfdelingTypeTekst -- afdelingTypeTekst
HovedSpecialeKode -- hovedSpecialeKode
HovedSpecialeTekst -- hovedSpecialeTekst
Telefon -- telefon
Vejnavn -- vejnavn
Postnummer -- postnummer
Bynavn -- bynavn
Email -- email
Www -- www
ModifiedDate --
ValidFrom -- validFrom
ValidTo -- validTo

Yder

^^Tilbage til toppen^^

Objektet rummer følgende information:
--------------------------------------------
YderPID --
Nummer -- nummer
SorNummer -- sorNummer
PraksisSorNummer -- praksisSorNummer
EanLokationsnummer -- eanLokationsnummer
Telefon -- telefon
Navn -- navn
Vejnavn -- vejnavn
Postnummer -- postnummer
Bynavn -- bynavn
Email -- email
Www -- www
HovedSpecialeKode -- hovedSpecialeKode
HovedSpecialeTekst -- hovedSpecialeTekst
ModifiedDate --
ValidFrom -- validFrom
ValidTo -- validTo

SOR-FMK import-status

^^Tilbage til toppen^^

Start- og end-tidspunkt og status for alle importerede filer
Ajourføres af SOR Importer

SOR-FMK relation import-status

^^Tilbage til toppen^^

Start- og end-tidspunkt og status for alle importerede filer
Ajourføres af Sorrelation Importer

SOR-FMK udtræk

^^Tilbage til toppen^^

Udtræk af Ydere fra Sundhedsdatastyrelsen
Opdaterer FMK-SOR register tabellerne (Apotek, Praksis, Yder, Sygehus, Sygehusafdeling)

SOR-FMK relation udtræk

^^Tilbage til toppen^^

Udtræk af sorrelation fra Sundhedsdatastyrelsen
Opdaterer FMK-SOR register tabellerne (SORRelationer og SORYderSHAKRelationer)

Tabelbeskrivelser

Tabel: Apotek

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS Apotek (
ApotekPID BIGINT(15) AUTO_INCREMENT NOT NULL PRIMARY KEY,

SorNummer BIGINT(20) NOT NULL,

ApotekNummer BIGINT(15),
FilialNummer BIGINT(15),
EanLokationsnummer BIGINT(20),
cvr BIGINT(15),
pcvr BIGINT(15),
Navn VARCHAR(256),
Telefon VARCHAR(20),
Vejnavn VARCHAR(100),
Postnummer VARCHAR(10),
Bynavn VARCHAR(30),
Email VARCHAR(100),
Www VARCHAR(100),

ModifiedDate DATETIME NOT NULL,
ValidFrom DATETIME NOT NULL,
ValidTo DATETIME NOT NULL,
CreatedDate DATETIME NOT NULL,

INDEX (ApotekPID, ModifiedDate),
INDEX (SorNummer, ValidTo, ValidFrom)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: Praksis

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS Praksis (
PraksisPID BIGINT(20) AUTO_INCREMENT NOT NULL PRIMARY KEY,

SorNummer BIGINT(20) NOT NULL,

EanLokationsnummer BIGINT(20),
RegionCode BIGINT(12),
Navn VARCHAR(256),

CreatedDate DATETIME NOT NULL,
ModifiedDate DATETIME NOT NULL,
ValidFrom DATETIME NOT NULL,
ValidTo DATETIME NOT NULL,

INDEX (PraksisPID, ModifiedDate),
INDEX (SorNummer, ValidTo, ValidFrom)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: SORRelationer

^^Tilbage til toppen^^

-- SOR - search optimized
--
CREATE TABLE IF NOT EXISTS `SORRelationer` (
SORRelationerPID BIGINT(20) AUTO_INCREMENT NOT NULL PRIMARY KEY,

`sor_parent` VARCHAR(100) NOT NULL,
`sor_child` VARCHAR(100) NOT NULL,

ModifiedDate DATETIME NOT NULL,
ValidFrom DATETIME,
ValidTo DATETIME,

INDEX (SORRelationerPID, ModifiedDate),
INDEX USING BTREE (sor_parent, sor_child)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: SORYderSHAKRelationer

^^Tilbage til toppen^^

-- SOR - search optimized
--
CREATE TABLE IF NOT EXISTS `SORYderSHAKRelationer` (
SORYderSHAKRelationerPID BIGINT(20) AUTO_INCREMENT NOT NULL PRIMARY KEY,

`shak_yder` VARCHAR(100) NOT NULL,
`sor` VARCHAR(100) NOT NULL,

ModifiedDate DATETIME NOT NULL,
ValidFrom DATETIME,
ValidTo DATETIME,

INDEX (SORYderSHAKRelationerPID, ModifiedDate),
INDEX (shak_yder),
INDEX (sor)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: Sygehus

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS Sygehus (
SygeHusPID BIGINT(20) AUTO_INCREMENT NOT NULL PRIMARY KEY,

SorNummer BIGINT(20) NOT NULL,

EanLokationsnummer BIGINT(20),
Nummer VARCHAR(30),
Telefon VARCHAR(20),
Navn VARCHAR(256),
Vejnavn VARCHAR(100),
Postnummer VARCHAR(10),
Bynavn VARCHAR(30),
Email VARCHAR(100),
Www VARCHAR(100),

CreatedDate DATETIME NOT NULL,
ModifiedDate DATETIME NOT NULL,
ValidFrom DATETIME NOT NULL,
ValidTo DATETIME NOT NULL,

INDEX (SygeHusPID, ModifiedDate),
INDEX (SorNummer, ValidTo, ValidFrom)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: SygehusAfdeling

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS SygehusAfdeling (
SygeHusAfdelingPID BIGINT(20) AUTO_INCREMENT NOT NULL PRIMARY KEY,

SorNummer BIGINT(20) NOT NULL,

EanLokationsnummer BIGINT(20),
Nummer VARCHAR(30),
Navn VARCHAR(256),
SygehusSorNummer BIGINT(20),
OverAfdelingSorNummer BIGINT(20),
UnderlagtSygehusSorNummer BIGINT(20),
AfdelingTypeKode BIGINT(20),
AfdelingTypeTekst VARCHAR(50),
HovedSpecialeKode VARCHAR(20),
HovedSpecialeTekst VARCHAR(40),
Telefon VARCHAR(20),
Vejnavn VARCHAR(100),
Postnummer VARCHAR(10),
Bynavn VARCHAR(30),
Email VARCHAR(100),
Www VARCHAR(100),

CreatedDate DATETIME NOT NULL,
ModifiedDate DATETIME NOT NULL,
ValidFrom DATETIME NOT NULL,
ValidTo DATETIME NOT NULL,

INDEX (SygeHusAfdelingPID, ModifiedDate),
INDEX (SorNummer, ValidTo, ValidFrom)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: Yder

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS Yder (
YderPID BIGINT(20) AUTO_INCREMENT NOT NULL PRIMARY KEY,

Nummer VARCHAR(30),
SorNummer BIGINT(20) NOT NULL,
PraksisSorNummer BIGINT(20) NOT NULL,
EanLokationsnummer BIGINT(20),
Telefon VARCHAR(20),
Navn VARCHAR(256),
Vejnavn VARCHAR(100),
Postnummer VARCHAR(10),
Bynavn VARCHAR(30),
Email VARCHAR(100),
Www VARCHAR(100),
HovedSpecialeKode VARCHAR(20),
HovedSpecialeTekst VARCHAR(40),

CreatedDate DATETIME NOT NULL,
ModifiedDate DATETIME NOT NULL,
ValidFrom DATETIME NOT NULL,
ValidTo DATETIME NOT NULL,

INDEX (YderPID, ModifiedDate),
INDEX (SorNummer, ValidTo, ValidFrom)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: sorimporterImportStatus

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS sorimporterImportStatus (
Id BIGINT(15) AUTO_INCREMENT NOT NULL PRIMARY KEY,
StartTime DATETIME NOT NULL,
EndTime DATETIME,
Outcome VARCHAR(20),

INDEX (StartTime)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: sorrelationimporterImportStatus

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS sorrelationimporterImportStatus (
Id BIGINT(15) AUTO_INCREMENT NOT NULL PRIMARY KEY,
StartTime DATETIME NOT NULL,
EndTime DATETIME,
Outcome VARCHAR(20),

INDEX (StartTime)
) ENGINE=InnoDB COLLATE=utf8_bin;

Fil: SOR-FMK stamdata

^^Tilbage til toppen^^

Hentes via ftp fra filer.sst.dk sundhedsdatastyrelsen

Import af data foregår ved at et script (fetch-sor.sh) downloader filen fra FTP serveren, Arkivere filen i arkiv-mappen og kopiere den hentede fil til sorimporter og sorrelationimporter inputmappe.

Teknologibeskrivelse

^^Tilbage til toppen^^

(udestår)

Refereres fra

^^Tilbage til toppen^^



  • No labels