Change data with config modifiers

When exchanging data between systems, you don’t always get data exactly the way you want it. A config modifier solves this by allowing you to create conditional rules that automatically change a data payload. Whether you need to add a missing value, move a field to a different location, or delete sensitive information, config modifiers provide the flexibility to reshape data to meet your unique needs.

Config operations

Several operations run during log processing, but config operations are the fundamental part of data exchange. Learn about operations.

First, we create base configs, which contain instructions for converting data to and from the appropriate format, based on a subscription’s settings.

You can create config modifiers, which are custom instructions for processing incoming or outgoing data. Usually, the input payload is output immediately after Redox applies a base config.

Config modifiers might be independent, but they’re typically applied on top of a Redox base config.

Confidential data in config modifiers

The contents of a config modifier might contain confidential data, like personal health information (PHI). Because of that, the contents are only visible to the organization that manages the config modifier.

If your organization doesn’t own the config modifier, you’ll see its name, flavor, and status without the contents in the operation details of log inspector.

Common use cases for config modifiers

Config modifiers can help with many use cases. You’ll usually find opportunities to use config modifiers during implementation testing if you or your connection don’t receive data you expect.

Config modifier parts

There are three significant parts to build when you’re setting up a config modifier. Learn how to set up a config modifier.

A diagram shows a Put flavor, a selector that determines the field path to act upon, and a schema built of multiple keywords to define the actions to take to produce the output.
Config modifier parts: Put flavor
A diagram shows a Delete flavor with a selector that determines the field path to delete to produce the output.
Config modifier parts: Delete flavor

AI assistant for config modifiers

We provide an AI-powered assistant, Config Modifier Assistant, to help you build a config modifier schema with natural-language prompts. But you'll find it helpful to review our build guide to understand how Redox keywords work. Learn how to build a schema.

Linking to log stages

To run a config modifier, you must link it to the correct:

  1. subscription
  2. event type(s) within that subscription
  3. log stage, or processing location

You can link config modifiers to inbound or outbound data to most log stages (learn about log stages), and so can your connection. Learn how to set up a config modifier.

Changes based on conditions

Config modifiers are schemas with keywords that define how to alter data based on certain criteria. Think of them like IF / THEN statements. If the conditions of the schema aren’t met, the config modifier isn’t applied to a log. If a config modifier is applied, there may be changes either to the shape of data, individual values, or both.

Config modifier vs. translation set

Both config modifiers and translation sets can alter specific values in a payload.

When should you use a config modifier versus a translation set?

  • A translation set maps a list of values from one code set to another. It’s useful if you have lots of values you want to change based on different code sets used by different systems. This is a static mapping that looks for a particular value and translates it to a corresponding value. Learn about translation sets.
  • A config modifier contains flexible instructions based on conditions. For example, you could map a specific value to another only if another specified field is present. Essentially, a config modifier allows you to define conditional or fallback behavior. Also, you can only define instructions for values at one field path at a time. If you wanted to change lots of values in different locations, you’d have to create a config modifier for each one.

Multiple input payloads

A config modifier can have two input payloads:

  1. JSON version of the original request or response
  2. Output from a previous operation in log processing

This means you can define a config modifier that reads a value from the original payload even if that value is removed during a previous operation. The config modifier can recreate it in the processed payload at the linked processing stage.

A diff view of input and output payloads shows what changed before and after the operation executed.
Input and output payloads

Promoting config modifiers

During implementation, you can build and test a config modifier in a staging environment. Once you’re confident it works, you can promote it to production.

Promoting an asset saves you time and avoids introducing errors by having to rebuild it in a different environment. Learn more about asset promotion, then promote a config modifier.

Restoring config modifiers

Every time you edit a config modifier, you create a new version of the asset. If you run into errors or unexpected outcomes after editing, you can restore to a different version to help troubleshoot and find where any errors were introduced. Learn how to restore a config modifier.

FHIR® is a registered trademark of Health Level Seven International (HL7) and is used with the permission of HL7. Use of this trademark does not constitute an endorsement of products/services by HL7®.