SAP implementation of FHIR messaging

For the implementation of FHIR messaging, SAP followed the following approach:

  • As the event codes for the message events are not yet predefined by the FHIR specification, SAP designed an event pattern based on the basic operations occurring on the business related FHIR resources. This means that per resource like Patient, Encounter etc. we defined messages like patient-created, encounter-updated or appointment-cancelled.
  • Initial load is a particular event. Its purpose is to synchronize master data like practitioner with another system. The message with the event practitioner-initial-load sends all practitioner related instances as message.
  • The messageDefinition defines the content of the message per resource and event and also the expected response. The MessageDefinition resources per event can be found in the capabilityStatement.
  • Every time an event occurs a message is created. This message is sent by invoking the $process-message operation at the receiver's endpoint.