Indledning

Denne side sammenfatter forskellige design oplæg og beslutninger som er foretaget i løbet af udviklingen af Prøvebestillingsindlæseren. Følgende dokument er indledningsvis udarbejdet

Orkestrering

Krav

Det er et grundliggende krav at breve ikke må udsendes før rekvisitioner er oprettet (for at undgå at personer forsøger at booke men ikke får lov hvis rekvisitionen mangler). Et mere implicit krav er, at der i løsningen skal være en form for kapacitets styring - en styring som i dag til dels er implementeret ved det tempo hvorved SSI sender CPR filer til behandling.

Grundliggende design

Prøvebestillingsindlæseren vil behandle filer fra SSI i det tempo som de ankommer fra SSI - dvs. der vil ikke ske en bundling af filerne og de berigede oplysninger sendes til hhv. Synlab og Strålfors så hurtigt som muligt. Hvis der mht. indlæsnings kapacitet i Synlab og/eller Strålfors ønskes behandling efter bestemte tidspunkter på døgnet, kan Prøvebestillingsindlæseren undlade at hente filer fra SFTP serveren i bestemte tidsrum.

Løsning ved Synlab kvittering

Med forventning om at Synlab kan generere en kvitteringsfil, er flowet ligetil 

  1. CPR fil ankommer fra SSI
  2. CPR fil valideres og parses til intern repræsentation af CPR numre samt data fra filnavn
  3. CPR fil beriges til hhv. Synlab Rekvisitionsoplysninger og Strålfors Brevoplysninger
  4. Brevoplysninger til Strålfors gemmes med BatchId (i database eller i filsystem)
  5. Rekvisitionsoplysninger sendes til Synlab
  6. Der ventes på kvittering fra Synlab
  7. Kvitteringsfil ankommer fra Synlab 
  8. Strålfors Brevoplysninger fil med BatchId som matcher kvitteringsfil fra Synlab sendes til Strålfors
  9. Evt. kvittering modtages fra Strålfors

Denne løsning betyder, at indlæseren ikke er afhængig af at Synlab behandler de leverede filer i samme sekvens som de afsendes fra indlæseren. Denne løsning betyder, at leveringen af brevoplysninger til Strålfors er afhængig af en korrekt modtagen kvittering fra Synlab, og dermed er der en risiko for at Brevoplysninger aldrig leveres til Strålfors hvis en Rekvisitions-behandling hos Synlab ikke udløser den ventede kvittering.

Skabelonhåndtering

Krav

Helt grundliggende skal der sendes forskelligt brev til personer bosiddende i Danmark i sygesikringsgruppe 1 og til alle andre personer. Differentieringen bunder i, at det kun er den første gruppe af personer for, hvem der oprettes en rekvisition i Synlab, så alle andre skal have et brev, som beskriver, at de selv skal kontakte læge for at få oprettet en rekvisition.

Yderligerer forventes det, at forskellige prøver/tests vil give anledning til forskellige breve og dermed skabeloner. Prøvebestillingsindlæseren skal derfor kunne mappe en given prøve og en given person entydigt til en given skabelon. For at undgå at der skal bygges og deployes en ny version af Prøvebestillingsindlæseren hver gang der kommer nye prøver og skabeloner, skal der etableres et rammeværk som dynamisk kan udvides med nye skabeloner.

I datafilen til Strålfors er der også angivet en forsendelsestype. Forsendelsestypen er ID’et for den faktiske forsendelsestype, oprettet i SSI’s Strålfors Connect afsendersystem. Forsendelsestyperne kan være en af følgende:

  • 7121 = Smittetest
  • 7122 = Smittetest (Kun Digital)
  • 7123 = Immuntest
  • 7124 = Immuntest (Kun Digitial)
  • 7125 = Smitte- + Immuntest
  • 7126 = Smitte- Immuntest (Kun Digital)

De sidste to (7125 og 7126) vil formentlig ikke blive brugt. I øvrigt kan vi sagtens nøjes med kun at anvende 7121 og 7122, da de andre kun eksisterer af hensyn til at kunne adskille dem i Connect administrationsportalen. Leveringen til Strålfors foretages ved at Brevoplysningerne samt skabeloner leveres samlet til Strålfors i en .zip fil.

Design

Skabelonudvælgelsen forventes, som minimum, at tage udgangspunkt i den bestilte prøvetype og dernæst, indenfor den bestilte prøvetype, at vælge den skabelon som knytter sig til persongruppen. Dette kan forholdsvist simpelt løses ved navngivning af skabeloner. 

F.eks. ved navngivning af skabeloner som PODNINGSTEST_GRP1.docx og PODNINGSTEST_GRP2.docx - hvor "PODNINGSTEST" skal matche den prøve der anmodes om og GRP1 hav GRP 2 angiver skabelon for den ene eller anden persongruppe.

Løsningen via navngivning vil, ved tilføjelse af nye prøvetyper, blot kræve at der registreres yderligere skabeloner i den folder med skabeloner som leveres med datafilen til Strålfors.

Når denne folder volume-mapped ind i Prøvebestillingsindlæserens Docker-image, er det enkelt for driften at tilføje yderligere skabeloner efter behov.

  • No labels