Indholdsfortegnelse

Se eksempel på udfyldelse på DDS: DDS - Guide til anvendere - NSP services - Global Site

Introduktion

Formål

Denne guide har som formål at give et overblik over GM-CMS, herunder dets funktionalitet, arkitektur, og hvordan det integreres med relaterede services.

Denne guide er tilegnet klienter til NSP, specielt dem, der skal udvikle aftagersystemer. Der vil blive givet referencer til relevante dokumenter for at skabe en bredere forståelse af komponentens omgivelser.

Beskrivelse

GM-CMS er en backend-service, der understøtter indholdshåndtering for applikationen "Min Graviditet".

Systemet tilbyder fleksible værktøjer til oprettelse, redigering og publicering af indhold såsom artikler, billeder og videoer.

Links til mere information

Grafisk fremstilling og sammenhængen

Følgende ses diagram over GM-CMS struktur og relationer til relaterede services (Min Graviditet-app, BFF, m.fl.)

Relevante use-cases

Der findes tre typer brugere i forhold til use cases:

GM-CMS skal understøtte use cases for "Min Graviditet" appen ved at udstille data. I den efterfølgende parentes angives use case nummer jf. Appendix 1b fra tilbudsmateriale.

Use cases for "Min Graviditet" appen:

For at undersøtte disse use cases skal GM-CMS overholde følgende use cases.

Læsevejledning og forudsætninger

Dette dokument er henvendt til udviklere og arkitekter, der skal anvende GM-CMS. Det forventes, at læseren har kendskab til RESTful API'er samt grundlæggende webteknologier.

Sikkerhed

Forudsætninger for anvendelse inkluderer:

Service udstil type

<Angiv typen, f.eks. DGWS, IDWS, ...>

Krævede adgange

<Angiv adgange som er nødvendige for anvendere for at kunne benytte servicen/komponenten>

Whitelisting

Whitelisting kræves for IP-adresser, der skal have adgang til GM-CMS.

Krævet sikkerhedsniveau

<Angiv krav til authentication for at kunne bruge servicen/komponenten>

Forudsætninger for anvendelse

<Angiv forudsæntninger som er nødvendige for at kunne bruge servicen/komponenten, eventuelle nødvendige kald til andre services, etc.>

Logning

<Angiv om og hvad der logges>

Definitioner og referencer

ReferenceBeskrivelse

CMS

Content Management System

GM

Graviditetsmappen

BFF

Backend for frontend

Adgang

<Beskrivelse af hvordan service/komponent bruges, snitflade(r), endpoints, og andet relevant>

Tilgængelig<Angiv på hvilke(n) NSP-installation(er) servicen/komponenten er tilgængelig>
Endpoint(s)

<Angiv udstillede endpoint(s), og hvad de hedder.>

WSDL

<Angiv henvisning til WSDL(er). For ekstern anvendbare services typisk på https://wsdl.nspop.dk/>

Beskrivelse af services

<Beskrivelser af service(s) / actions på endpoint(s). I lægmands termer beskrive hvad man kan forvente af de enkelte services.>

Namespaces etc<Angiv eventuelt Namespaces, eksterne typer, ..>

Brugertyper (roller)

I Strapi administrationpanelet arbejdes der med følgende brugertyper:

Snitfladebeskrivelse og brug

Følgende bekriver Strapi og Meilisearch snitfladerne. 

Strapi snitflade

Strapi CMS'en udstiller en række endpoints til at hente de definerede indholdstyper. Alle API-endpoints er offentligt tilgængelige, hvilket betyder, at det ikke er nødvendigt at sætte en authentication header på anmodningerne.

Indholdstyper

Jf. use cases skal følgende indholdstyper konfigureres i GM-CMS.

Indholdstype

Beskrivelse

Relation

id

Kategori

Indeholder titel og tilhørende artikler

Kategori “tilhører flere” artikler

category

Artikel

Indeholder titel, beskrivelse, tags, boolean til angivelse af om artikel skal skjules på forside, samt tilhørende kategorier og sektioner

Kategori ”har flere” artikler

Artikel “tilhører flere” sektioner

article

Sektion

