NAV Navbar
Logo cerner
Ruby Shell

Data Source API v1

Data sources are the systems that contribute data to the HealtheIntent platform. Each data source is owned by a single platform tenant.

Data sources are designated as either single-tenant or multi-tenant. A single-tenant data source typically contributes data owned by a single organization. A multi-tenant data source typically is a shared system that contributes data that is owned by multiple organizations, in which case each organization’s data is partitioned; however, a data source that contributes data from multiple organizations can also be designated as single-tenant if the data source owner does not want the contributed data to be partitioned. See Understand Multi-Tenant Data Sources in HealtheIntent in the Reference Pages on Cerner Wiki for more information about data source ownership and multi-tenant data sources.

URL: https://cernerdemo.api.us.healtheintent.com/data-source/v1

Data Sources

Data sources are systems that contribute data to the HealtheIntent platform, for example, electronic health record (EHR) systems, revenue cycle management (RCM) systems, payers, and government agencies. Data sources must be provisioned to ensure that they are identifiable and have proper governance, or ownership, on the platform.

Create a Data Source

Example Request:




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

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

result = HTTParty.post('https://cernerdemo.api.us.healtheintent.com/data-source/v1/data-sources', headers: headers)

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us.healtheintent.com/data-source/v1/data-sources \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'

Example response

{
  "id": "string",
  "name": "string",
  "description": "string",
  "mnemonic": "string",
  "tags": "string",
  "systemVendors": [
    {
      "mnemonic": "string",
      "name": "string"
    }
  ],
  "tenant": {
    "id": "string"
  }
}

POST /data-sources

Creates a data source that is owned by the tenant. A data source’s mnemonic cannot be modified after it is created.

Parameters

Parameter In Type Required Default Description Accepted Values
body body postDataSources true N/A No description -

Response Statuses

Status Meaning Description Schema
201 Created Created DataSource
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Retrieve a List of Data Sources

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/data-source/v1/data-sources', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/data-source/v1/data-sources \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "mnemonic": "string",
      "tags": "string",
      "systemVendors": [
        {
          "mnemonic": "string",
          "name": "string"
        }
      ],
      "tenant": {
        "id": "string"
      }
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/example/v1/examples?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/example/v1/examples?offset=0&limit=20"
}

GET /data-sources

Retrieves a list of data sources that the tenant owns.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the retrieved data partitions to those matching this name. Case insensitive and partial name matching are used, meaning that any data partition that contains this value anywhere in the name is retrieved. For example, a value of cross matches both Blue Cross Blue Shield and Rivercross Health EMR. -
id query array[string] false N/A Filters the retrieved data sources to those with one of these IDs. A maximum of 20 IDs can be specified. -
tag query array[string] false N/A Filters the retrieved data sources to those with any of these tags. A maximum of 20 tags can be specified. Case insensitive and partial name matching are used, meaning that any data partition containing this value anywhere in one of its tags is retrieved. -
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 OK DataSources
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Update a Data Source

Example Request:




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

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

result = HTTParty.patch('https://cernerdemo.api.us.healtheintent.com/data-source/v1/data-sources/11e8901dafad94f7a9b701d255a00ad0', headers: headers)

print JSON.pretty_generate(result)




# You can also use wget
curl -X PATCH https://cernerdemo.api.us.healtheintent.com/data-source/v1/data-sources/11e8901dafad94f7a9b701d255a00ad0 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'

PATCH /data-sources/{dataSourceId}

Updates a data source that the tenant owns.

Parameters

Parameter In Type Required Default Description Accepted Values
dataSourceId path string true N/A The ID of the data source. -
body body patchDataSources true N/A No description -

Response Statuses

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

Retrieve a Single Data Source

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/data-source/v1/data-sources/11e8901dafad94f7a9b701d255a00ad0', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/data-source/v1/data-sources/11e8901dafad94f7a9b701d255a00ad0 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "string",
  "name": "string",
  "description": "string",
  "mnemonic": "string",
  "tags": "string",
  "systemVendors": [
    {
      "mnemonic": "string",
      "name": "string"
    }
  ],
  "tenant": {
    "id": "string"
  }
}

