Redox framework for data exchange

Last updated: Mar 4, 2024

With an integration to Redox, there are a few ways that you can exchange data with your connections:

  1. Event notification: SEND data triggered by an event in your system or RECEIVE data triggered by an event in your connection's system. This exchange is typically asynchronous. Learn about polling, which is a type of notification exchange.
  2. Query: REQUEST data from your connection to gather supplemental information about a patient record, or RESPOND with your data to your connection's query. This exchange is typically synchronous.
  3. Writeback: WRITE information back to your connection's system. This exchange is typically asynchronous.

Explore our API actions for common ways to exchange data to get some ideas for creating your own unique workflow.

How to set up data exchange

Redox uses the metadata of exchanged requests to process, partition, and route data appropriately.

Sources, API keys, and destinations

Your system must have at least one source and API key to send data. A source identifies your system and communication method, while an API key authorizes your system to SEND data to and REQUEST data from your connection. You can view and create API keys on the Developer page of the Redox dashboard, under the API Keys tab. Learn more about authentication.

Your system must have at least one destination, or endpoint, to process incoming requests. A destination is a URL that can RECEIVE data from and RESPOND to your connection's requests. In the Redox dashboard, you can view and create destinations under the Endpoints tab of the Developer page.

You may send data across multiple connections via the same source. If you need multiple communication methods, then you'll need a source for each type. But at a minimum, your organization must have one source and API key to initiate requests and one destination to receive requests from your connection(s).

Environment types

Environment types identify the kind of data flowing between systems. We have three basic environment types:

  • Development environments are only for testing between your organization and Redox. Your development environment automatically integrates with Redox.
  • Staging environments are for testing either with specific Redox sandboxes, your own testing system, or your connection's system.
  • Production environments are for real patient data with PHI passing through the integration, which could either be for live production or testing.

You can only exchange data with the same environment type. For example, if you send data from a staging environment, it can only be received by another staging type of environment.

Environments can also help you manage user access to your Redox setup. Learn about environments.

Dates and timezones

An inherent part of data exchange is knowing the when—that is, when outgoing requests are delivered or when incoming requests are received. Redox generates relevant date and time metadata for this.

Also, there may be date and time pieces in a request that are significant to the data itself (e.g., the date that a patient was admitted to the hospital). It's important to not include a time value if only the date is known or appropriate. Within the request, Redox doesn't add a timestamp to a time field if the request doesn't contain one.

Given that different organizations are likely in different time zones, Redox converts timestamps to UTC time zone in ISO 8601 format (i.e., YYYY-MM-DD or YYYY-MM-DDThh:mm:ss.sTZD). Learn more about ISO 8601.

Type
Format
Example
Date
YYYY-MM-DD
2019-09-22
DateTime
YYYY-MM-DDThh:mm:ss.sssZ
2021-09-22T10:20:30.000Z

Quotas and constraints

Review technical quotas and constraints for data exchange, including message, file, and rate limits.