INDHOLD

Beskrivelse

Forslag til sundhedsprofessionel om dosering af præparat.

Forslag til sundhedsprofessionelle om dosering af præparat. Indeholder informationer om doseringsenheder og -forslag, der består af to relaterede datasæt: Doseringsenheder knytter en enhed til et lægemiddel; doseringsforslag knytter et antal forslag til doseringer til et lægemiddel. Doseringsforslagene repræsenteres i et XML-format, som matcher FMKs snitflader.

Datasættet uploades som en komplet version, hvor ReleaseNumber angiver hvilken version doseringsforslag og doseringenheder tilhører. Bemært, at dette medfører at et kopiregisterudtræk kan indeholde flere versioner, hvor kun seneste version skal anvendes.


NSP: Doseringsforslag og -enheder v.2 og Doseringsforslag og -enheder

Forretningsanvendelse

^^Tilbage til toppen^^

Generel register beskrivelser:  Dokumentation af stamdataregistre.  Specifikt: Doseringsforslag og -enheder v.2 og Doseringsforslag og -enheder

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

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.

Dedikeret importer for Doseringsforslag oplysninger.
Support ansvarlig: Trifork

Datastruktur, Stamdata register: Doseringsforslag og -enheder

^^Tilbage til toppen^^

Register properties:

Entitetsbeskrivelser

dosagedrug

^^Tilbage til toppen^^

Lægemidler identificeret via DrugId og navn

Objektet indeholder følgende information:
releaseNumber Fortløbende releasenummer
drugId DrugID for det lægemiddel enheder og forslag relaterer sig til
dosageUnitCode Refererer til dosageunit code (en eller flere dosagedrug records henviser til samme dosageunit)
drugName Lægemidlets navn
ValidFrom Gyldig fra (format: yyyy-MM-ddTHH:mm:ss+Z)
ValidTo Gyldig til (format: yyyy-MM-ddTHH:mm:ss+Z)

dosagestructure

^^Tilbage til toppen^^

XML-repræsentationer af doseringsforslagene

Objektet indeholder følgende information:
releaseNumber Fortløbende releasenummer
code Fortløbende id, som er unik pr. releaseNumber (men ikke på tværs af forskellige releases)
type "Hvis doseringsforslaget er for en enkelt doseringsperiode, er type udfyldt med en af følgende:
M+M+A+N
N daglig
PN

Ved flere perioder indesluttes hver periode i ""tuborg klammer"".

Et eksempel med 2 perioder:
{N daglig}{N daglig}"
simpleString "Som udgangspunkt er indholdet for en enkelt dag. Det er dog muligt at angive specifikke dage.
I så fald skal de angives som ""dag N: "".

Hvis forslaget kun indeholder en enkelt doseringsperiode skal det have følgende form:

For typen ""M+M+A+N"":
Simpel streng indeholder tre eller fire værdier adsklit af '+'.
Eksempelvis ""0+0+1"" for ""1 tablet aften"" (hvis enheden er tablet).

For typen ""N daglig"":
Simpel streng indeholder en liste af doser adskilt af ';'.
Eksempelvis ""1;1"" for ""1 tablet to gange daglig"" (hvis enheden er tablet).

For typen ""PN"":
Simpel streng indeholder en liste af doser adskilt af ';'.
Eksempelvis ""1;1"" for ""1 tablet højst to gange daglig efter behov"" (hvis enheden er tablet).

Ved flere perioder indesluttes hver periode i ""tuborg klammer""

Et eksempel med 2 perioder:
{dag 1: 2 dag 2: 2}{1}"
supplementaryText "Supplerende tekst som skrives ud for doseringen.
Kan fx være: "", 1 time før virkning ønskes"" eller ""i det inficerede øre""

Bemærk at der kun angives én tekst uanset antallet af perioder"
xml Indeholder XML-repræsentation af de strukturerede doseringer i den form de anvendes i FMK
i forskellige snitfladeversioner. Der angives en liste af <Dosage>-elementer, som hver især indeholder
snitfladeversionen, samt doseringen som den ser ud for pågældende snitflade.
Bemærk at det vil være nødvendigt at tilpasse StartDate og EndDate. Se evt. eksempel nedenfor.
shortTranslation Kort doseringsoversættelse, som dog udelades hvis den er længere end 70 karakterer
(hvilket dog ikke er tilfældet for de fleste doseringsforslag)
longTranslation Lang doseringsoversættelse, som indeholder doseringstiderne, en evt. dosering efter behov
samt en linje for hver dag i den strukturerede dosering.
ValidFrom Gyldig fra (format: yyyy-MM-ddTHH:mm:ss+Z)
ValidTo Gyldig til (format: yyyy-MM-ddTHH:mm:ss+Z)

dosagestructurerelation

^^Tilbage til toppen^^

Relationer mellem lægemidler og deres doseringsforslag

Objektet indeholder følgende information:
releaseNumber Fortløbende releasenummer
id Id som er unikt pr. releasenummer
drugId "Foreign key" til drug.drugId
dosageStructureCode "Foreign key" til dosagestructure.code
ValidFrom Gyldig fra (format: yyyy-MM-ddTHH:mm:ss+Z)
ValidTo Gyldig til (format: yyyy-MM-ddTHH:mm:ss+Z)

dosageunit

^^Tilbage til toppen^^

Doseringsenheder som lægemidler doseres i (tabletter, kapsler, mililiter osv)

