Versions Compared

Key

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

...

Table of Contents

Introduktion

Formål

Formålet med dette dokument er at beskrive systemarkitekturen for GM-BFF.

Læsevejledning

Nærværende dokument er tiltænkt udviklere og IT-arkitekter med interesse i GM-BFF og dens opbygning.

Definitioner og referencer

NSPNational Service Platform
GMGraviditetsmappen

Overblik over GM-BFF

Backend For Frontend (GM-BFF) er en service, som skal servicere MinGraviditet app. Den følger BFF mønsteret (https://samnewman.io/patterns/architectural/bff/), hvilket resulterer i en række operationer, der stiller data til rådighed i klumper tilpasset klientens (appens) behov, uanset at disse kan komme fra flere datakilder eller i strukturer der ikke egner sig til appens brug. BFF'en har til opgave at sammenstille og omforme data efter appens behov.

Gliffy Diagram
macroId7a93aae7-1fd2-43dd-a8e5-454c52b0acbf
namegm-bff component overview
pagePin1

BFF'en henter data fra 2 kilder: gm-facade på NSP for journaldata og CMS for artikler, tekster og tjeklister. Journal data caches i en lokal database, for at undgå gentagne opslag efter de samme data.

Løsningens afhængigheder

BFF'en udstilles som en Spring Boot server med et REST API.

CMS er en Strapi (https://strapi.io/) instans, hostet i samme kubernetes miljø som BFF'en. Strapi stiller et API til rådighed til udlæsning af ressourcer i Strapi, fx kategorier, artikler eller tjeklister. API'et er et REST agtigt api med en lidt speciel syntaks for søgninger og specificering af returnerede værdier. Disse særheder gemmes bag BFF'en, så appen kan få et API der er lettere at arbejde med.

gm-facade komponenten ligger på NSP, og udstiller en FHIR model for graviditetsmappen. Da der ikke er indført et forløbsbegreb eller lignende strukturerende begreber, er der kun én operation på gm-facade, nemlig "hent hele journalen for den angivne borger". Denne udstilles i en FHIR model som BFF læser og omformer til en intern model, der benyttes til de enkelte operationer på BFF.

Løsningens arkitektur

Internt er BFF'en struktureret i delkomponenter som følger:

...

Dokument Historik

3/4 2025Martin Henriksen/SDSEtablering af dokumentation
22/7 2025Anders Ringsmose/TriforkBeskrivelse af arkitektur