Events and MessageDefinition Instances

Events

As the FHIR Standards does not yet define concrete events (see MessageHeader.event), SAP has defined a codeSystem for potential input for the HL7 organization. Its event pattern is based on basic operations occurring on the business related FHIR resources.

  • This means that per resource like Patient, Condition etc. we defined messages like patient-created, condition-updated or procedure-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 instances within SAP Patient Management as message.
  • See this codeSystem here

MessageDefinition Instances

For each of the events, we defined a specific MessageDefinition instance which contains:

  • the corresponding event code (example patient-created)
  • the category with value "consequence"
  • the focus elements (e.g. the encounter instance that has been created)
    • the focus element refers to a specific profile indicating the requirements towards that instances, f.ex. in terms of must-support elements, mandatory fields, valueSets etc.
    • the min and max for the number of instances. For the CUD messages this is typically 1.

Each event code has a specific MessageDefinition instance associated. Below is a set of messageDefinition instances for transactional data as samples:

Resource Created MsgDef instance Updated MsgDef instance Inbound msg profile
Patient Patient-created MessageDefinition Patient-updated MessageDefinition to come Profile
Condition Condition-created MessageDefinition to come Condition-updated MessageDefinition to come Profile to come
Procedure Procedure-created MessageDefinition to come Procedure-updated MessageDefinition to come Profile to come