Page History
...
203 Non-authoritative Information
TODO
...
Audit log
NXRG laver forretningslogninger audit log ved hvert kald af de udbudte ITI-services. I det følgende gennemgåes formaterne for hver service.
Alle forretningslogninger logninger ender i en dedikeret logfil nxrg-itiusageaudit.log.
Loglinjen er formatteret som json og alle logninger har følgende indgange:
timestamp: Tidsstempel for loghændelsen
threadId: Trådens navn (hvor iti-servicen blev udført)
category: Hvilken ITI service beskriver linjen?
status: Returstatusværdi for den pågældende service rapporteres i status, mens eventuelle fejl angives i en liste errors.
priority: Loglinjens prioritet (er INFO for forretningslogninger)
Logning for ITI-42
Succesfuldt kald til service iti-42 giver anledning til en logningslinje på følgende format:
*Komponent: NXRG/<operation>, hvor <operation> er navnet på det ITI kald som laves. F.eks. ITI-57.
For hver skrives følgende informationer
Komponent | Kontekst*1 | Felt | Type | Indhold |
---|---|---|---|---|
NXRG/ITI-42 | submissionset uniqueId | CitizenId | SensitivePersonalInformation | PatientId |
SubmissionSetInformation | RegularPersonalInformation | Identifikation (uniqueId) af det submissionset, der indeholder informationen i iti-42 kaldet. | ||
DoucmentEntryInformation | RegularPersonalInformation | En liste af entryUUid'er og uniqueId'er, der oprettes. Hvis en documentEntry i kaldet giver anledning til replace på en anden documentEntry, så angives dette uuid i egenskaben replacesEntryUuid. | ||
Status | NonPersonalInformation | |||
Errors | RegularPersonalInformation | |||
NXRG/ITI-61 | ||||
NXRG/ITI-57 | Typen af opdatering | |||
UUID der er opdateret. | ||||
NXRG/ITI-18 | Identifikation typen af query. | |||
*1) Er nøglen null tildeles et tilfældigt uuid
Logning for ITI-42
Succesfuldt kald til service iti-42 giver anledning til en logningslinje på følgende format:
Code Block |
---|
{
"time": "2021-12-01T05:41:34.053Z",
"category": "dk.sds.nsp.audit.log.nxrg/iti-42",
"audit": {
"timestamp": "2021-12-01T06:41:33.552+01:00",
"components": [
|
Code Block |
{ "timestamp":"25 Jun 2021 11:58:15,468", "threadId":"default task-1", "priority":"INFO", "category":"ITI-42", "status":{ "errors":null, "status":"OK" }, "submissionSet":{ "uniqueIdcomponent":"5321688553302212937.6611016525576425327.1624615095422" "NXRG/ITI-42", }, "documentEntriescontexts": [ { "entryUUidcontext":"urn:uuid:608ce70e-db4b-4ced-98d6-58cdbba16a14 "5829933881450595335.691505562960183089.1638337293227", "uniqueId":information"urn:uuid:608ce70e-db4b-4ced-98d6-58cdbba16a15", [ "replacesEntryUuid":null { } ] } |
Iti-42 logninger har følgende egenskaber:
submissionSet: Identifikation (uniqueId) af det submissionset, der indeholder informationen i iti-42 kaldet.
documentEntries: En liste af entryUUid'er og uniqueId'er, der oprettes. Hvis en documentEntry i kaldet giver anledning til replace på en anden documentEntry, så angives dette uuid i egenskaben replacesEntryUuid.
Logning for ITI-18
Succesfuldt kald til service iti-18 giver anledning til en logningslinje på følgende format:
"key": "CitizenId",
"type": "SPI",
"value": "0101"
},
{
"key": "SubmissionSetInformation",
"type": "RPI",
"value": "{\"uniqueId\":\"5829933881450595335.691505562960183089.1638337293227\"}"
},
{
"key": "DoucmentEntryInformation",
"type": "RPI",
"value": "{\"entryUUid\":\"urn:uuid:ef04ddc0-b086-436f-a7db-37d4bbef8af6\", \"uniqueId\":\"4654430528298460003.324281175136550912.1638337293167\", \"replacesEntryUuid\":null}"
},
{
"key": "Status",
"type": "NPI",
"value": "OK"
}
]
}
]
}
]
},
"access": {
"code": 200,
"duration": 360,
"httpHeaders": {
"Content-Type": "application/soap+xml; charset=UTF-8"
},
"httpHost": "localhost",
"method": "POST",
"path": "/nxrg/iti42",
"query": "",
"port": 8060,
"protocol": "http",
"reqSize": 8528,
"resSize": 919,
"soapHeaders": {
"w3Action": "urn:ihe:iti:2007:RegisterDocumentSet-b",
"w3MessageID": "urn:uuid:5d2b8ccb-3a7f-4b0b-becc-4330999c1021",
"w3To": "http://localhost:8060/nxrg/iti42"
},
"threadId": "default task-1",
"time": "2021-12-01T06:41:33.544+01:00",
"stats": {
"handlerDuration": 121,
"RequestContentDuration": 19,
"ResponseContentDuration": 0,
"SecurityProtocolRequestDuration": 5,
"SecurityProtocolResponseDuration": 0,
"bufferAllocated": true,
"usedBuffers": 2,
"activeBuffersInPool": 2,
"idleBuffersInPool": 0
}
}
} |
Logning for ITI-61
Succesfuldt kald til service iti-61 giver anledning til en logningslinje på følgende format:
Code Block |
---|
{
"time": "2021-12-01T05:44:20.01Z",
"category": "dk.sds.nsp.audit.log.nxrg/iti-61",
"audit": {
"timestamp": "2021-12-01T06:44:19.821+01:00",
"components": [
{
"component": "NXRG/ITI-61",
"contexts": [
{
"context": "6943690717325663174.4847763071154435223.1638337459544",
"information": [
{
"key": "CitizenId",
"type": "SPI",
"value": "0101"
},
{
"key": "SubmissionSetInformation",
"type": "RPI",
"value": "{\"uniqueId\":\"6943690717325663174.4847763071154435223.1638337459544\"}"
},
{
"key": "DoucmentEntryInformation",
"type": "RPI",
"value": "{\"entryUUid\":\"urn:uuid:92ee0d66-a9e0-4931-a90d-d5d708fa80c5\", \"uniqueId\":\"6284022344789100604.4104933276600124364.1638337459491\", \"replacesEntryUuid\":null}"
},
{
"key": "Status",
"type": "NPI",
"value": "OK"
}
]
}
]
}
]
},
"access": {
"code": 200,
"duration": 165,
"httpHeaders": {
"Content-Type": "application/soap+xml; charset=UTF-8"
},
"httpHost": "localhost",
"method": "POST",
"path": "/nxrg/iti61",
"query": "",
"port": 8060,
"protocol": "http",
"reqSize": 8211,
"resSize": 922,
"soapHeaders": {
"w3Action": "urn:ihe:iti:2010:RegisterOnDemandDocumentEntry",
"w3MessageID": "urn:uuid:af796d78-361d-457e-89ba-df01bca340d0",
"w3To": "http://localhost:8060/nxrg/iti61"
},
"threadId": "default task-1",
"time": "2021-12-01T06:44:19.82+01:00",
"stats": {
"handlerDuration": 18,
"RequestContentDuration": 1,
"ResponseContentDuration": 0,
"SecurityProtocolRequestDuration": 0,
"SecurityProtocolResponseDuration": 0,
"bufferAllocated": false,
"usedBuffers": 2,
"activeBuffersInPool": 2,
"idleBuffersInPool": 0
}
}
} |
Logning for ITI-57 - slette markering
Succesfuldt kald til service iti-57 for at slette markere et dokument, giver anledning til en logningslinje på følgende format:
Code Block |
---|
{
"time": "2021-12-01T05:46:05.636Z",
"category": "dk.sds.nsp.audit.log.nxrg/iti-57",
"audit": {
"timestamp": "2021-12-01T06:46:05.406+01:00",
"components": [
{
"component": "NXRG/ITI-57",
"contexts": [
{
"context": "urn:uuid:d324c3e0-68b4-4c3e-8988-bff2325f2edb",
"information": [
{
"key": "CitizenId",
"type": "SPI",
"value": "0102"
},
{
"key": "updatedObjectUuid",
"type": "RPI",
"value": "urn:uuid:d324c3e0-68b4-4c3e-8988-bff2325f2edb"
},
{
"key": "writeUpdateOperationName",
"type": "NPI",
"value": "UpdateDocumentEntryAvailabilityStatus"
},
{
"key": "Status",
"type": "NPI",
"value": "OK"
}
]
}
]
}
]
},
"access": {
"code": 200,
"duration": 205,
"httpHeaders": {
"Content-Type": "application/soap+xml; charset=UTF-8"
},
"httpHost": "localhost",
"method": "POST",
"path": "/nxrg/iti57",
"query": "",
"port": 8060,
"protocol": "http",
"reqSize": 3524,
"resSize": 915,
"soapHeaders": {
"w3Action": "urn:ihe:iti:2010:UpdateDocumentSet",
"w3MessageID": "urn:uuid:8cd0fb3a-cc48-4706-8b6f-025d7dd891fd",
"w3To": "http://localhost:8060/nxrg/iti57"
},
"threadId": "default task-1",
"time": "2021-12-01T06:46:05.405+01:00",
"stats": {
"handlerDuration": 4,
"RequestContentDuration": 0,
"ResponseContentDuration": 0,
"SecurityProtocolRequestDuration": 0,
"SecurityProtocolResponseDuration": 0,
"bufferAllocated": false,
"usedBuffers": 1,
"activeBuffersInPool": 1,
"idleBuffersInPool": 1
}
}
} |
Logning for ITI-18
Succesfuldt kald til service iti-18 giver anledning til en logningslinje på følgende format:
Code Block |
---|
{
"time": "2021-12-01T05:48:42.821Z",
"category": "dk.sds.nsp.audit.log.nxrg/iti-18",
"audit": {
"timestamp": "2021-12-01T06:48:42.772+01:00",
"components": [
{
"component": "NXRG/ITI-18",
"contexts": [
{
"context": "urn:uuid:36358982-bfa1-4ad9-ba86-9b5ea33196c2",
"information": [
{
"key": "CitizenId",
"type": "SPI",
"value": "22222222"
},
{
"key": "queryType",
"type": "NPI",
"value": "urn:uuid:14d4debf-8f97-4251-9a74-a90016b0af0d"
},
{
"key": "returnType",
"type": "NPI",
"value": "LeafClass"
},
{
"key": "numberOfResults",
"type": "NPI",
"value": "2"
},
{
"key": "DoucmentEntryInformation",
"type": "RPI",
"value": "{\"entryUUid\":\"urn:uuid:268cd839-11e2-4121-8fea-3f184e5f3efa\", \"uniqueId\":\"5766156196412876102.2822196146951899395.1638337675198\", \"replacesEntryUuid\":null}"
},
{
"key": "DoucmentEntryInformation",
"type": "RPI",
"value": "{\"entryUUid\":\"urn:uuid:ccff6d0e-c2bd-4b9d-81d6-874726e9bba4\", \"uniqueId\":\"7402593388400441251.2665840693284483189.1638337722275\", \"replacesEntryUuid\":null}"
},
{
"key": "Status",
"type": "NPI",
"value": "OK"
}
]
}
]
}
]
},
"access": {
"code": 200,
"duration": 31,
"httpHeaders": {
"Content-Type": "application/soap+xml; charset=UTF-8"
},
"httpHost": "localhost",
"method": "POST",
"path": "/nxrg/iti18",
"query": "",
"port": 8060,
"protocol": "http",
"reqSize": 2123,
"resSize": 11289,
"soapHeaders": {
"w3Action": "urn:ihe:iti:2007:RegistryStoredQuery",
"w3MessageID": "urn:uuid:accc136e-1ca4-4a04-bfe1-4caef4e31328",
"w3To": "http://localhost:8060/nxrg/iti18"
},
"threadId": "default task-1",
"time": "2021-12-01T06:48:42.772+01:00",
"stats": {
"handlerDuration": 13,
"RequestContentDuration": 0,
"ResponseContentDuration": 0,
"SecurityProtocolRequestDuration": 0,
"SecurityProtocolResponseDuration": 0,
"bufferAllocated": false,
"usedBuffers": 1,
"activeBuffersInPool": 1,
"idleBuffersInPool": 1
}
}
} |
Iti-18 logninger har følgende egenskaber:
queryType: Identifikation typen af query.
returnType: Definerer, hvilken type af objekter, der returneres fra servicen
numberOfResults: Antallet af documententries i svaret
Logning når fejl
Følgende er et eksempel på et ITI-42 kald med, fejl. Konkret mangler CPR numret i kaldet.
Code Block |
---|
{
"time": "2021-12-01T05:50:00.92Z",
"category": "dk.sds.nsp.audit.log.nxrg/iti-42",
"audit": {
"timestamp": "2021-12-01T06:50:00.894+01:00",
"components": [
{
"component": "NXRG/ITI-42",
"contexts": [
{
"context": "5912107379890312866.8220644980724288715.1638337800700",
"information": [
{
"key": "CitizenId",
"type": "SPI",
"value": ""
},
{
"key": "SubmissionSetInformation",
"type": "RPI",
"value": "{\"uniqueId\":\"5912107379890312866.8220644980724288715.1638337800700\"}"
},
{
"key": "DoucmentEntryInformation",
"type": "RPI",
"value": "{\"entryUUid\":\"urn:uuid:5ea9015e-75f7-4cc5-85ff-079b56f36499\", \"uniqueId\":\"6660232118599018558.1142303413219772882.1638337800625\", \"replacesEntryUuid\":null}"
},
{
"key": "Status",
"type": "NPI",
"value": "ERROR"
},
{
"key": "Errors",
"type": "RPI",
"value": "{\"errorCode\":\"XDSRegistryMetadataError\", \"errorMessage\":null, \"codeContext\":\"External identifier value is missing: urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b3844 (patientId)\", \"location\":null, \"severity\":\"urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error\"}"
}
]
}
]
}
]
},
"access": {
"code": 200,
"duration": 17,
"httpHeaders": {
"Content-Type": "application/soap+xml; charset=UTF-8"
},
"httpHost": "localhost",
"method": "POST",
"path": "/nxrg/iti42",
"query": "",
"port": 8060,
"protocol": "http",
"reqSize": 8518,
"resSize": 1221,
"soapHeaders": {
"w3Action": "urn:ihe:iti:2007:RegisterDocumentSet-b" |
Code Block |
{ "timestamp":"25 Jun 2021 12:50:40,929", "threadId":"default task-1", "priority":"INFO", "category":"ITI-18", "status":{ "errors":null, "statusw3MessageID":"OK" "urn:uuid:215c930a-73c0-4a6f-84fe-0c24e3725ba7", }, "queryTypew3To": "urnhttp:uuid:14d4debf-8f97-4251-9a74-a90016b0af0d", //localhost:8060/nxrg/iti42" }, "returnTypethreadId": "LeafClassdefault task-1", "numberOfResultstime":5 } |
Iti-18 logninger har følgende egenskaber:
queryType: Identifikation typen af query.
returnType: Definerer, hvilken type af objekter, der returneres fra servicen
numberOfResults: Antallet af documententries i svaret
Logning for ITI-57
Succesfuldt kald til service iti-57 giver anledning til en logningslinje på følgende format:
Code Block |
---|
{ "2021-12-01T06:50:00.894+01:00", "timestampstats":"11 Aug 2021 13:41:07,202" { "handlerDuration": 4, "RequestContentDuration": 0, "threadIdResponseContentDuration":"default task-1" 0, "prioritySecurityProtocolRequestDuration":"INFO" 0, "categorySecurityProtocolResponseDuration":"ITI-57" 0, "statusbufferAllocated":{ false, "statususedBuffers":"OK" 2, "errorsactiveBuffersInPool":null 2, }, "updateOperationNameidleBuffersInPool":"UpdateDocumentEntryAvailabilityStatus", "updatedObjectUuid":"urn:uuid:7a2bf9c1-3603-46fe-9b22-4d25e4c01192" } |
Iti-57 logninger har følgende egenskaber:
updateOperationName: Typen af opdatering
...
0
}
}
} |
Migreringstool
Migreringstoolet læser opentext data fra en Mariadb og producerer opdateringsscripts til indlæsning i NXRG databasen.
...
Env, der skal sættes i forbindelse med kørsel:
ENV | Beskrivelse | Eksempel |
---|---|---|
nxrg_data_url | URL til databasen med NXRG data | jdbc:mysql://localhost:3307/nxrg |
nxrg_data_user | Bruger til NXRG databasen | nxrg |
nxrg_data_pass | Password for bruger | nxrg |
cpr_file | Inputfil med cprnumre, der skal fixes | /input/cprinput.txt |
Cleanup job
Cleanup job sletter DocumentEntries og tilhørende objekter fra NXRG databasen som er ældre end en specificeret dato.
...