Professional Documents
Culture Documents
IS-H FHIR Configuration Guide en
IS-H FHIR Configuration Guide en
2 Getting Started. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 CapabilityStatement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
Activate Business Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
Activate Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Activate FHIR Version. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Read CapabilityStatement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 View FHIR Profiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Mapping of SAP Patient Management Entities to FHIR Resources. . . . . . . . . . . . . . . . . . . . . . . . .8
This guide gives an overview of the different steps you have to carry out to integrate an application with SAP
Patient Management based on the FHIR interface.
Target audience of this document are integration developers with good knowledge in SAP Patient Management
and with little experience in HL7 FHIR.
For more information about the FHIR interface, see the following:
This section describes the necessary steps to activate the FHIR interface for SAP Patient Management and to
read the capabilityStatement describing the scope of the FHIR interface.
Note
Please make sure that the relevant SAP Notes are implemented in your system by checking any SAP Notes
for component IS-H-CM-FHI.
2.1 CapabilityStatement
SAP ships a preconfigured version of profiles in a generic form that are independent of country/region
specifics. You can adapt them for your needs. These profiles are based on the FHIR release R4. This shipped
FHIR version has the technical name SAP_ISH_R4_GEN.
This FHIR version groups a set of FHIR profiles and is bound to an SAP ABAP service endpoint. Its FHIR
capabilities are accessible through the capabilityStatement. It’s relevant for both inbound and outbound
communication.
Note
In this guide, all configuration steps and explanations are based on the shipped FHIR version
SAP_ISH_R4_GEN.
To be able to read the capabilityStatement of SAP Patient Management, you have to ensure the following:
For the FHIR interface, you have to activate the business function IS-H_MISC1. This activation makes the
corresponding Switch BC Sets available in the system.
Context
To activate the inbound communication service, you set up the connection in the Internet Communication
Framework (transaction SICF).
Procedure
To activate the shipped FHIR version, you have to select the Active indicator for this version in Customizing
under SAP Healthcare - Industry-Specific Components for Hospitals Communication FHIR Interface
Outbound Basic FHIR Components Register FHIR Versions .
After having performed the basic configuration for the FHIR interface, you can read the capabilityStatement
with the following RESTful operation:
GET http(s)://<host>:<port>/<FHIR-endpoint>/CapabilityStatement
The following figure indicates where you can find the different parts of the URL in transaction SICF:
● Using the Information on Port and Host button, you get the respective details.
● In the tree view, you get the name of the FHIR endpoint.
Transaction SICF
The functional scope that you find in the capabilityStatement is configured in Customizing under SAP
Healthcare - Industry-Specific Components for Hospitals Communication FHIR Interface Inbound
Configure FHIR Inbound Process as shown in the following figure:
In this Customizing activity, you can also find all supported RESTful interactions and messages of the
capabilityStatement.
1. Select the FHIR version in the Version view and double-click Resource in the Dialog Structure.
2. Select the Patient resource in the Resource view and double-click Interaction in the Dialog Structure.
You see all supported RESTful interactions for this resource. The similar procedure applies for search
parameters and valueSet bindings.
Note
When using the shipped FHIR version, you don’t need to perform the following Customizing activities under
SAP Healthcare - Industry-Specific Components for Hospitals Communication FHIR Interface
Outbound Basic FHIR Components . However, you can check the already populated entries for the FHIR
version SAP_ISH_R4_GEN:
● Configure FHIR Resource: You can see which FHIR resources are part of the corresponding version and
how they’re implemented using ABAP structures and implementation classes.
● Configure FHIR Component ABAP Dictionary: You can see how the used FHIR foundation and resource
data types, such as bundle, messageHeader, and identifier, are implemented in ABAP.
You can view the shipped FHIR profiles and other resources using the Business Document Service (BDS).
They’re grouped into the following nodes:
1. From the SAP menu, choose Office Business Documents Documents Find (transaction OAOR).
2. Enter the following data:
○ Class name: ISH_FHIR
○ Class type: OT
3. Choose Execute.
Note
When using the shipped FHIR version, you don’t need to perform the Customizing under SAP Healthcare
- Industry-Specific Components for Hospitals Communication FHIR Interface Inbound Configure
FHIR Inbound Process . However, you can check the already populated entries for the FHIR version
SAP_ISH_R4_GEN. You find more information on the included resources, search parameters, RESTful
interactions, valueSet binding, and inbound messages.
Note
You can also view the profiles in the Simplifier project FHIR Interface for SAP Patient Management (IS-H).
SAP Patient Management has its own data model that needs to be translated and mapped to the FHIR resource
model to allow FHIR-based communication.
For more information about the mapping logic, see the Application Help for SAP Patient Management on SAP
Help Portal at https://help.sap.com/viewer/product/SAP_FOR_HEALTHCARE under Communication FHIR
Interface for SAP Patient Management Relationship Between Entities in SAP Patient Management and FHIR
Resources .
The FHIR interface for SAP Patient Management supports the following integration scenarios:
● RESTful interactions
● Message-based communication, which can be:
○ Inbound messaging
○ Outbound messaging
Many integration scenarios using FHIR are based on its RESTful API. It allows for Create, Update, Delete, and
Read operations on FHIR resources, combined with search and FHIR operations. Through this, you can, for
example, connect a mobile device to SAP Patient Management and display patient data.
By setting up the capabilityStatement, you’ve enabled the first RESTful interaction. It’s actually a Read
operation of the resource capabilityStatement.
You can view all supported RESTful interactions in the capabilityStatement in Customizing under SAP
Healthcare - Industry-Specific Components for Hospitals Communication FHIR Interface Inbound
Configure FHIR Inbound Process .
Similar to reading the capabilityStatement, other RESTful interactions defined in the capabilityStatement can
be performed.
Example
Read the instance of a patient with patient identifier “1234” with the following RESTful operation:
GET http(s)://<host>:<port>/<FHIR-endpoint>/Patient/1234.
Note that you must first perform the relevant value mapping between SAP Patient Management and FHIR.
Related Information
FHIR messaging isn’t yet specified in the same way as RESTful interactions are. Especially, the definition of
events (that is, the codeSystem of message events) and the definition of the message content (that is,
predefined messageDefinitions) aren’t detailed. This leaves a certain degree of freedom to the application
developers implementing FHIR messaging and results in less plug-and-play interoperability than in the RESTful
interaction part of the FHIR specification.
The message being sent from a source application to a destination application is a bundle of type “message”.
Several resources are bundled in this message. The first is the messageHeader. The others are business
resources and depend on the type of message:
● In the messageHeader, the event of the message is specified (in messageHeader.event). The associated
valueSet is an example binding in FHIR R4.
● The messageDefinition resource specifies which other resources are communicated as part of the
message.
For the implementation of FHIR messaging, SAP takes the following approach:
● As the valueSet for the message events isn’t yet predefined by the FHIR specification, SAP designed an
event pattern based on the basic operations occurring on the business-related FHIR resources. That is, per
resource, such as Patient and Encounter, SAP 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 instances within SAP
Patient Management as message.
● The messageDefinition defines the content of the message per resource and event and also the expected
response. You can find the messageDefinition resources per event in the capabilityStatement of SAP
Patient Management. Please note that these messageDefinitions are configurable.
● Every time an event occurs, a message is created. This message is sent by invoking the $process-
message operation at the receiver.
● MessageDefinition
The messageDefinition describes the structure of the message that is sent containing in the .focus element
the following resources:
○ The Procedure that has been created.
○ The Patient for whom this Procedure was performed.
○ The Encounter during which the Procedure was performed.
○ In the .event element, the event procedure-created is specified.
● Actual message
○ As indicated in the FHIR standard, the actual message is a bundle of type “message” covering the
messageHeader resource in which the event is specified (procedure-created).
○ The other resources referenced through the .focus element are the resources that are specified in the
corresponding messageDefinition.
Similar to the RESTful interactions, there are predefined messages that are shipped with the FHIR version
SAP_ISH_R4_GEN. You can view the inbound messages in Customizing under SAP Healthcare - Industry-
Specific Components for Hospitals Communication FHIR Interface Inbound Configure FHIR Inbound
Process :
● By selecting the FHIR version and double-clicking Message Event in the Dialog Structure, you see all the
inbound messages defined for this FHIR version.
● By selecting one message and double-clicking Message Definition in the Dialog Structure, you see which
resources are part of this message.
Note
Currently, you can’t see the messageDefinitions for outbound messages in the configuration. You only see
the instances when triggering the corresponding events.
Outbound FHIR messages are based on the built-in hospital communication module (HCM) events. When, for
example, a patient is created in SAP Patient Management, the HCM event NP0100 is triggered. For this event, a
FHIR message is created and then sent.
The following steps describe how to set up the outbound FHIR interface for messaging based on the shipped
generic FHIR resources grouped in the version SAP_ISH_R4_GEN.
Note
Currently, you can’t configure the outbound messageDefinitions. The only way to modify outbound
messages is on an instance base using the Business Add-In (BAdI) NFHIR_OB_SENDER (BAdI: Outbound
Sender).
Context
Activate the FHIR interface as EDI procedure for the institution for which outbound messages are to be sent.
Procedure
The technical connection between the external system and SAP Patient Management is realized by an RFC
connection of the type “G” (HTTP connection to external server).
Example
For an example of a static JSON Web Token (JWT), see the Integration Guide for Outbound FHIR
Messaging.
If you want FHIR eventing to be logged, enable the logging either on institution or on client level.
You enable the application log in Customizing under SAP Healthcare - Industry-Specific Components for
Hospitals Communication FHIR Interface Outbound Electronic Data Interchange for FHIR :
For FHIR messaging, only a subset of the HCM events is relevant. For technical reasons when mapping SAP
Patient Management movements to FHIR Encounters, the following new events are introduced:
Note
If you use the FHIR version SAP_ISH_R4_GEN, you can check the shipped settings in the following
Customizing activities:
Depending on your use case, you can assign only those messages that are relevant to the external destination.
You can make these settings in Customizing under SAP Healthcare - Industry-Specific Components for
Hospitals Communication FHIR Interface Outbound Communication Assign FHIR Outbound
Destination . For an example, see the Integration Guide for Outbound FHIR Messaging.
In addition to the FHIR messages related to transactional data, SAP Patient Management offers a master data
synchronization based on FHIR messaging.
For this synchronization, a set of messages is predefined within the FHIR version SAP_ISH_R4_GEN. These are
the so-called “initial load messages”. Through these messages, you can send data to another system so that it
can synchronize its master data.
In the Application Help for SAP Patient Management on SAP Help Portal at https://help.sap.com/viewer/
product/SAP_FOR_HEALTHCARE under Communication FHIR Interface for SAP Patient Management
Relationship Between Entities in SAP Patient Management and FHIR Resources , you can see how the master
data entities in SAP Patient Management relate to FHIR resources.
For each of these SAP Patient Management entities, an initial load message is defined. This message is sent
when running the report RNFHIR_INITIAL_LOAD. For more information about this report, see the Application
Help for SAP Patient Management on SAP Help Portal at https://help.sap.com/viewer/product/
SAP_FOR_HEALTHCARE under Communication FHIR Interface for SAP Patient Management Reports for
Data Synchronization .
The initial load messages are defined from the perspective of the SAP Patient Management entities. You can
check them in Customizing under SAP Healthcare - Industry-Specific Components for Hospitals
The following table describes the message content that is sent for the initial load messages. Each message is a
bundle of the mentioned FHIR resources:
Content
● Practitioner
● PractitionerRole
Planning object
You can view the messageDefinition of each initial load message by querying the system with the following
RESTful operation:
Example
GET http(s)://<host>:<port>/<FHIR-endpoint>/MessageDefinition/location-initial-
load-sender
To ensure semantic interoperability, the FHIR messages must comply with the predefined valueSets in FHIR for
all relevant elements.
The valueSet binding in Customizing under SAP Healthcare - Industry-Specific Components for Hospitals
Communication FHIR Interface Inbound Configure FHIR Inbound Process is valid for both inbound and
outbound communication.
Related Information
Outbound messages are created and sent using report RNFHIR_EVENTS_PROCESSOR. To have them sent
periodically, schedule a job for this report with the required frequency.
SAP Patient Management processes incoming messages by validating their structure and payload and then
persisting the corresponding database objects.
As errors can occur during inbound message processing, they’re stored in the Forward Error Handling (FEH)
framework. You can check the message queue using the Postprocessing Office (PPO) (transaction /n/SAPPO/
PPO2). A message queue is defined per object type and object.
You can visualize and configure inbound messageDefinitions in Customizing under SAP Healthcare -
Industry-Specific Components for Hospitals Communication FHIR Interface Inbound Configure FHIR
Inbound Process :
1. Select the FHIR version SAP_ISH_R4_GEN and then double-click Message Event in the Dialog Structure.
2. Select a message event and then double-click Message Definition in the Dialog Structure.
3. You can add additional resources to be processed in the corresponding inbound message.
Context
To activate Read Access Logging (RAL) for inbound FHIR messaging on instance level, execute the following
steps.
Table Condition
SRAL_PURPOSES id = N_FHIR
3. Transport the request from client 000 to your test or production client using transaction SCC1.
4. Ensure that the corresponding profile parameter is enabled.
Open transaction SRALMANAGER and then choose Administration Enabling in Client . Here you can
see if the profile parameter sec/ral_enabled_for_rfc is enabled. If not, set profile parameter sec/
ral_enabled_for_rfc to 1.
Context
To activate Read Access Logging (RAL) for inbound FHIR messaging on application level, execute the following
steps.
Subobject Descrip
Institution Object ID Subobject ID Object Description tion
For all these entries, in the Maintain, Display, and Denied column, choose medium.
As SAP Patient Management has a proprietary way of storing patient-related data, a mapping to the FHIR
representation has to be performed.
The mapping from SAP Patient Management entities and attributes to FHIR resources and elements is built
into the FHIR interface. However, the mapping of SAP Patient Management values to the specific FHIR
terminology concepts, like valueSets and codeSystems, often depends on the customer or project-specific
context and therefore can’t be done automatically.
Let’s take the example of the patient’s gender and their marital status.
The following figure shows the FHIR specification for the resource Patient:
FHIR Specification for Resource Patient (This page is part of the FHIR specification.)
● The valueSet for the gender is a required value set. This means that the values are predefined by the FHIR
standard and, in order to be compliant, only those values shall be used.
● The valueSet for the marital status is an extensible value set. This means that the specified values shall be
used if they match semantically. If not, then additional values can be added.
For all resources, check the elements and then the corresponding valueSet binding.
Let’s look at the shipped SAP Patient profile and its element gender:
Patient with Element Gender (This page is part of the FHIR specification.)
On the SAP Patient Management side, the values for the patient gender are built into the application and have
the following fixed values (defined using the domain GESCHL):
● 1 for male
● 2 for female
● 3 for unknown
This means that the SAP Patient Management values 1, 2, and 3 have to be mapped to the FHIR values male,
female, other, and unknown.
The mapping is done in Customizing under SAP Healthcare - Industry-Specific Components for Hospitals
Communication FHIR Interface Inbound Define FHIR ValueSet Mapping :
1. In the ValueSet Base Data view, in column Defining URL, select http://hl7.org/fhir/ValueSet/
administrative-gender.
2. In the Dialog Structure, double-click ValueSet Details.
Note
The external codes are the FHIR codes. The internal codes are the SAP Patient Management codes.
Let’s look at the patient’s marital status. In the FHIR standard, the corresponding valueSet binding is defined as
an extensible one containing 11 values.
Patient with Element MaritalStatus (This page is part of the FHIR specification.)
In SAP Patient Management, the marital status can be defined by the customer in Customizing under SAP
Healthcare - Industry-Specific Components for Hospitals Patient Management Patients Maintain Marital
Status . This customizing can look like this, for example:
0 Single
1 Marr.
2 Wid.
3 Div.
4 NM
5 Sep.
6 Unknwn
9 RegCou
A RescRP
These customer values have to be mapped to the FHIR-defined valueSet. As the SAP values are free of any
semantic (that is, no domain values exist), SAP can’t ship any mapping between the FHIR valueSet and the
SAP Patient Management values for the marital status. Thus, only a partially populated table is shipped. In this
table, you can enter the SAP Patient Management values that you have chosen and map them to the
corresponding FHIR value.
To reduce the mapping effort, SAP ships parts of the required mapping that you can complete and adapt to
your needs.
Using the transaction for Business Configuration Sets (BC Sets), you can view the shipped valueSets and
mappings to SAP Patient Management values.
For information about the detailed mapping between SAP Patient Management and FHIR, see SAP Note
2963681 .
Hyperlinks
Some links are classified by an icon and/or a mouseover text. These links provide additional information.
About the icons:
● Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your
agreements with SAP) to this:
● The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information.
● SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any
damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.
● Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering a SAP-hosted Web site. By using such
links, you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this
information.
Example Code
Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax
and phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of
example code unless damages have been caused by SAP's gross negligence or willful misconduct.
Gender-Related Language
We try not to use gender-specific word forms and formulations. As appropriate for context and readability, SAP may use masculine word forms to refer to all genders.
SAP and other SAP products and services mentioned herein as well as
their respective logos are trademarks or registered trademarks of SAP
SE (or an SAP affiliate company) in Germany and other countries. All
other product and service names mentioned are the trademarks of their
respective companies.