Usage Event Format

 

Each Patient Access API request is published to the Kafka topic as one transaction log event. The event uses the standard transaction log format, with the member and application values in additionalJson.

Example Event

 

The following event records a GET Patient/patient-005 request made by the insure-pay application, with request and response bodies omitted:

{
  "payload": {
    "initialTimestamp": "2026-08-26T15:10:10.685-04:00",
    "type": "FHIR_REQUEST",
    "subType": "FHIR_READ",
    "outcome": "SUCCESS",
    "endpointNodeId": "Master",
    "endpointModuleId": "http_patient_access",
    "processingTime": 13,
    "requestId": "NLEwc6mWw0wUIoUp",
    "additionalJson": {
      "patient_id": "patient-005",
      "client_id": "insure-pay",
      "subject": "d749550c-2f63-4c5a-9bf2-696b3af9d328"
    },
    "events": [
      {
        "endpointLocalPort": 8011,
        "initialTimestamp": "2026-08-26T15:10:10.685-04:00",
        "requestUrl": "https://example.com/patient-access-fhir/Patient/patient-005",
        "requestVerb": "GET",
        "type": "ENDPOINT_RECEIVE"
      },
      {
        "endpointLocalPort": 8011,
        "initialTimestamp": "2026-08-26T15:10:10.698-04:00",
        "outcome": "SUCCESS",
        "type": "ENDPOINT_REPLY",
        "responseStatus": 200
      }
    ],
    "userModuleId": "smart_auth_pa",
    "userNodeId": "Master",
    "transactionGuid": "ad59d558-6230-488f-bbef-6d2f279c5576"
  }
}

Fields Used for Usage Reporting

 
Field Description
initialTimestamp The time the request was received.
type, subType Always FHIR_REQUEST. The subtype identifies the FHIR interaction, for example FHIR_READ or FHIR_SEARCH_TYPE. See Event Types and SubTypes.
outcome SUCCESS or FAIL.
endpointModuleId The module ID of the Patient Access API endpoint.
additionalJson.patient_id The member's Patient resource ID, from the access token's patient claim.
additionalJson.client_id The requesting application's client ID, from the access token's client_id or azp claim.
additionalJson.subject The member's user identifier at the IdP, from the access token's sub claim.
transactionGuid A unique identifier for the event. Use it to discard duplicate deliveries.

An additionalJson key is absent when the corresponding claim was not present in the access token. The additionalJson property is absent when the request had no authenticated session.