This page provides a comprehensive overview of all the models utilized within our APIs, accompanied by example JSON bodies for each. Here, you’ll find detailed descriptions and structures to help you understand how to effectively interact with our APIs, ensuring smooth integration and effective communication between your systems and ours.
Address
Represents a physical address, including information such as street lines, city, state, zip code, country, and an optional note for additional details.
Properties
Name
Type
Required
Description
lineOne
string
false
Address line one.
lineTwo
string
false
Address line two.
lineThree
string
false
Address line three.
city
string
false
Address city.
state
string
false
Address state.
zipCode
string
false
Address zip code.
country
string
false
Address country.
note
string
false
Address note.
Address Model Sample
1
{
2
"lineOne": "string",
3
"lineTwo": "string",
4
"lineThree": "string",
5
"city": "string",
6
"state": "string",
7
"zipCode": "string",
8
"country": "string",
9
"note": "string"
10
}
AssociateDeviceRequest
Properties
Name
Type
Required
Description
deviceId
integer(int64)
false
The ID of the device to be associated. Either this value or a Device Identifier are required to identify the Device to be (dis)associated.
patientId
integer(int64)
false
The ID of the patient to have the Device associated to. Either this value or a Patient External Identifier are required to identify who should be (dis)associated with the device.
deviceIdentifier
string
false
The Identifier, such as a Serial Number, of the device to be (dis)associated. Either this value or a Device Id are required to identify the Device to be (dis)associated.
patientExternalIdentifier
string
false
The External Identifier of the patient to have the Device (dis)associated to. Either this value or a Patient Id are required to identify who should be (dis)associated with the device.
AssociateDeviceRequest Model Sample
1
{
2
"deviceId": 0,
3
"patientId": 0,
4
"deviceIdentifier": "string",
5
"patientExternalIdentifier": "string"
6
}
BloodGlucoseReading
This page describes Impilo’s blood glucose reading model.
True if the reading value was entered manually, false otherwise.
BloodPressureReading Model Sample
1
{
2
"id": 0,
3
"patient": {
4
"id": 1,
5
"externalIdentifier": "1234abcd",
6
"firstName": "John",
7
"lastName": "Doe",
8
"dateOfBirth": "1980-01-01T00:00:00Z",
9
"email": "john.doe@example.com",
10
"phoneNumber": "+1234567890",
11
"archived": true,
12
"address": {
13
"lineOne": "string",
14
"lineTwo": "string",
15
"lineThree": "string",
16
"city": "string",
17
"state": "string",
18
"zipCode": "string",
19
"country": "string",
20
"note": "string"
21
},
22
"site": {
23
"id": 1,
24
"name": "string",
25
"active": true,
26
"address": {
27
"lineOne": "string",
28
"lineTwo": "string",
29
"lineThree": "string",
30
"city": "string",
31
"state": "string",
32
"zipCode": "string",
33
"country": "string",
34
"note": "string"
35
}
36
},
37
"enrolled": true,
38
"sex": "female"
39
},
40
"item": {
41
"id": 1,
42
"manufacturer": {
43
"id": 1,
44
"name": "string"
45
},
46
"name": "string",
47
"model": "string",
48
"sku": "string"
49
},
50
"device": {
51
"id": 1,
52
"item": {
53
"id": 1,
54
"manufacturer": {
55
"id": 1,
56
"name": "string"
57
},
58
"name": "string",
59
"model": "string",
60
"sku": "string"
61
},
62
"currentStatus": "string",
63
"used": true,
64
"currentPatient": {
65
"id": 1,
66
"externalIdentifier": "1234abcd",
67
"firstName": "John",
68
"lastName": "Doe",
69
"dateOfBirth": "1980-01-01T00:00:00Z",
70
"email": "john.doe@example.com",
71
"phoneNumber": "+1234567890",
72
"archived": true,
73
"address": {
74
"lineOne": "string",
75
"lineTwo": "string",
76
"lineThree": "string",
77
"city": "string",
78
"state": "string",
79
"zipCode": "string",
80
"country": "string",
81
"note": "string"
82
},
83
"site": {
84
"id": 1,
85
"name": "string",
86
"active": true,
87
"address": {
88
"lineOne": "string",
89
"lineTwo": "string",
90
"lineThree": "string",
91
"city": "string",
92
"state": "string",
93
"zipCode": "string",
94
"country": "string",
95
"note": "string"
96
}
97
},
98
"enrolled": true,
99
"sex": "female"
100
},
101
"site": {
102
"id": 1,
103
"name": "string",
104
"active": true,
105
"address": {
106
"lineOne": "string",
107
"lineTwo": "string",
108
"lineThree": "string",
109
"city": "string",
110
"state": "string",
111
"zipCode": "string",
112
"country": "string",
113
"note": "string"
114
}
115
},
116
"lastHealthCheck": "string",
117
"deviceIdentifiers": [
118
{
119
"type": "string",
120
"value": "string"
121
}
122
],
123
"deviceEvents": [
124
{
125
"type": "string",
126
"eventTimestamp": "string"
127
}
128
],
129
"externalIdentifier": "string"
130
},
131
"readingTimestamp": "string",
132
"systolic": 0,
133
"diastolic": 0,
134
"heartRate": 0,
135
"manual": true
136
}
Device
A device is an instance of an item. Impilo creates device records for items that are serialized, i.e., items where each individual unit is identified by a serial number, IMEI, or other identifier.
Properties
Name
Type
Required
Description
id
integer(int64)
false
Unique identifier for the device, managed by Impilo.
The Device that was associated to or disassociated from the provided Patient.
action
string
false
The type of association that was performed — either ‘associate’ or ‘disassociate’.
eventTimestamp
string
false
The timestamp of the association event.
DeviceAssociationWebhookPayload Model Sample
1
{
2
"patient": {
3
"id": 1,
4
"externalIdentifier": "1234abcd",
5
"firstName": "John",
6
"lastName": "Doe",
7
"dateOfBirth": "1980-01-01T00:00:00Z",
8
"email": "john.doe@example.com",
9
"phoneNumber": "+1234567890",
10
"archived": true,
11
"address": {
12
"lineOne": "string",
13
"lineTwo": "string",
14
"lineThree": "string",
15
"city": "string",
16
"state": "string",
17
"zipCode": "string",
18
"country": "string",
19
"note": "string"
20
},
21
"site": {
22
"id": 1,
23
"name": "string",
24
"active": true,
25
"address": {
26
"lineOne": "string",
27
"lineTwo": "string",
28
"lineThree": "string",
29
"city": "string",
30
"state": "string",
31
"zipCode": "string",
32
"country": "string",
33
"note": "string"
34
}
35
},
36
"enrolled": true,
37
"sex": "female"
38
},
39
"device": {
40
"id": 1,
41
"item": {
42
"id": 1,
43
"manufacturer": {
44
"id": 1,
45
"name": "string"
46
},
47
"name": "string",
48
"model": "string",
49
"sku": "string"
50
},
51
"currentStatus": "string",
52
"used": true,
53
"currentPatient": {
54
"id": 1,
55
"externalIdentifier": "1234abcd",
56
"firstName": "John",
57
"lastName": "Doe",
58
"dateOfBirth": "1980-01-01T00:00:00Z",
59
"email": "john.doe@example.com",
60
"phoneNumber": "+1234567890",
61
"archived": true,
62
"address": {
63
"lineOne": "string",
64
"lineTwo": "string",
65
"lineThree": "string",
66
"city": "string",
67
"state": "string",
68
"zipCode": "string",
69
"country": "string",
70
"note": "string"
71
},
72
"site": {
73
"id": 1,
74
"name": "string",
75
"active": true,
76
"address": {
77
"lineOne": "string",
78
"lineTwo": "string",
79
"lineThree": "string",
80
"city": "string",
81
"state": "string",
82
"zipCode": "string",
83
"country": "string",
84
"note": "string"
85
}
86
},
87
"enrolled": true,
88
"sex": "female"
89
},
90
"site": {
91
"id": 1,
92
"name": "string",
93
"active": true,
94
"address": {
95
"lineOne": "string",
96
"lineTwo": "string",
97
"lineThree": "string",
98
"city": "string",
99
"state": "string",
100
"zipCode": "string",
101
"country": "string",
102
"note": "string"
103
}
104
},
105
"lastHealthCheck": "string",
106
"deviceIdentifiers": [
107
{
108
"type": "string",
109
"value": "string"
110
}
111
],
112
"deviceEvents": [
113
{
114
"type": "string",
115
"eventTimestamp": "string"
116
}
117
],
118
"externalIdentifier": "string"
119
},
120
"action": "string",
121
"eventTimestamp": "string"
122
}
DeviceEvent
A device event represents a significant activity or occurrence detected by the device. Impilo tracks these events to provide insights into device usage and operational status.
Properties
Name
Type
Required
Description
type
string
false
The event type for the Device Event.
eventTimestamp
string
false
The timestamp when the Device Event was created.
DeviceEvent Model Sample
1
{
2
"type": "string",
3
"eventTimestamp": "string"
4
}
DeviceIdentifier
A device is an instance of an item. Impilo creates device records for items that are serialized, i.e., items where each individual unit is identified by a serial number, IMEI, or other identifier.
Properties
Name
Type
Required
Description
type
string
false
The type of the Device Identifier.
value
string
false
The value of the Device Identifier, based on it’s type.
DeviceIdentifier Model Sample
1
{
2
"type": "string",
3
"value": "string"
4
}
DeviceUpdate
Update request for modifying a device.
Properties
Name
Type
Required
Description
deviceStatus
string
false
Override a device status
note
string
false
Note explaining the update
deviceStatus Enumerated Values
Override a device status
Name
Desciption
used
Device is currently in use.
refurbishing
Device is being refurbished.
decommissioned
Device has been decommissioned.
shipped
Device has been shipped.
availableRepacked
Device is available and repacked.
returnedManufacturer
Device has been returned to the manufacturer.
awaitingShipment
Device is awaiting shipment.
delivered
Device has been delivered.
available
Device is available for use.
initiated
Device initialization has been initiated.
withPatient
Device is currently with a patient.
availableAtSite
Device is available at a site.
packed
Device is packed and ready for shipment or use.
DeviceUpdate Model Sample
1
{
2
"deviceStatus": "used",
3
"note": "Device decommissioned due to patient relocation."
4
}
Instant
Instant Model Sample
1
"2022-03-10T16:15:50Z"
Item
An item is any of the supplies handled by Impilo. Examples include medical devices like a blood pressure monitor or weight scale, but the term ‘item’ also refers to non-medical supplies like AAA batteries and package inserts. A customer catalog is a subset of all items supported by Impilo. This is set during onboarding and may be modified by your account manager at any time. A customer may view the items in their catalog.
Properties
Name
Type
Required
Description
id
integer(int64)
false
Unique identifier for the item, managed by Impilo.
An item is any of the supplies handled by Impilo. Examples include medical devices like a blood pressure monitor or weight scale, but the term ‘item’ also refers to non-medical supplies like AAA batteries and package inserts. A customer catalog is a subset of all items supported by Impilo. This is set during onboarding and may be modified by your account manager at any time. A customer may view the items in their catalog.
count
integer(int32)
false
none
KitItem Model Sample
1
{
2
"item": {
3
"id": 1,
4
"manufacturer": {
5
"id": 1,
6
"name": "string"
7
},
8
"name": "string",
9
"model": "string",
10
"sku": "string"
11
},
12
"count": 0
13
}
Manufacturer
A manufacturer is a supplier of an item. Every item has exactly one manufacturer.
Properties
Name
Type
Required
Description
id
integer(int64)
false
Unique identifier for the manufacturer, managed by Impilo.
An item is any of the supplies handled by Impilo. Examples include medical devices like a blood pressure monitor or weight scale, but the term ‘item’ also refers to non-medical supplies like AAA batteries and package inserts. A customer catalog is a subset of all items supported by Impilo. This is set during onboarding and may be modified by your account manager at any time. A customer may view the items in their catalog.
[A device is an instance of an item. Impilo creates device records for items that are serialized, i.e., items where each individual unit is identified by a serial number, IMEI, or other identifier.]
PackedKit Model Sample
1
{
2
"kit": {
3
"id": 0,
4
"name": "string",
5
"archived": true,
6
"kitItems": [
7
{
8
"item": {
9
"id": 1,
10
"manufacturer": {
11
"id": 1,
12
"name": "string"
13
},
14
"name": "string",
15
"model": "string",
16
"sku": "string"
17
},
18
"count": 0
19
}
20
]
21
},
22
"devices": [
23
{
24
"id": 1,
25
"item": {
26
"id": 1,
27
"manufacturer": {
28
"id": 1,
29
"name": "string"
30
},
31
"name": "string",
32
"model": "string",
33
"sku": "string"
34
},
35
"currentStatus": "string",
36
"used": true,
37
"currentPatient": {
38
"id": 1,
39
"externalIdentifier": "1234abcd",
40
"firstName": "John",
41
"lastName": "Doe",
42
"dateOfBirth": "1980-01-01T00:00:00Z",
43
"email": "john.doe@example.com",
44
"phoneNumber": "+1234567890",
45
"archived": true,
46
"address": {
47
"lineOne": "string",
48
"lineTwo": "string",
49
"lineThree": "string",
50
"city": "string",
51
"state": "string",
52
"zipCode": "string",
53
"country": "string",
54
"note": "string"
55
},
56
"site": {
57
"id": 1,
58
"name": "string",
59
"active": true,
60
"address": {
61
"lineOne": "string",
62
"lineTwo": "string",
63
"lineThree": "string",
64
"city": "string",
65
"state": "string",
66
"zipCode": "string",
67
"country": "string",
68
"note": "string"
69
}
70
},
71
"enrolled": true,
72
"sex": "female"
73
},
74
"site": {
75
"id": 1,
76
"name": "string",
77
"active": true,
78
"address": {
79
"lineOne": "string",
80
"lineTwo": "string",
81
"lineThree": "string",
82
"city": "string",
83
"state": "string",
84
"zipCode": "string",
85
"country": "string",
86
"note": "string"
87
}
88
},
89
"lastHealthCheck": "string",
90
"deviceIdentifiers": [
91
{
92
"type": "string",
93
"value": "string"
94
}
95
],
96
"deviceEvents": [
97
{
98
"type": "string",
99
"eventTimestamp": "string"
100
}
101
],
102
"externalIdentifier": "string"
103
}
104
]
105
}
Page
Pagination is supported whenever an API response returns a list of objects. In paginated responses, objects are nested in a content attribute and have first and last attributes indicating whether you are on the first or last page, respectively. Additionally, the pagination response includes a page attribute indicating the current page number, a size attribute indicating the current page size, and a total attribute indicating the number of objects matching the request.
Properties
Name
Type
Required
Description
content
[any]
false
The content of the page, consisting of a list of objects.
page
integer(int32)
false
The current page number. The first page has value 1.
size
integer(int32)
false
The current page size. Default 15, maximum 250.
total
integer(int32)
false
The number of objects matching the request.
first
boolean
false
True if this is the first page, false otherwise.
last
boolean
false
True if this is the last page, false otherwise.
Page Model Sample
1
{
2
"content": [
3
null
4
],
5
"page": 0,
6
"size": 0,
7
"total": 0,
8
"first": true,
9
"last": true
10
}
Patient
Properties
Name
Type
Required
Description
id
integer(int64)
false
Unique identifier for the patient, managed by Impilo.
externalIdentifier
string
false
Unique external identifier for the patient, managed by the customer.
firstName
string
false
The patient’s first name.
lastName
string
false
The patient’s last name.
dateOfBirth
string(date)
false
The patient’s date of birth in the format YYYY-MM-DD.
The quantity of this item type expected on this return.
ReturnItem Model Sample
1
{
2
"item": {
3
"id": 1,
4
"manufacturer": {
5
"id": 1,
6
"name": "string"
7
},
8
"name": "string",
9
"model": "string",
10
"sku": "string"
11
},
12
"count": 0
13
}
Sex
Enumerated Values
Name
Desciption
unknown
Undefined
female
Undefined
male
Undefined
other
Undefined
Sex Model Sample
1
"unknown"
Site
A site is a customer-managed location that interacts with Impilo’s services. Patient may be associated with a site, and a customer may order items and hold inventory at a site.
Properties
Name
Type
Required
Description
id
integer(int64)
false
Unique identifier for the site, managed by Impilo.