# Redox Data Model API

The <u>**Redox Data Model API**</u> is a popular, modern API method to exchange your healthcare data. This standardized API handles all your data mapping, translation, and connectivity needs. Data exchange happens via an encrypted communication method, typically HTTPS. 

With the Data Model API, you can use Redox <u>**data models**</u>—standardized JSON schemas for organizing data—to exchange data with your connection(s). You can combine data models to perform a given action to accomplish your unique workflow. 

> **Many ways to greatness**
>
> There are many ways to connect with Redox—our Data Model API is only one. [Check out all our supported integration methods](/implementation-guide/supported-methods-and-specifications).

## Where to send Data Model API requests

Send all outbound Data Model API requests to `https://api.redoxengine.com/endpoint`. 

[Learn how to authenticate your system](/api-reference/redox-data-model-api/authenticate-an-oauth-api-key) so you can initiate requests via Redox, then [learn how to set up destinations](/how-to-use-redox/manage-your-redox-setup/set-up-destinations) to process incoming messages from your connection(s). 

> **Available data fields**
>
> We can only pass data we have access to. Depending on your connection, some data may or may not be available. We do our best to pass all the available data, but there may be differences in what you receive from different connections.
>
> During the testing process, we help you identify which data points you can rely on, based on the given healthcare organization and EHR system you’re integrating with.

## Supported data exchange exchange types

Use Redox data models to: 

- Send notifications to your connections.
- Receive notifications from your connections ([also supported with polling](/basics/data-exchange-with-redox/using-polling-for-notifications)).
- Query your connections ([also supported with data on demand](/basics/data-exchange-with-redox/data-on-demand)).
- Write data back to your connection.

[Learn more about data exchange with Redox](https://docs.redoxengine.com/permalink/RqjicoYocYtUDfFmaaoSt/#decide-what-kind-of-traffic-to-exchange). 

### Supported data models with data on demand

With <u>**data on demand**</u>, we support using these Redox data models:

- `ClinicalSummary`
- `PatientQuery`
- `VisitQuery`
- `DocumentQuery`
- `DocumentGet`
- `Media`
- `Notes`
- `Orders`
- `PatientSearch`
- `Provider`
- `Results`
- `Scheduling`
- `Booked`

## Data model schemas

Before onboarding, it’s important to have a clear understanding of what data your connection will or won't provide. Our Managed Services team works with you to document the data integration needs or plan for any customization. 

> **Explore the Redox Data Model API**
>
> [Review all available Redox data models](https://docs.redoxengine.com/permalink/data-model-landing-page) you can use to send and receive healthcare data. Alternatively, you can download JSON schema v4 files or TypeScript type definitions in the Redox dashboard under <u>Developer</u> \> <u>Dev tool downloads</u>.

### How to read data model schemas

Here are some helpful definitions and tips as you browse through our Redox data model schemas.

#### Value sets

Some data model fields can only contain a limited set of values, which is called a <u>**value set**</u>.

Whether you’re sending or receiving API requests, you should use or expect only the supported values listed for the relevant data field.

#### Field reliability

Our data models support a wide range of data, but we may not have access to certain fields. So, some fields may not be populated, depending on your connection’s system.

In our data model schemas, we provide a **reliability rating** for each field.

| **Field rating** | **Estimated reliability** | **Description** |
| --- | --- | --- |
| Reliable | \>90% | This field is present in requests from nearly every organization. |
| Probable | \>50% | This field is present in requests from most organizations. |
| Possible | \<50% | This field is present in requests from some organizations. |

Don’t worry too much if a field is only <u>**Probable**</u> or <u>**Possible**</u>. By default, healthcare organizations may restrict the data they send for these reasons:

- A core tenet of healthcare security is to only send data that’s absolutely necessary. This way, there’s a minimal amount of compromised data in the event of a breach.
- Backwards compatibility is a core principle of integration developers. Some data may be available with new versions of software, but to ensure backwards compatibility, the newly supported data isn’t included by default.

Before onboarding, it’s important to have a clear understanding of what data your connection will or won’t provide. Our Managed Services team works with you to document the data integration needs or plan for any customization.

## Extensions

Some data models might have an option for including extensions with additional data. [Read more about extensions](/api-reference/redox-data-model-api/extensions-for-data-models).

## Data model updates

With the Data Model API, we can rapidly support newly emerging use cases and quickly go live with them in production. As our data models evolve with new data fields, our focus is always developer satisfaction. Check out the information below to learn how we handle updates to our data models.

### What stays constant

We do our best to _not_ make any of the following types of changes:

- changing field types (e.g., string to array, number to string)
- removing fields that already exist
- adding new required fields
- decommissioning a non-beta data model or event type

If we do change any of the above, rest assured that we’ll notify all customers well in advance and create transition plans if the update affects you.

### Changes to data models

We _might_ make these changes, though:

- Add new field types (e.g., array, string) to existing data models. [Review our changelog](https://www.redoxengine.com/blog/category/redox/changelog/) for any updates about existing data models.
- Create new data model event types.

You can see our current data models in this reference section, or download JSON schema v4 files or TypeScript type definitions of current data models from the Redox dashboard (<u>Developer</u> page \> <u>Dev tool downloads</u>).

A best practice for building to the Data Model API is to not parse everything into strongly typed objects and ignore unnecessary data fields. If that’s not possible, or if you run into issues based on your stack or environment, [submit a request to our Help Center](https://redoxengine.zendesk.com/hc/en-us) so we can talk through solutions.

## Articles in this section

- [Authenticate an OAuth API key](/api-reference/redox-data-model-api/authenticate-an-oauth-api-key)
- [Event types for data models](/api-reference/redox-data-model-api/event-types-for-data-models)
- [Extensions for data models](/api-reference/redox-data-model-api/extensions-for-data-models)
