Extensions for data models

Last updated: Feb 27, 2024

Redox data models don't contain absolutely every possible piece of data to exchange. You may find that there's data you want to exchange that's not in the data standards. Keep in mind that the data standards contain what's generally available in the industry, but don't cover all possible contingencies.

Take something like confirmation status of an appointment, as an example. It may be useful for one customer's workflow, but not widely used across the board. That's where extensions come in. Instead of adding all data to every data model, we use extensions to add fields that are critical for your workflow.

That said, not all of your connections may support extensions. We review whether all other avenues have been explored and that the data is critical and can be supported before adding any extensions.

If supported, it's possible for a data model to have multiple extensions, and an extension container may have one or more extensions within it.

Representing diversity with Redox

Most healthcare standards don't account for representations of gender identity, sexual orientation, ethnicity, or disability.

Here at Redox, we value belonging, and it's important to us that when available, we support that exchange of information for you. As a result, we have extensions available on every data model to support this information related to diversity. If your connection can send or receive this data, then you can do so with Redox, without needing to upgrade to a higher platform tier.

What an extension looks like

An extension applies to a specified data model, event type, and field. The extension container lives at the field path in the extension description. The extension object contains field/value pairs based on the extension identified with the URL.

Let's look at a specific example. We offer an Additional Phone Numbers extension for these data models:

PatientAdmin
Scheduling
Event types
Available for all event types.
Fields
Patient.Demographics.PhoneNumber
Patient.Guarantor.PhoneNumber
Patient.Contacts[].PhoneNumber
Event types
Available for all event types.
Fields
Patient.Demographics.PhoneNumber
Visit.Location

When used for any of these fields, the Additional Phone Numbers extension contains values for extra home, office, or mobile phone numbers for the patient or location.

The top-level field has the name for the extension. The value for that top-level field has the URL for the extension. In the example below, you can see the top-level additional-Phones field with the relevant URL: https://api.redoxengine.com/extensions/additional-phones. You can also see the extra phone numbers for this particular location.

Example: Additional phone numbers extension
json
1
{
2
"Meta": {
3
"DataModel": "Scheduling", // Scheduling is one of the supported DMs
4
"EventType": "New" // Any EventType (*) is allowed
5
},
6
"Visit": {
7
"Location": { // Visit.Location is the Field
8
"Extensions": { // Extensions container
9
"additional-phones": { // The actual additional-phones Extension
10
// The url is optional--use the actual key name to find the Extension
11
"url": "https://api.redoxengine.com/extensions/additional-phones",
12
// The actual value (in this case additionalPhones) is required
13
"additionalPhones": {
14
"home": [
15
"+16088675309",
16
"+16088675308"
17
],
18
"office": [
19
"+16088675309"
20
],
21
"mobile": [
22
"+16088675307",
23
"+16088675306"
24
]
25
}
26
}
27
}
28
}
29
// Other Location fields
30
}
31
// Other Visit fields
32
}
33
// Other top-level fields
34
}