Device
The Device data model is used to send discrete continuous physiological monitoring data to a patient's chart (e.g., heart rate, estimated blood loss). This is useful when an EHR system is maintaining the link from the device to the patient. The app sending the device data back to the EHR system needs to include the device ID to save the data back to the patient's chart. There are two types of device patient association in the EHR: a) Static: If a device is not movable and is set in a single patient room, it can be assumed that any patient in that room is using the device when data comes back for it. No manual step is needed for association of the device to the patient, only validation of the data by a nurse to file it to the chart; b) Dynamic: If a device is mobile and moves from room to room, typically a user generally manually associates the device with a patient in the EHR system before data flows to that chart and can be validated.
The Device data model is almost identical to the Flowsheets data model except for one key difference: the Device data model requires a device ID to match the results with the patient's chart while the Flowsheets model (and almost every other data model) requires a patient ID. The Device data model also differs from the Results data model in that the device data is continuous, whereas results are generally a one-time outcome of an order. Check out the Results data model if you're interested in results from an ordered test. Typically, EHR systems that support device data offer an HL7v2 ORU interface or API to file the data.
A New message is used to add new observations from a device to a patient's chart. Multiple different observations may be included in one message. Note that patient information and visit information may be included. However, in most cases, the EHR maps the device ID either to the patient directly, or to a room/bed directly, and ignores the patient and visit information.
Fields
Meta
Meta.DataModel
String
ReliableRequiredDevice
Meta.EventType
String
ReliableRequiredNew
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.
Patient
Patient.Identifiers[]
Array of Objects
ReliableList of IDs and ID types that identify the patient
Patient.Identifiers[].ID
String
ReliableID for the patient
Patient.Identifiers[].IDType
String
ReliableType of ID.
E.g. MRN, EPI
Patient.Demographics.FirstName
String
ReliablePatient's first name
Patient.Demographics.MiddleName
String
PossiblePatient's middle name or middle initial. For patients with multiple middle names, all their middle names are included in this field.
Patient.Demographics.LastName
String
ReliablePatient's last name
Patient.Demographics.DOB
String
ReliablePatient's date of birth.
In ISO 8601 format
Patient.Demographics.SSN
String
ProbablePatient's social security number
Patient.Demographics.Sex
String
ReliableValueSetPatient's sex
-
Additional values may be added by Redox in the future.
-
Patient.Demographics.Race
String
PossibleValueSetPatient's race
-
Additional values may be added by Redox in the future.
-
Patient.Demographics.IsHispanic
Boolean
PossibleValueSetIndicates if the patient is of hispanic origin.
-
Additional values may be added by Redox in the future.
-
Patient.Demographics.Religion
String
PossibleValueSetPatient's religious affiliation
-
Additional values may be added by Redox in the future.
-
Patient.Demographics.MaritalStatus
String
PossibleValueSetPatient's marital status
-
Additional values may be added by Redox in the future.
-
Patient.Demographics.IsDeceased
Boolean
PossibleIndicates if the patient is deceased
Patient.Demographics.DeathDateTime
DateTime
PossibleDate and Time the patient was proclaimed deceased.
ISO 8601 Format
Patient.Demographics.PhoneNumber.Home
String
ProbablePatient's home phone number.
In E. 164 Format. (e.g. +16085551234)
Patient.Demographics.PhoneNumber.Office
String
ProbablePatient's office phone number.
In E. 164 Format. (e.g. +16085551234)
Patient.Demographics.PhoneNumber.Mobile
String
ProbablePatient's mobile phone number.
In E. 164 Format. (e.g. +16085551234)
Patient.Demographics.EmailAddresses[]
Array of Strings
ProbablePatient's email address(es)
Patient.Demographics.Language
String
PossibleValueSetPatient's primary spoken language
-
Additional values may be added by Redox in the future.
-
Patient.Demographics.Citizenship[]
Array of strings
PossibleValueSetPatient's nation(s) of citizenship
-
Additional values may be added by Redox in the future.
-
Patient.Demographics.Address
Object
ProbablePatient's home address
Patient.Demographics.Address.StreetAddress
String
ProbableStreet address
Patient.Demographics.Address.City
String
ProbableCity
Patient.Demographics.Address.State
String
ProbableState
Patient.Demographics.Address.ZIP
String
ProbableZIP
Patient.Demographics.Address.County
String
PossibleCounty
Patient.Demographics.Address.Country
String
PossibleValueSetCountry
-
Additional values may be added by Redox in the future.
-
Patient.Notes[]
Array of strings
PossiblePatient-level notes
Patient.Contacts[].FirstName
String
PossibleFirst name of the contact
Patient.Contacts[].MiddleName
String
PossibleMiddle name of the contact
Patient.Contacts[].LastName
String
PossibleLast name of the contact
Patient.Contacts[].Address
Object
PossibleAddress of the contact
Patient.Contacts[].Address.StreetAddress
String
PossibleStreet address
Patient.Contacts[].Address.City
String
PossibleCity
Patient.Contacts[].Address.State
String
PossibleState
Patient.Contacts[].Address.ZIP
String
PossibleZIP
Patient.Contacts[].Address.County
String
PossibleCounty
Patient.Contacts[].Address.Country
String
PossibleValueSetCountry
-
Additional values may be added by Redox in the future.
-
Patient.Contacts[].PhoneNumber.Home
String
PossibleHome phone number.
In E. 164 Format. (e.g. +16085551234)
Patient.Contacts[].PhoneNumber.Office
String
PossibleOffice phone number.
In E. 164 Format. (e.g. +16085551234)
Patient.Contacts[].PhoneNumber.Mobile
String
ProbableMobile phone number.
In E. 164 Format. (e.g. +16085551234)
Patient.Contacts[].RelationToPatient
String
PossibleValueSetPersonal relationship to the patient
-
Additional values may be added by Redox in the future.
-
Patient.Contacts[].EmailAddresses[]
Array of string
PossibleEmail address(es) of the contact person
Patient.Contacts[].Roles[]
Array of strings
PossibleRole of this contact for the patient.
e.x. Employer, Emergency Contact
Visit
Visit.VisitNumber
String
ReliableNumber for the visit
Visit.Location
Object
ProbableLocation of the visit. This may be used for validation or to identify your application/device.
Visit.Location.Type
String
ProbableType of location.
Examples: Clinic, Department, Home, Nursing Unit, Provider's Office, Phone
Visit.Location.Facility
String
ProbableFacility.
Example: Community Hospital
Visit.Location.FacilityIdentifiers[]
Array of Objects
ProbableList of IDs specific to this facility
Visit.Location.FacilityIdentifiers[].ID
String
ProbableAn ID specific to this facility
Visit.Location.FacilityIdentifiers[].IDType
String
ProbableThe source or system to which this ID pertains.
Could be an OID or a human-readable name
Visit.Location.Department
String
ProbableDepartment
Visit.Location.DepartmentIdentifiers[]
Array of Objects
ProbableList of IDs specific to this department
Visit.Location.DepartmentIdentifiers[].ID
String
ProbableAn ID specific to this department
Visit.Location.DepartmentIdentifiers[].IDType
String
ProbableThe source or system to which this ID pertains.
Could be an OID or a human-readable name
Visit.Location.Room
String
ProbableRoom.
Example: 136
Visit.Location.Bed
String
ProbableBed.
Example: B
Device
Device.ID
String
ReliableRequiredIdentifier for the device.
This ID is used to map the device to the patient in the EMR
Observations
Observations[]
Array of objects
ReliableList of values to be added to the patient's chart
Observations[].DateTime
String
ReliableRequiredDateTime the value was recorded.
ISO 8601 Format
Observations[].Code
String
ReliableRequiredCode for the metric measured.
This is usually provided by the EMR or you will be asked to provide a list of codes you can send. For example, this is where you would specify "Heart Rate"
Observations[].Value
String
ReliableRequiredValue to be recorded for corresponding code.
For example, if the code is "Heart Rate", this may be 65
Observations[].ValueType
String
ReliableValueSetRequiredData type for the value
-
Additional values may be added by Redox in the future.
-
Observations[].Units
String
ProbableUnits of the value.
If the code is "Heart Rate", this may be "BPM"
{
"Meta": {
"DataModel": "Device",
"EventType": "New",
"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
},
"Patient": {
"Identifiers": [
{
"ID": "0000000001",
"IDType": "MR"
},
{
"ID": "e167267c-16c9-4fe3-96ae-9cff5703e90a",
"IDType": "EHRID"
},
{
"ID": "a1d4ee8aba494ca",
"IDType": "NIST"
}
],
"Demographics": {
"FirstName": "Timothy",
"MiddleName": "Paul",
"LastName": "Bixby",
"DOB": "2008-01-06",
"SSN": "101-01-0001",
"Sex": "Male",
"Race": "White",
"IsHispanic": null,
"Religion": null,
"MaritalStatus": "Single",
"IsDeceased": null,
"DeathDateTime": null,
"PhoneNumber": {
"Home": "+18088675301",
"Office": null,
"Mobile": null
},
"EmailAddresses": [],
"Language": "en",
"Citizenship": [],
"Address": {
"StreetAddress": "4762 Hickory Street",
"City": "Monroe",
"State": "WI",
"ZIP": "53566",
"County": "Green",
"Country": "US"
}
},
"Notes": [],
"Contacts": [
{
"FirstName": "Barbara",
"MiddleName": null,
"LastName": "Bixby",
"Address": {
"StreetAddress": "4762 Hickory Street",
"City": "Monroe",
"State": "WI",
"ZIP": "53566",
"County": "Green",
"Country": "US"
},
"PhoneNumber": {
"Home": "+18088675303",
"Office": "+17077543758",
"Mobile": "+19189368865"
},
"RelationToPatient": "Mother",
"EmailAddresses": [
"[email protected]"
],
"Roles": [
"Emergency Contact"
]
}
]
},
"Visit": {
"VisitNumber": "1234",
"Location": {
"Type": null,
"Facility": null,
"FacilityIdentifiers": [],
"Department": null,
"DepartmentIdentifiers": [],
"Room": null,
"Bed": null
}
},
"Device": {
"ID": "dev28701"
},
"Observations": [
{
"DateTime": "2015-08-13T21:08:57.581Z",
"Code": "Systolic",
"Value": "110.00",
"ValueType": "Numeric",
"Units": "mmHg"
},
{
"DateTime": "2015-08-13T21:08:57.581Z",
"Code": "Diastolic",
"Value": "90.00",
"ValueType": "Numeric",
"Units": "mmHg"
},
{
"DateTime": "2015-08-13T21:08:57.581Z",
"Code": "Heart Rate",
"Value": "55",
"ValueType": "Numeric",
"Units": "beats/min"
}
]
}