GET /data-sources/{dataSourceId}

Retrieves a single data source that the tenant owns.

Parameters

Parameter In Type Required Default Description Accepted Values
dataSourceId path string true N/A The ID of the data source. -

Response Statuses

Status Meaning Description Schema
200 OK OK DataSource
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

Data Partitions

Most data ingested into the platform is transformed until its shape is normalized and its terminology is standardized, at which point it is published in data partitions and ready to be used by other platform services, solutions, and applications. All single-tenant data sources have a single data partition. Each data partition has a single tenant owner.

Create a Data Partition

Example Request:




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

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

result = HTTParty.post('https://cernerdemo.api.us.healtheintent.com/data-source/v1/data-sources/11e8901dafad94f7a9b701d255a00ad0/data-partitions', headers: headers)

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us.healtheintent.com/data-source/v1/data-sources/11e8901dafad94f7a9b701d255a00ad0/data-partitions \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'

Example response

{
  "id": "string",
  "name": "string",
  "description": "string",
  "dataSource": "string",
  "tags": "string",
  "tenant": {
    "id": "string"
  }
}

POST /data-sources/{dataSourceId}/data-partitions

Creates a data partition and associates it with a given data source. The data partition is owned by the data source’s tenant.

Parameters

Parameter In Type Required Default Description Accepted Values
dataSourceId path integer(int32) true N/A No description -
body body postDataSourcesDatasourceidDataPartitions true N/A No description -

Response Statuses

Status Meaning Description Schema
201 Created Created DataPartition
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Retrieve a List of Data Partitions

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/data-source/v1/data-partitions', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/data-source/v1/data-partitions \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "dataSource": "string",
      "tags": "string",
      "tenant": {
        "id": "string"
      }
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/example/v1/examples?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/example/v1/examples?offset=0&limit=20"
}

GET /data-partitions

Retrieves a list of data partitions that the tenant owns.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the retrieved data partitions to those matching this name. Case insensitive and partial name matching are used, meaning that any data partition name that contains this value anywhere in the name is retrieved. For example, a value of cross matches both Blue Cross Blue Shield and Rivercross Health EMR. -
id query array[string] false N/A Filters the retrieved data partitions to those with one of these IDs. A maximum of 20 IDs can be specified. -
tag query array[string] false N/A Filters the retrieved data partitions to those with any of these tags. A maximum of 20 tags can be specified. Case insensitive and partial name matching are used, meaning that any data partition containing this value anywhere in one of its tags is retrieved. -
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 OK DataPartitions
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Update a Data Partition

Example Request:




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

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

result = HTTParty.patch('https://cernerdemo.api.us.healtheintent.com/data-source/v1/data-partitions/669558e8-75af-4485-8cf0-cbf006c88c8a', headers: headers)

print JSON.pretty_generate(result)




# You can also use wget
curl -X PATCH https://cernerdemo.api.us.healtheintent.com/data-source/v1/data-partitions/669558e8-75af-4485-8cf0-cbf006c88c8a \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'

PATCH /data-partitions/{dataPartitionId}

Updates a data partition that the tenant owns.

Parameters

Parameter In Type Required Default Description Accepted Values
dataPartitionId path string true N/A The ID of the data partition. -
body body patchDataPartitions true N/A No description -

Response Statuses

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

Retrieve a Single Data Partition

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/data-source/v1/data-partitions/669558e8-75af-4485-8cf0-cbf006c88c8a', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/data-source/v1/data-partitions/669558e8-75af-4485-8cf0-cbf006c88c8a \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "string",
  "name": "string",
  "description": "string",
  "dataSource": "string",
  "tags": "string",
  "tenant": {
    "id": "string"
  }
}

GET /data-partitions/{dataPartitionId}

Retrieves a single data partition that the tenant owns.

Parameters

Parameter In Type Required Default Description Accepted Values
dataPartitionId path string true N/A The ID of the data partition. -

