Indhold


Indledning

Læsevejledning

Læseren forventes at have kendskab til National Sundheds-IT's platform NSP, samt generelt kendskab til WildFly applikation server, MariaDB og java.

Definitioner og forkortelser

Definition

Beskrivelse

NSP

Den nationale service platform (inden for sundheds-IT)

Overvågning 

Statussnitflade

Løsningen kan overvåges med:

http://<server>:<port>/minlog2-kafka-proxy/status


som svarer HTTP OK tilbage, hvis alt fungerer. Dette kald verificerer kafka adgang.

Eksempel på svar, hvor datasen er til rådoghed.

HTTP/1.1 200 OK

Kafka : OK 

Alarmsnitflade

Løsningen kan overvåges med:

http://<server>:<port>/minlog2-kafka-proxy/alarm

som svarer HTTP OK tilbage, hvis alt fungerer eller svarere HTTP  Internal Server Error, hvis fejl.

Dette kald verificerer adgang til kafka for det konfiguerede topic.

Eksempel på svare, hvor personinformationservice ikke er tilgængelig.

HTTP/1.1 500 Internal Server Error

Der er ingen forbindelse til kafka med topic: MinLog2-Topic.

Logfiler

Kafka proxy har eget sæt af logfiler – alle placeret i <jboss>/standalone/logs. Derudover kan der forekomme logning til server.log.

Logformaterne kan findes i log4j filerne som er placeret i Wildfly og hjælp til patterns kan findes i forbindelse med Log4J: https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html

Kafka proxy snitflade

Det er muligt at kalde snitfladen på følgende adresse:

http://<server>:<port>/minlog2-kafka-proxy/2026/02/11/registrations

Properties opsætning

Kafka proxy kan konfigueres med følgende properties:



bootstrap.servers=localhost:9092

Se https://kafka.apache.org/documentation/#producerconfigs

client.id=MinLog2-producer

Se https://kafka.apache.org/documentation/#producerconfigs

key.serializer=org.apache.kafka.common.serialization.StringSerializer

Se https://kafka.apache.org/documentation/#producerconfigs

value.serializer=org.apache.kafka.common.serialization.StringSerializer

Se https://kafka.apache.org/documentation/#producerconfigs

kafka.topic=MinLog2-Topic

Se https://kafka.apache.org/documentation/#producerconfigs

nsp.kafka.producer.component.name=MinLog2-registration-producer

Se Den Gode Brug af Kafka

nsp.kafka.producer.component.abbreviation=MinLog2-producer

Se Den Gode Brug af Kafka

nsp.kafka.producer.component.version=1.0.0

Se Den Gode Brug af Kafka

nsp.kafka.producer.service.name=produce

Se Den Gode Brug af Kafka

kafka.health.connectionTimeoutMs

Angiver hvor længe health checket på kafka skal vente inden den melder en fejl.

Default er 1000 MS


Eksempel på kald

Kald

curl -v -X POST \
  http://<server>:<port>/minlog2-kafka-proxy/2026/02/11/registrations \
  -H "Content-Type: application/json" \
  -d '[
    {
      "destinationForRegistration": {
"dateTimeRange": {
"from": "2019-11-11T05:50:47.705Z",
"to": "2019-11-11T07:50:47.705Z"
},
        "systemName": "system name1",
        "activity": "activity1",
        "criticality": "criticality1",
        "addition": "addition1",
        "role": "role1",
        "reason": "reason1",
        "correlationId": "correlation id1",
        "sequenceNumber": "sequence number1",
        "personIdentifier": { "value": "0101017890", "source": "CPR" },
        "personName": "person name1",
        "userPersonIdentifier": { "value": "DK123abc", "source": "EUROPEANHEALTHCAREPROFESSIONAL" },
        "userPersonName": "user person name1",
        "onBehalfOfPersonIdentifier": { "value": "BBBBB", "source": "AUTORISATION" },
        "onBehalfOfPersonName": "on behalf person name1",
        "onBehalfOfUserRole": "on be half user role1",
        "organisationId": { "value": "organisation id1", "source": "org id src1" },
        "organisationName": "organisation name1"
      },
      "sourceForRegistration": {
        "systemName": "parent",
        "correlationId": "correlation source id1",
        "source": {
          "systemName": "child1"
        }
      }
    }
  ]'



Svar

{
   "failedLogDataEntries":[
      
   ],
   "addedPersonIdentifiers":[
      "0101017890"
   ],
   "failedPersonIdentifiers":[
      
   ],
   "numberAdded":1,
   "numberFailed":0
}