Retrieve a patient's imaging data

Last updated: Mar 21, 2024
PRODUCT OWNER
HEALTH TECH VENDOR

You can use this API action to access a patient’s imaging and related metadata from a Picture Archiving and Communications System (PACS) server.

If you’re looking for a provider’s interpretation of imaging, retrieve a patient’s diagnostic results instead.

Use cases

This API action may be a good fit for your organization if you perform any of these use cases:

  • Access the original imaging for a patient (e.g., MRI, CT scan, X-ray).
  • Find related metadata for a particular image (e.g., study date, study description, size, dimensions, modality).
  • Complete AI learning or processing.

Supported systems

You can use this API action with the Redox FHIR® API.

Your connection's system can return results with their own FHIR® or query-based API.

Things you need to know

Action steps

Retrieve the storage location for a patient's imaging

You can search for the storage location, i.e., endpoint URL, for a patient’s imaging. Generally speaking, this is the translated FHIR® equivalent of QIDO-RS. Refer to the ImagingStudy schema for more details. 

ImagingStudy/_search
Query
bash
1
curl 'https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/ImagingStudy/_search' \
2
--request POST \
3
--header 'Authorization: Bearer ${API_TOKEN}' \
4
--header 'redox-source-id: 6fbe85af-a83d-47f9-8330-18cb44d0557f,' \
5
--header 'Content-Type: application/x-www-form-urlencoded' \
6
--data-urlencode 'patient=kyHGADnvX3xbkU4V9ayaqh' \
7
--data-urlencode 'started=2022-11-30T18:42:59.888Z' \
8
--data-urlencode 'modality=CT'
Response
json
1
{
2
"type": "searchset",
3
"entry": [
4
{
5
"fullUrl": "https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/ImagingStudy?identifier=1.2.840.113619.2.243.6074146108103184.41976.4343.2084088",
6
"resource": {
7
"note": {
8
"text": "XR Wrist 3+ Views"
9
},
10
"series": [
11
{
12
"uid": "1.2.826.0.1.3680043.8.1055.1.20111103112244831.29109107.29203688",
13
"number": 10,
14
"started": "2015-01-14T13:30:00.000Z",
15
"bodySite": {
16
"code": "T-15460",
17
"system": "http://snomed.info/sct"
18
},
19
"endpoint": [
20
{
21
"reference": "#1.2.826.0.1.3680043.8.1055.1.20111103112244831.29109107.29203688"
22
}
23
],
24
"instance": [
25
{
26
"uid": "1.2.826.0.1.3680043.8.1055.1.20111103112244831.30826609.78057758",
27
"number": 1,
28
"sopClass": "1.2.840.10008.5.1.4.1.1.7"
29
}
30
],
31
"modality": {
32
"code": "OT",
33
"system": "http://dicom.nema.org/resources/ontology/DCM"
34
},
35
"performer": [
36
{
37
"actor": {
38
"type": "Practioner",
39
"display": "OCTAVIUS^OTTO",
40
"identifier": {
41
"value": "12345678902",
42
"system": "urn:oid:2.16.528.1.1007.3.1"
43
}
44
},
45
"function": {
46
"coding": [
47
{
48
"code": "PRF",
49
"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
50
}
51
]
52
}
53
}
54
],
55
"laterality": {
56
"code": "419161000",
57
"system": "http://snomed.info/sct"
58
},
59
"description": "XR Wrist 3+ Views",
60
"numberOfInstances": 1
61
}
62
],
63
"status": "available",
64
"started": "2015-01-14T13:22:42.000Z",
65
"subject": {
66
"type": "Patient",
67
"display": "GREEN^KEVA",
68
"identifier": {
69
"value": "RJN7270450X"
70
}
71
},
72
"endpoint": [
73
{
74
"reference": "#1.2.840.113619.2.243.6074146108103184.41976.4343.2084088"
75
}
76
],
77
"modality": [
78
{
79
"coding": [
80
{
81
"code": "MR",
82
"system": "http://dicom.nema.org/resources/ontology/DCM"
83
}
84
]
85
}
86
],
87
"identifier": [
88
{
89
"use": "official",
90
"value": "urn:oid:1.2.840.113619.2.243.6074146108103184.41976.4343.2084088",
91
"system": "urn:dicom:uid"
92
}
93
],
94
"reasonCode": [
95
{
96
"text": "Closed fracture of trapezoidal bone of wrist",
97
"coding": [
98
{
99
"code": "357009",
100
"system": "http://snomed.info/sct",
101
"display": "Closed fracture of trapezoidal bone of wrist"
102
}
103
]
104
}
105
],
106
"description": "XR Wrist 3+ Views",
107
"resourceType": "ImagingStudy",
108
"procedureCode": [
109
{
110
"text": "XR Wrist 3+ Views",
111
"coding": [
112
{
113
"code": "RPID2589",
114
"system": "http://www.radlex.org",
115
"display": "XR Wrist 3+ Views"
116
}
117
]
118
}
119
],
120
"numberOfSeries": 1,
121
"numberOfInstances": 5
122
}
123
}
124
],
125
"contained": [
126
{
127
"id": "1.2.840.113619.2.243.6074146108103184.41976.4343.2084088",
128
"status": "active",
129
"address": "https://testapi.redoxengine.com/dicom-web/{{destination-slug}}/Production/studies/1.2.840.113619.2.243.6074146108103184.41976.4343.2084088",
130
"payloadType": [
131
{
132
"text": "DICOM WADO-RS"
133
}
134
],
135
"resourceType": "Endpoint",
136
"connectionType": {
137
"code": "dicom-wado-rs",
138
"system": "http://terminology.hl7.org/CodeSystem/endpoint-connection-type"
139
},
140
"payloadMimeType": [
141
"application/dicom"
142
]
143
},
144
{
145
"id": "1.2.826.0.1.3680043.8.1055.1.20111103112244831.29109107.29203688",
146
"status": "active",
147
"address": "https://testapi.redoxengine.com/dicom-web/{{destination-slug}}/Production/studies/1.2.840.113619.2.243.6074146108103184.41976.4343.2084088/series/1.2.826.0.1.3680043.8.1055.1.20111103112244831.29109107.29203688",
148
"payloadType": [
149
{
150
"text": "DICOM WADO-RS"
151
}
152
],
153
"resourceType": "Endpoint",
154
"connectionType": {
155
"code": "dicom-wado-rs",
156
"system": "http://terminology.hl7.org/CodeSystem/endpoint-connection-type"
157
},
158
"payloadMimeType": [
159
"application/dicom"
160
]
161
}
162
],
163
"timestamp": "2022-11-04T19:38:57.609Z",
164
"resourceType": "Bundle"
165
}

