You can use this API action to save a provider's findings or interpretations of a patient procedure or test to an EHR system.
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 discrete results from an ordered lab to a patient’s chart.
- Save a positive/negative result from a test.
- Save a provider’s interpretation of a lab or imaging test to a patient’s chart.
- Give context to a lab value that's saved to a patient’s chart.
- Give context to an RPM result that's saved to a patient’s chart.
- Provide input on risks associated with a patient's health.
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.
You can decide between two different FHIR® resources to accomplish this action. It all depends on whether you want to include discrete values and documents together.
Let’s say you have a positive/negative lab value from a test that includes a note explaining an inconclusive result. If that’s the case, you want to use the DiagnosticReport$diagnosticreport-create operation, which contains an array for discrete observations and for documents bundled together. If you want a simpler alternative for saving results specifically, you could use Observation$observation-create instead.
Technically speaking, the payload for DiagnosticReport$diagnosticreport-create can include multiple observations and documents within one writeback message. You can include only observations, only documents, or both, depending on your unique workflow.
If you want to update either a diagnostic report or observation entry, you can use the $diagnosticreport-amend or $observation-update instead.
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)
Does this API action seem like a good fit for your unique workflow? If so, let your Redox technical account manager know! You can start development by downloading the relevant resource schema (noted in the related action step below) and deciding which data elements you need. Then, use the Quickstart for Redox guide to dive right in.
If you're not engaged with our sales team yet, talk to a Redoxer to get started.
This table has notes about how to use parameters for this API action specifically, but it's not exhaustive. Refer to the DiagnosticReport schema for more details.
Parameter | Required | Notes |
---|---|---|
Patient | Y | A reference to the related Patient resource for the patient that had a diagnostic test or procedure. |
Encounter | N | A reference to the related Encounter resource, if applicable to how any vital values were 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/DiagnosticReport/$diagnosticreport-create' \2--request POST \3--header 'Authorization: Bearer ${API_TOKEN}' \4--header 'Content-Type: application/json' \5--data '{6"id": "KevaGreenLipidPanel",7"meta": {8"profile": [9"https://fhir.redoxengine.com/StructureDefinition/redox-result-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": "c75c29a4-e3cb-ec06-9ce1-be23a80c5f30",121"code": {122"text": "Cholesterol [Mass/volume] in Serum or Plasma",123"coding": [124{125"code": "2093-3",126"system": "http://loinc.org",127"display": "Cholesterol [Mass/volume] in Serum or Plasma"128}129]130},131"meta": {132"profile": [133"http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab"134]135},136"issued": "2023-02-12T23:50:50.483-05:00",137"status": "final",138"subject": {139"type": "Patient",140"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"141},142"category": [143{144"coding": [145{146"code": "laboratory",147"system": "http://terminology.hl7.org/CodeSystem/observation-category",148"display": "Laboratory"149}150]151}152],153"encounter": {154"reference": "Encounter/004c4cd2-63b0-d216-edf2-079f74d924d6"155},156"resourceType": "Observation",157"valueQuantity": {158"code": "mg/dL",159"unit": "mg/dL",160"value": 167.64,161"system": "http://unitsofmeasure.org"162},163"effectiveDateTime": "2023-02-12T23:50:50-05:00"164}165},166{167"resource": {168"id": "fe77c0bd-aa55-68f9-85e5-83debe534e79",169"code": {170"text": "Triglycerides",171"coding": [172{173"code": "2571-8",174"system": "http://loinc.org",175"display": "Triglycerides"176}177]178},179"meta": {180"profile": [181"http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab"182]183},184"issued": "2023-02-12T23:50:50.483-05:00",185"status": "final",186"subject": {187"type": "Patient",188"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"189},190"category": [191{192"coding": [193{194"code": "laboratory",195"system": "http://terminology.hl7.org/CodeSystem/observation-category",196"display": "Laboratory"197}198]199}200],201"encounter": {202"reference": "Encounter/004c4cd2-63b0-d216-edf2-079f74d924d6"203},204"resourceType": "Observation",205"valueQuantity": {206"code": "mg/dL",207"unit": "mg/dL",208"value": 144.38,209"system": "http://unitsofmeasure.org"210},211"effectiveDateTime": "2023-02-12T23:50:50-05:00"212}213},214{215"resource": {216"id": "5a851601-e047-87db-d8f9-8f15f907b5c7",217"code": {218"text": "Low Density Lipoprotein Cholesterol",219"coding": [220{221"code": "18262-6",222"system": "http://loinc.org",223"display": "Low Density Lipoprotein Cholesterol"224}225]226},227"meta": {228"profile": [229"http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab"230]231},232"issued": "2023-02-12T23:50:50.483-05:00",233"status": "final",234"subject": {235"type": "Patient",236"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"237},238"category": [239{240"coding": [241{242"code": "laboratory",243"system": "http://terminology.hl7.org/CodeSystem/observation-category",244"display": "Laboratory"245}246]247}248],249"encounter": {250"reference": "Encounter/004c4cd2-63b0-d216-edf2-079f74d924d6"251},252"resourceType": "Observation",253"valueQuantity": {254"code": "mg/dL",255"unit": "mg/dL",256"value": 72.38,257"system": "http://unitsofmeasure.org"258},259"effectiveDateTime": "2023-02-12T23:50:50-05:00"260}261},262{263"resource": {264"id": "99971abb-fa92-8e6a-5e71-4ae9c9b32890",265"code": {266"text": "Cholesterol in HDL [Mass/volume] in Serum or Plasma",267"coding": [268{269"code": "2085-9",270"system": "http://loinc.org",271"display": "Cholesterol in HDL [Mass/volume] in Serum or Plasma"272}273]274},275"meta": {276"profile": [277"http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab"278]279},280"issued": "2023-02-12T23:50:50.483-05:00",281"status": "final",282"subject": {283"type": "Patient",284"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"285},286"category": [287{288"coding": [289{290"code": "laboratory",291"system": "http://terminology.hl7.org/CodeSystem/observation-category",292"display": "Laboratory"293}294]295}296],297"encounter": {298"reference": "Encounter/004c4cd2-63b0-d216-edf2-079f74d924d6"299},300"resourceType": "Observation",301"valueQuantity": {302"code": "mg/dL",303"unit": "mg/dL",304"value": 66.38,305"system": "http://unitsofmeasure.org"306},307"effectiveDateTime": "2023-02-12T23:50:50-05:00"308}309}310],311"resourceType": "Bundle"312}'
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®.