Enrichment
The Enrichment data model can be used to send data to third-party vendors for processing. Different enrichment vendors support different event types.
The NormalizationQuery event type submits code entries (each in a given category) to a third-party vendor for normalization, or processing.
Fields
Meta
Meta.DataModel
String
ReliableRequiredEnrichment
Meta.EventType
String
ReliableRequiredNormalizationQuery
Meta.EventDateTime
DateTime
ReliableDisplays the UTC date and time that an outgoing request is delivered or an incoming request is received.
ISO 8601 Format
Meta.Test
Boolean
ReliableIndicates whether the request is a test or not.
Meta.Source
String
ReliableContains the information for the system initiating the message, including the source ID and name.
Included in messages from Redox
Meta.Source.ID
String
ReliableIdentifies the system initiating the message. If you have multiple OAuth API keys per environment type, this value is required. If you have only one OAuth API key per environment type, or you're using legacy API keys, this value is optional.
UUID
Meta.Source.Name
String
ReliableDisplays the name of the system initiating the message.
Meta.Destinations[]
Array of Objects
ReliableContains the information for the endpoint(s) receiving the request. A request must contain at least one destination, but asynchronous requests can have more than one destination. Synchronous requests like queries can only support one destination.
Required when sending data to Redox.
Meta.Destinations[].ID
String
ReliableIdentifies the endpoint that the request is directed to.
UUID
Meta.Destinations[].Name
String
ReliableDisplays the name of the endpoint that the request is directed to.
Meta.Logs[]
Array of Objects
ReliableContains the log identifier(s) for the request.
Meta.Logs[].ID
String
ReliableIdentifies the request log(s) that correspond to this request. You can use this value to locate the relevant log in the Redox dashboard for support and reference.
UUID
Meta.Logs[].AttemptID
String
ReliableIdentifies the request log attempt value, which is useful when retries are possible.
UUID
Meta.FacilityCode
String
PossibleCode for the facility related to the message.
Only use this field if a health system indicates you should. The code is specific to the health system's EHR and might not be unique across health systems. In general, the facility fields within the data models (e.g. OrderingFacility) are more reliable and informative.
Entries
Entries[]
Array of Objects
ReliableA list of entries to be normalized. The maximum number of entries that can be included is 100.
Entries[].Category
String
ReliableRequiredThe category of values in which to find this normalization entry.
Categories currently supported: Problem.
Entries[].EntryID
String
PossibleThe identifier of the specific entry to be normalized. If not provided, Redox generates an identifier to populate this field in the NormalizationQueryResponse so that you can match the normalized entry to the submitted entry.
Entries[].Code
String
ProbableCode for the value to be normalized by the third-party vendor.
You must include either code value or description, or you can provide both.
Entries[].Codeset
String
ProbableValueSetCode set used to identify the value to be normalized by the third-party vendor.
-
Additional values may be added by Redox in the future.
-
Entries[].Description
String
ProbableDescription of the value to be normalized by the third-party vendor.
You must include either code value or description, or you can provide both.
{
"Meta": {
"DataModel": "Enrichment",
"EventType": "NormalizationQuery",
"EventDateTime": "2024-07-29T16:55:22.999Z",
"Test": true,
"Source": {
"ID": "7ce6f387-c33c-417d-8682-81e83628cbd9",
"Name": "Redox Dev Tools"
},
"Destinations": [
{
"ID": "af394f14-b34a-464f-8d24-895f370af4c9",
"Name": "Redox EMR"
}
],
"Logs": [
{
"ID": "d9f5d293-7110-461e-a875-3beb089e79f3",
"AttemptID": "925d1617-2fe0-468c-a14c-f8c04b572c54"
}
],
"FacilityCode": null
},
"Entries": [
{
"Category": "Problem",
"EntryID": "Diagnosis-0000000001-0",
"Code": "R07.0",
"Codeset": "ICD-10",
"Description": "Pain in throat"
}
]
}
The NormalizationQueryResponse returns the submitted code entries with the matching code values from related code sets. Each returned match includes a confidence score denoting the certainty of the match.
Fields
Meta
Meta.DataModel
String
ReliableRequiredEnrichment
Meta.EventType
String
ReliableRequiredNormalizationQueryResponse
Meta.EventDateTime
DateTime
ReliableDisplays the UTC date and time that an outgoing request is delivered or an incoming request is received.
ISO 8601 Format
Meta.Test
Boolean
ReliableIndicates whether the request is a test or not.
Meta.Source
String
ReliableContains the information for the system initiating the message, including the source ID and name.
Included in messages from Redox
Meta.Source.ID
String
ReliableIdentifies the system initiating the message. If you have multiple OAuth API keys per environment type, this value is required. If you have only one OAuth API key per environment type, or you're using legacy API keys, this value is optional.
UUID
Meta.Source.Name
String
ReliableDisplays the name of the system initiating the message.
Meta.Destinations[]
Array of Objects
ReliableContains the information for the endpoint(s) receiving the request. A request must contain at least one destination, but asynchronous requests can have more than one destination. Synchronous requests like queries can only support one destination.
Required when sending data to Redox.
Meta.Destinations[].ID
String
ReliableIdentifies the endpoint that the request is directed to.
UUID
Meta.Destinations[].Name
String
ReliableDisplays the name of the endpoint that the request is directed to.
Meta.Logs[]
Array of Objects
ReliableContains the log identifier(s) for the request.
Meta.Logs[].ID
String
ReliableIdentifies the request log(s) that correspond to this request. You can use this value to locate the relevant log in the Redox dashboard for support and reference.
UUID
Meta.Logs[].AttemptID
String
ReliableIdentifies the request log attempt value, which is useful when retries are possible.
UUID
Meta.FacilityCode
String
PossibleCode for the facility related to the message.
Only use this field if a health system indicates you should. The code is specific to the health system's EHR and might not be unique across health systems. In general, the facility fields within the data models (e.g. OrderingFacility) are more reliable and informative.
Entries
Entries[]
Array of Objects
ReliableA list of normalized entries that were submitted with the NormalizationQuery.
Entries[].Category
String
ReliableRequiredThe category of values for this normalization entry.
One of the following: Problem
Entries[].Status
String
ReliableRequiredThe outcome of this specific entry's normalization.
One of the following: Success, Error
Entries[].Transaction
Object
ReliableContains details about the vendor that performed the enrichment.
Entries[].Transaction.VendorID
String
ReliableRequiredThe identifier of the third-party vendor that processed the enrichment request.
Entries[].Transaction.ID
String
ReliableRequiredThe identifier of the specific enrichment transaction, which is generated by the third-party vendor. You can use this identifier to reconcile transactions (e.g., for billing review). Note that multiple entries might have the same transaction identifier if a vendor supports batch enrichment.
Entries[].Submitted
Object
ReliableA copy of the entry input data provided in your Normalization Query.
Entries[].Submitted.Category
String
ReliableRequiredThe category of values in which to find this normalization entry.
Categories currently supported: Problem. This is an unmodified copy of the value submitted in your Normalization Query.
Entries[].Submitted.EntryID
String
PossibleThis is an unmodified copy of the value submitted in the NormalizationQuery. If you didn't provide an ID, Redox generates one for you.
- This is an unmodified copy of the value submitted in your Normalization Query.*
Entries[].Submitted.Code
String
ProbableCode for the value to be normalized by the third-party vendor.
You must include either code value or description, or you can provide both. This is an unmodified copy of the value submitted in your Normalization Query.
Entries[].Submitted.Codeset
String
ProbableValueSetCode set used to identify the value to be normalized by the third-party vendor.
-
Additional values may be added by Redox in the future.
-
Entries[].Submitted.Description
String
ProbableDescription of the value to be normalized by the third-party vendor.
You must include either code value or description, or you can provide both. This is an unmodified copy of the value submitted in your Normalization Query.
Entries[].Normalization[]
Array of Objects
ProbableThe output of the normalization transaction. If normalization results in an error, this array contains the error information. If normalization results in a success, this array contains the normalized entry data.
Entries[].Normalization[].LexicalReference
Object
ReliableThe principal code value that was matched with the input data provided for this entry.
Entries[].Normalization[].LexicalReference.Code
String
ReliableThe value of the normalized match for the submitted code value.
Entries[].Normalization[].LexicalReference.Name
String
ReliableThe name of the normalized match of the submitted code value.
Entries[].Normalization[].LexicalReference.DefaultCode
String
ProbableThe value of the default variant of the normalized match for the submitted code value.
Entries[].Normalization[].LexicalReference.DefaultName
String
ProbableThe name or of the default variant of the normalized match for the submitted code value.
Entries[].Normalization[].Score
Object
ReliableThe quantified confidence that the Lexical Reference value matches the input data provided for this entry.
Entries[].Normalization[].Score.Value
Numeric
ReliableThe quality/certainty score for the Lexical Reference match, between
0
and1
: an exact match has a score value of1
.
Entries[].Normalization[].Score.Description
String
ReliableThe description of the confidence score for the normalization. A score of 1 will have a description of Exact.
Entries[].Normalization[].Matches[]
Array of Objects
ReliableAny related coded values associated with the matched Lexical Reference value, collected by code system.
Entries[].Normalization[].Matches[].Codeset
String
ReliableCoding system to which the related codes belong (e.g. ICD-10-CM, ICD-9-CM, SNOMED CT)
Entries[].Normalization[].Matches[].Status
String
ReliableThe outcome of matching the lexical reference code to this specific Code Set.
One of the following: Success, Not Codeable, Insufficient Data
Entries[].Normalization[].Matches[].Codes[]
Array of Objects
ReliableThe collection of related coded values within this Match's code set, if matching was successful.
Entries[].Normalization[].Matches[].Codes[].Code
String
ReliableThe code value in the indicated code set in the normalization category.
Entries[].Normalization[].Matches[].Codes[].MatchPriority
String
ReliableIndicates the priority for this match (e.g. Preferred Primary or Preferred).
Entries[].Normalization[].Matches[].Codes[].Variants[]
String
ReliableA collection of variants for the code value; for example, multiple titles might apply to the same code.
Entries[].Normalization[].Matches[].Codes[].Variants[].Title
String
ReliableA specific title of the code value variant.
Entries[].Normalization[].Matches[].Codes[].Variants[].TitleStatus
String
ProbableThe status of this title for the code value variant, if a status is applicable.
Entries[].Normalization[].Matches[].Codes[].Variants[].TitleType
String
ProbableIf the title of this variant can be categorized, this is the type description.
Entries[].Normalization[].Matches[].Codes[].Variants[].ExtendedProperties[]
Array of Objects
ProbableThe collection of any metadata properties about this specific code variant.
Entries[].Normalization[].Matches[].Codes[].Variants[].ExtendedProperties[].Category
String
ProbableThe category name of this set of extended properties of this variant.
Entries[].Normalization[].Matches[].Codes[].Variants[].ExtendedProperties[].Properties[]
Array of Objects
ProbableThe collection of extended properties within the given category.
Entries[].Normalization[].Matches[].Codes[].Variants[].ExtendedProperties[].Properties[].Property
String
ProbableThe extended property name or code within the given category.
Entries[].Normalization[].Matches[].Codes[].Variants[].ExtendedProperties[].Properties[].Value
String
ProbableThe value of the extended property within the given category.
Entries[].Error
Object
ProbableIf enrichment operation results in an error, this object contains the error details. If the operation results in a success, this object is null. Note that it's possible for some operations in a request to succeed while others fail.
Entries[].Error.Code
String
ProbableContains the error code as defined by the third-party vendor.
Entries[].Error.Message
String
ProbableDescribes the error that disrupted the enrichment operation.
{
"Meta": {
"DataModel": "Enrichment",
"EventType": "NormalizationQueryResponse",
"EventDateTime": "2024-07-29T16:55:22.999Z",
"Test": true,
"Source": {
"ID": "7ce6f387-c33c-417d-8682-81e83628cbd9",
"Name": "Redox Dev Tools"
},
"Destinations": [
{
"ID": "af394f14-b34a-464f-8d24-895f370af4c9",
"Name": "Redox EMR"
}
],
"Logs": [
{
"ID": "d9f5d293-7110-461e-a875-3beb089e79f3",
"AttemptID": "925d1617-2fe0-468c-a14c-f8c04b572c54"
}
],
"FacilityCode": null
},
"Entries": [
{
"Category": "Problem",
"Status": "Success",
"Transaction": {
"VendorID": "IMO",
"ID": "999f29d6-754f-4362-9c6d-d48af965a589"
},
"Submitted": {
"Category": "Problem",
"EntryID": "My-Normalization-16863c17-9431-41a4-a2f3-0a4c5b9b9d55",
"Code": "E11.29",
"Codeset": "ICD-10-CM",
"Description": null
},
"Normalization": [
{
"LexicalReference": {
"Code": "E11.29",
"Name": "Uncontrolled type 2 diabetes with renal manifestation",
"DefaultCode": "E11.65",
"DefaultName": "Type 2 diabetes mellitus with hyperglycemia"
},
"Score": {
"Value": 1,
"Description": "Exact"
},
"Matches": [
{
"Codeset": "ICD-10-CM",
"Status": "Success",
"Codes": [
{
"Code": "E11.65",
"MatchPriority": "Preferred primary",
"Variants": [
{
"Title": "Type 2 diabetes mellitus with hyperglycemia",
"TitleStatus": null,
"TitleType": null,
"ExtendedProperties": [
{
"Category": "CCSR",
"Properties": [
{
"Property": "END",
"Value": "Endocrine, nutritional and metabolic diseases"
}
]
},
{
"Category": "HCC",
"Properties": [
{
"Property": "HCC Model Category",
"Value": "18"
},
{
"Property": "Community, Non-Dual-Aged",
"Value": "0.302"
},
{
"Property": "Community, Non-Dual-Disabled",
"Value": "0.351"
},
{
"Property": "Community, Full Benefit, Dual Aged",
"Value": "0.340"
},
{
"Property": "CCommunity, Full Benefit, Dual-Disabled",
"Value": "0.423"
},
{
"Property": "Community, Partial Benefit, Dual Aged",
"Value": "0.087"
},
{
"Property": "Community, Partial Benefit, Dual-Disabled",
"Value": "0.373"
},
{
"Property": "Institutional",
"Value": "0.440"
}
]
}
]
}
]
}
]
},
{
"Codeset": "SNOMED CT",
"Status": "Success",
"Codes": [
{
"Code": "420279001",
"MatchPriority": "Preferred",
"Variants": [
{
"Title": "Renal disorder due to type 2 diabetes mellitus",
"TitleStatus": null,
"TitleType": null,
"ExtendedProperties": []
}
]
},
{
"Code": "44054006",
"MatchPriority": "Preferred",
"Variants": [
{
"Title": "Diabetes mellitus type 2 (disorder)",
"TitleStatus": null,
"TitleType": null,
"ExtendedProperties": []
}
]
}
]
},
{
"Codeset": "ICD-9-CM",
"Status": "Success",
"Codes": [
{
"Code": "250.00",
"MatchPriority": "Preferred",
"Variants": [
{
"Title": "Diabetes mellitus without mention of complication, type ii ",
"TitleStatus": null,
"TitleType": null,
"ExtendedProperties": []
}
]
}
]
}
]
}
],
"Error": {
"Code": null,
"Message": null
}
}
]
}