Response Statuses

Status Meaning Description Schema
200 OK OK DataPartition
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

System Vendors

System vendors are used to further classify data sources, especially those representing EHR and RCM systems such as Cerner Millennium or Soarian Financials.

Retrieve a List of System Vendors

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/data-source/v1/system-vendors', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/data-source/v1/system-vendors \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "mnemonic": "string",
      "name": "string"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/example/v1/examples?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/example/v1/examples?offset=0&limit=20"
}

GET /system-vendors

Retrieves a list of the system vendors on the platform.

Parameters

Parameter In Type Required Default Description Accepted Values
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 OK SystemVendors
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Retrieve a Single System Vendor

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/data-source/v1/system-vendors/CERNER', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/data-source/v1/system-vendors/CERNER \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "mnemonic": "string",
      "name": "string"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/example/v1/examples?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/example/v1/examples?offset=0&limit=20"
}

GET /system-vendors/{systemVendorMnemonic}

Retrieves a single system vendor.

Parameters

Parameter In Type Required Default Description Accepted Values
systemVendorMnemonic path string true N/A The mnemonic of the system vendor. -

Response Statuses

Status Meaning Description Schema
200 OK OK SystemVendor
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

Schema Definitions

SystemVendor

Name Type Required Description Accepted Values
mnemonic string false The mnemonic of the system vendor. -
name string false The name of the system vendor. -

Tenant

Name Type Required Description Accepted Values
id string false The ID of the tenant. -

postDataSources

Name Type Required Description Accepted Values
name string true The name of the data source. -
mnemonic string true The unique human-readable ID of the data source in the owner tenant. -
systemVendors [SystemVendor] false The vendors and product of the source, for example, Cerner Millennium or Soarian Financials. This typically applies only to EHR and RCM source types. -
tags [string] false Tags can be used to group related data sources. -
description string false The description of the data source. -
tenant Tenant false No description -

DataSource

Name Type Required Description Accepted Values
id string false The unique ID of the data source. -
name string false The name of the data source. -
description string false The description of the data source. -
mnemonic string false The unique human-readable ID of the data source in the owner tenant. -
tags [string] false Tags can be used to group related data sources. -
systemVendors [SystemVendor] false The vendors and product of the source, for example, Cerner Millennium or Soarian Financials. This typically applies only to EHR and RCM source types. -
tenant Tenant false No description -

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. -

DataSources

Name Type Required Description Accepted Values
items [DataSource] true [Retrieves a single data source that the tenant owns.] -
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. -

patchDataSources

Name Type Required Description Accepted Values
name string false The name of the data source. -
description string false The description of the data source. -
tags [string] false Tags can be used to group related data sources. -
systemVendors [SystemVendor] false The vendors and product of the source, for example, Cerner Millennium or Soarian Financials. This typically applies only to EHR and RCM source types. -

postDataSourcesDatasourceidDataPartitions

Name Type Required Description Accepted Values
name string true The name of the data partition. -
description string false The description of the data partition. -
tags [string] false Tags can be used to group related data partitions. -
dataSource string false The data source from which the data that produced the data partition was contributed. -

DataPartition

Name Type Required Description Accepted Values
id string false The unique ID of the data partition. -
name string false The name of the data partition. -
description string false The description of the data partition. -
dataSource DataSourceId false The data source from which the data that produced the data partition was contributed. -
tags [string] false Tags can be used to group related data partitions. -
tenant Tenant false No description -

DataSourceId

Name Type Required Description Accepted Values
id string false The ID of the data source. -

DataPartitions

Name Type Required Description Accepted Values
items [DataPartition] true [Retrieves a single data partition that the tenant owns.] -
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. -

SystemVendors

Name Type Required Description Accepted Values
items [SystemVendor] true [Retrieves a single system vendor.] -
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. -

patchDataPartitions

Name Type Required Description Accepted Values
name string false The name of the data partition. -
description string false The description of the data partition. -
tags [string] false Tags can be used to group related data partitions. -