Retrieve a patient's imaging data

Once you have the endpoint URL for the image you’re looking for, you can query the endpoint directly for the given imaging. Generally speaking, this is the translated FHIR® equivalent of WADO-RS. Refer to the ImagingStudy schema for more details. 

ImagingStudy/read
Query
bash
1
curl 'https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/ImagingStudy/1.2.840.113619.2.243.6074146108103184.41976.4343.2084088' \
2
--request GET \
3
--header 'Authorization: Bearer ${API_TOKEN}'
Response
json
1
{
2
"note": {
3
"text": "XR Wrist 3+ Views"
4
},
5
"series": [
6
{
7
"uid": "1.2.826.0.1.3680043.8.1055.1.20111103112244831.29109107.29203688",
8
"number": 10,
9
"started": "2015-01-14T13:30:00.000Z",
10
"bodySite": {
11
"code": "T-15460",
12
"system": "http://snomed.info/sct"
13
},
14
"endpoint": [
15
{
16
"reference": "#1.2.826.0.1.3680043.8.1055.1.20111103112244831.29109107.29203688"
17
}
18
],
19
"instance": [
20
{
21
"uid": "1.2.826.0.1.3680043.8.1055.1.20111103112244831.30826609.78057758",
22
"number": 1,
23
"sopClass": "1.2.840.10008.5.1.4.1.1.7"
24
}
25
],
26
"modality": {
27
"code": "OT",
28
"system": "http://dicom.nema.org/resources/ontology/DCM"
29
},
30
"performer": [
31
{
32
"actor": {
33
"type": "Practioner",
34
"display": "OCTAVIUS^OTTO",
35
"identifier": {
36
"value": "12345678902",
37
"system": "urn:oid:2.16.528.1.1007.3.1"
38
}
39
},
40
"function": {
41
"coding": [
42
{
43
"code": "PRF",
44
"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
45
}
46
]
47
}
48
}
49
],
50
"laterality": {
51
"code": "419161000",
52
"system": "http://snomed.info/sct"
53
},
54
"description": "XR Wrist 3+ Views",
55
"numberOfInstances": 1
56
}
57
],
58
"status": "available",
59
"started": "2015-01-14T13:22:42.000Z",
60
"subject": {
61
"type": "Patient",
62
"display": "GREEN^KEVA",
63
"identifier": {
64
"value": "RJN7270450X"
65
}
66
},
67
"endpoint": [
68
{
69
"reference": "#1.2.840.113619.2.243.6074146108103184.41976.4343.2084088"
70
}
71
],
72
"modality": [
73
{
74
"coding": [
75
{
76
"code": "MR",
77
"system": "http://dicom.nema.org/resources/ontology/DCM"
78
}
79
]
80
}
81
],
82
"contained": [
83
{
84
"id": "1.2.840.113619.2.243.6074146108103184.41976.4343.2084088",
85
"status": "active",
86
"address": "https://testapi.redoxengine.com/dicom-web/tanner-test-13-dicom/Production/studies/1.2.840.113619.2.243.6074146108103184.41976.4343.2084088",
87
"payloadType": [
88
{
89
"text": "DICOM WADO-RS"
90
}
91
],
92
"resourceType": "Endpoint",
93
"connectionType": {
94
"code": "dicom-wado-rs",
95
"system": "http://terminology.hl7.org/CodeSystem/endpoint-connection-type"
96
},
97
"payloadMimeType": [
98
"application/dicom"
99
]
100
},
101
{
102
"id": "1.2.826.0.1.3680043.8.1055.1.20111103112244831.29109107.29203688",
103
"status": "active",
104
"address": "https://testapi.redoxengine.com/dicom-web/tanner-test-13-dicom/Production/studies/1.2.840.113619.2.243.6074146108103184.41976.4343.2084088/series/1.2.826.0.1.3680043.8.1055.1.20111103112244831.29109107.29203688",
105
"payloadType": [
106
{
107
"text": "DICOM WADO-RS"
108
}
109
],
110
"resourceType": "Endpoint",
111
"connectionType": {
112
"code": "dicom-wado-rs",
113
"system": "http://terminology.hl7.org/CodeSystem/endpoint-connection-type"
114
},
115
"payloadMimeType": [
116
"application/dicom"
117
]
118
}
119
],
120
"identifier": [
121
{
122
"use": "official",
123
"value": "urn:oid:1.2.840.113619.2.243.6074146108103184.41976.4343.2084088",
124
"system": "urn:dicom:uid"
125
}
126
],
127
"reasonCode": [
128
{
129
"text": "Closed fracture of trapezoidal bone of wrist",
130
"coding": [
131
{
132
"code": "357009",
133
"system": "http://snomed.info/sct",
134
"display": "Closed fracture of trapezoidal bone of wrist"
135
}
136
]
137
}
138
],
139
"description": "XR Wrist 3+ Views",
140
"resourceType": "ImagingStudy",
141
"procedureCode": [
142
{
143
"text": "XR Wrist 3+ Views",
144
"coding": [
145
{
146
"code": "RPID2589",
147
"system": "http://www.radlex.org",
148
"display": "XR Wrist 3+ Views"
149
}
150
]
151
}
152
],
153
"numberOfSeries": 1,
154
"numberOfInstances": 5
155
}