Objektet indeholder følgende information:
releaseNumber Fortløbende releasenummer
code Fortløbende id, som er unik pr. releaseNumber (men ikke på tværs af forskellige releases)
textSingular Enhedsbetegnelse, ental (fx “tablet”)
textPlural Enhedsbetegnelse, flertal (fx “tabletter”)
ValidFrom Gyldig fra (format: yyyy-MM-ddTHH:mm:ss+Z)
ValidTo Gyldig til (format: yyyy-MM-ddTHH:mm:ss+Z)

Version

^^Tilbage til toppen^^

Løbenumre for registeret. Dette kan bruges til at se om man har den nyeste udgave af registeret

Objektet indeholder følgende information:
daDate Benyttes pt. ikke (format: YYYY-MM-DD)
lmsDate Benyttes pt. ikke (format: YYYY-MM-DD)
releaseDate Dato for udstilling (format: YYYY-MM-DD)
releaseNumber Fortløbende releasenummer
ValidFrom Gyldig fra (format: yyyy-MM-ddTHH:mm:ss+Z)
ValidTo Gyldig til (format: yyyy-MM-ddTHH:mm:ss+Z)

Doseringsforslag og -enheder import-status

^^Tilbage til toppen^^

Start- og end-tidspunkt og status for alle importerede filer
Ajourføres af Doserings importer

doseringsforslag og -enheder udtræk

^^Tilbage til toppen^^

Udtræk af doseringsforslag fra lægemiddelstyrelsen
Opdaterer Doseringsforslag og -enheder registret

Tabelbeskrivelser

Tabel: DosageDrug

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS DosageDrug (
DosageDrugPID BIGINT(15) AUTO_INCREMENT NOT NULL PRIMARY KEY,

releaseNumber BIGINT(15) NOT NULL,

drugId BIGINT(11) NOT NULL,
dosageUnitCode BIGINT(11) NOT NULL,
drugName VARCHAR(200) NOT NULL,

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

INDEX (DosageDrugPID, ModifiedDate),
INDEX (drugId, ValidTo, ValidFrom)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: DosageStructure

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS DosageStructure (
DosageStructurePID BIGINT(15) AUTO_INCREMENT NOT NULL PRIMARY KEY,

releaseNumber BIGINT(15) NOT NULL,

code VARCHAR(11) NOT NULL, -- ID
type VARCHAR(100) NOT NULL,
simpleString VARCHAR(100), -- OPTIONAL
supplementaryText VARCHAR(200), -- OPTIONAL
xml VARCHAR(10000) NOT NULL,
shortTranslation VARCHAR(70),
longTranslation VARCHAR(10000), -- OPTIONAL (The specs say it cannot be NULL. See comment in DosageStructure.java)
ModifiedDate DATETIME NOT NULL,
ValidFrom DATETIME NOT NULL,
ValidTo DATETIME NOT NULL,
CreatedDate DATETIME NOT NULL,

INDEX (DosageStructurePID, ModifiedDate),
INDEX (code, ValidTo, ValidFrom)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: DosageUnit

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS DosageUnit (
DosageUnitPID BIGINT(15) AUTO_INCREMENT NOT NULL PRIMARY KEY,

code INT(4) NOT NULL, -- ID

releaseNumber BIGINT(15) NOT NULL,
textSingular VARCHAR(100) NOT NULL,
textPlural VARCHAR(100) NOT NULL,

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

INDEX (DosageUnitPID, ModifiedDate),
INDEX (code, ValidTo, ValidFrom)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: DosageVersion

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS DosageVersion (
DosageVersionPID BIGINT(15) AUTO_INCREMENT NOT NULL PRIMARY KEY,
daDate DATE NOT NULL, -- @ID // TODO: Should the id not be the releaseNumber? :S

lmsDate DATE NOT NULL,
releaseDate DATE NOT NULL,
releaseNumber BIGINT(15) NOT NULL,

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

INDEX (DosageVersionPID, ModifiedDate),
INDEX (releaseDate, ValidTo, ValidFrom)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: DrugDosageStructureRelation

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS DrugDosageStructureRelation (
DrugDosageStructureRelationPID BIGINT(15) AUTO_INCREMENT NOT NULL PRIMARY KEY,

id VARCHAR(200) NOT NULL,

drugId BIGINT(11) NOT NULL,
dosageStructureCode BIGINT(11) NOT NULL,
releaseNumber BIGINT(15) NOT NULL,

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

INDEX (DrugDosageStructureRelationPID, ModifiedDate),
INDEX (id, ValidTo, ValidFrom)
) ENGINE=InnoDB COLLATE=utf8_bin;

Tabel: doseringimporterImportStatus

^^Tilbage til toppen^^

CREATE TABLE IF NOT EXISTS doseringimporterImportStatus (
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: Doseringsforslag, doseringsforslag.csv

^^Tilbage til toppen^^

Register med forslag til dosering af forskellige lægemidler (størrelse og mængde)
Uploades fra Trifork via FTP til sdm-app01.dodi-prod.netic.dk

Opdatere tabellerne version, dosageunit, dosagedrug, dosagestructurerelation, dosagestructure udfra felterne i filen:
drugid
name
enhed_e
enhed_f
kode
iteration
type
mapning
tekst
version
maalgruppe

Teknologibeskrivelse

^^Tilbage til toppen^^

(udestår)

Refereres fra

^^Tilbage til toppen^^




  • No labels