Versions Compared

Key

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

...

Servicen udstiller data som beskrevet i anvenderguiden. Komponenten kaldes alene af Dokumentdelingsservicen (DDS). Servicen udstiller derudover en række administrative og konfigurationsrelaterede funktionaliteter. Servicen har et slettejob, som er beskrevet længere nede i dokumentet.

Direkte kald på service-komponenten

URL

Funktionalitet

<server>/fsk/actuator/info

Status-side. Se afsnittet versionsinformation.

<server>/fsk/actuator/health
Status-side. Viser om servicen fungerer korrekt, se afsnittet Overvågning.
<server>/fsk/fsk-cleanup/status
Returnerer statuskoden for den seneste kørsel af slettejobbet
<server>/fsk/fsk-cleanup/start
Starter fsk slette jobbet, som sletter stamkort, for personer, der har været afdøde et år

Opsætning

I application.properties kan der indstilles forkellige ting. Her følger et eksempel:

Code Block
author.institution.root=1.2.208.176.1.1
author.institution.extension=1126211000016009
author.institution.assigningAuthorityName=SOR
author.institution.name=Sundhedsdatastyrelsen

# Whitelisted CVRs (comma-separated) that are allowed to call with DGWS level 3
whitelisted.level3.cvrs=31908574,33257872

health.certificate-expires-warning=30

# JNDI datasource properties
datasource-fsk.jndi-name=java:jboss/datasources/FSK-DS
datasource-stm.jndi-name=java:jboss/datasources/STM-DS

sts.endpoint=http://test1.ekstern-test.nspop.dk:8080/sts/services/NewSecurityTokenService

# Minlog
minlog.read-activity.text=Opslag i Stamkort
minlog.on.idcard.level3.enabled=true

# SCES
sces.enable=true
sces.endpoint=http://test1.ekstern-test.nspop.dk:8080/stamdata-cpr-ws/service/DetGodeCPROpslag-1.0.4
sces.connect.timeout.millis=2000
sces.read.timeout.millis=7000

# ODR
odr.enable=true
odr.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/odr/odr
odr.connect.timeout.millis=2000
odr.read.timeout.millis=7000

# LTR
ltr.enable=true
ltr.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/btr/ltr
ltr.connect.timeout.millis=2000
ltr.read.timeout.millis=7000

# BTR
btr.startdatetime=2019-01-01 00:00:00
btr.enable=true
btr.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/btr/btr
btr.connect.timeout.millis=2000
btr.read.timeout.millis=7000

# SKR
skr.enable=true
skr.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/skr/skr
skr.connect.timeout.millis=2000
skr.read.timeout.millis=7000

# SYES
syes.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-yder-lookup-ws/service/YderService
syes.connect.timeout.millis=2000
syes.read.timeout.millis=7000

# DDS
dds.repository.unique.id=1.2.208.176.43210.8.10.12
dds.home.community.id=1.2.208.176.8.1.12

# FGVHR - De andre services genbruger ID-kort og HSUID-header som FSK modtager, til at kalde videre. Det gør FGVHR ikke, derfor skal certifikat og ID-kort konfigureres:
fgvhr.enable=true
fgvhr.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/fgvhr/20230601/hasNoResuscitation
fgvhr.connect.timeout.millis=2000
fgvhr.read.timeout.millis=7000
fgvhr.sts.keystore=NSP_Test_Service_Consumer_sds.p12 # skal mappes ind i containeren på følgende sti, så navnet på keystore stemmer overens: /pack/wildfly/modules/dk/sundhedsdatastyrelsen/fsk/main/NSP_Test_Service_Consumer_sds.p12
fgvhr.sts.keystore.password=Test1234
fgvhr.idcard.subject.name=Sundhedsdatastyrelsen
fgvhr.idcard.subject.id=33257872
fgvhr.idcard.system.name=FSK

Daglig drift



# Cleanup
deletion.fsk.batchsize=1000
desired.execution.duration=PT10S


