Skip to end of metadata
Go to start of metadata
This guide aims at helping customers and partners to successfully implement the Enterprise Services of SAP Patient Management for inbound and outbound communication and to use them either directly or in combination with HL7 messages in an IHE compliant way.

 

It explains, step by step, the necessary activities to be performed and the necessary pre-requisites.

N.B. : This guide covers both, the former IHE configuration guide and the former Service configuration guide. The latter is obsolete now.

Table of Contents:

Context and IHE compliance

Starting with SAP ECC 6.0 Industry Extension Healthcare EhP4, SAP Patient Management offers Enterprise Services (see this page for an overview) and supports specific IHE Integration Profiles and respective Actors, namely those out of the IHE domain IT Infrastructure (ITI) such as:

  • PDQ - Patient Demographics Query
  • PAM - Patient Administration Management
  • PIX - Patient Identifier Cross-Referencing.

The picture below depicts the architecture and the different product components for HL7 communication. The different steps are described based on the example of sending out an HL7 message A28 (Create Patient) according to the IHE Transaction Patient Identity Feed

The data flow is the following:

  • Step 1: A patient is created in SAP Patient Management. This triggers an internal event and then the associated asynchronous outbound enterprise service. In the outbound enterprise service the relevant patient data is collected through filler routines and exposed at the Enterprise Service's interface which has an XML structure.
  • Step 2: In NetWeaver PI the data types of the Enterprise Service XML is mapped to the HL7 version 2.5 XML
  • Step 3: The IAH Adapter converts the HL7 XML to the native HL7 pipe format of the A28 message. This message is then transported using MLLP to the connected system or to the communication engine. Since March, 2012 the IAH (Integration Adapter for Healthcare) HL7 Adapter is available as an SAP Consulting Service. 

For incoming messages, the flow is the inverse one.

Additional information on Enterprise Services for ADT (admission, discharge, transfer) can be found in the Enterprise Services Wiki for Patient Administration

Finally, you can get more information on the ITI Profiles mentioned above, under: http://www.ihe.net/IT_infra/committees/index.cfm.  

Example

The guide illustrates the different steps using the example of the flow Create patient out of the Profile PAM, transaction Patient Identity Feed (ITI-030), performed by the actor Patient Demographics Supplier, and corresponding to the HL7 message A28. In every green box you will find more details related to this example.

Prerequisites

The pre-requisites are the following:

  • NetWeaver PI is installed (please note that PI (Process Integration) was formerly called XI (Exchange Infrastructure); this is the reason why we use these two terms as synonyms in this wiki)
  • The prerequisite of using IAH to implement IHE services is to have PI 7.1 or later version installed.
  • SAP ECC 6.0 Industry Extension Healthcare EhP4 or EhP5 is installed (or any more recent version).

If you only intend to implement enterprise services, only the third pre-requisite is necessary.

Step 1: Prepare & configure SAP Patient Management 

1.1 Activate business function

Activate the business function

  • SAP Patient Management: Legal Process Adoption (ISH_MISC1) for the Enterprise Service shipped with EhP4
  • SAP Patient Management: Legal Process Adoption 2 (ISH_MISC2) for the Enterprise Service shipped with EhP5.

The business function is activated using the Switch Framework: Change Business Function Status transaction (SFW5). After that, all relevant customizing transactions are visible and maintainable, and communication using service operations can be executed on the relevant client. 

1.2 Identify the necessary service operation

The table below shows, per IHE transaction of the ITI domain and IHE actor the relevant HL7 message and the enterprise services to be utilized.

For all other enterprise services please see the Overview page and navigate from there.

Profile

Actor

Transaction

Option/Flow

HL7 Message

Enterprise Service 

Direction

Mode

Available from

PAM

Patient Demographics Supplier

Patient Identity Management (ITI-30)

Create Patient

A28

Inform of Patient Creation

Outbound

Async

EhP4

PAM

Patient Demographics Supplier

Patient Identity Management (ITI-30)

Update Patient Demographics

A31

Inform of Patient Change

Outbound

Async

EhP4

PAM

Patient Demographics Supplier

Patient Identity Management (ITI-30)

Merge

A40

Inform of Patient Merge

Outbound

Async

EhP4

PAM

Patient Demographics Supplier

Patient Identity Management (ITI-30)

Change Patient Identifiers

A47

Inform of Patient Identification Change

Outbound

