API Reference

Overview

Encounter Diagnosis addresses to the Condition HL7® FHIR® resource. This is a part of USCDI Encounter Information. The US Core Condition Encounter Diagnosis Profile is based upon the core FHIR Condition Resource and meets the US Core Data for Interoperability (USCDI) v2 ‘Encounter Diagnosis’ requirements.

To promote interoperability and adoption through common implementation, this profile defines constraints and extensions on the Condition resource for the minimal set of data to record, search, and fetch information about a condition, diagnosis, or other event, situation, issue, or clinical concept that is documented and categorized as a problem or health concern including information about a Social Determinants of Health-related condition.

Each Condition has next elements:

  • a category code of “encounter-diagnosis”
  • a code that identifies the condition
  • a patient

Each Condition must support:

  • a clinical status of the condition (e.g., active or resolved)
  • a verification status
  • an encounter
  • a date of diagnosis
  • abatement date (in other words, date of resolution or remission)
  • a date when recorded

Profile specific implementation guidance:

  • For Problems and Health Concerns use the US Core Condition Problems and Health Concerns Profile.
  • USCDI v2 applicable vocabulary standards for Encounter Diagnosis are SNOMED CT and ICD-10-CM. For general guidance on extensible binding to coded data, review this section in the General Requirements page.
    • The US Core Condition Codes supports ICD-9-CM for historical purposes only. ICD-10-CM is available and should be used as the primary code for current encounter diagnoses.
  • The encounter SHOULD always be referenced in Condition.encounter.
  • To search for an encounter diagnosis, query for Conditions that reference the Encounter of interest and have a category of encounter-diagnosis.
  • There is no single element in Condition that represents the date of diagnosis. It may be the assertedDate Extension, Condition.onsetDate, or Condition.recordedDate.
    • Although all three are marked as must support, the server is not required to support all.
    • A server SHALL support Condition.recordedDate.
    • A server SHALL support at least one of assertedDate Extension and Condition.onsetDate. A server may support both, which means they support all 3 dates.
    • The client application SHALL support all three elements.

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

USCore Data ElementFHIR Resource Field
statusCondition.status
categoryCondition.category (us-core)
codeCondition.code (ICD-10-CM/Snomed)
patientCondition.subject

Must support elements, mandatory and optional search parameters

Condition must support these elements:

  • condition-assertedDate
  • clinicalStatus
  • verificationStatus
  • category:us-core
  • code
  • subject
  • onsetDateTime
  • abatementDateTime
  • recordedDate

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 conditions including problems, health concerns, and encounter diagnosis for a patient using the patient search parameter:

GET [base]/Condition?patient={Type/}[id]

The following search parameter combinations SHOULD be supported:
SHOULD support searching using the combination of the patient and clinical-status search parameters:

GET [base url]/Condition?patient={Type/}[id]&clinical-status=http://terminology.hl7.org/CodeSystem/condition-clinical|active,http://terminology.hl7.org/CodeSystem/condition-clinical|recurrance,http://terminology.hl7.org/CodeSystem/condition-clinical|remission

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

GET [base url]/Condition?patient={Type/}[id]&category={system|}[code]

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

GET [base url]/Condition?patient={Type/}[id]&category={system|}[code]&encounter={Type/}[id]

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

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

SHOULD support searching using the combination of the patient and onset-date search parameters:

  • including support for these onset-date comparators: gt,lt,ge,le
  • including optional support for AND search on onset-date (e.g.onset-date=[date]&onset-date=[date]]&...)

GET [base url]/Condition?patient={Type/}[id]&onset-date={gt|lt|ge|le}[date]{&onset-date={gt|lt|ge|le}[date]&...}

SHOULD support searching using the combination of the patient and asserted-date search parameters:

  • including support for these asserted-date comparators: gt,lt,ge,le
  • including optional support for AND search on asserted-date (e.g.asserted-date=[date]&asserted-date=[date]]&...)

GET [base url]/Condition?patient={Type/}[id]&asserted-date={gt|lt|ge|le}[date]{&asserted-date={gt|lt|ge|le}[date]&...}

SHOULD support searching using the combination of the patient and recorded-date search parameters:

  • including support for these recorded-date comparators: gt,lt,ge,le
  • including optional support for AND search on recorded-date (e.g.recorded-date=[date]&recorded-date=[date]]&...)

GET [base url]/Condition?patient={Type/}[id]&recorded-date={gt|lt|ge|le}[date]{&recorded-date={gt|lt|ge|le}[date]&...}

SHOULD support searching using the combination of the patient and abatement-date search parameters:

  • including support for these abatement-date comparators: gt,lt,ge,le
  • including optional support for AND search on abatement-date (e.g.abatement-date=[date]&abatement-date=[date]]&...)