Indeholder titel, tekst, liste af ugenumre i graviditet/efter fødsel hvor sektionen er relevant, samt tilhørende artikler

Artikel “har flere” sektioner

section

Tjekliste

Indeholder titel, beskrivelse, samt tilhørende tjektlistepunkter

Tjekliste ”tilhører flere” tjeklistepunkter

checklist

Tjeklistepunkt

Indeholder titel, beskrivelse, samt tilhørende tjektliste

Tjekliste “har flere” tjeklistepunkter

checklist-point

Ordforklaring

Indeholder ord og ordforklaring


glossary-term

Tekst

Indeholder titel, tekst, beskrivelse og unikt API-navn. Bruges til at oprette tekster om samtykkeerklæring, databeskyttelse osv.


text

FAQ

Indeholder spørgsmål og svar


faq

Strapi endpoints

Indholdstype

Endpoirt

Kategori

/api/categories

Artikel

/api/articles

Sektion

/api/sections

Tjekliste

/api/checklists

Tjeklistepunkt

/api/checklist-points

Ordforklaring

/api/glossary-terms

Tekst

/api/texts

FAQ

/api/faqs

 For at relationer mellem indholdstyperne inkluderes i responsen tilføjes:

?populate=*

Eksempelvis for at få alle artikler, samt relaterede kategorier og sektioner kaldes:

/api/articles?populate=*

 Eksempler på Strapi request/responses

Herunder ses eksempler på Strapi request/responses der foretages af GM-BFF:

