EPIC EHR Destination

EPIC EHR
Create an EPIC EHR Destination
Epic FHIR write operations require additional scopes (system/<ResourceType>.write) and, for production environments, approval from each Epic customer organization. Ensure your Epic app registration includes the required write scopes before configuring a write destination. Additional information is available at fhir.epic.com/Documentation.
-
Click the + icon on the Nexset that will be sent to the EPIC EHR destination, and select the Send to Destination option from the menu.
-
Select the EPIC EHR connector from the list of available destination connectors. Then, select the credential that will be used to connect to the Epic FHIR R4 API, and click Next; or, create a new EPIC EHR credential for use in this flow.
-
In Nexla, EPIC EHR destinations can be created using pre-built endpoint templates, which expedite destination setup for common Epic FHIR write operations. Each template is designed specifically for the corresponding FHIR resource type, making destination configuration easy and efficient.
• To configure this destination using a template, follow the instructions in Configure Using a Template.EPIC EHR destinations can also be configured manually, allowing you to send data to Epic FHIR endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
• To configure this destination manually, follow the instructions in Configure Manually.
Configure Using a Template
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Epic FHIR R4 write endpoints. Each template is designed specifically for the corresponding FHIR resource type, making destination setup easy and efficient.
-
To configure this destination using a template, select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Configure Manually
EPIC EHR destinations can be manually configured to send data to any valid Epic FHIR R4 API endpoint. Manual configuration provides maximum flexibility for accessing FHIR write operations not covered by pre-built templates, such as updating existing resources with PUT or PATCH operations, or POSTing to FHIR operation endpoints.
Using manual configuration, you can also configure Nexla to automatically send the response received from the Epic FHIR R4 API after each call to a new Nexla webhook data source—enabling you to capture the created resource ID and other details returned by Epic for downstream processing.
API Method
-
To manually configure this destination, select the Advanced tab at the top of the configuration screen.
-
Select the API method that will be used for calls to the Epic FHIR R4 API from the Method pulldown menu. Common methods for FHIR write operations include:
- POST: For creating new FHIR resources (e.g.,
POST /Observationto create a new observation). - PUT: For replacing an existing FHIR resource in full (requires the resource FHIR ID in the URL).
- PATCH: For partial updates to an existing FHIR resource using a FHIR Patch document.
- POST: For creating new FHIR resources (e.g.,
Data Format
- Select the format in which the Nexset data will be sent to the Epic FHIR R4 API from the Content Format pulldown menu. Nexla will automatically convert the data to the selected format for each API call. Epic FHIR APIs accept:
- JSON (
application/fhir+jsonorapplication/json+fhir): The standard format for Epic FHIR write operations. Select JSON for all FHIR resource creation and update calls.
- JSON (
API Endpoint URL
-
Enter the URL of the Epic FHIR R4 API endpoint to which you want to send the Nexset data in the URL field. This should be the complete FHIR resource URL including the base URL and resource type path. Examples:
- Create a new Observation:
https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4/Observation - Update a specific Patient:
https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4/Patient/<FHIR_ID> - Create an Appointment:
https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4/Appointment
- Create a new Observation:
For production Epic customer environments, replace the base URL with the organization-specific FHIR base URL provided by the Epic customer's integration team.
Request Headers
-
If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g.,
header1:value1,header2:value2). For Epic FHIR write APIs, theContent-Type:application/json+fhirheader is commonly required.You do not need to include authorization headers—these are managed automatically by Nexla using the configured EPIC EHR credential.
Exclude Attributes from the Call
-
If any record attributes in the Nexset should be omitted when sending data to this EPIC EHR destination, select the attributes from the Exclude Attributes pulldown menu. This is useful when your Nexset contains fields that are not part of the FHIR resource schema and would cause Epic's API to reject the request.
-
Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.
Record Batching
-
If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching.
-
Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to
100. -
Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings.
Epic's FHIR API supports FHIR Batch and Transaction Bundle operations for sending multiple resources in a single request. If you are using a FHIR Bundle endpoint, configure the batching algorithm to format records as FHIR Bundle entries. Consult the Epic FHIR documentation for Bundle structure requirements.
Response Webhook
Nexla can automatically send the response received from the Epic FHIR R4 API after each call to a new Nexla webhook data source. This option allows you to capture the FHIR resource ID assigned by Epic, response status codes, and any error details returned after each write operation—enabling you to build confirmation workflows or error handling pipelines.
- To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.
Sample Request Payload
Sample request payloads containing a portion of the Nexset data that will be sent to the Epic FHIR R4 API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.
- Click on a sample request payload to expand it and view the complete payload content.
- Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.
Endpoint Testing (Manual Configuration)
After all endpoint settings have been configured, Nexla can send a test payload to the Epic FHIR R4 API to ensure that the destination is configured correctly.
-
To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.
-
If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.
-
Click the Send Test Data button at the top of a sample payload to send the test payload to the Epic FHIR R4 API using the current settings.
Save & Activate the Destination
-
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to the configured Epic FHIR endpoint, open the destination resource menu, and select Activate.
Nexset data will not be sent to Epic until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement. For production Epic environments, ensure that write scopes have been approved by the Epic customer organization before activating the destination.