Results

This data model allows you to exchange discrete clinical data—usually as a result of an order—with an EHR system.

Results data can be written as discrete data (e.g., lab values), text (e.g., pathology report), or other complex formats (e.g., PDF, JPEG, Word) to the EHR system, depending on their respective capability. If you're writing back a file, see tips for sending files.

This data model has event types that allow you to:

  • receive a notification when new results are added; or
  • query for and receive result data.

Query

Query for results based on the search criteria you define. If you specify multiple criteria, the result(s) must match all the provided criteria to be returned. Results are returned in Result.QueryReponse.

Beta
Data on Demand Enabled

Request Body Schema

  • Meta
    required, object
    • DataModel
      required, string
      Reliable

      Results

    • EventType
      required, string
      Reliable

      Query

    • EventDateTime
      string, null
      Reliable

      Displays the UTC date and time that an outgoing request is delivered or an incoming request is received.
      ISO 8601 Format

    • Test
      boolean, null
      Reliable

      Indicates whether the request is a test or not.

    • Source
      object

      Contains the information for the system initiating the message, including the source ID and name.
      Included in messages from Redox

      • ID
        string, null
        Reliable

        Identifies 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

      • Name
        string, null
        Reliable

        Displays the name of the system initiating the message.

    • Destinations
      Array of object

      Contains 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.

      • ID
        string, null
        Reliable

        Identifies the endpoint that the request is directed to.
        UUID

      • Name
        string, null
        Reliable

        Displays the name of the endpoint that the request is directed to.

    • Logs
      Array of object

      Contains the log identifier(s) for the request.

      • ID
        string, null
        Reliable

        Identifies 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

      • AttemptID
        string, null
        Reliable

        Identifies the request log attempt value, which is useful when retries are possible.
        UUID

    • FacilityCode
      string, null
      Possible

      Code 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.

  • Patients
    Array of object

    Array of patients to filter results on.
    If multiple patients are provided, all results associated with any of the patients will be returned.

    • Identifiers
      Array of object

      List of IDs and ID types that identify the patient.
      If multiple identifiers are provided, only patients with all identifiers will be considered.

      • ID
        string, null
        Reliable

        ID for the patient

      • IDType
        string, null
        Reliable

        Type of ID.
        E.g. MRN, EPI

  • Completion
    object

    Time range to search for results. The query will be over the DateTime at which the individual results were composed into a report and released.
    ISO 8601 Format

    • StartDateTime
      string, null
      Probable

      Start of the time range to search for results.
      ISO 8601 Format

    • EndDateTime
      string, null
      Probable

      End of the time range to search for results.
      ISO 8601 Format

  • ResultStatuses
    Array of string

    Array of result statuses to filter queries by.
    If multiple result status values are provided, all results with any of the statuses will be returned.

  • OrderIDs
    Array of string

    Array of order IDs assigned by the ordering system to filter queries by.
    If multiple orders are provided, all results associated with any of the orders will be returned.

  • Array of related group IDs assigned by the ordering system to filter queries by.
    If multiple related group IDs are provided, all results associated with any of the group IDs will be returned.

  • Procedures
    Array of object

    Array of procedures to query for related results.
    All results associated with any of the procedure codes provided will be returned.

    • Code
      string, null
      Probable

      Code for the procedure

    • Codeset
      string, null
      Probable
      Value Set

      Code set used to identify the procedure.
      If no code set is specified, a health system specific identifier is being used.

  • Location
    object
    • Department
      string, null
      Possible

      ID corresponding to the department from which to retrieved the patient chart.
      This field is required for some EHRs.

  • LastUpdated
    object

    An alternative time range to search for results. Instead of querying over a clinically relevant timestamp like Completion, this searches over database update timestamps.
    Timestamps are in ISO 8601 Format

    • StartDateTime
      string, null
      Probable

      Allows for searching on updated time of results. This is the start of the time range to search in.
      ISO 8601 Format

    • EndDateTime
      string, null
      Probable

      Allows for searching on updated time of results. This is the end of the time range to search in.
      ISO 8601 Format

Example
json
1
{
2
"Meta": {
3
"DataModel": "Results",
4
"EventType": "Query",
5
"EventDateTime": "2024-11-20T14:08:29.777Z",
6
"Test": true,
7
"Source": {
8
"ID": "7ce6f387-c33c-417d-8682-81e83628cbd9",
9
"Name": "Redox Dev Tools"
10
},
11
"Destinations": [
12
{
13
"ID": "af394f14-b34a-464f-8d24-895f370af4c9",
14
"Name": "Redox EMR"
15
}
16
],
17
"Logs": [
18
{
19
"ID": "d9f5d293-7110-461e-a875-3beb089e79f3",
20
"AttemptID": "925d1617-2fe0-468c-a14c-f8c04b572c54"
21
}
22
],
23
"FacilityCode": null
24
},
25
"Patients": [
26
{
27
"Identifiers": [
28
{
29
"ID": "000000001",
30
"IDType": "MRN"
31
}
32
]
33
}
34
],
35
"Completion": {
36
"StartDateTime": "2015-05-06T06:00:00.000Z",
37
"EndDateTime": "2015-05-06T07:00:00.000Z"
38
},
39
"ResultStatuses": [
40
"Final"
41
],
42
"OrderIDs": [
43
"123",
44
"456",
45
"789"
46
],
47
"RelatedGroupIDs": [],
48
"Procedures": [],
49
"Location": {
50
"Department": null
51
},
52
"LastUpdated": {
53
"StartDateTime": null,
54
"EndDateTime": null
55
}
56
}