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.
To use this API action, you must know the patient identifier. If you don’t, you must locate the appropriate identifier first. Learn how to search for a patient with demographics.
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).
You can use this API action with the Redox FHIR® API.
It’s also possible to use the Redox Data Model API for this API action. Talk to a Redoxer to learn about your options.
Your connection's system can receive and process writeback messages with their own FHIR® or proprietary API or an HL7v2 feed.
Lab results are a one-time outcome of an order. Whereas patient vitals are values from device readings, which are typically continuous measurements (e.g., ventilators, pumps, Sp02 monitors). Lab results may also come from devices (e.g., imaging), but the device doesn’t measure or capture results continuously.
If you're saving data via the Data Model API, use the Device data model for patient vitals and the Results data model for lab results.
When you write data back to an EHR system, you should always include whatever data points you have. You can think of this like including a patient’s demographics for a new patient record; the demographics give useful context for the patient’s chart.
This “demographics” concept is the same for any new “thing” you’re saving to an EHR system. When sending a writeback message, you should include any relevant identifiers, codes, or context to tell the EHR system about the data you’re saving. Here are some examples:
- patient first name
- patient last name
- patient date of birth
- any patient identifiers
- encounter identifier (if applicable)
- encounter department/location (if applicable)
- any unique record identifiers for the triggering event (e.g., order, result, medication admin ID)
- relevant provider IDs and names (for orders)
- procedure code (for orders)
- 1Save vitals to a patient's chartrequired
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. |
The response you receive back is the relevant HTTP status code. Your connection decides what to do with the data you’ve sent to them.
1curl '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}'
FHIR® is a registered trademark of Health Level Seven International (HL7) and is used with the permission of HL7. Use of this trademark does not constitute an endorsement of products/services by HL7®.