Zscribe Guides
Practice Settings

Configure EPD Integration

Connect Zscribe to Open Integration Engine for completed-intake EPD registration sync.

Configure EPD Integration when your practice needs completed registration intake data to flow from Zscribe into Open Integration Engine for HL7 ADT processing.

Who does this: Clinic administrators configure Zscribe. Integration administrators configure Open Integration Engine on the clinic network.

How It Works

Zscribe does not send directly to EPD. Zscribe creates an outbound EPD job only after a configured intake packet or form is completed. Open Integration Engine polls Zscribe over HTTPS, claims the job, fetches the canonical patient registration payload, transforms it into HL7 ADT, and posts the ACK/status back to Zscribe.

Creating a patient record by itself does not create an EPD job.

Before You Start

  • Confirm you can access Settings in Zscribe.
  • Confirm the intake packet or form that should trigger EPD sync already exists.
  • Install Open Integration Engine on the workstation or server that will act as the local bridge.
  • For Windows, use the Open Integration Engine release approved by your implementation lead. If Java is not already managed on the machine, choose the Windows x64 installer that includes a JRE.
  • Confirm the Open Integration Engine backend is running. A healthy local install usually shows Service Available at https://localhost:8443 or https://127.0.0.1:8443.

EPD production sending: Do not point this channel at production EPD until the EPD listener host and port are confirmed by the vendor.

Configure Zscribe

Open Settings.

Open Clinical Workflow.

Open EPD Integration.

Turn Enable EPD sync on when the clinic is ready for completed intakes to create outbound EPD jobs.

Review the facility and HL7 fields.

Use the facility code assigned for the clinic or pilot site. For local Frisco pilot testing, keep the configured Frisco facility value unless your implementation lead gives you a different code.

Select the Trigger intake packets dropdown and choose the intake packet or packets that should create EPD jobs.

Select the Trigger forms dropdown if individual forms should also trigger EPD jobs.

Choose the send mode.

Use automatic sending only when the bridge should be allowed to poll eligible jobs immediately. Use review mode when staff should inspect jobs before they are released to the bridge.

Select Save changes.

Generate Bridge Credentials

In Bridge credentials, enter the OIE channel name.

Use a clear name such as ZScribe EPD ADT.

Enter the OIE host name and version if you want them visible in bridge status.

These fields help staff recognize which OIE machine is polling Zscribe. They do not replace the authentication credentials.

Select Generate credentials.

Copy or download the generated credentials immediately.

The bridge secret is shown only once. If it is lost, generate a new credential set and update OIE.

Keep credentials private: The generated bridge secret allows OIE to poll Zscribe. Do not paste it into tickets, chat logs, screenshots, or shared documents.

Configure Open Integration Engine

Start by loading the Zscribe bridge values into the Open Integration Engine Configuration Map.

In Zscribe, select Download map file from the generated credentials panel.

The downloaded file contains only Configuration Map key/value rows.

Open the Open Integration Engine Administrator or client.

If the browser service page is open, use the webstart.jnlp launcher to open the Administrator. Sign in with the OIE administrator credentials configured for the local installation.

Open Settings.

Open Configuration Map.

Choose Import Map.

Select the downloaded zscribe-epd-oie-config-map.properties file.

Confirm these keys appear in the Configuration Map:

  • zscribeBaseUrl
  • zscribeBridgeId
  • zscribeBridgeSecret
  • zscribeHl7OutDir

Select Save.

The map file stores the connection values only. It does not create an OIE channel by itself.

Downloaded map file contains credentials: Treat the downloaded file like a secret because it includes the bridge credential.

Manual Copy Option

Use this path if you do not want to import a file.

In Zscribe, copy the Credentials for OIE Configuration Map block.

In Open Integration Engine, open Settings -> Configuration Map.

Add these keys manually:

  • zscribeBaseUrl
  • zscribeBridgeId
  • zscribeBridgeSecret
  • zscribeHl7OutDir, if local file output is used

Select Save.

Channel Setup

After the Configuration Map is saved, create a local test channel in OIE. The channel source script reads the Configuration Map values, polls Zscribe, writes local HL7 files, and posts a test ACK back to Zscribe.

In Zscribe, find the Bridge credentials section.

Under Credential rotation, select Copy source script.

In Open Integration Engine, open Channels.

Choose New Channel.

Name the channel ZScribe EPD ADT Local Test.

