NAV Navbar
Logo cerner
Ruby Shell

Chart Search API v1

The HealtheIntent Chart Search API enables you to search a patient’s medical record for information related to the patient’s medical history. It provides a list of prioritized results and enables you to review associated documents. The API has access to past and current visits, which enables you to learn more about the patient’s medical history when making clinical decisions. This enhances health care and cost-effectiveness, and helps clinicians avoid repeated tests, procedures, medications, or questions. You can search for a subset of a patient’s medical record by entering a search term or phrase. For example, a search for lipid profile returns a list of every related medical record item associated with a lipid profile evaluation (evaluations, visits, and so on).

The HealtheIntent Chart Search API includes the following capabilities:
Concept Search: Find information in the medical record based on clinical concepts, such as drug, disease, or symptom. For example, a search for heart attack returns all documents containing the medical concept heart attack and any related concepts, such as myocardial infarction.
Word Search: Find information based on the presence of specific nonclinical words. For example, a search for heart attack pizza returns all documents with the medical concept heart attack and the term pizza.
Smart Ranking: Returns the most important search results at the top of the list. The API understands the context and use of each concept and can promote documents to the top of the list that use the concept in the most important context. For example, results found under chief complaints are ranked higher than results found under family history.

You can use the HealtheIntent Chart Search API to search for the following types of information:
• Text documents
• Clinical notes (including Dynamic Documentation)
• Diagnostic reports
• Pathology reports
• Radiology reports
• Discrete measurements
• Vital signs
• Laboratory results

Note: The data retrieved by this API is filtered based on your sensitive data filters for HealtheIntent. Ensure that your implementations of this API are designed with this in mind, and if you integrate data from HealtheIntent into a clinical workflow using this API, ensure that your users are informed of your sensitive data filters. See Understand Sensitive Data in HealtheIntent in the Reference Pages on Cerner Wiki for more information.

URL: https://cernerdemo.api.us.healtheintent.com/chart-search/v1

Search

Semantic search of a patient’s medical record for information related to the patient’s medical history.

Suggestion Search Results

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us.healtheintent.com/chart-search/v1/suggestion-search-results',
  query: {
  'text' => 'string'
}, headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/chart-search/v1/suggestion-search-results?text=type,string \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "description": "febrile convulsion",
      "coding": {
        "code": "46635009",
        "system": "SNOMED",
        "display": "diabetes mellitus type 1"
      }
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/chart-search/v1/suggestion-search-results?text=dia&offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/chart-search/v1/suggestion-search-results?text=dia&offset=0&limit=20"
}

GET /suggestion-search-results

Retrieves a list of clinically relevant suggested search results for a given search.

Parameters

Parameter In Type Required Default Description Accepted Values
text query string true N/A The search text, which can be a partial or full name of the clinical concept. -
offset query integer(int32) false 0 The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. -
limit query integer(int32) false 20 The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. -

Response Statuses

