FHIR API HIEBus™ FHIR API
Interface Guide

Logging

The FHIR interface has a variety of logging settings.

Audit Logging

All FHIR searches and data access requests are logged by the system, in the same way as searches and data access requests executed via the Web Client.

FHIR requests are recorded in the audit log as WebClient API <end point prefix> events–e.g., WebClient API fhir for the default FHIR end point.

Request Logging

In the General Settings for an endpoint, you can configure a log directory. When this directory is specified, the system will create an XML file in that directory for each FHIR request it receives.

Log Directory Configuration
Log Directory Configuration
Log Example
Log Example

Log Threshold

Setting the log duration threshold to a value greater than zero causes the server to log only the calls that take longer than the specified number of milliseconds–this helps in reducing the log noise on busy systems.

Log Contents

Each XML file contains:

  • Time stamp and duration of the call (in milliseconds).
  • Profiling information (in versions version 5.19.23.0 and higher) specifying all internal calls to the CareEvolution data service, time spent mapping resources, and some other execution times.
<LogInfo>
  <Time>6/15/2016 11:10:54 AM -04:00</Time>
  <Duration Milliseconds="92.4">
    <Steps>
      <Step Name="CreateFilters" Milliseconds="0.4" />
      <Step Name="LocalData.PagedQueryPatientsBegin" Milliseconds="18" />
      <Step Name="Create FHIR Patient" Milliseconds="5.8">
        <Steps>
          <Step Name="LocalData.GetRecordGroupByRecordID" Milliseconds="2" />
          <Step Name="LocalData.QueryPatientIDs" Milliseconds="0.3" />
          <Step Name="LocalData.MapTerm" Milliseconds="1" />
          <Step Name="LocalData.MapTerm" Milliseconds="1" />
          <Step Name="LocalData.MapTerm" Milliseconds="0.9" />
        </Steps>
      </Step>
        . . . 
    </Steps>
  </Duration>
   . . . 

  • Client IP address.
  • HTTP method (GET, POST).
  • FHIR resource being accessed (if applicable).
  • Complete request URI.
  • Request headers.
  • Request body (if applicable).
  • Response HTTP status
  • Response headers.
  • Response body (if applicable).

The file names are a combination of the time stamp, client IP address, HTTP method, FHIR resource, response HTTP status code and execution time in milliseconds–e.g., 2015-05-21 15.00.53.993 ;;1 GET Patient 200 54.xml. IPv6 addresses ‘:’ are converted to ‘;’ when composing the file name.

Logs in the Web Client

FHIR logs can be listed and inspected using the https://YourWebClientUrl/fhir/logs Web Client page:

Log Directory Configuration
Log Directory Configuration