On the Summary tab, confirm:

  • Enabled: checked
  • Initial State: Started
  • Attachment: None
  • Message Storage: Development for local testing

Open the Source tab.

Set Connector Type to JavaScript Reader.

Use these source settings:

  • Schedule Type: Interval
  • Poll Once on Start: No
  • Interval: 10 seconds; 5 seconds is also acceptable for local testing
  • Source Queue: OFF (Respond after processing)
  • Response: None
  • Process Batch: No
  • Max Processing Threads: 1

Paste the copied source script into the JavaScript Reader Settings script box.

Open the Destinations tab.

Add or edit the destination connector:

  • Connector Type: JavaScript Writer
  • Enabled: checked
  • Script: return;

Select Save Changes.

Return to Channels, then deploy and start the channel.

For local testing, confirm HL7 files are written to the zscribeHl7OutDir path, usually C:/oie-zscribe-out.

When production EPD listener details are confirmed, update the OIE channel destination from local file testing to the approved MLLP/TCP destination.

Verify Channel Settings

The organization admin can verify these OIE tabs before deploying.

Summary tab

  • Name: ZScribe EPD ADT Local Test
  • Enabled: checked
  • Initial State: Started
  • Attachment: None
  • Message Storage: Development is acceptable for local testing

Source tab

  • Connector Type: JavaScript Reader
  • Schedule Type: Interval
  • Poll Once on Start: No
  • Interval: 10 seconds; 5 seconds is also acceptable for local testing
  • Source Queue: OFF (Respond after processing)
  • Response: None
  • Process Batch: No
  • Max Processing Threads: 1

The JavaScript in this tab is the bridge logic. It reads the Configuration Map values, polls Zscribe, claims jobs, fetches payloads, builds local HL7 files, and posts test ACKs back to Zscribe.

Destinations tab

  • Connector Type: JavaScript Writer
  • Enabled: checked
  • Script: return;

The local test source script performs the polling and file-writing work in the source connector, so the destination is intentionally a no-op sink.

Deploy and start

  • Select Save Changes after edits.
  • Return to Channels.
  • Select the channel.
  • Choose Deploy Channel.
  • Start the channel if it is not already started.

Test the Flow

In Zscribe, confirm EPD sync is enabled and the correct packet or form is selected as a trigger.

Complete a new intake session using that configured packet or form.

Patient creation alone should not create an EPD job.

Open the EPD integration ledger in Zscribe.

You should see a new outbound job for the completed intake.

Let Open Integration Engine poll Zscribe.

Confirm the job is claimed, the payload is fetched, and a test ACK is posted back.

For local file testing, open C:/oie-zscribe-out and confirm an .hl7 file was written.

Successful local testing proves this flow:

Completed intake -> outbound job -> OIE polls -> OIE fetches payload -> OIE creates HL7 -> ACK/status returns to Zscribe.

What Staff See

The ledger shows the current sync state for outbound EPD jobs. Staff can use it to confirm whether a completed intake is pending, claimed by the bridge, accepted by ACK, failed, or waiting for review.

Troubleshooting

No EPD job appears after an intake is completed. Confirm EPD sync is enabled, the completed intake uses a configured trigger packet or form, and the intake was completed after the settings were saved.

A patient was created but no EPD job appears. This is expected. EPD jobs are created from configured completed intakes, not from patient creation.

OIE cannot poll Zscribe. Check the zscribeBaseUrl, bridge ID, and bridge secret. The base URL should be the Convex HTTP site URL shown by Zscribe, not the staff dashboard URL.

The OIE Administrator does not open. Confirm the OIE backend service is running at https://localhost:8443. If the Java launcher fails, install or repair OpenWebStart and download a fresh webstart.jnlp from the OIE service page.

No HL7 file is written locally. Confirm the OIE channel is deployed and started, then check the output folder path and Windows permissions.

The channel runs but no messages appear. Confirm the configured intake packet or form has been completed after EPD sync was enabled. OIE only receives jobs created from completed trigger intakes.

The channel logs missing Configuration Map values. Open Settings -> Configuration Map and confirm zscribeBaseUrl, zscribeBridgeId, and zscribeBridgeSecret are present and saved.

The job does not show an ACK in Zscribe. Confirm the OIE channel can post back to the ACK endpoint using the same bridge credentials.

Production EPD sending is not working. Do not troubleshoot production MLLP/TCP until the EPD listener host and port are confirmed by the vendor.


Need help? Contact your administrator or reach out to support.