Async

EhP4

PAM

Patient Demographics Consumer

Patient Identity Management (ITI-30)

Create Patient

A28

Maintain Patient
Confirm Patient Maintenance 

Inbound
Outbound

Async

EhP4

PAM

Patient Demographics Consumer

Patient Identity Management (ITI-30)

Update Patient Demographics

A31

Maintain Patient
Confirm Patient Maintenance 

Inbound
Outbound

Async

EhP4

PAM

Patient Demographics Consumer

Patient Identity Management (ITI-30)

Merge

A40

Merge Patient
Confirm Patient Merge

Inbound
Outbound

Async

EhP4

PAM

Patient Demographics Consumer

Patient Identity Management (ITI-30)

Change Patient Identifiers

A47

Maintain Patient
Confirm Patient Maintenance 

Inbound
Outbound

Async

EhP4

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Admit inpatient

A01

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Discharge patient

A03

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Register outpatient

A04

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Update patient information

A08

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Cancel admit/visit

A11

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Cancel discharge

A13

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Merge patient identifier lists

A40

Inform of Patient Merge

Outbound

Async

EhP4

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Inpatient/Outpatient Encounter Management/Transfer patient

A02

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Inpatient/Outpatient Encounter Management/Pre-admit patient
The follwing HL7 messages can be sent out using this service (HL7 mapping to be created):

  • A38 (Cancel pre-admission)

A05

Inform of Patient Encounter Record

Outbound

Async

EhP5 

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Inpatient/Outpatient Encounter Management/Change patient class to inpatient

A06

Inform of Patient Encounter Record

Outbound

Async

EhP5 

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Inpatient/Outpatient Encounter Management/Change patient class to outpatient

A07

Inform of Patient Encounter Record

Outbound

Async

EhP5 

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Inpatient/Outpatient Encounter Management/Cancel transfer patient

A12

Inform of Patient Encounter Record

Outbound

Async

EhP5 

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Pending Event Management/ Pending admit
A27 (Cancel pending admit) can also sent out using this service; HL7 mapping to be created.

A14

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Pending Event Management/Pending transfer
A26 (Cancel pending transfer) can also sent out using this service; HL7 mapping to be created.

A15

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Pending Event Management/Pending discharge
A25 (Cancel pending discharge) can also sent out using this service; HL7 mapping to be created.

A16

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Advanced Encounter Management/ Leave of absence

A21

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Advanced Encounter Management/Return from leave of absence

A22

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Advanced Encounter Management
The follwing HL7 messages can be sent out using this service (HL7 mapping to be created):

  • A54 (Change attending doctor)
  • A55 (Cancel attending doctor)
  • A52 (Cancel leave of absence)
  • A53 (Cancel return from leave of absence)
  • A44 (Move account information)

 

Inform of Patient Encounter Record

Outbound

Async

EhP5

PAM

Patient Encounter Supplier

Patient Encounter Management (ITI-31)

Historic Movement/ ZBE Segment  supported for all ITI-31 flows mentioned above

 

Inform of Patient Encounter Record

Outbound

Async

EhP5

PDQ

Patient Demographics Supplier

Patient Demographics Query (ITI-21)

Patient Demographics Query
Patient Demographics Response

Q21,
K21

Find Patient by Basic Data

Inbound

Sync

EhP4

PDQ

Patient Demographics Consumer

Patient Demographics Query (ITI-21)

Patient Demographics Query
Patient Demographics Response

Q21,
K21

Find Patient by Basic Data

Outbound

Sync

EhP4*

PIX

Patient Identity Source

Patient Identity Feed (ITI-8)

Admission of an inpatient

A01

Inform of Patient Encounter Record

Outbound

Async

EhP5

PIX

Patient Identity Source

Patient Identity Feed (ITI-8)

Registration of an outpatient

A04

Inform of Patient Encounter Record

Outbound

Async

EhP5

PIX

Patient Identity Source

Patient Identity Feed (ITI-8)

Pre-admission of an inpatient

A05

Inform of Patient Encounter Record

Outbound

Async

EhP5

PIX

Patient Identity Source

Patient Identity Feed (ITI-8)

Update patient information

A08

Inform of Patient Encounter Record

Outbound

Async

EhP5

PIX

Patient Identity Source

Patient Identity Feed (ITI-8)

Patient Identity Merge

A40

Inform of Patient Encounter Record

Outbound