GET [base]/Condition?patient={Type/}[id]&abatement-date={gt|lt|ge|le}[date]{&abatement-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.

Condition by Patient

Get Condition by patient

METHOD GET

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

PARAMS
[base url] - FHIR base url
{Type/} - optional parameter for reference type
[id] - Patient's 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

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

EXAMPLES:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Condition?patient=Patient/05b87542-b50e-4f19-8a87-2da2e6959bfb&status=active' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'

Condition by Patient and clinical-status

Get Condition by combination patient and clinical-status

METHOD GET

Notes: Fetches a bundle of all Condition resources for the specified patient and all “active” statuses (active,relapse,remission). This will exclude diagnoses and health concerns without a clinicalStatus specified.

GET [base url]/Condition?patient={Type/}[id]&clinical-status=http://terminology.hl7.org/CodeSystem/condition-clinical|active,http://terminology.hl7.org/CodeSystem/condition-clinical|recurrance,http://terminology.hl7.org/CodeSystem/condition-clinical|remission

PARAMS
[base url] - FHIR base url
{Type/} - optional parameter for reference type
[id] - Patient's 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

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

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Condition?patient=Patient/05b87542-b50e-4f19-8a87-2da2e6959bfb2&clinical-status=http://terminology.hl7.org/CodeSystem/condition-clinical|active,http://terminology.hl7.org/CodeSystem/condition-clinical|recurrance,http://terminology.hl7.org/CodeSystem/condition-clinical|remission' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'

Condition by Patient and category

Get Condition by combination patient and category

METHOD GET

GET [base url]/Condition?patient={Type/}[id]&category={system|}[code]

PARAMS
[base url] - FHIR base url
{Type/} - optional parameter for reference type
[id] - Patient's id
{system|} - http://hl7.org/fhir/us/core/CodeSystem/condition-category
{code} - health-concern
optionally: code could take a value from the list:
{code} - problem-list-item
{code} - encounter-diagnosis

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

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

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Condition?patient=Patient/05b87542-b50e-4f19-8a87-2da2e6959bfb2&category=http://hl7.org/fhir/us/core/CodeSystem/condition-category|health-concern' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'

Condition by Patient and category and encounter

Get Condition by combination patient and category and encounter

METHOD GET

GET [base url]/Condition?patient={Type/}[id]&category={system|}[code]&encounter={Type/}[id]

PARAMS
[base url] - FHIR base url
{Type/} - optional parameter for reference type
[id] - Resource's id (Patient and/or Encounter)
{system|} - http://hl7.org/fhir/us/core/CodeSystem/condition-category
{code} - health-concern
optionally: code could take a value from the list:
{code} - problem-list-item
{code} - encounter-diagnosis

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

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

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Condition?patient=Patient/05b87542-b50e-4f19-8a87-2da2e6959bfb2&category=http://hl7.org/fhir/us/core/CodeSystem/condition-category|encounter-diagnosis?encounter=1036' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'

Condition by Patient and code

Get Condition by combination patient and code

METHOD GET

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

PARAMS
[base url] - FHIR base url
{Type/} - optional parameter for reference type
[id] - Patient's Id
{system|} - The system for the observation, e.g. http://snomed.info/sct
{code} - code for observation in the system, e.g. 442311008

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Goto 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

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

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Condition?patient=Patient/05b87542-b50e-4f19-8a87-2da2e6959bfb2&code=http://snomed.info/sct|442311008' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'

Condition by Patient and asserted-date

Get Condition by combination patient and asserted-date

METHOD GET

GET [base]/Condition?patient={Type/}[id]&asserted-date={gt|lt|ge|le}[date]{&asserted-date={gt|lt|ge|le}[date]&...}

PARAMS
[base url] - FHIR base url
{Type/} - optional parameter for reference type
[id] - Patient's Id
[date] - Filter's date
{gt|lt|ge|le} - Search modifier gr or lt or ge or le. Specification how to search by date in FHIR

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Goto 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

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

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Condition?patient=Patient/05b87542-b50e-4f19-8a87-2da2e6959bfb2&asserted-date=ge2020-10-12' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'

Condition by Patient and onset-date

Get Condition by combination patient and onset-date

METHOD GET

GET [base]/Condition?patient={Type/}[id]&asserted-date={gt|lt|ge|le}[date]{&onset-date={gt|lt|ge|le}[date]&...}

PARAMS
[base url] - FHIR base url
{Type/} - optional parameter for reference type
[id] - Patient's Id
[date] - Filter's date
{gt|lt|ge|le} - Search modifier gr or lt or ge or le. Specification how to search by date in FHIR

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Goto 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

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

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Condition?patient=Patient/05b87542-b50e-4f19-8a87-2da2e6959bfb2&onset-date=ge2020-10-12' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'

Condition by Patient and recorded-date

Get Condition by combination patient and recorded-date

METHOD GET

GET [base]/Condition?patient={Type/}[id]&asserted-date={gt|lt|ge|le}[date]{&recorded-date={gt|lt|ge|le}[date]&...}

PARAMS
[base url] - FHIR base url
{Type/} - optional parameter for reference type
[id] - Patient's Id
[date] - Filter's date
{gt|lt|ge|le} - Search modifier gr or lt or ge or le. Specification how to search by date in FHIR

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Goto 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

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

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Condition?patient=Patient/05b87542-b50e-4f19-8a87-2da2e6959bfb2&recorded-date=ge2020-10-12' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'

Condition by Patient and abatement-date

Get Condition by combination patient and abatement-date

METHOD GET

GET [base]/Condition?patient={Type/}[id]&asserted-date={gt|lt|ge|le}[date]{&abatement-date={gt|lt|ge|le}[date]&...}

PARAMS
[base url] - FHIR base url
{Type/} - optional parameter for reference type
[id] - Patient's Id
[date] - Filter's date
{gt|lt|ge|le} - Search modifier gr or lt or ge or le. Specification how to search by date in FHIR

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Goto 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

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

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Condition?patient=Patient/05b87542-b50e-4f19-8a87-2da2e6959bfb2&abatement-date=ge2020-10-12' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'