properties

Last updated: Feb 20, 2026
DEVELOPER
IMPLEMENTATION
HEALTH TECH VENDOR

Definition

In a config modifier schema, use properties to define individual properties to construct an object in the processed payload.

Order of execution

This keyword executes in the following order:

  1. omit
  2. constant
  3. references
  4. use
  5. get
  6. Mutually exclusive keywords at this level:
    • properties
    • if
    • concat
    • switch
    • pipe
    • merge
    • prefer
    • items
  7. default
  8. plugin

Example

In this example, you have an HL7v2 RDE message that gets mapped to the Redox Medication data model, which doesn't include an Order.ClinicalInfo array.

Example: properties input
json
1
{
2
...
3
"ORDER": [
4
{
5
...
6
"OBSERVATION": [
7
{
8
"OBX": {
9
"1": "1",
10
"2": "ST",
11
"3": {
12
"1": "12260968",
13
"2": "Specify type of feeding"
14
},
15
"5": [
16
"Infant Bolus"
17
]
18
}
19
}
20
]
21
}
22
]
23
}

However, the destination system wants each OBX segment in the HL7v2 message to come through as a ClinicalInfo array under Order.

The following schema ensures the order remains unchanged. It creates a new ClinicalInfo array by iterating over the initial message’s ORDER[0].OBSERVATION array and getting specific OBX components.

Each ClinicalInfo comprises the following optional properties:

  • Code
  • Description
  • Value
  • Units
  • Codeset

These fields must be nested under the ClinicalInfo array property name.

Example: Properties selector
json
1
$.Order
Example: Config modifier with properties keyword
yaml
1
merge:
2
- {}
3
- properties:
4
ClinicalInfo:
5
use: initialPayload
6
get: ORDER[0].OBSERVATION
7
items:
8
properties:
9
# Note: If a targeted field (like OBX.6.1 for Units) is missing from the input payload,
10
# the property is simply omitted from the resulting output object.
11
Code:
12
get: OBX.3.1
13
Description:
14
get: OBX.3.2
15
Value:
16
get: OBX.5[0]
17
Units:
18
get: OBX.6.1
19
Codeset:
20
get: OBX.2

Given that, the output would be:

Example: Properties output
json
1
{
2
...
3
"Order": {
4
"ClinicalInfo": [
5
{
6
"Code": "12260968",
7
"Codeset": "ST",
8
"Description": "Specify type of feeding",
9
"Value": "Infant Bolus"
10
}
11
],
12
...
13
}
14
}