Status Meaning Description Schema
200 OK A list of suggestions for the given search. Suggestions
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Observation Search Results

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us.healtheintent.com/chart-search/v1/populations/42efb88d-4082-4259-a720-cf7693de1d51/patients/c44f5461-05ff-42b3-99d0-b315d5408947/observation-search-results', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/chart-search/v1/populations/42efb88d-4082-4259-a720-cf7693de1d51/patients/c44f5461-05ff-42b3-99d0-b315d5408947/observation-search-results \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "9223350768818411704b22e26541346dcee4ae8665d183bb3efa7bad0261f0f71f75b4604f275a960d9",
      "sourceIdentifier": {
        "dataPartitionId": "e1f0e864-97e4-4c3b-bd7c-91864760ba7c"
      },
      "code": {
        "sourceCodings": [
          {
            "code": "2",
            "display": "Systolic",
            "system": "allscripts:vitaltype"
          }
        ],
        "codings": [
          {
            "code": "271649006",
            "display": "Systolic blood pressure",
            "system": "2.16.840.1.113883.6.96"
          }
        ],
        "text": "Systolic"
      },
      "effectiveDate": "2010-12-16T19:52:44.103Z",
      "interpretation": {
        "sourceCodings": [
          {
            "code": "N",
            "display": "N",
            "system": "allscripts:resultinterpretation"
          }
        ],
        "codings": [
          {
            "code": "N",
            "display": "Normal",
            "system": "2.16.840.1.113883.12.78"
          }
        ],
        "text": "N"
      },
      "notes": [
        {
          "text": "Random note",
          "author": [
            {
              "aliases": [
                {
                  "value": 1234,
                  "type": "DEA",
                  "system": "2.16.840.1.113883.4.814"
                }
              ],
              "name": {
                "formatted": "Brizendine, Margaret"
              }
            }
          ],
          "date": "2011-07-27T01:06:40.310Z"
        }
      ],
      "value": {
        "numeric": {
          "value": "118"
        }
      }
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/chart-search/v1/populations/42efb88d-4082-4259-a720-cf7693de1d51/patients/c44f5461-05ff-42b3-99d0-b315d5408947/observation-search-results?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/chart-search/v1/populations/42efb88d-4082-4259-a720-cf7693de1d51/patients/c44f5461-05ff-42b3-99d0-b315d5408947/observation-search-results?offset=0&limit=20"
}

GET /populations/{populationId}/patients/{patientId}/observation-search-results

This service searches patient observations in HealtheIntent and retrieves matched as well as semantically related observations. Applies sensitive data filtering.

Parameters

Parameter In Type Required Default Description Accepted Values
patientId path string true N/A The ID of the patient in the population. -
populationId path string true N/A The ID of the population. -
startDate query string false N/A The start date of the observation. In ISO 8601 formatting with precision ranging from YYYY to YYYY-MM-DDThh:mm:ss.SSSZ. -
endDate query string false N/A The end date of the observation. In ISO 8601 formatting with precision ranging from YYYY to YYYY-MM-DDThh:mm:ss.SSSZ. -
orderBy query string false -effectiveDate Sorts results by a given value in ascending or descending order of effectiveDate. To specify descending, prefix the value with a hyphen (-). When relevance is selected, the sort is based on significance.\n -
code query array[string] false N/A Searched codes. Supports a maximum of three search terms including code and text search. When multiple codes and text are searched for, the default logical operator is and. Must be in system code format, for example, 2.16.840.1.113883.6.96
text query array[string] false N/A Searched free text. Supports maximum of three search terms including code and text search. When multiple codes and text are searched for, the default logical operator is and. -
offset query integer(int32) false 0 The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. -
limit query integer(int32) false 20 The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. -

Response Statuses

Status Meaning Description Schema
200 OK An array of observations. ObservationSearchResults
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Document Reference Search Results

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us.healtheintent.com/chart-search/v1/populations/42efb88d-4082-4259-a720-cf7693de1d51/patients/f8f1fa75-baa6-4096-af24-25caa7c14a9f/document-reference-search-results', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/chart-search/v1/populations/42efb88d-4082-4259-a720-cf7693de1d51/patients/f8f1fa75-baa6-4096-af24-25caa7c14a9f/document-reference-search-results \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "documentReference": {
        "id": "/partition:8dee150d-505f-4635-b009-1bef63d7cf5a/person:1349927,std:docref_4512585-264122",
        "sourceIdentifier": {
          "dataPartitionId": "8dee150d-505f-4635-b009-1bef63d7cf5a",
          "sourceId": "4512585"
        },
        "description": "",
        "type": {
          "sourceCodings": [
            {
              "code": "22336603",
              "display": "CFTR.c.1717-1G>A",
              "system": "urn:cerner:coding:codingsystem:codeset:72"
            }
          ],
          "codings": [
            {
              "code": "22336603",
              "display": "CFTR.c.1717-1G>A",
              "system": "urn:cerner:coding:codingsystem:codeset:72"
            }
          ]
        },
        "context": {
          "period": {
            "end": "2014-08-18T12:52:00.000Z"
          }
        },
        "author": {
          "provider": {
            "aliases": [
              {
                "value": "1284442",
                "type": "EXTERNAL"
              },
              {
                "value": "CERNMS020724",
                "type": "_NOT_RECOGNIZED"
              }
            ],
            "name": {
              "formatted": "Salomoni, Martin"
            }
          }
        }
      },
      "relevantText": "striAcute Cystitis & Diabetes Type IIng",
      "identifiedConcepts": [
        {
          "codings": {
            "system": "2.16.840.1.113883.6.96",
            "code": "73211009",
            "display": "diabetes mellitus type 1"
          },
          "offset": {
            "start": "1",
            "end": "25"
          },
          "isMatched": true
        }
      ]
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/chart-search/v1/populations/42efb88d-4082-4259-a720-cf7693de1d51/patients/f8f1fa75-baa6-4096-af24-25caa7c14a9f/document-reference-search-results?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/chart-search/v1/populations/42efb88d-4082-4259-a720-cf7693de1d51/patients/f8f1fa75-baa6-4096-af24-25caa7c14a9f/document-reference-search-results?offset=0&limit=20"
}

