API Reference

Overview

Observation SDOH Assessment Survey is represented using Observation FHIR Resource. Observations are a central element in healthcare, used to support diagnosis, monitor progress, determine baselines and patterns and even capture demographic characteristics, as well as capture results of tests performed on products and substances. Most observations are simple name/value pair assertions with some metadata, but some observations group other observations together logically, or even are multi-component observations.

Each Observation supports next elements:

  • a category code of sdoh
  • an SDOH LOINC code, if available
  • references to other US Core SDOH assessments

Profile specific implementation guidance:

  • This profile defines a Valueset based on a starter set of example survey LOINC codes made up of commonly asked social questions as identified by FindHelp.org and the PRAPARE, Hunger Vital Sign, AHC-HRSN screening tools referenced in USCDI v2. It is not intended to be complete and implementers are expected include other LOINC or other codes to meet their business needs.
  • See the US Core Observation Survey Profile page for how to represent individual responses, panels of multi-question surveys, and multi-select responses to “check all that apply” questions, and other implementation guidance.
  • See the SDOH guidance page for how this profile along with other Observation Profiles or alternatively QuestionnaireResponse to is used represent SDOH assessments.

This resource conforms to USCDI V2 profile for Observation - refer to US Core Observation SDOH Assessment Profile. Observation response will be provided in JSON (refers to Capability Statement) format as per FHIR standard R4 version.

USCore Data ElementFHIR Resource Field
a category code of “sdoh”Observation.category
an SDOH LOINC code, if availableObservation.code
references to other US Core SDOH assessmentsObservation.hasMember

Must support elements, mandatory and optional search parameters

Observation must support these elements:

  • category:sdoh

The following search parameters and search parameter combinations SHALL be supported:

The syntax used to describe the interactions is described here.

SHALL support searching for all Observations for a patient and category search parameters:
GET [base url]/Observation?patient={Type/}[id]&category=http://terminology.hl7.org/CodeSystem/observation-category|survey

SHALL support searching for all Observations for a patient and code search parameters:

  • including optional support for OR search on code (e.g.code={system|}|{code},{system|}|{code},...)
    GET [base url]/Observation?patient={Type/}[id]&code={system|}|{code}{,{system|}|{code},...}}

SHALL support searching for all Observations for a patient and category and date search parameters:

  • including support for these date comparators: gt,lt,ge,le
  • including optional support for AND search on date (e.g.date={date}&date={date}&...)
    GET [base url]/Observation?patient={Type/}[id]&category=http://terminology.hl7.org/CodeSystem/observation-category|survey&date={gt|lt|ge|le}{date}{&date={gt|lt|ge|le}{date}&...}

The following search parameter combinations SHOULD be supported (optional):

SHOULD support searching using the combination of the patient and category and status search parameters:

  • including support for OR search on status (e.g.status={system|}|{code},{system|}|{code},...)
    GET [base url]/Observation?patient={Type/}[id]&category=http://terminology.hl7.org/CodeSystem/observation-category|survey&status={system|}|{code}{,{system|}|{code},...}

SHOULD support searching using the combination of the patient and code and date search parameters

  • including optional support for OR search on code (e.g.code={system|}|{code},{system|}|{code},...)
  • including support for these date comparators: gt,lt,ge,le
  • including optional support for AND search on date (e.g.date={date}&date={date}}&...)
    GET [base url]/Observation?patient={Type/}[id]&code={system|}|{code}{,{system|}|{code},...}&date={gt|lt|ge|le}{date}{&date={gt|lt|ge|le}{date}&...}

The response to any search operation is always a list of resources in a Bundle or an Operation Outcome.

Observation By Patient Id

Search for Observation by patient.

METHOD GET

[base url]/Observation?patient={Type/}[id]

PARAMS
[base url] - FHIR base url
[id] - Id for the Patient

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Go to Authentication and Authorization for further details.

HeaderTypeRequired/OptionalValue
Authorizationstringrequired'Bearer'

RESPONSES

CodeDescriptionComment
200OKThe request was processed successfully
400Bad requestInvalid request parameters or FHIR operation outcome resource returned
401UnauthorizedThis code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource
404no Route matched with those valuesThe request was able to communicate with a given server, but the server could not find what was requested
500Internal Server ErrorThe server has encountered a situation it doesn't know how to handle

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Observation?patient=Patient/c5137fa5-3216-b12a-cbbc-a0c6bef361g7' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'

Observation By Id

Get Observation by ID.

METHOD GET

[base url]/Observation/{id}

or

[base url]/Observation?_id={id}

PARAMS

[base url] - FHIR base url
{id} - Id for Observation resource

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Go to Authentication and Authorization for further details.

HeaderTypeRequired/OptionalValue
Authorizationstringrequired'Bearer'

RESPONSES

CodeDescriptionComment
200OKThe request was processed successfully
400Bad requestInvalid request parameters or FHIR operation outcome resource returned
401UnauthorizedThis code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource
404no Route matched with those valuesThe request was able to communicate with a given server, but the server could not find what was requested
500Internal Server ErrorThe server has encountered a situation it doesn't know how to handle

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Observation/c5137fa5-3216-b12a-cbbc-a0c6bef361g7' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'

Observation by patient and category search parameters

Get Observations using the combination of the patient and category search parameters:

METHOD GET

GET [base url]/Observation?patient={Type/}[id]&category=http://terminology.hl7.org/CodeSystem/observation-category|survey

PARAMS
[base url] - FHIR base url
{Type} - Type for the Reference. Example: Patient
[id] - patient id
HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Go to Authentication and Authorization for further details.

HeaderTypeRequired/OptionalValue
Authorizationstringrequired'Bearer'

