Page History
...
| HTML |
|---|
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/id-39ae766a-05e8-4933-bc54-9aea0ff8451e.html" name="test" height="810" width="800">You need a Frames Capable browser to view this content.</iframe> |
* Hver kasse i ovenstående diagram har en kort forklaring, som kommer frem i et nyt browservindue, når der klikkes på kassen.
Da der ikke findes et decideret "behandlingsrelationsregister", er det nødvendigt at udlede viden om faktiske behandlingsrelationer ved opslag i nationale registre over handlinger, registreringer og relationer indenfor sundhedsvæsenet.
...
| Gliffy Diagram | ||||||||
|---|---|---|---|---|---|---|---|---|
|
På NSP-miljøerne udstilles følgende webservices:
...
Notifikationsservice:
Servicen vil returnere alle notifikationer, som er adresseret til kalderen. Notifikationer er fortløbende nummererede, og kalderen kan angive et offset, der sikrer at kun de nyeste notifikationer returneres. Servicen sletter alarmer efter et centralt konfigurerbart tidsinterval. Hvis man ikke angiver offset kan man risikere at modtage de samme alarmer flere gange.
De ovennævnte services udstilles via Den Gode Webservice (DGWS 1.0.1), og kan kun kaldes af systemer der bruger et System-IDKort udstedt til forhåndsgodkendte CVR numre. IDKort skal være udstedt af SOSI-STS.
Batchjobs i Backoffice
...
Baggrundsjob
Relationsopfølgning:
De STS servicen indeholder et baggrundsjob, som findes i et selvstændigt modul brs-operations, der kontrollerer gemte opfølgninger kontrolleres op imod valideringsbiblioteket for at undersøge om der er opstået relationer der giver anledning til at slette en opfølgning.
Hvis en opfølgning ikke har opnået den krævede relationskategori inden dens udløb oprettes en alarm i notifikationsdatabasen.
Jobbet afvikles ved at kalde FollowupServlet (se driftsvejledning for detaljer)BehandlingsRelationFollowupServlet (se driftsvejledning for detaljer).
Jobbet forBehandlingsRelationFollowup består af følgende operationer:
| Operation | Beskrivelse |
| Default operation | Formål: Benyttes til at fylde operationer på stakken, når stakken er tom. Java klasse: BehandlingsRelationFollowupSupplier Batching: Finder et antal gemte opfølgninger, som er klar til at blive tjekket. Der udtrækkes, så ældste opfølgninger udtrækkes først. Shuffles: ja Andet: - |
| Batch operation | Formål: Benyttes til at dele den samlede operation op i mindre operationer Java klasse: BehandlingsRelationBatchFollowupSupplier Batching: Opdeler listen af opfølgninger i mindre batches, som så skal tjekkes. Shuffles: ja Andet: - |
| Opfølgningsjob | Formål: Benyttes til at følge op på et batch af opfølgninger Java klasse: BehandlingsRelationFollowupOperation Batching: Laver opfølgning ved at finde frem til aktuelle relationer, som så resultere at opfølgningen bliver til en alarm, opfølgningen udsættes eller opfølgningen fjernes. Shuffles: - Andet: - |
Batchjobs i Backoffice
Backoffice indeholder et batchjobs der begge afvikles periodisk.
Oprydning:
Alarm-notifikationer replikeres til frontend i NSP-miljøerne, hvor de kan hentes med notifikationsservicen. Dette sletter dog ikke notifikationerne, så for at undgå at der blot bliver flere og flere, er der på et oprydningsjob, som løbende sletter notifikationer, som er blevet tilpas gamle.
Sletningen replikeres, så data også slettes fra de øvrige miljøer.
...
| HTML |
|---|
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/id-14616003-c1ad-40ab-822a-146eb00293a1.html" name="test" height="430510" width="700600">You need a Frames Capable browser to view this content.</iframe> |
...
Opfølgningstabellen indeholder behandlingsrelationer, som er modtaget af behandlingsrelationsservicen, og som er sat til opfølgning, idet der ikke umiddelbart kunne opnås tilstrækkelig evidens for relationen i forhold til evidenskilderne.
Tabellen udgør en form for kø. Replikeringsjobbet læser fra denne og sender data til backend'en, hvorefter data slettes fra tabellen.
Navn | Type | Beskrivelse |
|---|---|---|
Pk | bigint, auto_increment | Primær nøgle |
queryableCvr | char(8) | CVR-nummer |
externalReferenceId | varchar(50) | Id i kaldende system |
Uid | varchar(36) | Unik nøgle i systemet |
docorOrganisation | varchar(7) | Ydernummer for organisation |
hospitalOrganisation | varchar(7) | SKS kode for sygehus/afdeling |
ean | varchar(20) | EAN nummer for organisation |
| sor | bigint | SOR nummer for organisation |
patientCpr | char(10) | Patientens CPR-nummer |
healthProfessionalCpr | char(10) | Behandlers CPR-nummer |
relationLookupStart | datetime | Starttidspunkt for relation til patient |
relationLookupEnd | datetime | Sluttidspunkt for relation til patient |
timeLimit | datetime | Tidsfrist for opnåelse af relation inden alarm genereres |
acceptableRelations | varchar(20) | Acceptable evidensniveauer, kommasepareret |
followupRelations | varchar(20) | Evidensniveauer, der giver anledning til opfølgning |
authorisationIdentifier | varchar(20) | Autorisations-id |
serviceProviderName | varchar(50) | Navn på kaldende system |
serviceProviderVersion | varchar(20) | Version på kaldende version |
serviceProviderVendor | varchar(50) | Leverandør for kaldende version |
created | datetime | Tidspunkt for oprettelse af record |
errorCount | int | Antal gange record er forsøgt replikeret til backend |
nextSync | datetime | Tidspunkt for næste forsøg på replikering |
...
Tidspunktet i nextCheck benyttes af opfølgningsjobbet til at vurdere om en opfølgning skal behandles på kørselstidspunktet. Den unikke nøgle svarer til den unikke nøgle på notifikationstabellen.
NB: Jf. BRS Driftsvejledning: I release 2.1.0 er BRS ændret, så Kafka anvendes til at vedligeholde køen af bestilte opfølgninger. Anvendelsen af Kafka erstatter den tidligere followup-database. I den forbindelse behandles de bestillinger der allerede ligger i followup-databasen, således at de sættes i kø i Kafka.
Navn | Type | Beskrivelse |
|---|---|---|
serialNumber | bigint, auto_increment | Primær nøgle |
nextCheck | datetime | Tidspunkt for næste opfølgning |
queryableCvr | char(8) | CVR-nummer |
externalReferenceId | varchar(50) | Id i kaldende system |
uid | varchar(36) | Unik nøgle i systemet |
docorOrganisation | varchar(7) | Ydernummer for organisation |
hospitalOrganisation | varchar(7) | SKS kode for sygehus/afdeling |
ean | varchar(20) | EAN nummer for organisation |
| sor | bigint | SOR nummer for organisation |
patientCpr | char(10) | Patientens CPR-nummer |
healthProfessionalCpr | char(10) | Behandlers CPR-nummer |
relationLookupStart | datetime | Starttidspunkt for relation til patient |
relationLookupEnd | datetime | Sluttidspunkt for relation til patient |
timeLimit | datetime | Tidsfrist for opnåelse af relation inden alarm genereres |
acceptableRelations | varchar(20) | Acceptable evidensniveauer, kommasepareret |
followupRelations | varchar(20) | Evidensniveauer, der giver anledning til opfølgning |
authorisationIdentifier | varchar(20) | Autorisations-id |
serviceProviderName | varchar(50) | Navn på kaldende system |
serviceProviderVersion | varchar(20) | Version på kaldende version |
serviceProviderVendor | varchar(50) | Leverandør for kaldende version |
created | datetime | Tidspunkt for oprettelse af record |
...
Notifikationstabellen i Backoffice-miljøet indeholder alarm-notifikationer for behandlingsrelationer, som der ikke kunne findes evidens for indenfor tidsfristen.
Navn | Type | Beskrivelse |
|---|---|---|
serialNumber | bigint, auto_increment | Primær nøgle |
externalReferenceId | varchar(50) | Id i kaldende system |
queryableCvr | char(8) | CVR-nummer |
creationTimestamp | datetime | Tidspunkt for oprettelse af record |
docorOrganisation | varchar(7) | Ydernummer for organisation |
hospitalOrganisation | varchar(7) | SKS kode for sygehus/afdeling |
ean | varchar(20) | EAN nummer for organisation |
| sor | bigint | SOR nummer for organisation |
patientCpr | char(10) | Patientens CPR-nummer |
healthProfessionalCpr | char(10) | Behandlers CPR-nummer |
relationLookupStart | datetime | Starttidspunkt for relation til patient |
relationLookupEnd | datetime | Sluttidspunkt for relation til patient |
timeLimit | datetime | Tidsfrist for opnåelse af relation inden alarm genereres |
acceptableRelations | varchar(20) | Acceptable evidensniveauer, kommasepareret |
actualRelations | varchar(20) | Bedste relation opnået under opfølgning |
followupRelations | varchar(20) | Evidensniveauer, der giver anledning til opfølgning |
authorisationIdentifier | varchar(20) | Autorisations-id |
serviceProviderName | varchar(50) | Navn på kaldende system |
serviceProviderVersion | varchar(20) | Version på kaldende version |
serviceProviderVendor | varchar(50) | Leverandør for kaldende version |
uid | varchar(36) | Unik nøgle i systemet |
...
Som det fremgår af diagrammet, så har vi indsat nogle nøgler C? og D?, Se desuden https://www.nspop.dk/display/public/web/BRS+-+Driftsvejledning, så vi kan lave en kobling til evidenslogninger. De steder, hvor der udføres en indsamling af data, starter nøglen med D og de steder, hvor der udføres et tjek på data, starter nøglen med C.
Datamodel for LPR:
Navn | Type | Beskrivelse |
|---|---|---|
pk | bigint, auto_increment | Primære nøgle |
patientCpr | varchar(80) | SHA-1 hash |
admittedStart | datetime | |
admittedEnd | datetime | |
lprReference | varchar(40) | Fra inputdata – audit |
relationType | varchar(40) | Se kommentarer |
organisationIdentifier | varchar(7) | ydernummer eller SKS-kode |
...
| Gliffy Diagram | ||||||||
|---|---|---|---|---|---|---|---|---|
|
Som det fremgår af diagrammet, så har vi indsat nogle nøgler C? og D?, Se desuden https://www.nspop.dk/display/public/web/BRS+-+Driftsvejledning, så vi kan lave en kobling til evidenslogninger. De steder, hvor der udføres en indsamling af data, starter nøglen med D og de steder, hvor der udføres et tjek på data, starter nøglen med C.
Betegnelserne SHAK(sundhedsprofessionel) og SOR(sundhedsprof) skal forståes som to af de parametre BRS'en er blevet kaldt med. I BRS Avenderguide betegnes SHAK og SOR som OrganisationIdentifier. Sundhedsprofessionel betegnes HealthProfessionalCpr.
De væsentligste ændringer fra forrige version af LPR3 i BRS er:
...
Data fra LPR3 findes i en tabel med dette skema:
Navn | Type | Beskrivelse |
|---|---|---|
pk | bigint, auto_increment | Primære nøgle |
patientCpr | varchar(80) | SHA-1 hash |
admittedStart | datetime | |
admittedEnd | datetime | |
lprReference | varchar(256) | Fra inputdata – audit |
relationType | varchar(40) | Se kommentarer |
sorKode | bigint(20) | SOR-kode |
...
SSR evindenstjek foretages udfra følgende algoritme:
| Gliffy Diagram | ||||||||
|---|---|---|---|---|---|---|---|---|
|
Data fra SSR findes i en tabel med dette skema:
Navn | Type | Beskrivelse |
|---|---|---|
pk | bigint, auto_increment | Primære nøgle |
patientCpr | varchar(80) | SHA-1 hash |
doctorOrganisationIdentifier | varchar(6) | ydernummer |
admittedStart | datetime | |
admittedEnd | datetime | |
externalReference | varchar(40) | Fra inputdata - audit |
...
Data fra stammer fra Henvisningshotellets tabel 'Refhost' med dette skema:
Navn | Type | Beskrivelse |
|---|---|---|
pk | bigint, auto_increment | Primære nøgle |
healthProfessionCpr | varchar(80) | SHA-1 hash |
doctorOrganisationIdentifier | varchar(6) | ydernummer |
hospitalOrganisationIdentifier | varchar(7) | SKS-kode |
EAN | char(13) | EAN-nummer |
patientCpr | varchar(80) | SHA-1 hash |
referralStart | datetime | Henvisningens start |
referralEnd | datetime | |
refhostReference | varchar | Fra inputdata – audit |
| therapistSorCode | bigint | SOR-kode for behandler |
| referrerSorCode | bigint | SOR-kode for henviser |
...
Der anvendes Kafka til overførsel af opfølgningsbestillinger fra frontend til backend. Beskederne indeholder følgende attributter:
Navn | Type | Beskrivelse |
|---|---|---|
followup | FollowupType | Selve bestillingen. For flere detaljer om indholdet henvises til servicens wsdl-filer. |
nextCheck | Datetime | Hvornår bestillingen næste gang skal forsøges udført. |
lastProcessingTime | DateTime | Hvornår beskeden sidst har været behandlet. Bemærk at 'behandlet' blot betyder at BRS har haft fat i beskeden, men at nextCheck godt kan ligge i fremtiden, hvorfor beskeden blot lægges tilbage i køen. Attributten bruges til at tjekke, om det er de samme beskeder der behandles flere gange efter hinanden. |
...