Async

EhP4

PIX

Patient Identifier Cross-Reference Consumer

PIX Query (ITI-9)

Get Corresponding Identifiers
Return Corresponding Identifiers

Q23
K23

Find Patient by Basic Data

Outbound

Sync

EhP4*

PIX

Patient Identifier Cross-Reference Consumer

PIX Update Notification (ITI-10)

Update Person Information

A31

Maintain Patient
(Confirm Patient Maintenance)

Inbound
(Outbound)

Async

EhP4

*) Only partially supported: outbound service is there, but data replication and UI changes are not provided.

Please keep in mind that the enterprise services do not provide the native HL7 pipe message, but an XML interface that corresponds to the HL7 2.5 Standard XML messages (see http://www.hl7.org/Special/committees/xml/drafts/v2xml.html).

Example

The relevant enterprise service for our example is the asynchronous service Inform on Patient created.

1.3 Maintain identification data per business object

SAP offers the possibility to handle multiple identifiers (IDs) per business object. In accordance with the UN/CEFACT Core Component Technical Specification (CCTS), the identification context of an identifier or a code is defined by supplementary componentsAn ID is a unique identification of an object within an identification scheme that is managed by an agency. 

This means that an ID is unique in combination with the following values, known as supplementary components:

  • schemeID: Identifies the identification scheme for the identifier as defined by a scheme agency.
  • schemeAgencyID: Identifies the agency that defines the identification scheme (aka the numbering algorithm). Examples of scheme agencies are HL7 for hospital communication, ISBN for books and so on. The value for this supplementary component must either be taken from the UN/CEFACT DE 3055 code list or from a URL.
    There can be multiple identification schemes for identifying an object . Patients can for example be identified in different ways, such as:
    • the patient's social security number
    • the unique identifier in SAP Patient Management (PATNR)
    • the patient's passport number
    • the identifier of the customer system connected to SAP.

As these identifiers have to refer to an identification scheme and an assigned agency (which can be, for example, "SAP" if the ID is a patient number, or the government if it is a social security number), information about this agency has to be maintained in SAP Patient Management. Then, IDs can be sent to SAP Patient Management in combination with the supplementary components using Enterprise Services.

When data is sent, SAP Patient Management evaluates the configuration (so-called Customizing). This Customizing must be previously maintained, and the allowed IDs must be defined there. The IDs can either belong to the namespaces of SAP Patient Management or to one of the connected systems.

The relevant data has to be maintained in Customizing for SAP Healthcare - Industry-Specific Components for Hospitals  under  Communication -> Preparation for Service Enabling   -> Inbound Processing -> Maintain Validation Parameters > Maintain business object identification.

In this Customizing activity, identifying data has to be maintained for every business object required. Be aware that every business object that has a relationship to another one also requires the information for the related business object. That means the following steps have to be carried out for all service operations (in this example we are using Patient Encounter service operations):

  1. Maintain the Scheme-ID and Scheme-Agency-ID for the internal and external IDs of the business object Patient Encounter. The internal and external IDs have to be maintained if both are used. If only one is used then only that one has to be maintained.
  2. Patient Encounter refers to the business object Billing Patient Encounter Group. Therefore, step 1 has to be carried out again for the relevant Business Patient Encounter Group IDs.
  3. Patient Encounter also refers to the business object Patient. Therefore, step 1 has to be carried out again for the relevant Patient IDs. 


Example

For our example, the identification for the business object Patient are to be maintained. Following the the path above, you can see that there are two identifiers for the BO Patient, which are the internal patient ID NPAT-PATNR and the external one NPAT-EXTNR. If you are working with the SAP Patient Management internal IDs (PATNR) only, there is nothing to be configured.

However if you also want to take external patient identifiers into account (e.g. IDs from a lab system), you have to specify where these IDs come from (in the scheme agency column). A sample configuration can be seen in the screen shot below:


Note: Please click the image to enlarge it.

Remark: although we only want to configure an outbound service, the complete set of customizing activities for the business object patient have to be performed, this means also the ones mentioned in the section "inbound processing".

1.4 Map GDTs to data types in SAP Patient Management

The input and output parameters of the Enterprise Services are specified using GDTs (Global Data Types). They have to be translated into the SAP Patient Management data types. This translation can be done in the Customizing, using the following path: SAP Healthcare - Industry-Specific Components for Hospitals under Communication -> Preparation for Service Enabling -> Inbound Processing -> Assign GDTs to Customizing Data

Example

For our example, the following GDTs are to be mapped:

  • Religious Denominations (like Hindu)
  • Parishes (like St. Joseph's Church in London)
  • Risk factors (like asthma)
  • Causes of death (like suicide)
  • Ethnic groups (like Caucasian)
  • Identification documents (like drivers license)
  • Relationships (like mother, husband)
  • Types of coverage for insurances
  • Insurance Subgroups (only relevant for country version Germany and Austria).

Depending on the enterprise service you would like to use and the Business objects they belong to (see overview page for details), different customizing activities apply. The sections below describe them per Business object:

1.4.1 Mapping of Business Partner Patient Data

Depending on the chosen implementation for the business partner (IS-H business partner or SAP Business Partner), the necessary customizing activities are different .

The table below lists all customizing activities necessary for Enterprise services of the Business Object Patient. They can be be reached with the following path:

SAP Healthcare - Industry-Specific Components for Hospitals -> Communication -> Preparation for Service Enabling -> Inbound Processing -> Assign GDTs to Customizing Data -> Patient

Customizing step

To be maintained with IS-H Patient

To be maintained with SAP BP patient

Find Identical Customizing Entries

X

 

Maintain Assignment of Academic Titles

X

 

Assign Name Prefixes

X

 

Maintain Assignment of Name Affixes

X

 

Maintain Assignment of Forms of Address

X

 

Assign Marital Statuses

X

 

Assign Types of Coverage for Ins. (Field HealthInsuranceMembershipType)

X

X

Assign Religious Denomination Texts (Field Religious Affiliation Code)

X

X

Assign Insurance Subgroups (Field HealthCarePayerDeterminationLegal)

X

X

Assign Parishes (Field LocalReligiousCommunityCode)

X

X

Assign Risk Factors (Field MedicalRisk_Factor)

X

X

Assign Causes of Death (Field MannerOfDeathCode)

X

X

Assign Ethnic Groups (Field Race Ethnicity Code)

X

X

Assign Identification Document Categories (Field PartyIdentifierTypeCode)

X

X

Assign Types of Relationships (Field: DependantRelationship)

X

X

Since the Enterprise Services interface structures are aligned with the SAP Business Partner, the titles etc. need to be mapped from the IS-H BP to the SAP BP world.

The relevant customizing activities can be found at SAP Healthcare - Industry-Specific Components for Hospitals  under Communication SAP Healthcare -> Communication -> Preparation for Service Enabling -> Inbound Processing -> Assign GDTs to Customizing Data -> Patient -> Assign Patient Data to Business Partner Data. There titles, name prefixes etc. are mapped from the IS-H BP world to the SAP BP world. This step must be performed, even if no SAP BP is used , because the services use the new business partner structures and fields and require the titles etc. in the right table.

If SAP Business Partner is already in use, a different set of activating steps is required. Because the business partner mapping is carried out using a different approach, BP related Customizing is mapped through default implementations of Business Add-Ins (BAdIs). Mapping of GDTs and Customizing is performed using identical names. These BAdIs can be found in Customizing for  SAP   Healthcare - Industry-Specific Components for Hospitals  under  Communication -> Preparation for Service-Enabling   -> Business Add-Ins (BAdIs) -> Business Partner Mapping for Enterprise Services -> Communication with Logical Systems -> BAdIs for XI interfaces .

If you are using customer defined values for business partner GDTs then you cannot work with the mapping that is performed by the default implementation, in which case a customer-specific mapping has to be performed. This requires a customer-specific implementation. Follow the normal procedure for the implementation of BAdIs.
For SAP Patient Management, only the following BAdIs are used:

  • BAdI: Mapping of the Academic Title
  • BAdI: Mapping of the Form of Address
  • BAdI: Mapping of Prefixes
  • BAdI: Mapping of Name Supplements
  • BAdI: Mapping of Marital Status.
1.4.2 Mapping of Medical Activity Customizing Data

The pre-requisite for the utilization of enterprise services of the Business Object Medical Activity are the customizing activities in this section: SAP Healthcare - Industry-Specific Components for Hospitals under Communication -> Preparation for Service-Enabling -> Inbound Processing -> Assign GDTs to Customizing Data -> Medical Activity. 

All following customizing activities have to be performed regardless of the SAP Business Partner or the IS-H Business Partner being used:

  • Assign Column Information for Serv. Cat. (Field MdclSrvProductPriceCtgCode)
  • Assign Service Assignments (Field ServiceProductAssgmtTypeCode)
  • Assign Billing Categories (Field: IndividualBillingCategoryCode) [EhP5 only].
1.4.3 Mapping of Medical Diagnosis Customizing Data

For the Medical Diagnosis Business Object (delivered with EhP5) the mapping steps to be performed can be found at: Customizing for SAP Healthcare - Industry-Specific Components for Hospitals under Communication -> Preparation for Service-Enabling -> Inbound Processing -> Assign GDTs to Customizing Data -> Diagnoses

All following customizing activities have to be performed regardless of the SAP Business Partner or the IS-H Business Partner being used:

  • Assign Diagnostic Supplements (Field DiagnosticSupplementCode)
  • Assign Definition of Medical Localizations (Field AnatomicalLocationCode)
  • Assign Diagnostic Certainty (Field DiagnosticCertaintyCode.
1.4.4  Mapping of Medical Procedure Customizing Data

For the Medical Procedure Business Object (delivered with EhP5) the mapping steps can be found at: Customizing for SAP Healthcare - Industry-Specific Components for Hospitals under Communication -> Preparation for Service-Enabling -> Inbound Processing -> Assign GDTs to Customizing Data -> Medical Procedures

All following customizing activities have to be performed regardless of the SAP Business Partner or the IS-H Business Partner being used:

  • Assign Definition of Medical Localizations (Field AnatomicalLocationCode)
  • Assign Surgery Types (Field SurgicalProcedureTypeCode).
1.4.5 Mapping of Medical Record Folder Customizing Data

For the Medical Record Folder Business Object (delivered with EhP5) the mapping steps can be found at: Customizing for SAP Healthcare - Industry-Specific Components for Hospitals under Communication -> Preparation for Service-Enabling -> Inbound Processing -> Assign GDTs to Customizing Data -> Medical Record

The following customizing activity has to be performed regardless of the Patient business object being handled as an SAP Business Partner or as an IS-H Business Partner:

  • Assign Document Types (Field Type Code)
1.4.6 Mapping of Patient Encounter Data

For the Patient Encounter Business Object the mapping steps to be performed can be found at: Customizing for SAP Healthcare - Industry-Specific Components for Hospitals  under  Communication -> Preparation for Service-Enabling -> Assign GDTs to Customizing Data -> Patient Encounter .

All following customizing activities have to be performed regardless of the SAP Business Partner or the IS-H Business Partner being used:

  • Assign Patient Classes (Field: PatientAccomodationCategoryCode) 
  • Assign Treatment Codes (Field:  PatientTreatmentTypeCode)
  • Assign Modes of Arrival (Field: PatientArrivalModeCode)
  • Assign Referral Types (Field Secondary/PatientReferralTypeCode)
  • Assign EDI Reasons for Movement (Field ReasonCode, SecondaryReasonCode)
  • Assign Disposition at Discharge (PatientDischargeDispositionCode)
  • Assign Accident Types (Field AccidentCategoryCode)
  • Assign Movement Types (Field: Initiation/TerminationReasonCode)
  • Assign Cancellation Reasons (Field: CancellationReasonCode)
  • Assign Emergency Services (Field: PatientTransportServiceProviderCode)
  • Assign Visit Status (Field StatusCode) [EhP5].
1.4.7 Mapping of Billing Patient Encounter Group Data

For the Billing Patient Encounter Group Business Object the mapping steps to be performed can be found at: Customizing for SAP Healthcare - Industry-Specific Components for Hospitals under Communication -> Preparation for Service-Enabling -> Inbound Processing -> Assign GDTs to Customizing Data -> Case.  

All following customizing activities have to be performed regardless of the SAP Business Partner or the IS-H Business Partner being used:

  • Assignment: Reasons for Copayment Waiver (Field: PatientEncounterReason) 
  • Assignment: Case Categs (Field BillingPatientEncounterGroupBillingTypeCode)

1.5 Activate Enterprise Services

Depending on the type of service (synchronous, asynchronous), different steps for its activation are to be performed. 

1.5.1 Activate Synchronous Inbound Request Confirmations

Synchronous request confirmations can be run either directly or through SAP NetWeaver PI. In both cases SAP guarantees the same quality of service, e.g. that a service request is sent exactly, and only, once. This task is fulfilled by the Idempotency Framework.

Activation of the Idempotency Framework for Synchronous Inbound Service Operations

The idempotency framework is an SAP functionality that guarantees that all data of synchronous service operations is stored properly in the database if successful and that duplicate data sets are not saved. This framework also guarantees that service operations are executed exactly once and not more than once. The idempotency framework is activated with transaction WSIDPADMIN and has to be carried out for every client to be used. This transaction must be run before the first time you use service operations and it guarantees that data is saved properly and that data sent by a synchronous service operation is executed only once.

Sending Synchronous Messages Properly

To guarantee the Exactly Once behavior, messages sent to SAP Patient Management have to contain unique identifiers. Messages are stored in SAP Patient Management and upon arrival of a new message, its existence is checked by checking for the identifier in the database. Therefore, when sending messages to SAP Patient Management, the UUID field of the message header must be filled with a universal unique identifier. The system checks if the identifier is there, and if it is not, an error message is triggered.

1.5.2 Activate Asynchronous Outbound Notifications

With asynchronous outbound notifications, you can send information to connected systems upon changes in SAP Patient Management.

The communication principle is the following:

  • When a transaction is executed in SAP Patient Management and change for example patient data or encounter data an event is triggered and stored in table NHCF_EVENT.
  • The report RNHCF_EVENTS_PROCESSOR processes these events and calls the corresponding asynchronous outbound Enterprise Service.
  • This report can be scheduled periodically in order for these enterprise services to be triggered automatically.

As information about a new patient and a new case are very important to the connected systems, these events are processed in a fast and immediate way (similar to the "express dispatch mode" of HCM). They are actually not stored in table NHCF_EVENT, but the corresponding outbound service is rather triggered immediately. Only in the error case, these events are added to NHCF_EVENT.

Activation of Asynchronous Outbound Notifications

For outbound notification the following customizing steps have to be executed:

  • Activation of the EDI procedure "HCF" per institution through the customizing activity SAP Healthcare - Industry-Specific Components for Hospitals under Communication -> Electronic Data Interchange -> Activate EDI Procedure
  • Defining a configuration set through the customizing activity SAP Healthcare - Industry-Specific Components for Hospitals under Communication -> Asynchronous Outbound Processing -> Maintain HCF Configuration SetsHere the institution for which you would like to use the shipped configuration is to be activated.
  • Note that the other customizing activities in the section SAP Healthcare - Industry-Specific Components for Hospitals under Communication -> Asynchronous Outbound Processing are for your information if you use the SAP shipped Enterprise Services. They provide important insight in the relationship between events in SAP Patient Management and triggered outbound notifications for example. However, if you develop your own enterprise services, they have to be reflected in the customer namespace of these customizing tables. For more information, see the documentation for these customizing activities. Find below some more details on the most important customizing activities:
    • Assign Relevant EDI Events for Service Enabling: lists all events that trigger outbound notifications through enterprise services
    • Assign Events to Business Objects: describes which events are mapped to which actions on which Business Object. It also describes which keys for the Business Object are being used.
    • Maintain Client-Dependent and Institution-Dependent Settings: defines the logging procedures. For a productive system, we recommend not to log all messages, but rather only errors and maybe warnings.

 

Example

In our example, we can see in the Customizing activity Assign Events to Business Objects that the Enterprise Service for communicating outbound patient creation information is triggered by the three events NP0100, NP01K0, NP01N0.


Note: Please click the image to enlarge it.

1.6 Verify your configuration

The report RNHCF_CUST_MAP_CHECK will help you to check the correctness and completeness of your configuration. For more details refer to the documentation of the report in your IS-H system.

The report is available from EhP5 on.

Step 2: Prepare & configure NetWeaver PI

The following configuration steps are to be performed in PI:

2.1 Download the PI Content

The HL7 content for PI can be downloaded from the service marketplace (Link http://service.sap.com/swdc) . Either you search for the different items or you follow this path: A-Z Index: Support Packages and Patches. Under “E” you find the item “ESR Content (XI Content)”. (Please note that we use XI and PI as synonyms, as the naming has changed from XI (C

Another possible path is the following: http://service.sap.com/support > Software downloads > SAP Software Download Center > Support Packages and Patches > then Browse Our Download Catalog (in Find your Software Tab) > SAP Content > ESR Content (XI Content) > XI CONTENT HL7

There are the different items (software components SWC) relevant for HL7 compatibility of SAP Patient Management:

  • XI Content HL7 100: contains the HL7 v2.5 structures
  • XI CONTENT IS-H: contains the structures of the IS-H Enterprise services
  • XI CONTENT IS-H_IC: contains the mapping from IS-H Enterprise services interfaces to the HL7 structures (HL7 version 2.5).

Regarding the PI content,

  • Please make sure that the Enhancement Package of SAP Patient Management corresponds to the Enhancement Package of the PI Content (e.g. IS-H 605 corresponds to IS-H_IC 605)
    Concerning the SP (support package) version, we recommend to always download the most recent SP of the PI Content as no major development related To Enterprise Services has been made since EhP5 and the most recent SP contains all the corrections since this shipment.
  • When incorporating ISH PI content please also ensure that the SWCs used are from Feb 2013 or later.
  • See also note 1813205 for more details.
  • The mapping is described here (SAP Service Marketplace access permission needed; Navigation path: http://service.sap.com/instguides, then choose Industry Solutions -> Industry Solution Guides -> SAP for Healthcare; there you find the SAP Patient Management - HL7 Mapping)

2.2 Upload value mapping

Value mapping offers you a fast and flexible way of maintaining data to be mapped and of changing it according to your needs. These values are mostly code values that are under your control and you must map them to the corresponding HL7 values. The Value Mapping Upload Guide provides an overview of the available mappings and contains a brief description of how to utilize them. You must upload the value mapping because code lists require mapping.

  • The EhP4 version of this guide is here: http://service.sap.com/instguides > Industry Solutions > Industry Solution Guides > SAP for Healthcare (document Patient Management Value Mapping Upload Guide)
  • The EhP5 version of this guide is attached to note 146162 (document Process_Integration_Mapping_Guide.pdf).

2.3 Configuration of Business Event

All services that are developed in EhP5 are Point to Point enabled i.e. a service can be used directly without NetWeaver PI.

All outbound services are Business event enabled, this means that an event is published when an action is performed in SAP Patient Management.

In order to receive the outbound information directly (i.e without Process Integration) one has to enable the Event option in the logical port configuration of the service in SOAMANAGER transaction and also check if the event in activated via SLEI_EVT_LINKAGE transaction.

2.4 Configuration scenarios

Communication in SAP NetWeaver PI requires a configuration set. This configuration set is not delivered by SAP and has to be created and configured in the implementation project. The configuration requires the following components:

  • Communication channels
  • Receiver agreement
  • Sender agreement
  • Receiver determination
  • Interface mapping

Once these configuration steps are performed, communication between different systems can be started. For more information, see the attached Configuration Scenario Guide that can be reached here -> Industry solutions -> Industry solution guides -> SAP for healthcare.

Step 3: Install and Configure the IAH HL7 Adapter

The integration Adapter for Healthcare (IAH) transforms native HL7 message in the pipe format into HL7 XML that can then be mapped to the XML of the Enterprise Services in NetWeaver PI and vice versa. It also handles the HL7 specific transport protocol MLLP. For more details on IAH see this SCN article.

IAH is available as an SAP Consulting Service and can be provided by your local SAP consulting organization.

Error Handling

Error handling helps you to react if a service cannot be executed properly. A variety of service patterns are supported, which means that different error handling procedures are used depending on the service pattern. Briefly, error processing is handled the following way:

  • Synchronous inbound services do not store error messages in the Monitor for Processed XML Messages (transaction SXMB_MONI), but instead return error messages to the service consumer with the log structure supplied. You can set up your user interface in such a way that the error messages are displayed to the user.
  • Asynchronous inbound services supply information on technical errors in the Monitor for Processed XML Messages. That means that all errors triggered by mapping or validation of data are supplied in the monitor of the SAP NetWeaver PI system. No configuration is required for this. Business errors are displayed in the Postprocessing Office. This helps you to solve back-end errors related to conflicting or contradictory messages or missing datasets. The Postprocessing Office offers a 'retry' functionality that allows the reprocessing of messages. This functionality can handle errors related to the following:
    • Number ranges
    • Locking of data
    • Changing of nonexistent data (for example, if a patient encounter update service operation was started for a patient encounter that does not exist)
  • Asynchronous outbound services are executed as a consequence of an event being fired in SAP Patient Management due to a change of patient related data. This event is is process by the report RNHCF_EVENTS_PROCESSOR. If the processing is successful, the corresponding Enterprise Service is called and the event is deleted. However if the processing was not successful (due to a missing configuration for example), the corresponding event remains in table NHCF_EVENT and the error messages of RNHCF_EVENTS_PROCESSOR indicate how to solve the issues.
    In the case of asynchronous outbound services, the Postprocessing Office only displays errors that have occurred, and does not allow you to resolve them through the 'retry' functionality.

Only the Postprocessing Office requires configuration before use.

Returning Error Messages and Codes

As described above, synchronous services return their error message in an error log. This log contains the following information:

Log Elements

Value

Error/warning/information/success message

ProcessingResultCode

5

Error message exists in one of the log items

ProcessingResultCode

3

Success message

SeverityCode

3

Error message

SeverityCode

2

Warning message

SeverityCode

1

Information message

Log Elements

Value

Format/conversion/procedure

CategoryCode

FOE

Format error: Validation-related errors have this CategoryCode

CategoryCode

DCE

Conversion Errors: Mapping-related errors have this CategoryCode

CategoryCode

PRE

Procedure Errors: Technical or back-end-related errors have this CategoryCode.
Example: You attempt to change a patient that is locked.

Errors are reported through the log in the confirmation message. Links to long texts for the error messages are provided in the WebURL element of the log items.

Configuration of the Postprocessing Office (PPO)

SAP offers a simple preconfiguration of the PPO. The configuration is delivered using system tables and is not visible through Customizing. However, you can maintain additional customer-specific Customizing for configuration of the PPO in Customizing for Cross-Application Components under General Application Functions ->Postprocessing Office. The current configuration can be checked with the Customizing activity Display System Settings for the Postprocessing Office. For more information, see the Customizing documentation.

Extension of existing services

The enterprise services delivered by SAP have the objective to meet the requirements of the majority of our customers. In case of missing fields in existing enterprise services or completely missing enterprise services, the Extension Guide for Healthcare Enterprise Services which is part of SAP Note 1461621 can be followed to implement the missing parts.

In addition to this Healthcare specific guide, the general SAP Enterprise Services Enhancement Guide provides the necessary back-ground information and details.

Relevant OSS notes

Please find below a non-exhaustive list of relevant OSS notes related to the Healthcare Enterprise Services:

Utilities and documentation

  • 1461621: Additional Information for IS-H 605 Service Operations
  • 1792604: IS-H: SOA utilities for test and productive usage
  • 1970385: IS-H: Report RNHCF_DELETE_OBSOLETE_HCFEVENT for deleting HCF events
  • 1969823: IS-H: Extend RNHCF_EVENTS_PROCESSOR by selection criterion patient number
  • 1874036: eSOA - RNHCF_EVENTS_PROCESSOR - Error in consistency check

  • 1941466: IS-H: Small corrections for report 'RNHCF_CUST_MAP_CHECK'

  • 1954611: IS-H SE: Error message 'Patient encounter was already cancelled.'

Business Add-Ins (BAdIs):

  • 2071924: BAdIs for Healthcare outbound services available

Action code handling

  • 1779343: IS-H: Action Code Handling in PatientERPRequest_In
  • 1522732: IS-H SE: Insurance relationship update wrong

Exactly-once-in-order (EOIO) 

  • 1870738: Cancel and restart operation for EVENT messages 
  • 1899148: EOIO for Eventing
  • 1902614: IS-H: EOIO processing for outbound SOA messages
  • 1953415: LEI Support for QoS EOIO
  • also relevant in this context: 1944526 IS-H SE: Risk information is not transmitted. 

For older releases

  • If you use client-wide patient identification, ensure that OSS note 1478157 is included
  • To ensure that NHCF_EVENTS parameters are all filled, ensure that the following OSS notes are included:
    • 1874036 eSOA - RNHCF_EVENTS_PROCESSOR - Error in consistency check
    • 1872849 IS-H: EDI event NV11I0 without movement number
    • 1810169 Corrupted data records in the HCF events table NP61
    • 1803482 IS-H: Missing parameter for SOA message formatting

PI Content

  • Note 1813205 for choosing the right PI Content version.

Error Handling

  • Note 2047989 for Forward Error Handling 
  • Note 2020119 - Erros in outbound messages are not transferred

 

  • No labels