TypeRequestBeskrivelseRespons
GET/api/checklists&populate=*Returnerer indholdstype samt alle relationer.
{
    "data": [
        {
            "id": 2,
            "documentId": "yatee9t6ggtfc1dyayt2k1bt",
            "Titel": "Fødetasken",
            "Beskrivelse": "<div data-key=\"31859\"><p><span data-contrast=\"auto\">Listen her er inspiration til, hvad man kan pakke i fødetasken. Hvis du skal have en fødselshjælper med til fødslen (fx din partner), kan de evt. være den, der pakker tasken – det er sandsynligvis dem, der skal finde tingene frem igen. </span><span data-ccp-props=\"{"201341983":0,"335559739":160,"335559740":279}\"> </span></p><p><span data-contrast=\"auto\">Tilføj selv egne punkter og tænk over, hvad du synes er uundværligt, hvis du nu skulle være indlagt i et par dage. På sygehuset vil der være babybleer og hygiejnebind. Jordemoderen kan fortælle, hvad I forventes at medbringe.</span></p></div>",
            "createdAt": "2025-03-13T12:12:11.201Z",
            "updatedAt": "2025-03-13T12:25:45.617Z",
            "publishedAt": "2025-03-13T12:25:45.655Z",
            "Tjeklistepunkter": [
                {
                    "id": 4,
                    "documentId": "i4cc2r9l7nmmbt21bipm2rh4",
                    "Titel": "Tøj til baby",
                    "Beskrivelse": "Tøj til et par dage, hvis I bliver indlagt på barselsgangen.",
                    "createdAt": "2025-03-13T12:26:02.217Z",
                    "updatedAt": "2025-03-13T12:26:02.217Z",
                    "publishedAt": "2025-03-13T12:26:02.255Z"
                },
                {
                    "id": 6,
                    "documentId": "ids1mz46pys47o0yg5f4txmt",
                    "Titel": "Toiletsager ",
                    "Beskrivelse": "Du kan selvfølgelig få både tandbørste, shampoo osv. på hospitalet, men det kan være rart at have sine egne ting med.",
                    "createdAt": "2025-03-13T12:26:16.808Z",
                    "updatedAt": "2025-03-13T12:26:16.808Z",
                    "publishedAt": "2025-03-13T12:26:16.839Z"
                },
                {
                    "id": 8,
                    "documentId": "ued2vt1lb3eier9awulccam0",
                    "Titel": "Snacks",
                    "Beskrivelse": "Medbring lidt at spise både til dig selv og din evt. fødepartner.",
                    "createdAt": "2025-03-13T12:26:32.728Z",
                    "updatedAt": "2025-03-13T12:26:32.728Z",
                    "publishedAt": "2025-03-13T12:26:32.753Z"
                },
                {
                    "id": 2,
                    "documentId": "b3zc8h6suqki9i09r9qxk45s",
                    "Titel": "Behageligt tøj eller morgenkåbe",
                    "Beskrivelse": "Måske bliver du og barnet udskrevet nogle få timer efter fødslen, og så har du ikke brug for morgenkåbe. Men hvis det er dit første barn, kan det være, I får tilbud om et par dages ophold på patienthotel eller barselsgang.",
                    "createdAt": "2025-03-13T12:26:51.383Z",
                    "updatedAt": "2025-03-13T12:26:51.383Z",
                    "publishedAt": "2025-03-13T12:26:51.407Z"
                }
            ]
        }
    ],
    "meta": {
        "pagination": {
            "page": 1,
            "pageSize": 25,
            "pageCount": 1,
            "total": 1
        }
    }
}
GETapi/articles?filters[Sektioner][UgenummreEfterFoedsel][$contains]={UGENUMMER_EFTER_FOEDSEL}&populate=*Returnerer alle sektioner (inkl. tilhørende artikler og kategorier) hvor parameter UGENUMMER_EFTER_FOEDSEL er i listen UgenummreEfterFoedsel. Anvendes til at finde relevante artikler til borger med angivet fødselsdato.
{
    "data": [
        {
            "id": 6,
            "documentId": "yl4fr112xq1wnjrmgq4c0hdk",
            "Titel": "Ammeassistenten",
            "Tags": null,
            "SkjulPaaForside": true,
            "Beskrivelse": "<p>Ammeassistenten.dk er et supplement til den hjælp, som forældre kan få fra sundhedsplejersker eller på fødestedet. Her kan du finde svar på mange af de spørgsmål, der måtte opstå i forbindelse med amning.</p>",
            "createdAt": "2025-03-13T11:47:23.616Z",
            "updatedAt": "2025-03-13T11:47:23.616Z",
            "publishedAt": "2025-03-13T11:47:23.642Z",
            "Kategori": {
                "id": 2,
                "documentId": "kh2fio7vc6dyoj368j94n4gw",
                "Titel": "Amning",
                "createdAt": "2025-03-13T11:37:55.157Z",
                "updatedAt": "2025-03-13T11:37:55.157Z",
                "publishedAt": "2025-03-13T11:37:55.180Z"
            },
            "Sektioner": [
                {
                    "id": 11,
                    "documentId": "ly4pavnpgqto6bpcs5qe8xgn",
                    "Titel": " Hvad kan Ammeassistenten hjælpe dig med?",
                    "Tekst": "<p>Kompetencecenter for Amning har i maj 2024 lanceret <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://ammeassistenten.dk/\">Ammeassistenten.dk</a>, som er en ny hjemmeside, der tilbyder omfattende, forskningsbaseret viden om amning til både forældre og sundhedspersonale i hele Danmark. Hjemmesiden er udviklet som en del af et forskningsprojekt om amning i sundhedsplejen.</p><p>Platformen er designet til at støtte og informere om alle aspekter af amning - lige fra forberedelse til vedligeholdelse af amning på længere sigt. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://ammeassistenten.dk/\">Ammeassistenten.dk</a> er i overensstemmelse med den nyeste viden om amning og Sundhedsstyrelsens anbefalinger.</p><p>Hjemmesiden tilbyder en række ressourcer, heriblandt:</p><ul><li>Vejledning om alle faser af amning</li><li>Emnesider med dybdegående information</li><li>Handlingsanvisende videofilm</li><li>Podcast om personlige fortællinger og ammeerfaringer</li></ul>",
                    "createdAt": "2025-03-13T11:38:21.068Z",
                    "updatedAt": "2025-04-07T13:21:20.596Z",
                    "publishedAt": "2025-04-07T13:21:20.610Z",
                    "UgenumreUnderGraviditet": "37, 38, 39",
                    "UgenummreEfterFoedsel": "1, 2",
                    "VisPaaForsideVedTerminsdatoIkkeSat": null
                }
            ]
        }
    ],
    "meta": {
        "pagination": {
            "page": 1,
            "pageSize": 25,
            "pageCount": 1,
            "total": 1
        }
    }
}
GETapi/articles?filters[Sektioner][UgenumreUnderGraviditet][$contains]={UGENUMMER_UNDER_GRAVIDITET}&populate=*Returnerer alle sektioner (inkl. tilhørende artikler og kategorier) hvor parameter UGENUMMER_UNDER_GRAVIDITET er i listenUgenumreUnderGraviditet. Anvendes til at finde relevante artikler til borger med terminsdato.
"data": [
        {
            "id": 6,
            "documentId": "yl4fr112xq1wnjrmgq4c0hdk",
            "Titel": "Ammeassistenten",
            "Tags": null,
            "SkjulPaaForside": true,
            "Beskrivelse": "<p>Ammeassistenten.dk er et supplement til den hjælp, som forældre kan få fra sundhedsplejersker eller på fødestedet. Her kan du finde svar på mange af de spørgsmål, der måtte opstå i forbindelse med amning.</p>",
            "createdAt": "2025-03-13T11:47:23.616Z",
            "updatedAt": "2025-03-13T11:47:23.616Z",
            "publishedAt": "2025-03-13T11:47:23.642Z",
            "Kategori": {
                "id": 2,
                "documentId": "kh2fio7vc6dyoj368j94n4gw",
                "Titel": "Amning",
                "createdAt": "2025-03-13T11:37:55.157Z",
                "updatedAt": "2025-03-13T11:37:55.157Z",
                "publishedAt": "2025-03-13T11:37:55.180Z"
            },
            "Sektioner": [
                {
                    "id": 11,
                    "documentId": "ly4pavnpgqto6bpcs5qe8xgn",
                    "Titel": " Hvad kan Ammeassistenten hjælpe dig med?",
                    "Tekst": "<p>Kompetencecenter for Amning har i maj 2024 lanceret <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://ammeassistenten.dk/\">Ammeassistenten.dk</a>, som er en ny hjemmeside, der tilbyder omfattende, forskningsbaseret viden om amning til både forældre og sundhedspersonale i hele Danmark. Hjemmesiden er udviklet som en del af et forskningsprojekt om amning i sundhedsplejen.</p><p>Platformen er designet til at støtte og informere om alle aspekter af amning - lige fra forberedelse til vedligeholdelse af amning på længere sigt. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://ammeassistenten.dk/\">Ammeassistenten.dk</a> er i overensstemmelse med den nyeste viden om amning og Sundhedsstyrelsens anbefalinger.</p><p>Hjemmesiden tilbyder en række ressourcer, heriblandt:</p><ul><li>Vejledning om alle faser af amning</li><li>Emnesider med dybdegående information</li><li>Handlingsanvisende videofilm</li><li>Podcast om personlige fortællinger og ammeerfaringer</li></ul>",
                    "createdAt": "2025-03-13T11:38:21.068Z",
                    "updatedAt": "2025-04-07T13:21:20.596Z",
                    "publishedAt": "2025-04-07T13:21:20.610Z",
                    "UgenumreUnderGraviditet": "37, 38, 39",
                    "UgenummreEfterFoedsel": "1, 2",
                    "VisPaaForsideVedTerminsdatoIkkeSat": null
                }
            ]
        }
    ],
    "meta": {
        "pagination": {
            "page": 1,
            "pageSize": 25,
            "pageCount": 1,
            "total": 1
        }
    }
}
GET/api/texts?filters[ApiNavn][$eq]={API_NAVN}Returnerer indholdstype tekst, hvor ApiNavn er lig parameter API_NAVN. Eksempelvis samtykke-tekst.
{
    "data": [
        {
            "id": 2,
            "documentId": "p7sclqu9vklq4rzqxi7qmh7i",
            "Titel": "Samtykke",
            "Tekst": "<h2><strong>Samtykke til at hente dine graviditetsdata ind i appen </strong></h2><p> </p><p>[dette er samtykketeksten fra pilot]</p><h3><strong>Frivillig brug </strong></h3><p>Det er frivilligt at downloade og bruge denne app.</p><h3><strong>Formålene med og retsgrundlaget for behandlingen af dine personoplysninger</strong></h3><p>Formålet med Min Graviditet-appen er at give dig adgang til de informationer din læge, din jordemoder, din sundhedsplejerske eller andet sundhedspersonale registrerer om dig og din graviditet. Du kan også få overblik over graviditetsforløbet og finde artikler om graviditet og fødsel.</p><p>For at appen kan vise dig informationer fra dit graviditetsforløb, skal du give samtykke til, at disse data hentes ind i appen. Såfremt du vælger <i>ikke</i> at give dit samtykke, vil du ikke have digital adgang til de samlede data, som sundhedspersonale udveksler om din graviditet.</p><p>Uanset om du vælger at hente dine data ind i Min Graviditet-appen eller ej, vil det sundhedsfaglige personale, der er tilknyttet dit graviditetsforløb i det offentlige sundhedsvæsen, kunne se informationer om din graviditet via den sundhedsfaglige brugergrænseflade, Graviditetsportalen.</p><p>Retsgrundlaget for vores behandling af dine oplysninger på denne app følger af den bekendtgørelse, der er godkendt til brug for afprøvningsprojektet; \"<i>Bekendtgørelse om pilotprojekt om udveksling af oplysninger i forbindelse med graviditet i graviditetsmappen</i>”. Bekendtgørelsen gør det muligt for Sundhedsdatastyrelsen at indsamle personoplysninger på de gravide, der vælger at deltage i den digitale afprøvning.</p><p>Vi behandler dine personoplysninger i denne app via indhentelse af dit samtykke, dvs. med hjemmel i databeskyttelsesforordningens artikel 6, stk. 1, litra a.</p><h3><strong>Sådan fungerer appen </strong></h3><p>For at kunne logge ind på appen skal du give dit samtykke til, at der må hentes graviditetsdata ind i appen og at der kan opbevares data, du selv registrerer. Uden dit samtykke vil du ikke kunne logge ind og vil således kun have adgang til artikler i appen.</p><p>Du kan altid trække dit samtykke tilbage. Du vil herefter automatisk blive logget af appen og data registreret fra din telefon vil blive slettet.</p><p>Når du giver samtykke og logger ind på appen, hentes der automatisk data registreret af sundhedspersonale fra dit graviditetsforløb. Data består af følgende:</p><ul><li><strong>Fælles Stamkort: </strong>Stamoplysninger herunder kontaktinformation om dig og dine pårørende</li><li><strong>Graviditetskort: </strong>Sundhedsfaglige oplysninger registreret under graviditeten</li><li><strong>Graviditetsplan: </strong>Forventede og afholdte aktiviteter i forbindelse med graviditetsforløbet</li><li><strong>Journalnotater: </strong>Supplerende oplysninger herunder jordemoderfaglig vurdering</li><li><strong>Målinger: </strong>Målinger og observationer foretaget i forbindelse med konsultationer og scanninger under graviditetsforløbet</li></ul><p>Fra appen vil du have mulighed for at registrere yderligere informationer. Se næste afsnit.</p><h3><strong>Hvad registreres og lagres på din telefon, og hvem har adgang til oplysningerne? </strong></h3><p>Følgende informationer registreres via din telefon og lagres i systemet:</p><ul><li><strong>Basisoplysninger:</strong> Ved oprettelse af login via NemLog-in registreres oplysninger om dit navn og cpr, som er nødvendige for at kunne matche oplysningerne med dine graviditetsdata</li><li><strong>Tjeklister:</strong> Under sektionen ’Viden’ har du mulighed for at afkrydse tjeklister. Dine markeringer fra tjeklister lagres</li><li><strong>Afslutning af graviditet:</strong> Du har mulighed for selv at markere, hvornår din graviditet blev afsluttet. Her lagres den dato, du har oplyst.</li></ul><p>For alle oplysningerne gælder, at de er personlige. Drifts- og vedligeholdelsesleverandørerne har adgang til oplysningerne med henblik til drift og vedligehold. Sundhedspersonalet kan ikke se informationer, der er lagret i systemet via din telefon.</p><h3><strong>Ret til at trække samtykke tilbage </strong></h3><p>Du har til enhver tid ret til at trække dit samtykke tilbage.  Det kan du gøre ved at trykke på \"slet samtykke\" her på siden. Du kan også trække dit samtykke tilbage ved at slette appen. I begge tilfælde slettes både dine graviditetsdata fra appen og de informationer, der er registreret fra appen. Når du sletter dit samtykke vil du udelukkende have adgang til appens artikler.</p><p>Hvis du vælger at slette dit samtykke, vil sundhedspersonale med tilknytning til dit graviditetsforløb fortsat kunne se dine graviditetsdata fra graviditetsmappen jf. ovenfor og i henhold til \"<i>Bekendtgørelse om pilotprojekt om udveksling af oplysninger i forbindelse med graviditet i graviditetsmappen</i>”.</p><h3><strong>Hvornår slettes dine data fra appen? </strong></h3><p>Såfremt du beholder appen under hele dit forløb, vil dine data automatisk blive slettet fra appen senest to år efter, at dit graviditetsforløb er afsluttet af din egen læge eller andet sundhedspersonale. Du kan sende dine informationer fra appen til din egen digitale postkasse indtil dine data slettes fra appen.</p><p>Hvis du trækker dit samtykke tilbage under forløbet, slettes dine data fra appen umiddelbart efter, at du har trukket dit samtykke tilbage.</p><h3><strong>Brug af Min Graviditet uden graviditetsdata </strong></h3><p>Er du endnu ikke gravid eller vil du blot gerne vide mere, kan du læse appens artikler om bl.a. graviditet og fødsel.</p><p>Artiklerne er udviklet i samarbejde mellem Komiteen for Sundhedsoplysning, Sundhedsstyrelsen og Jordemoderforeningen.</p><p>Du kan se artiklerne i appen uden at give samtykke.</p><h3><strong>Behandling af personoplysninger </strong></h3><p>Når du bruger Min Graviditet, sker der en behandling af personoplysninger om dig, som Sundhedsdatastyrelsen er dataansvarlig for.</p><p>Når du trykker på knappen \"Jeg accepterer\" tilkendegiver du samtidig, at du har læst <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://sundhedsdatastyrelsen.dk/da/strategier-og-projekter/graviditetsmappen/pilot/personoplysninger\">oplysningspligten</a>, hvor det står nærmere beskrevet, hvordan dine oplysninger behandles.</p><h3><strong>Har du spørgsmål til behandling af oplysninger i Min Graviditet?    </strong></h3><p>Min Graviditet er udviklet af Sundhedsdatastyrelsen og Syddansk Sundhedsinnovation på vegne af sundhedsvæsenets parter, herunder Sundhedsministeriet, Danske Regioner, Praktiserende Lægers Organisation (PLO), Kommunernes Landsforening (KL) og Sundhedsstyrelsen.</p><p>Hvis du har spørgsmål til behandlingen af oplysninger i appen, er du velkommen til at kontakte os:</p><p>Mail:  <a href=\"mailto:Kontakt@sundhedsdata.dk\">Kontakt@sundhedsdata.dk</a></p><p>Telefon nr.: 7221 6800</p>",
            "ApiNavn": "samtykke",
            "Beskrivelse": null,
            "createdAt": "2025-03-13T12:31:57.103Z",
            "updatedAt": "2025-03-13T12:32:39.252Z",
            "publishedAt": "2025-03-13T12:32:39.276Z"
        }
    ],
    "meta": {
        "pagination": {
            "page": 1,
            "pageSize": 25,
            "pageCount": 1,
            "total": 1
        }
    }
}


Meilisearch snitflade

Meilisearch anvendes til at søge i artikler CMS'en udstiller en række endpoints til at hente de definerede indholdstyper. Alle API-endpoints er offentligt tilgængelige, hvilket betyder, at det ikke er nødvendigt at sætte en authentication header på anmodningerne.

Generelle koder, værdier, etc.

Ikke relevant

Fejlbeskeder

Herunder er nogle af de mest almindelige fejlbeskeder og deres årsager.

Strapi - 401 Unauthorized

Meilisearch - XXX

Test

Ikke relevant.

Dokument Historik

3/4 2025Martin Henriksen/SDSEtablering af dokumentation
10/4 2025Dikte Straadt/TriforkInitiel udfyldning af dokumentation