Save vitals to a patient's chart

Last updated: Dec 13, 2023

You can use this API action to save recorded values or measurements to an EHR system after a patient encounter. This is for specific values, not provider notes or interpretations. If you want to store a note with the result, save a diagnostic report to a patient's chart instead.

With this API action, you’re writing data to your connection’s system, not receiving data. Think of this like reporting an update that your organization recorded about a patient.

Use cases

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

  • Save patient vitals from devices to a patient’s chart (e.g., blood pressure measurements from a blood pressure cuff or pacemaker readings).
  • Record a patient’s physical characteristics (e.g., weight, height).
  • Save social history information (e.g., tobacco/alcohol/drug use).

Supported systems

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

Your connection's system can receive and process writeback messages with their own FHIR® or proprietary API or an HL7v2 feed.

Things you need to know

Action steps

  • 1
    Save vitals to a patient's chart
    required

This table has notes about how to use parameters for this API action specifically, but it's not exhaustive. Refer to the Observation schema for more details.

Parameter
Required
Notes
Patient
Y
A reference to the related Patient resource for the patient that received the vaccine.
Encounter
N
A reference to the related Encounter resource, if applicable to how the vital value was collected.

Observation/$write-vitals
Query
bash
1
curl 'https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/Observation/$observation-create' \
2
--request POST \
3
--header 'Authorization: Bearer ${API_TOKEN}' \
4
--header 'Content-Type: application/json' \
5
--data '{
6
"id": "KevaGreenAmbulatoryVisitVitals",
7
"meta": {
8
"profile": [
9
"https://fhir.redoxengine.com/StructureDefinition/redox-vitalsigns-observation-message-bundle"
10
]
11
},
12
"type": "message",
13
"entry": [
14
{
15
"resource": {
16
"id": "RedoxMessageHeaderExample",
17
"meta": {
18
"profile": [
19
"https://fhir.redoxengine.com/StructureDefinition/redox-message-header"
20
]
21
},
22
"source": {
23
"name": "Good Health Clinics",
24
"endpoint": "05107c08-fe2f-4740-8c1d-c7107d18ebe5"
25
},
26
"eventCoding": {
27
"code": "Observation-New",
28
"system": "urn:redox:event-type"
29
},
30
"resourceType": "MessageHeader"
31
}
32
},
33
{
34
"resource": {
35
"id": "81c2f5eb-f99f-40c4-b504-59483e6148d7",
36
"link": [
37
{
38
"type": "replaces",
39
"other": {
40
"reference": "Patient/69efd2ea-1256-4ae7-b4ec-5d0160427185"
41
}
42
}
43
],
44
"meta": {
45
"profile": [
46
"https://fhir.redoxengine.com/StructureDefinition/redox-patient"
47
],
48
"lastUpdated": "2022-12-01T21:57:23.879Z"
49
},
50
"name": [
51
{
52
"use": "official",
53
"given": [
54
"Keva"
55
],
56
"family": "Green"
57
}
58
],
59
"active": true,
60
"gender": "female",
61
"address": [
62
{
63
"use": "home",
64
"city": "Hillsboro",
65
"line": [
66
"932 Stehr Vista"
67
],
68
"state": "OR",
69
"country": "US",
70
"postalCode": "97123"
71
}
72
],
73
"telecom": [
74
{
75
"use": "home",
76
"value": "+18088675302",
77
"system": "phone"
78
},
79
{
80
"value": "Keva.Green-95@test.net",
81
"system": "email"
82
}
83
],
84
"birthDate": "1995-08-26",
85
"extension": [
86
{
87
"url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race",
88
"extension": [
89
{
90
"url": "text",
91
"valueString": "White"
92
},
93
{
94
"url": "ombCategory",
95
"valueCoding": {
96
"code": "2106-3",
97
"system": "urn:oid:2.16.840.1.113883.6.238",
98
"display": "White"
99
}
100
}
101
]
102
}
103
],
104
"identifier": [
105
{
106
"value": "kyHGADnvX3xbkU4V9ayaqh",
107
"system": "urn:redox:redox-fhir-sandbox:MR"
108
},
109
{
110
"use": "secondary",
111
"value": "483749",
112
"system": "urn:redox:redox-fhir-sandbox:MR"
113
}
114
],
115
"resourceType": "Patient"
116
}
117
},
118
{
119
"resource": {
120
"id": "004c4cd2-63b0-d216-edf2-079f74d924d6",
121
"meta": {
122
"profile": [
123
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter"
124
]
125
},
126
"type": [
127
{
128
"text": "General examination of patient (procedure)",
129
"coding": [
130
{
131
"code": "162673000",
132
"system": "http://snomed.info/sct",
133
"display": "General examination of patient (procedure)"
134
}
135
]
136
}
137
],
138
"class": {
139
"code": "AMB",
140
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
141
},
142
"period": {
143
"end": "2023-02-13T00:23:26-05:00",
144
"start": "2023-02-12T23:50:50-05:00"
145
},
146
"status": "finished",
147
"subject": {
148
"display": "Keva Green",
149
"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"
150
},
151
"location": [
152
{
153
"location": {
154
"display": "AGELESS WELLNESS CENTER, INC",
155
"reference": "Location?identifier=https://github.com/synthetichealth/synthea|a5cc27d1-5c70-39f8-a9c4-2f3696988650"
156
}
157
}
158
],
159
"identifier": [
160
{
161
"use": "official",
162
"value": "004c4cd2-63b0-d216-edf2-079f74d924d6",
163
"system": "https://github.com/synthetichealth/synthea"
164
}
165
],
166
"participant": [
167
{
168
"type": [
169
{
170
"text": "primary performer",
171
"coding": [
172
{
173
"code": "PPRF",
174
"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
175
"display": "primary performer"
176
}
177
]
178
}
179
],
180
"period": {
181
"end": "2023-02-13T00:23:26-05:00",
182
"start": "2023-02-12T23:50:50-05:00"
183
},
184
"individual": {
185
"display": "Dr. Will Bernhard",
186
"reference": "Practitioner?identifier=http://hl7.org/fhir/sid/us-npi|9999945790"
187
}
188
}
189
],
190
"resourceType": "Encounter",
191
"serviceProvider": {
192
"display": "AGELESS WELLNESS CENTER, INC",
193
"reference": "Organization?identifier=https://github.com/synthetichealth/synthea|8b124b8e-ce6a-3b8a-bf2c-b8f539a4e3ce"
194
}
195
}
196
},
197
{
198
"resource": {
199
"id": "95465ba1-7bff-a298-2d72-e92a483f2f68",
200
"code": {
201
"text": "Body Height",
202
"coding": [
203
{
204
"code": "8302-2",
205
"system": "http://loinc.org",
206
"display": "Body Height"
207
}
208
]
209
},
210
"meta": {
211
"profile": [
212
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-body-height"
213
]
214
},
215
"issued": "2023-02-12T23:50:50.483-05:00",
216
"status": "final",
217
"subject": {
218
"type": "Patient",
219
"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"
220
},
221
"category": [
222
{
223
"coding": [
224
{
225
"code": "vital-signs",
226
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
227
"display": "Vital signs"
228
}
229
]
230
}
231
],
232
"encounter": {
233
"type": "Encounter",
234
"reference": "Encounter/004c4cd2-63b0-d216-edf2-079f74d924d6"
235
},
236
"resourceType": "Observation",
237
"valueQuantity": {
238
"code": "cm",
239
"unit": "cm",
240
"value": 166.4,
241
"system": "http://unitsofmeasure.org"
242
},
243
"effectiveDateTime": "2023-02-12T23:50:50-05:00"
244
}
245
},
246
{
247
"resource": {
248
"id": "9f469867-1fb7-ebcd-e6b2-3ea218f08e29",
249
"code": {
250
"text": "Pain severity - 0-10 verbal numeric rating [Score] - Reported",
251
"coding": [
252
{
253
"code": "72514-3",
254
"system": "http://loinc.org",
255
"display": "Pain severity - 0-10 verbal numeric rating [Score] - Reported"
256
}
257
]
258
},
259
"issued": "2023-02-12T23:50:50.483-05:00",
260
"status": "final",
261
"subject": {
262
"type": "Patient",
263
"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"
264
},
265
"category": [
266
{
267
"coding": [
268
{
269
"code": "vital-signs",
270
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
271
"display": "Vital signs"
272
}
273
]
274
}
275
],
276
"encounter": {
277
"type": "Encounter",
278
"reference": "Encounter/004c4cd2-63b0-d216-edf2-079f74d924d6"
279
},
280
"resourceType": "Observation",
281
"valueQuantity": {
282
"code": "{score}",
283
"unit": "{score}",
284
"value": 3,
285
"system": "http://unitsofmeasure.org"
286
},
287
"effectiveDateTime": "2023-02-12T23:50:50-05:00"
288
}
289
},
290
{
291
"resource": {
292
"id": "25c9fdd0-82d4-f760-1897-587130528e84",
293
"code": {
294
"text": "Body Weight",
295
"coding": [
296
{
297
"code": "29463-7",
298
"system": "http://loinc.org",
299
"display": "Body Weight"
300
}
301
]
302
},
303
"meta": {
304
"profile": [
305
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-body-weight"
306
]
307
},
308
"issued": "2023-02-12T23:50:50.483-05:00",
309
"status": "final",
310
"subject": {
311
"type": "Patient",
312
"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"
313
},
314
"category": [
315
{
316
"coding": [
317
{
318
"code": "vital-signs",
319
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
320
"display": "Vital signs"
321
}
322
]
323
}
324
],
325
"encounter": {
326
"type": "Encounter",
327
"reference": "Encounter/004c4cd2-63b0-d216-edf2-079f74d924d6"
328
},
329
"resourceType": "Observation",
330
"valueQuantity": {
331
"code": "kg",
332
"unit": "kg",
333
"value": 80.6,
334
"system": "http://unitsofmeasure.org"
335
},
336
"effectiveDateTime": "2023-02-12T23:50:50-05:00"
337
}
338
},
339
{
340
"resource": {
341
"id": "0fd4a87c-6b07-9610-c281-01f05c61c63d",
342
"code": {
343
"text": "Body mass index (BMI) [Ratio]",
344
"coding": [
345
{
346
"code": "39156-5",
347
"system": "http://loinc.org",
348
"display": "Body mass index (BMI) [Ratio]"
349
}
350
]
351
},
352
"meta": {
353
"profile": [
354
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-bmi"
355
]
356
},
357
"issued": "2023-02-12T23:50:50.483-05:00",
358
"status": "final",
359
"subject": {
360
"type": "Patient",
361
"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"
362
},
363
"category": [
364
{
365
"coding": [
366
{
367
"code": "vital-signs",
368
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
369
"display": "Vital signs"
370
}
371
]
372
}
373
],
374
"encounter": {
375
"type": "Encounter",
376
"reference": "Encounter/004c4cd2-63b0-d216-edf2-079f74d924d6"
377
},
378
"resourceType": "Observation",
379
"valueQuantity": {
380
"code": "kg/m2",
381
"unit": "kg/m2",
382
"value": 29.11,
383
"system": "http://unitsofmeasure.org"
384
},
385
"effectiveDateTime": "2023-02-12T23:50:50-05:00"
386
}
387
},
388
{
389
"resource": {
390
"id": "42c2cb2a-5cf8-6a57-f587-88262a169d4b",
391
"code": {
392
"text": "Blood pressure panel with all children optional",
393
"coding": [
394
{
395
"code": "85354-9",
396
"system": "http://loinc.org",
397
"display": "Blood pressure panel with all children optional"
398
}
399
]
400
},
401
"meta": {
402
"profile": [
403
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-blood-pressure"
404
]
405
},
406
"issued": "2023-02-12T23:50:50.483-05:00",
407
"status": "final",
408
"subject": {
409
"type": "Patient",
410
"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"
411
},
412
"category": [
413
{
414
"coding": [
415
{
416
"code": "vital-signs",
417
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
418
"display": "Vital signs"
419
}
420
]
421
}
422
],
423
"component": [
424
{
425
"code": {
426
"text": "Diastolic Blood Pressure",
427
"coding": [
428
{
429
"code": "8462-4",
430
"system": "http://loinc.org",
431
"display": "Diastolic Blood Pressure"
432
}
433
]
434
},
435
"valueQuantity": {
436
"code": "mm[Hg]",
437
"unit": "mm[Hg]",
438
"value": 119,
439
"system": "http://unitsofmeasure.org"
440
}
441
},
442
{
443
"code": {
444
"text": "Systolic Blood Pressure",
445
"coding": [
446
{
447
"code": "8480-6",
448
"system": "http://loinc.org",
449
"display": "Systolic Blood Pressure"
450
}
451
]
452
},
453
"valueQuantity": {
454
"code": "mm[Hg]",
455
"unit": "mm[Hg]",
456
"value": 148,
457
"system": "http://unitsofmeasure.org"
458
}
459
}
460
],
461
"encounter": {
462
"type": "Encounter",
463
"reference": "Encounter/004c4cd2-63b0-d216-edf2-079f74d924d6"
464
},
465
"resourceType": "Observation",
466
"effectiveDateTime": "2023-02-12T23:50:50-05:00"
467
}
468
},
469
{
470
"resource": {
471
"id": "6e0fb3cc-baa6-dae6-fdb9-a1abcae77547",
472
"code": {
473
"text": "Heart rate",
474
"coding": [
475
{
476
"code": "8867-4",
477
"system": "http://loinc.org",
478
"display": "Heart rate"
479
}
480
]
481
},
482
"meta": {
483
"profile": [
484
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-heart-rate"
485
]
486
},
487
"issued": "2023-02-12T23:50:50.483-05:00",
488
"status": "final",
489
"subject": {
490
"type": "Patient",
491
"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"
492
},
493
"category": [
494
{
495
"coding": [
496
{
497
"code": "vital-signs",
498
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
499
"display": "Vital signs"
500
}
501
]
502
}
503
],
504
"encounter": {
505
"type": "Encounter",
506
"reference": "Encounter/004c4cd2-63b0-d216-edf2-079f74d924d6"
507
},
508
"resourceType": "Observation",
509
"valueQuantity": {
510
"code": "/min",
511
"unit": "/min",
512
"value": 88,
513
"system": "http://unitsofmeasure.org"
514
},
515
"effectiveDateTime": "2023-02-12T23:50:50-05:00"
516
}
517
},
518
{
519
"resource": {
520
"id": "2278c35a-958f-320e-0244-32cda2036e55",
521
"code": {
522
"text": "Respiratory rate",
523
"coding": [
524
{
525
"code": "9279-1",
526
"system": "http://loinc.org",
527
"display": "Respiratory rate"
528
}
529
]
530
},
531
"meta": {
532
"profile": [
533
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-respiratory-rate"
534
]
535
},
536
"issued": "2023-02-12T23:50:50.483-05:00",
537
"status": "final",
538
"subject": {
539
"type": "Patient",
540
"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"
541
},
542
"category": [
543
{
544
"coding": [
545
{
546
"code": "vital-signs",
547
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
548
"display": "Vital signs"
549
}
550
]
551
}
552
],
553
"encounter": {
554
"type": "Encounter",
555
"reference": "Encounter/004c4cd2-63b0-d216-edf2-079f74d924d6"
556
},
557
"resourceType": "Observation",
558
"valueQuantity": {
559
"code": "/min",
560
"unit": "/min",
561
"value": 14,
562
"system": "http://unitsofmeasure.org"
563
},
564
"effectiveDateTime": "2023-02-12T23:50:50-05:00"
565
}
566
}
567
],
568
"resourceType": "Bundle"
569
}'