GET /populations/{populationId}/patients/{patientId}/document-reference-search-results

This service searches patient documents in HealtheIntent and retrieves matched concepts and text as well as semantically related concepts from documents. Supports clinical, radiology, and diagnostic documents. Applies sensitive data filtering.

Parameters

Parameter In Type Required Default Description Accepted Values
patientId path string true N/A The patient for whom the documents are retrieved. -
populationId path string true N/A The population from which the documents are retrieved. -
startDate query string false N/A The start date of the document. In ISO 8601 formatting with precision ranging from YYYY to YYYY-MM-DDThh:mm:ss.SSSZ. -
endDate query string false N/A The end date of the document. In ISO 8601 formatting with precision ranging from YYYY to YYYY-MM-DDThh:mm:ss.SSSZ. -
orderBy query string false -effectiveDate Sorts results by a given value in ascending or descending order of effectiveDate. To specify descending, prefix the value with a hyphen (-). When relevance is selected, the sort is based on significance.\n -
code query array[string] false N/A Searched concept codes. Supports a maximum of three search terms including code and text search. When multiple codes and text are searched for, the default logical operator is and. Must be in typeSystem typeCode format, for example, 2.16.840.1.113883.6.96
text query string false N/A Searched free text. Supports a maximum of three search terms including code and text search. When multiple codes and text are searched for, the default logical operator is and. -
offset query integer(int32) false 0 The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. -
limit query integer(int32) false 20 The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. -

Response Statuses

Status Meaning Description Schema
200 OK Success DocumentReferenceSearchResults
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Schema Definitions

Suggestions

Name Type Required Description Accepted Values
items [Suggestions] true [Retrieves a list of clinically relevant suggested search results for a given search.] -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

Error

Name Type Required Description Accepted Values
code integer(int32) true Http response status code representing the error. -
message string true Human readable description of the error. -
errorDetails [ErrorDetail] false List of additional error details. -

ErrorDetail

Name Type Required Description Accepted Values
domain string false A subsystem or context where an error occurred. -
reason string false Codified value representing the specific error resulting in the current error status. -
message string false Human readable description of an error. -
locationType string false Location or type of the field that caused an error. query, header, path, formData, body
location string false Name of the field that caused an error. -

ObservationSearchResults

Name Type Required Description Accepted Values
items [ObservationSearchResults] true [This service searches patient observations in HealtheIntent and retrieves matched as well as semantically related observations. Applies sensitive data filtering.] -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

DocumentReferenceSearchResults

Name Type Required Description Accepted Values
items [DocumentReferenceSearchResults] true [This service searches patient documents in HealtheIntent and retrieves matched concepts and text as well as semantically related concepts from documents. Supports clinical, radiology, and diagnostic documents. Applies sensitive data filtering.] -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -