Versions Compared

Key

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

...

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

TypeIndhold
NXRG/ITI-42submissionset uniqueIdCitizenIdSensitivePersonalInformationPatientId


SubmissionSetInformationRegularPersonalInformationIdentifikation (uniqueId) af det submissionset, der indeholder informationen i iti-42 kaldet.


DoucmentEntryInformationRegularPersonalInformationEn 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.


StatusNonPersonalInformation


ErrorsRegularPersonalInformation
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:

ENVBeskrivelseEksempel
nxrg_data_urlURL til databasen med NXRG datajdbc:mysql://localhost:3307/nxrg
nxrg_data_userBruger til NXRG databasennxrg
nxrg_data_passPassword for brugernxrg
cpr_fileInputfil 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.

...