1. Konfiguration
Den vigtigste del for at få TCC'ens funktionalitet til at køre er mapningen mellem den fil der genereres af DTG'ens CPR-clean up job til den input folder, der er defineret i TCC'ens tcc.properties.
Konfiguration sker i filerne i compose/configuration-mappen, følger den normale komponent-standard og består af følgende filer, der volume-mappes ind:
1.1. Generator
|
Konfigurationsfil |
Beskrivelse |
|---|---|
| tcc.properties |
Opsætning af datasource og SFTP, samt input folder for csv fil med konverteringen fra et CPR til et andet, backup folder med tidligere csv filer og ekstern input folder, som nuværende ikke bliver brugt. |
| log4j-dtg-generator.xml |
Opsætning af log-niveau og -destination. Følger NSP-standard. |
2. Monitorering
TCC'en udstiller et overvågningsendpoint på følgende URL:
http://localhost:8080/testcprchanger/status
3. Database
TCC'en skal have skriveadgang til stamdata-databasen, da den tilføjer en ny tabel CprChangeLog og ændrer i andre tabeller.
Applikationen benytter Liquibase til automatisk at køre eventuelle databasemigreringer når applikationen starter op.
4. Beskrivelse af logs
TCC skriver til 3 forskellige log filer, der alle er placeret lokalt i Docker containeren i Wildfly standard log folderen: /pack/wildfly/standalone/log
4.1. Server log
Denne log indeholder log fra web konteksten af TCC'en.
timestamp=2025-03-10 09:09:16,624 threadId=ServerService Thread Pool -- 79 priority=INFO category=liquibase.lockservice - Successfully released change log lock timestamp=2025-03-10 09:09:18,155 threadId=ServerService Thread Pool -- 79 priority=INFO category=org.wildfly.extension.undertow - WFLYUT0021: Registered web context: '/testcprchanger' for server 'default-server' timestamp=2025-03-10 09:09:18,274 threadId=ServerService Thread Pool -- 45 priority=INFO category=org.jboss.as.server - WFLYSRV0010: Deployed "cra-ds.xml" (runtime-name : "cra-ds.xml") timestamp=2025-03-10 09:09:18,282 threadId=ServerService Thread Pool -- 45 priority=INFO category=org.jboss.as.server - WFLYSRV0010: Deployed "testcprchanger.war" (runtime-name : "testcprchanger.war") timestamp=2025-03-10 09:09:18,283 threadId=ServerService Thread Pool -- 45 priority=INFO category=org.jboss.as.server - WFLYSRV0010: Deployed "tcc-ds.xml" (runtime-name : "tcc-ds.xml") timestamp=2025-03-10 09:09:18,426 threadId=Controller Boot Thread priority=INFO category=org.jboss.as.server - WFLYSRV0212: Resuming server timestamp=2025-03-10 09:09:18,464 threadId=Controller Boot Thread priority=INFO category=org.jboss.as - WFLYSRV0025: WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) started in 14437ms - Started 538 of 765 services (384 services are lazy, passive or on-demand) timestamp=2025-03-10 09:09:18,473 threadId=Controller Boot Thread priority=INFO category=org.jboss.as - WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management timestamp=2025-03-10 09:09:18,473 threadId=Controller Boot Thread priority=INFO category=org.jboss.as - WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
4.2. Audit log
Denne log ligger i filen tccAudit.log og indeholder overordnet logning af TCC'ens aktivitet
timestamp="2025-03-10 09:21:15,893" priority="INFO" class="MAIN" message="New file found for processing, file=blablabla.csv"
timestamp="2025-03-10 09:21:15,903" priority="INFO" class="BACKUP" message="Creating backup file, file=blablabla.csv"
timestamp="2025-03-10 09:21:15,904" priority="INFO" class="PARSE_CSV" message="Parsing file, file=blablabla.csv"
timestamp="2025-03-10 09:21:15,913" priority="INFO" class="VALIDATE" message="Validating cpr change event, file=blablabla.csv, TccEvent{from='1111111111', to='2222222222', location=1}"
timestamp="2025-03-10 09:21:15,915" priority="INFO" class="UPDATE" message="Applying cpr change event, file=, TccEvent{from='1111111111', to='2222222222', location=1}"
timestamp="2025-03-10 09:21:16,027" priority="INFO" class="UPDATE" message="Successfully applied cpr change event, TccUpdateResult{event=TccEvent{from='1111111111', to='2222222222', location=1}, result={LPR3_registreringer.patientCpr field rows=0, PersonFamilie.AegtefaelleCPR field rows=0, YderregisterPerson_v3.CPR field rows=0, Notat.Id field rows=0, v2_ChangesToCPR.CPR field rows=0, Autorisation3.CPR field rows=0, v2_BarnRelation.CPR field rows=0, PersonFamilie.FarCPR field rows=0, Notat.CPR field rows=1, autreg.cpr field rows=0, Person2.CPR field rows=0, BegraensetOrdinationsret.Id field rows=0, v2_UmyndiggoerelseVaergeRelation.CPR field rows=0, PersonFamilie.CPR field rows=0, HistoriskeCivilstande.CPR field rows=0, HistoriskeAdresser.CPR field rows=0, v2_UmyndiggoerelseVaergeRelation.RelationCpr field rows=0, PersonKontakt.CPR field rows=0, Apotekere.CPR field rows=0, v2_ForaeldreMyndighedRelation.CPR field rows=0, HistoriskeFolkekirkeOplysninger.CPR field rows=0, HistoriskeForsvindGenfindOplysninger.CPR field rows=0, v2_ForaeldreMyndighedRelation.RelationCpr field rows=0, v2_UmyndiggoerelseVaergeRelation.Id field rows=0, HistoriskeStatsBorgerskaber.CPR field rows=0, CprChangeLog field rows=1, HistoriskeUdIndrejseOplysninger.CPR field rows=0, AssignedDoctor.patientCpr field rows=0, HistoriskePersonnumre.HistoriskCPR field rows=0, v2_BarnRelation.Id field rows=0, v2_ForaeldreMyndighedRelation.Id field rows=0, Sikrede.CPRnr field rows=0, YderregisterPerson_v4.CPR field rows=0, Autorisation.CPR field rows=0, HistoriskePersonnumre.CPR field rows=0, v2_Person.GaeldendeCPR field rows=0, autreg2.cpr field rows=0, BegraensetOrdinationsret.CPR field rows=0, HistoriskeCivilstande.AegtefaelleCPR field rows=0, ApotekereCvrRef.CPR field rows=0, Sikrede.SFolgerskabsPerson field rows=0, v2_Person.CPR field rows=0, v2_BarnRelation.BarnCPR field rows=0, Sikrede.SSKFamilieRelation field rows=0, HistoriskeSeparationer.CPR field rows=0, PersonFamilie.MorCPR field rows=0, HistoriskeNavneOplysninger.CPR field rows=0, DeltBopael.CPR field rows=0, Autorisation2.CPR field rows=0}}"
timestamp="2025-03-10 09:21:16,030" priority="INFO" class="COMPLETE" message="File processing completed, file=blablabla.csv"
4.3. Application log
Denne log ligger i filen tccApplication.log og indeholder også logning af TCC'ens aktivitet. For endnu mere logning aktiveres debug log.
timestamp="2025-03-10 09:21:15,893" priority="INFO" class="MAIN" message="New file found for processing, file=blablabla.csv"
timestamp="2025-03-10 09:21:15,903" priority="INFO" class="BACKUP" message="Creating backup file, file=blablabla.csv"
timestamp="2025-03-10 09:21:15,904" priority="INFO" class="PARSE_CSV" message="Parsing file, file=blablabla.csv"
timestamp="2025-03-10 09:21:15,913" priority="INFO" class="VALIDATE" message="Validating cpr change event, file=blablabla.csv, TccEvent{from='1111111111', to='2222222222', location=1}"
timestamp="2025-03-10 09:21:15,915" priority="INFO" class="UPDATE" message="Applying cpr change event, file=, TccEvent{from='1111111111', to='2222222222', location=1}"
timestamp="2025-03-10 09:21:16,027" priority="INFO" class="UPDATE" message="Successfully applied cpr change event, TccUpdateResult{event=TccEvent{from='1111111111', to='2222222222', location=1}, result={LPR3_registreringer.patientCpr field rows=0, PersonFamilie.AegtefaelleCPR field rows=0, YderregisterPerson_v3.CPR field rows=0, Notat.Id field rows=0, v2_ChangesToCPR.CPR field rows=0, Autorisation3.CPR field rows=0, v2_BarnRelation.CPR field rows=0, PersonFamilie.FarCPR field rows=0, Notat.CPR field rows=1, autreg.cpr field rows=0, Person2.CPR field rows=0, BegraensetOrdinationsret.Id field rows=0, v2_UmyndiggoerelseVaergeRelation.CPR field rows=0, PersonFamilie.CPR field rows=0, HistoriskeCivilstande.CPR field rows=0, HistoriskeAdresser.CPR field rows=0, v2_UmyndiggoerelseVaergeRelation.RelationCpr field rows=0, PersonKontakt.CPR field rows=0, Apotekere.CPR field rows=0, v2_ForaeldreMyndighedRelation.CPR field rows=0, HistoriskeFolkekirkeOplysninger.CPR field rows=0, HistoriskeForsvindGenfindOplysninger.CPR field rows=0, v2_ForaeldreMyndighedRelation.RelationCpr field rows=0, v2_UmyndiggoerelseVaergeRelation.Id field rows=0, HistoriskeStatsBorgerskaber.CPR field rows=0, CprChangeLog field rows=1, HistoriskeUdIndrejseOplysninger.CPR field rows=0, AssignedDoctor.patientCpr field rows=0, HistoriskePersonnumre.HistoriskCPR field rows=0, v2_BarnRelation.Id field rows=0, v2_ForaeldreMyndighedRelation.Id field rows=0, Sikrede.CPRnr field rows=0, YderregisterPerson_v4.CPR field rows=0, Autorisation.CPR field rows=0, HistoriskePersonnumre.CPR field rows=0, v2_Person.GaeldendeCPR field rows=0, autreg2.cpr field rows=0, BegraensetOrdinationsret.CPR field rows=0, HistoriskeCivilstande.AegtefaelleCPR field rows=0, ApotekereCvrRef.CPR field rows=0, Sikrede.SFolgerskabsPerson field rows=0, v2_Person.CPR field rows=0, v2_BarnRelation.BarnCPR field rows=0, Sikrede.SSKFamilieRelation field rows=0, HistoriskeSeparationer.CPR field rows=0, PersonFamilie.MorCPR field rows=0, HistoriskeNavneOplysninger.CPR field rows=0, DeltBopael.CPR field rows=0, Autorisation2.CPR field rows=0}}"
timestamp="2025-03-10 09:21:16,030" priority="INFO" class="COMPLETE" message="File processing completed, file=blablabla.csv"