Daglig drift

Servicen Servicen kræver ingen daglig vedligeholdelse udover sædvanlig systemovervågning.

Alt data (inkl. historiske data) for en borger fjernes 1 år efter borgerens død ved hjælp af slettejobbet.

Versionsinformation

Servicen udstiller en statusside med versionsinformation. Der returneres en body med JSON-data.
"$.build" indeholder oplysninger om versionen, og hvornår den blev bygget.
"$.time" indeholder oplysninger om det aktuelle tidspunkt, og tidspunktet for hvornår servicen blev deployed.

...

Code Block
languagetext
{
    "status": "NEEDS_ATTENTION",
    "details": {
        "organDonorClient": {
            "status": "UP",
            "details": {
                "timeOfLastExecution": "2019-07-30T17:31:13.245Z"
            }
        },
        "livingWillClient": {
            "status": "NEEDS_ATTENTION",
            "details": {
                "error": "java.io.IOException: HTTP POST failed (404): Not Found",
                "timeOfLastExecution": "2019-07-30T17:31:13.246Z"
            }
        },
        "treatmentWillClient": {
            "status": "UP",
            "details": {
                "timeOfLastExecution": "2019-07-30T17:31:13.245Z"
            }
        },
        "personalDataCardRegisterClient": {
            "status": "UP",
            "details": {
                "timeOfLastExecution": "2019-07-30T17:31:13.246Z"
            }
        },
        "scesClient": {
            "status": "UP",
            "details": {
                "timeOfLastExecution": "2019-07-30T17:31:13.566Z"
            }
        },
        "minLogClient": {
            "status": "UP",
            "details": {
                "timeOfLastExecution": "2019-07-30T17:31:13.569Z"
            }
        },
        "syncJob": {
            "status": "UP",
            "details": {
                "timeOfLastExecution": "2019-07-30T18:00:05.321Z"
            }
        },
        "db": {
            "status": "UP",
            "details": {
                "primaryDataSource": {
                    "status": "UP",
                    "details": {
                        "database": "MySQL",
                        "hello": 1
                    }
                },
                "stamdataDataSource": {
                    "status": "UP",
                    "details": {
                        "database": "MySQL",
                        "hello": 1
                    }
                }
            }
        }
    }
}


Slettejobbet status side

Slettejobbet har sit eget status endpoint, der fortæller med en http kode, hvordan den seneste sletning gik.

Fejlfinding

Servicens logfiler bør løbende tjekkes for ERROR-logninger.

...

Servicen indeholder ikke nogen backup-mekanismer, og dette skal derfor konfigureres på database-niveau. Der bør foretages backup af data på en forsvarlig måde, i tilfælde af behov for en genetablering af data. Disse data skal opbevares på en forsvarlig måde, jfr. regler om personhenførbare data.

Slette job

Detaljer omkring de forskellige trin slettejobbet har, kan findes i FSK Design og arkitektur dokumentet.

Servicens slettejob bliver afviklet vha. en udstillet RestController, som kaldes vha. simpelt HTTP GET kald. 

Driften vedligeholder en cron, som kalder slettejobbets url i et fast mønster vha. curl.


Man kan ændre styring af slettejobbet ved at ændre følgende parametre:

  • desired.execution.duration=PT20S
    Det er en max grænse for hvor lang tid jobbet må køre pr. gang. Når jobbet har kørt den tid der er angivet, så stopper udførslen. Her efter kan jobbet kaldes igen og den vil fortsætte med processeringen hvor jobbet stoppede sidst.
    Parameteren angives som en Duration i ISO-8601 format. Dvs. eksemplet viser 20 sekunder.
  • deletion.fsk.batchsize=1000
    Det er en max grænse for, hvor mange cpr numre, der håndteres af gangen. Blandt andet i forbindelse med kald til PersonInformation deceased og den videre sletning af stamkort.

Kommando til kald af slettejob: <server>/fsk/fsk-cleanup/start