Overview
Social History 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 has next elements:
- a status
- a category code of “social-history”
- a code
- a patient
Each Observation supports next elements:
- a category code of ‘sdoh’
- a time indicating when observation was made
- who answered the questions
- a value
Profile specific implementation guidance:
- See the SDOH guidance page for how this profile can used to represent SDOH assessments.1
- Observations that are formally derived from an assessment tool or survey should use the US Core Observation Survey Profile. However, simple assertion may be derived from a screening tool assessments and can reference them using Observation.derivedFrom.
- The codes can be from LOINC or SNOMED CT.
- Often the pattern for these types of observations that the Observation.code indicates a statement about findings and the Observation.value is present and “qualifies” the finding typically confirming or refuting it. For example:
code: Transport too expensive (SNOMED CT: 160695008)
value: true
This resource conforms to USCDI V2 profile for Observation - refer to US Core Observation Social History Profile. Observation response will be provided in JSON (refers to Capability Statement) format as per FHIR standard R4 version.
USCore Data Element | FHIR Resource Field |
---|---|
status | Observation.status |
a category code of “social-history” | Observation.category |
a code | Observation.code |
a patient | Observation.subject |
a category code of ‘sdoh’ | Observation.category |
a time indicating when observation was made | Observation.effective[x] |
who answered the questions | Observation.performer |
a value | Observation.value[x] |
Must support elements, mandatory and optional search parameters
Observation must support these elements:
status
Slices for category
category:us-core/social-history
category:sdoh
code
subject
effectiveDateTime
performer
value[x]
valueQuantity
valueString
valueBoolean
valueCodeableConcept
The following search parameters and search parameter combinations SHALL be supported:
The syntax used to describe the interactions is described [here](/reference/
/reference/us-core-guidance).
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|social-history
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|social-history&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|social-history&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](/reference/
/reference/service-base-urls)
[id] - Id for the Patient
HEADERS
The Authorization token SHALL be obtained during Authentication and Authorization process. Go to [Authentication and Authorization](/reference/
/reference/authentication-authorization) for further details.
Header | Type | Required/Optional | Value |
---|---|---|---|
Authorization | string | required | 'Bearer' |
RESPONSES
Code | Description | Comment |
---|---|---|
200 | OK | The request was processed successfully |
400 | Bad request | Invalid request parameters or FHIR operation outcome resource returned |
401 | Unauthorized | This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource |
404 | no Route matched with those values | The request was able to communicate with a given server, but the server could not find what was requested |
500 | Internal Server Error | The 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](/reference/
/reference/service-base-urls)
{id} - Id for Observation resource
HEADERS
The Authorization token SHALL be obtained during Authentication and Authorization process. Go to [Authentication and Authorization](/reference/
/reference/authentication-authorization) for further details.
Header | Type | Required/Optional | Value |
---|---|---|---|
Authorization | string | required | 'Bearer' |
RESPONSES
Code | Description | Comment |
---|---|---|
200 | OK | The request was processed successfully |
400 | Bad request | Invalid request parameters or FHIR operation outcome resource returned |
401 | Unauthorized | This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource |
404 | no Route matched with those values | The request was able to communicate with a given server, but the server could not find what was requested |
500 | Internal Server Error | The 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|social-history
PARAMS
[base url] - [FHIR base url](/reference/
/reference/service-base-urls)
{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](/reference/
/reference/authentication-authorization) for further details.
Header | Type | Required/Optional | Value |
---|---|---|---|
Authorization | string | required | 'Bearer' |
RESPONSES
Code | Description | Comment |
---|---|---|
200 | OK | The request was processed successfully |
400 | Bad request | Invalid request parameters or FHIR operation outcome resource returned |
401 | Unauthorized | This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource |
404 | no Route matched with those values | The request was able to communicate with a given server, but the server could not find what was requested |
500 | Internal Server Error | The 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|social-history\
--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|social-history&date={gt|lt|ge|le}{date}{&date={gt|lt|ge|le}{date}&...}
PARAMS
[base url] - [FHIR base url](/reference/
/reference/service-base-urls)
{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](/reference/
/reference/authentication-authorization) for further details.
Header | Type | Required/Optional | Value |
---|---|---|---|
Authorization | string | required | 'Bearer' |
RESPONSES
Code | Description | Comment |
---|---|---|
200 | OK | The request was processed successfully |
400 | Bad request | Invalid request parameters or FHIR operation outcome resource returned |
401 | Unauthorized | This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource |
404 | no Route matched with those values | The request was able to communicate with a given server, but the server could not find what was requested |
500 | Internal Server Error | The 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|social-history&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](/reference/
/reference/service-base-urls)
{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](/reference/
/reference/authentication-authorization) for further details.
Header | Type | Required/Optional | Value |
---|---|---|---|
Authorization | string | required | 'Bearer' |
RESPONSES
Code | Description | Comment |
---|---|---|
200 | OK | The request was processed successfully |
400 | Bad request | Invalid request parameters or FHIR operation outcome resource returned |
401 | Unauthorized | This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource |
404 | no Route matched with those values | The request was able to communicate with a given server, but the server could not find what was requested |
500 | Internal Server Error | The 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](/reference/
/reference/service-base-urls)
{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.
Header | Type | Required/Optional | Value |
---|---|---|---|
Authorization | string | required | 'Bearer' |
RESPONSES
Code | Description | Comment |
---|---|---|
200 | OK | The request was processed successfully |
400 | Bad request | Invalid request parameters or FHIR operation outcome resource returned |
401 | Unauthorized | This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource |
404 | no Route matched with those values | The request was able to communicate with a given server, but the server could not find what was requested |
500 | Internal Server Error | The 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=http://terminology.hl7.org/CodeSystem/observation-category|social-history&status={status_system}|{status}{,{status_system}|{status},...}
PARAMS
[base url] - [FHIR base url](/reference/
/reference/service-base-urls)
{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](/reference/
/reference/authentication-authorization) for further details.
Header | Type | Required/Optional | Value |
---|---|---|---|
Authorization | string | required | 'Bearer' |
RESPONSES
Code | Description | Comment |
---|---|---|
200 | OK | The request was processed successfully |
400 | Bad request | Invalid request parameters or FHIR operation outcome resource returned |
401 | Unauthorized | This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource |
404 | no Route matched with those values | The request was able to communicate with a given server, but the server could not find what was requested |
500 | Internal Server Error | The 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|social-history&status=final\
--header 'Authorization: Bearer 1239b275-909e-4754-8f73-1e411fd6769e'