RESPONSES

CodeDescriptionComment
200OKThe request was processed successfully
400Bad requestInvalid request parameters or FHIR operation outcome resource returned
401UnauthorizedThis code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource
404no Route matched with those valuesThe request was able to communicate with a given server, but the server could not find what was requested
500Internal Server ErrorThe server has encountered a situation it doesn't know how to handle

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Observation?patient=Patient/fe1cd986-1ac7-4c26-b8b3-d632a48408fd&category=http://terminology.hl7.org/CodeSystem/observation-category|survey\
--header 'Authorization: Bearer 1239b275-909e-4754-8f73-1e411fd6769e'

Observation by patient and category and date search parameters

Get Observations using the combination of the patient and category and date search parameters:

METHOD GET

GET [base url]/Observation?patient={Type/}[id]&category=http://terminology.hl7.org/CodeSystem/observation-category|survey&date={gt|lt|ge|le}{date}{&date={gt|lt|ge|le}{date}&...}

PARAMS
[base url] - FHIR base url
{Type} - Type for the Reference. Example: Patient
[id] - patient id
{date} - observation effective date

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Go to Authentication and Authorization for further details.

HeaderTypeRequired/OptionalValue
Authorizationstringrequired'Bearer'

RESPONSES

CodeDescriptionComment
200OKThe request was processed successfully
400Bad requestInvalid request parameters or FHIR operation outcome resource returned
401UnauthorizedThis code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource
404no Route matched with those valuesThe request was able to communicate with a given server, but the server could not find what was requested
500Internal Server ErrorThe server has encountered a situation it doesn't know how to handle

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Observation?patient=Patient/fe1cd986-1ac7-4c26-b8b3-d632a48408fd&category=http://terminology.hl7.org/CodeSystem/observation-category|survey&date=ge2018-03-14T00:00:00Z\
--header 'Authorization: Bearer 1239b275-909e-4754-8f73-1e411fd6769e'

Observation by patient and code search parameters

Get Observations using the combination of the patient and code search parameters:

METHOD GET

GET [base url]/Observation?patient={Type/}[id]&code={system|}|{code}{,{system|}|{code},...}

PARAMS

[base url] - FHIR base url
{Type} - Type for the Reference. Example: Patient
[id] - patient id
{system|} - system used to identify observation code
{code} - observation code

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Go to Authentication and Authorization for further details.

HeaderTypeRequired/OptionalValue
Authorizationstringrequired'Bearer'

RESPONSES

CodeDescriptionComment
200OKThe request was processed successfully
400Bad requestInvalid request parameters or FHIR operation outcome resource returned
401UnauthorizedThis code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource
404no Route matched with those valuesThe request was able to communicate with a given server, but the server could not find what was requested
500Internal Server ErrorThe server has encountered a situation it doesn't know how to handle

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Observation?patient=Patient/fe1cd986-1ac7-4c26-b8b3-d632a48408fd&code=http://loinc.org|76690-7 \
--header 'Authorization: Bearer 1239b275-909e-4754-8f73-1e411fd6769e'

Observation by patient and code and date search parameters

Get Observations using the combination of the patient and code and date search parameters:

METHOD GET

GET [base url]/Observation?patient={Type/}[id]&code={system|}|{code}{,{system|}|{code},...}&date={gt|lt|ge|le}{date}{&date={gt|lt|ge|le}{date}&...}

PARAMS
[base url] - FHIR base url
{Type} - Type for the Reference. Example: Patient
[id] - patient id
{system|} - terminology system used to identify observation code
{code} - observation code
{date} - observation effective date

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Go to Authentication and Authorization for further details.

HeaderTypeRequired/OptionalValue
Authorizationstringrequired'Bearer'

RESPONSES

CodeDescriptionComment
200OKThe request was processed successfully
400Bad requestInvalid request parameters or FHIR operation outcome resource returned
401UnauthorizedThis code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource
404no Route matched with those valuesThe request was able to communicate with a given server, but the server could not find what was requested
500Internal Server ErrorThe server has encountered a situation it doesn't know how to handle

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Observation?patient=Patient/fe1cd986-1ac7-4c26-b8b3-d632a48408fd&code=http://loinc.org|76690-7&date=ge2018-03-14T00:00:00Z\
--header 'Authorization: Bearer 1239b275-909e-4754-8f73-1e411fd6769e'

Observation by patient and category and status search parameters

Get Observations using the combination of the patient and category and status search parameters:

METHOD GET

GET [base url]/Observation?patient={Type/}[id]&category=&category=http://terminology.hl7.org/CodeSystem/observation-category|survey&status={status_system}|{status}{,{status_system}|{status},...}

PARAMS
[base url] - FHIR base url
{Type} - Type for the Reference. Example: Patient
[id] - patient id
{status_system} - terminology system used to identify observation status
{status} - observation status

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Go to Authentication and Authorization for further details.

HeaderTypeRequired/OptionalValue
Authorizationstringrequired'Bearer'

RESPONSES

CodeDescriptionComment
200OKThe request was processed successfully
400Bad requestInvalid request parameters or FHIR operation outcome resource returned
401UnauthorizedThis code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource
404no Route matched with those valuesThe request was able to communicate with a given server, but the server could not find what was requested
500Internal Server ErrorThe server has encountered a situation it doesn't know how to handle

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Observation?patient=Patient/fe1cd986-1ac7-4c26-b8b3-d632a48408fd&category=http://terminology.hl7.org/CodeSystem/observation-category|survey&status=final\
--header 'Authorization: Bearer 1239b275-909e-4754-8f73-1e411fd6769e'