NAV Navbar
Logo cerner
Ruby Shell

Consumer API v1

A consumer represents the identity of a person as an active or potential target of health care or other services provided by a HealtheIntent tenant. If the person is also a user of HealtheIntent applications, the consumer is used to control access to data and functionality. A consumer is a tenant-level construct, similar to personnel; that is, one and only one set of consumers exists per tenant, regardless of how many populations or applications the tenant may use.

A consumer is a different entity from the longitudinal patient record or records that may exist for the same real-world person. Consumers may be associated with one longitudinal record per population within a tenant using the patients object on the consumer. This relationship is one-way; no attribute on a longitudinal record represents the consumer associated with it. No two consumers within a given tenant can be associated with the same longitudinal record.

To uniquely identify a HealtheIntent consumer, you can configure one or more source IDs and aliases for the consumer. Source IDs are defined as a combination of a unique local source ID and a HealtheIntent data partition ID. Add source IDs to consumers and use them as query parameters only if a system or systems interacting with the Consumer API are also used as data sources for your HealtheIntent tenant. These source IDs are usually back-end database IDs rather than user-facing IDs such as medical record numbers (MRNs) or financial numbers (FINs). For example, for data from Cerner Millennium, the local ID would be the Cerner Millennium person ID (MPI) rather than an MRN. Cerner provides the data partition ID when the data source and partition are onboarded, and the ID remains constant for all look-up requests. Within a given tenant, no two consumers can have the same combination of a local source ID and a data partition ID.

Consumer aliases are similar to source IDs in that they involve a value and a namespace (represented as the system for the alias). If your consumers are users of HealtheIntent applications, they must have an alias with a type of USER for each identity provider that is used to authenticate them when they log in. Aliases may also be used to store IDs from systems that are not data sources for your HealtheIntent tenant or alternative IDs (for example, MRNs, FINs, or payer plan member IDs) from systems that are data sources for your tenant. Cerner recommends that you set only the values that you need, because the more aliases and IDs you include for a consumer, the more data points must be kept in sync between HealtheIntent and systems that interact with the platform.

URL: https://cernerdemo.api.us.healtheintent.com/consumer/v1

Consumer

A consumer represents the identity of a person as an active or potential target of health care or other services provided by a HealtheIntent tenant. If the person is also a user of HealtheIntent applications, the consumer is used to control access to data and functionality.

Retrieve a List of Consumers

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/consumer/v1/consumers',
  query: {
  'aliasValue' => 'string'
}, headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "2151bf31-8655-4788-9756-9f1cfe3009f5",
      "name": {
        "formatted": "Jason Brown Jr.",
        "family": "Brown",
        "given": "Jason",
        "middle": "",
        "prefix": "",
        "suffix": "Jr."
      },
      "addresses": [
        {
          "use": "WORK",
          "text": "8779 Hillcrest Rd, Bldg#1024",
          "city": "Kansas City",
          "state": "Missouri",
          "lines": [
            "8779 Hillcrest Rd",
            "Bldg#1024"
          ],
          "postalCode": "64138",
          "country": "United States of America"
        }
      ],
      "aliases": [
        {
          "value": "8cbbffdc-acfe-11e7-abc4-cec278b6b50c",
          "system": "2.16.840.1.113883.4.6",
          "type": "USER"
        }
      ],
      "telecoms": [
        {
          "system": "EMAIL",
          "value": "jasonbrown@cerner.com"
        },
        {
          "system": "PHONE",
          "value": "8162211024"
        }
      ],
      "patients": [
        {
          "id": "87a61ec1-ccd8-46e1-a720-1a8d34bf2a7e",
          "populationId": "aaa111bb-2222-cccc-3333-ddd444eee555"
        }
      ],
      "sourceIdentifiers": [
        {
          "id": "1f9fd5bd-e83a-406f-9d39-3e0a33211f09",
          "dataPartitionId": "f9716527-cf7b-4575-a232-a0fdfb4ae4f7"
        }
      ],
      "birthDate": "1991-11-12",
      "gender": "MALE",
      "createdAt": "2018-02-21T16:30:55Z",
      "updatedAt": "2018-02-21T16:30:55Z"
    },
    {
      "id": "f7dc6dc2-ad00-48cf-a820-c1c0caedac8c",
      "name": {
        "formatted": "Jason Smith",
        "family": "Smith",
        "given": "Jason",
        "middle": "",
        "prefix": "",
        "suffix": ""
      },
      "addresses": [
        {
          "use": "WORK",
          "text": "2800 Rock Creek Pkwy, Suite#100",
          "city": "Kansas City",
          "state": "Missouri",
          "lines": [
            "2800 Rock Creek Pkwy",
            "Suite#100"
          ],
          "postalCode": "64117",
          "country": "United States of America"
        }
      ],
      "aliases": [
        {
          "value": "9bbaffdc-acfe-11e7-abc4-cec278b6b50c",
          "system": "3.16.840.1.113883.4.6",
          "type": "USER"
        }
      ],
      "telecoms": [
        {
          "system": "EMAIL",
          "value": "jasonsmith@cerner.com"
        },
        {
          "system": "PHONE",
          "value": "8162201024"
        }
      ],
      "patients": [
        {
          "id": "696601a8-efd1-485a-94ee-376f9438f217",
          "populationId": "aaa111bb-2222-cccc-3333-ddd444eee555"
        }
      ],
      "sourceIdentifiers": [
        {
          "id": "1f9fd5bd-e83a-406f-9d39-3e0a33211f09",
          "dataPartitionId": "f9716527-cf7b-4575-a232-a0fdfb4ae4f7"
        }
      ],
      "birthDate": "1990-01-12",
      "gender": "MALE",
      "createdAt": "2018-02-21T16:41:24Z",
      "updatedAt": "2018-02-21T16:46:12Z"
    }
  ],
  "totalResults": 2,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumers?formattedName=jason&orderBy=givenName&offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumers?formattedName=jason&orderBy=givenName&offset=0&limit=20"
}

GET /consumers

Retrieves a list of consumers.

Parameters

Parameter In Type Required Default Description Accepted Values
formattedName query string false N/A The formatted name of the consumer. Filtering by a partial match is allowed. -
dataPartitionId query string false N/A Filters the retrieved consumers by data partition ID. -
patientId query string false N/A Filters the retrieved consumers by patient ID. -
sourceId query string false N/A Filters the retrieved consumers by source ID. -
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. -
orderBy query string false formattedName A comma-separated list of fields by which to sort. formattedName, -formattedName, familyName, -familyName, givenName, -givenName
aliasValue query string true N/A Filters the retrieved consumers to only those who are linked to the specified alias value. -
aliasType query string false N/A Filters the retrieved consumers to only those who are linked to the specified alias type. EXTERNAL, MRN, USER
aliasSystem query string false N/A Filters the retrieved consumers to only those who are linked to the specified alias system. -

Response Statuses

Status Meaning Description Schema
200 OK Collection of Consumer objects ConsumerEntities
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Create a Consumer

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/consumer/v1/consumers', headers: headers, body: {"patients":[{"id":"87a61ec1-ccd8-46e1-a720-1a8d34bf2a7e","populationId":"aaa111bb-2222-cccc-3333-ddd444eee555"}],"birthDate":"1991-11-12","gender":"MALE","name":{"formatted":"Jason Brown Jr.","family":"Brown","given":"Jason","middle":"","prefix":"","suffix":"Jr."},"addresses":[{"use":"WORK","text":"8779 Hillcrest Rd, Bldg#1024","city":"Kansas City","state":"Missouri","lines":["8779 Hillcrest Rd","Bldg#1024"],"postalCode":"64138","country":"United States of America"}],"aliases":[{"value":"8cbbffdc-acfe-11e7-abc4-cec278b6b50c","system":"2.16.840.1.113883.4.6","type":"EXTERNAL"}],"telecoms":[{"system":"EMAIL","value":"jasonbrown@cerner.com"},{"system":"PHONE","value":"8162211024"}],"sourceIdentifiers":[{"id":"1f9fd5bd-e83a-406f-9d39-3e0a33211f09","dataPartitionId":"f9716527-cf7b-4575-a232-a0fdfb4ae4f7"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumers \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"patients":[{"id":"87a61ec1-ccd8-46e1-a720-1a8d34bf2a7e","populationId":"aaa111bb-2222-cccc-3333-ddd444eee555"}],"birthDate":"1991-11-12","gender":"MALE","name":{"formatted":"Jason Brown Jr.","family":"Brown","given":"Jason","middle":"","prefix":"","suffix":"Jr."},"addresses":[{"use":"WORK","text":"8779 Hillcrest Rd, Bldg#1024","city":"Kansas City","state":"Missouri","lines":["8779 Hillcrest Rd","Bldg#1024"],"postalCode":"64138","country":"United States of America"}],"aliases":[{"value":"8cbbffdc-acfe-11e7-abc4-cec278b6b50c","system":"2.16.840.1.113883.4.6","type":"EXTERNAL"}],"telecoms":[{"system":"EMAIL","value":"jasonbrown@cerner.com"},{"system":"PHONE","value":"8162211024"}],"sourceIdentifiers":[{"id":"1f9fd5bd-e83a-406f-9d39-3e0a33211f09","dataPartitionId":"f9716527-cf7b-4575-a232-a0fdfb4ae4f7"}]}

Example response

{
  "id": "2151bf31-8655-4788-9756-9f1cfe3009f5",
  "name": {
    "formatted": "Jason Brown Jr.",
    "family": "Brown",
    "given": "Jason",
    "middle": "",
    "prefix": "",
    "suffix": "Jr."
  },
  "addresses": [
    {
      "use": "WORK",
      "text": "8779 Hillcrest Rd, Bldg#1024",
      "city": "Kansas City",
      "state": "Missouri",
      "lines": [
        "8779 Hillcrest Rd",
        "Bldg#1024"
      ],
      "postalCode": "64138",
      "country": "United States of America"
    }
  ],
  "aliases": [
    {
      "value": "8cbbffdc-acfe-11e7-abc4-cec278b6b50c",
      "system": "2.16.840.1.113883.4.6",
      "type": "EXTERNAL"
    }
  ],
  "telecoms": [
    {
      "system": "EMAIL",
      "value": "jasonbrown@cerner.com"
    },
    {
      "system": "PHONE",
      "value": "8162211024"
    }
  ],
  "patients": [
    {
      "id": "87a61ec1-ccd8-46e1-a720-1a8d34bf2a7e",
      "populationId": "aaa111bb-2222-cccc-3333-ddd444eee555"
    }
  ],
  "sourceIdentifiers": [
    {
      "id": "1f9fd5bd-e83a-406f-9d39-3e0a33211f09",
      "dataPartitionId": "f9716527-cf7b-4575-a232-a0fdfb4ae4f7"
    }
  ],
  "birthDate": "1991-11-12",
  "createdAt": "2018-02-21T16:30:55Z",
  "updatedAt": "2018-02-21T16:30:55Z"
}

POST /consumers

Creates a consumer.

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created Created ConsumerEntity
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
409 Conflict Conflict Error

Retrieve a Single Consumer

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/consumer/v1/consumers/2151bf31-8655-4788-9756-9f1cfe3009f5', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumers/2151bf31-8655-4788-9756-9f1cfe3009f5 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "2151bf31-8655-4788-9756-9f1cfe3009f5",
  "name": {
    "formatted": "Jason Brown Jr.",
    "family": "Brown",
    "given": "Jason",
    "middle": "",
    "prefix": "",
    "suffix": "Jr."
  },
  "addresses": [
    {
      "use": "WORK",
      "text": "8779 Hillcrest Rd, Bldg#1024",
      "city": "Kansas City",
      "state": "Missouri",
      "lines": [
        "8779 Hillcrest Rd",
        "Bldg#1024"
      ],
      "postalCode": "64138",
      "country": "United States of America"
    }
  ],
  "aliases": [
    {
      "value": "8cbbffdc-acfe-11e7-abc4-cec278b6b50c",
      "system": "2.16.840.1.113883.4.6",
      "type": "EXTERNAL"
    }
  ],
  "telecoms": [
    {
      "system": "EMAIL",
      "value": "jasonbrown@cerner.com"
    },
    {
      "system": "PHONE",
      "value": "8162211024"
    }
  ],
  "patients": [
    {
      "id": "87a61ec1-ccd8-46e1-a720-1a8d34bf2a7e",
      "populationId": "aaa111bb-2222-cccc-3333-ddd444eee555"
    }
  ],
  "sourceIdentifiers": [
    {
      "id": "1f9fd5bd-e83a-406f-9d39-3e0a33211f09",
      "dataPartitionId": "f9716527-cf7b-4575-a232-a0fdfb4ae4f7"
    }
  ],
  "birthDate": "1991-11-12",
  "createdAt": "2018-02-21T16:30:55Z",
  "updatedAt": "2018-02-21T16:30:55Z"
}

GET /consumers/{consumerId}

Retrieves a single consumer.

Parameters

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

Response Statuses

Status Meaning Description Schema
200 OK Single Consumer object ConsumerEntity
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

Update a Consumer

Example Request:




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

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

result = HTTParty.put('https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumers/2151bf31-8655-4788-9756-9f1cfe3009f5', headers: headers, body: {"patients":[{"id":"87a61ec1-ccd8-46e1-a720-1a8d34bf2a7e","populationId":"aaa111bb-2222-cccc-3333-ddd444eee555"}],"birthDate":"1991-11-12","gender":"MALE","name":{"formatted":"Jason Brown Jr.","family":"Brown","given":"Jason","middle":"","prefix":"","suffix":"Jr."},"addresses":[{"use":"WORK","text":"8779 Hillcrest Rd, Bldg#1024","city":"Kansas City","state":"Missouri","lines":["8779 Hillcrest Rd","Bldg#1024"],"postalCode":"64138","country":"United States of America"}],"aliases":[{"value":"8cbbffdc-acfe-11e7-abc4-cec278b6b50c","system":"2.16.840.1.113883.4.6","type":"EXTERNAL"}],"telecoms":[{"system":"EMAIL","value":"jasonbrown@cerner.com"},{"system":"PHONE","value":"8162211024"}],"sourceIdentifiers":[{"id":"1f9fd5bd-e83a-406f-9d39-3e0a33211f09","dataPartitionId":"f9716527-cf7b-4575-a232-a0fdfb4ae4f7"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumers/2151bf31-8655-4788-9756-9f1cfe3009f5 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"patients":[{"id":"87a61ec1-ccd8-46e1-a720-1a8d34bf2a7e","populationId":"aaa111bb-2222-cccc-3333-ddd444eee555"}],"birthDate":"1991-11-12","gender":"MALE","name":{"formatted":"Jason Brown Jr.","family":"Brown","given":"Jason","middle":"","prefix":"","suffix":"Jr."},"addresses":[{"use":"WORK","text":"8779 Hillcrest Rd, Bldg#1024","city":"Kansas City","state":"Missouri","lines":["8779 Hillcrest Rd","Bldg#1024"],"postalCode":"64138","country":"United States of America"}],"aliases":[{"value":"8cbbffdc-acfe-11e7-abc4-cec278b6b50c","system":"2.16.840.1.113883.4.6","type":"EXTERNAL"}],"telecoms":[{"system":"EMAIL","value":"jasonbrown@cerner.com"},{"system":"PHONE","value":"8162211024"}],"sourceIdentifiers":[{"id":"1f9fd5bd-e83a-406f-9d39-3e0a33211f09","dataPartitionId":"f9716527-cf7b-4575-a232-a0fdfb4ae4f7"}]}

PUT /consumers/{consumerId}

Updates a consumer.

Parameters

Parameter In Type Required Default Description Accepted Values
consumerId path string true N/A The ID of the consumer. -
body body putConsumers 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
409 Conflict Conflict Error

Remove a Consumer

Example Request:


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

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

result = HTTParty.delete('https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumers/21fa3619-9569-4ba1-b8fe-95e5f4fc4212', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumers/21fa3619-9569-4ba1-b8fe-95e5f4fc4212 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /consumers/{consumerId}

Removes a consumer.

Parameters

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

Response Statuses

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

Consumer Groups

Consumer groups are sets of consumers who are grouped together to give them access to the same features or information. A consumer can belong to as many or as few consumer groups as necessary.

Retrieve a List of Groups

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/consumer/v1/consumer-groups',
  query: {
  'aliasValue' => 'string'
}, headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "2151bf31-8655-4788-9756-9f1cfe3009f5",
      "name": "Patient Portal Group",
      "mnemonic": "PPG",
      "aliases": [
        {
          "value": "8cbbffdc-acfe-11e7-abc4-cec278b6b50c",
          "system": "2.16.840.1.113883.4.6",
          "type": "EXTERNAL"
        }
      ],
      "createdAt": "2018-02-21T16:30:55Z",
      "updatedAt": "2018-02-21T16:30:55Z"
    },
    {
      "id": "f7dc6dc2-ad00-48cf-a820-c1c0caedac8c",
      "name": "Portal Consumer Beta Users",
      "mnemonic": "portal_consumer_beta_users",
      "aliases": [
        {
          "value": "9bbaffdc-acfe-11e7-abc4-cec278b6b50c",
          "system": "3.16.840.1.113883.4.6",
          "type": "EXTERNAL"
        }
      ],
      "createdAt": "2018-02-21T16:41:24Z",
      "updatedAt": "2018-02-21T16:46:12Z"
    }
  ],
  "totalResults": 2,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups?orderBy=-mnemonic&offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups?orderBy=-mnemonic&offset=0&limit=20"
}

GET /consumer-groups

Retrieves a list of consumer groups.

Parameters

Parameter In Type Required Default Description Accepted Values
ids query array[string] false N/A Filters the retrieved consumer groups by the specified group IDs. -
consumerId query string false N/A Filters the retrieved consumer groups to only those that include the specified consumer as a member. -
mnemonic query string false N/A Filters the retrieved consumer groups to only those with the specified mnemonic. -
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. -
orderBy query string false name A comma-separated list of fields by which to sort. name, -name, mnemonic, -mnemonic
aliasValue query string true N/A Filters the retrieved consumer groups to only those that are linked to the specified alias value. -
aliasType query string false N/A Filters the retrieved consumer groups to only those that are linked to the specified alias type. EXTERNAL
aliasSystem query string false N/A Filters the retrieved consumer groups to only those that are linked to the specified alias system. -

Response Statuses

Status Meaning Description Schema
200 OK Collection of Group objects GroupEntities
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Create a Group

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/consumer/v1/consumer-groups', headers: headers, body: {"name":"Patient Portal Group","mnemonic":"PPG","aliases":[{"value":"8cbbffdc-acfe-11e7-abc4-cec278b6b50c","system":"2.16.840.1.113883.4.6","type":"EXTERNAL"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"Patient Portal Group","mnemonic":"PPG","aliases":[{"value":"8cbbffdc-acfe-11e7-abc4-cec278b6b50c","system":"2.16.840.1.113883.4.6","type":"EXTERNAL"}]}

Example response

{
  "id": "2151bf31-8655-4788-9756-9f1cfe3009f5",
  "name": "Patient Portal Group",
  "mnemonic": "PPG",
  "aliases": [
    {
      "value": "8cbbffdc-acfe-11e7-abc4-cec278b6b50c",
      "system": "2.16.840.1.113883.4.6",
      "type": "EXTERNAL"
    }
  ],
  "createdAt": "2018-01-10T15:48:32Z",
  "updatedAt": "2018-05-15T12:23:12Z"
}

POST /consumer-groups

Creates a consumer group.

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created Created GroupEntity
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
409 Conflict Conflict Error

Retrieve a Single Group

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/consumer/v1/consumer-groups/2151bf31-8655-4788-9756-9f1cfe3009f5', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups/2151bf31-8655-4788-9756-9f1cfe3009f5 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "2151bf31-8655-4788-9756-9f1cfe3009f5",
  "name": "Patient Portal Group",
  "mnemonic": "PPG",
  "aliases": [
    {
      "value": "8cbbffdc-acfe-11e7-abc4-cec278b6b50c",
      "system": "2.16.840.1.113883.4.6",
      "type": "EXTERNAL"
    }
  ],
  "createdAt": "2018-01-10T15:48:32Z",
  "updatedAt": "2018-05-15T12:23:12Z"
}

GET /consumer-groups/{groupId}

Retrieves a single consumer group.

Parameters

Parameter In Type Required Default Description Accepted Values
groupId path string true N/A The ID of the consumer group. -

Response Statuses

Status Meaning Description Schema
200 OK Single Group object GroupEntity
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

Update a Group

Example Request:




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

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

result = HTTParty.put('https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups/2151bf31-8655-4788-9756-9f1cfe3009f5', headers: headers, body: {"name":"Patient Portal Group","mnemonic":"PPG","aliases":[{"value":"8cbbffdc-acfe-11e7-abc4-cec278b6b50c","system":"2.16.840.1.113883.4.6","type":"EXTERNAL"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups/2151bf31-8655-4788-9756-9f1cfe3009f5 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"Patient Portal Group","mnemonic":"PPG","aliases":[{"value":"8cbbffdc-acfe-11e7-abc4-cec278b6b50c","system":"2.16.840.1.113883.4.6","type":"EXTERNAL"}]}

PUT /consumer-groups/{groupId}

Updates a consumer group.

Parameters

Parameter In Type Required Default Description Accepted Values
groupId path string true N/A The ID of the consumer group. -
body body putConsumerGroups 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
409 Conflict Conflict Error

Remove a Group

Example Request:


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

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

result = HTTParty.delete('https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups/21fa3619-9569-4ba1-b8fe-95e5f4fc4212', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups/21fa3619-9569-4ba1-b8fe-95e5f4fc4212 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /consumer-groups/{groupId}

Removes a consumer group.

Parameters

Parameter In Type Required Default Description Accepted Values
groupId path string true N/A The ID of the consumer group. -

Response Statuses

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

Retrieve a List of Consumer Group Members

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/consumer/v1/consumer-groups/21fa3619-9569-4ba1-b8fe-95e5f4fc4212/members', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups/21fa3619-9569-4ba1-b8fe-95e5f4fc4212/members \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "2151bf31-8655-4788-9756-9f1cfe3009f5",
      "name": "Jason Brown Jr."
    },
    {
      "id": "f7dc6dc2-ad00-48cf-a820-c1c0caedac8c",
      "name": "Jason Smith"
    }
  ],
  "totalResults": 2,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups/af526ca1-1f18-4dce-ae16-b4ede64226bc/members?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups/af526ca1-1f18-4dce-ae16-b4ede64226bc/members?offset=0&limit=20"
}

GET /consumer-groups/{groupId}/members

Retrieves a list of consumer group members.

Parameters

Parameter In Type Required Default Description Accepted Values
groupId path string true N/A The ID of the consumer group. -
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. -
orderBy query string false name A comma-separated list of fields by which to sort. name, -name

Response Statuses

Status Meaning Description Schema
200 OK Consumer Group Member objects MemberEntities
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Add a Consumer Group Member

Example Request:


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

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

result = HTTParty.put('https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups/2151bf31-8655-4788-9756-9f1cfe3009f5/members/f7dc6dc2-ad00-48cf-a820-c1c0caedac8c', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X PUT https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups/2151bf31-8655-4788-9756-9f1cfe3009f5/members/f7dc6dc2-ad00-48cf-a820-c1c0caedac8c \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

PUT /consumer-groups/{groupId}/members/{consumerGroupMemberId}

Adds a consumer to the consumer group.

Parameters

Parameter In Type Required Default Description Accepted Values
groupId path string true N/A The ID of the consumer group. -
consumerGroupMemberId path string true N/A The ID of the consumer group member. -

Response Statuses

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

Remove a Consumer Group Member

Example Request:


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

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

result = HTTParty.delete('https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups/2151bf31-8655-4788-9756-9f1cfe3009f5/members/f7dc6dc2-ad00-48cf-a820-c1c0caedac8c', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-groups/2151bf31-8655-4788-9756-9f1cfe3009f5/members/f7dc6dc2-ad00-48cf-a820-c1c0caedac8c \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /consumer-groups/{groupId}/members/{consumerGroupMemberId}

Removes a consumer from the consumer group.

Parameters

Parameter In Type Required Default Description Accepted Values
groupId path string true N/A The ID of the consumer group. -
consumerGroupMemberId path string true N/A The ID of the consumer group member. -

Response Statuses

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

Retrieve All Valid Mnemonics

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/consumer/v1/consumer-group-mnemonics', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "UNKNOWN",
      "type": "MULTIVALUED"
    },
    {
      "id": "portal_consumer_beta_users",
      "type": "SINGLETON"
    }
  ],
  "totalResults": 2,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-group-mnemonics?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/consumer/v1/consumer-group-mnemonics?offset=0&limit=20"
}

GET /consumer-group-mnemonics

Retrieves a list of consumer group mnemonics.

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 Consumer Group Mnemonic objects GroupMnemonicEntities
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Schema Definitions

ConsumerEntities

Name Type Required Description Accepted Values
items [ConsumerEntity] true An array containing the current page of results. -
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. -
totalResults integer(int32) true The total number of results for the specified parameters. -

ConsumerEntity

Name Type Required Description Accepted Values
id string true The ID of the consumer. -
name Name true The name components of the consumer. -
addresses [Address] false The addresses of the consumer. -
aliases [ConsumerAlias] false The aliases of the consumer. -
telecoms [Telecom] false The contact details of the consumer. -
patients [Patient] false The patient records of the consumer. -
sourceIdentifiers [SourceIdentifier] false IDs linking the consumer to an external source. -
birthDate string false The date of birth in YYYY-MM-DD format of the consumer. -
gender string false No description MALE, FEMALE, OTHER, UNKNOWN
createdAt string(date-time) true The date and time in YYYY-MM-DDThh:mm:ssZ format when this consumer was created. -
updatedAt string(date-time) true The date and time in YYYY-MM-DDThh:mm:ssZ format of the most recent update to this consumer. -

Name

Name Type Required Description Accepted Values
prefix string false The parts that come before the name such as Dr., Mr., or Mrs. -
given string true The given name, usually the first name. -
middle string false The person’s middle name. -
family string true The family name, usually the last name. -
suffix string false The parts that come after the name such as MD, III, or Jr. -
formatted string false The fully formatted name. This is created from the discrete components (prefix, given, middle, family, and suffix). -

Address

Name Type Required Description Accepted Values
postalCode string false The region defined by the postal service for this address. -
country string false The nation specified for this address. -
use string false The type of the address. HOME, WORK
text string false The formatted display text of the address. -
city string false The city of the address. -
state string false The state of the address. -
lines [string] false The street component of the address. -

ConsumerAlias

Name Type Required Description Accepted Values
type string true The type of the alias. EXTERNAL, MRN, USER
value string true The unique ID used to identify the person. -
system string true The source of the alias value. This is needed because an alias value that is unique within a given alias system (such as a medical record number (MRN) from Cerner Millennium) is not guaranteed to be unique across sources; for example, an MRN of 12345 from Cerner Millennium can represent one person while an MRN of 12345 from Allscripts represents another person. -

Telecom

Name Type Required Description Accepted Values
system string true The type of telecom system being used. PHONE, EMAIL, OTHER
value string true The value of the telecom. -

Patient

Name Type Required Description Accepted Values
id string true The identifier for the consumer’s patient record within a HealtheIntent population. -
populationId string true The identifier for the HealtheIntent population to which the patient identifier belongs. -

SourceIdentifier

Name Type Required Description Accepted Values
id string true An ID that uniquely identifies the consumer in a data partition. -
dataPartitionId string true The data partition ID should match the HealtheIntent partition ID for the data source. -

Error

Name Type Required Description Accepted Values
code integer(int32) true The HTTP response status code that represents the error. -
message string true A human-readable description of the error. -
errorDetails [ErrorDetail] false A 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 A codified value that represents the specific error that caused the current error status. -
message string false A human-readable description of an error. -
locationType string false The location or type of the field that caused an error. query, header, path, formData, body
location string false The name of the field that caused an error. -

postConsumers

Name Type Required Description Accepted Values
patients [Patient] false The patient records of the consumer. -
birthDate string(date-time) false The date of birth in YYYY-MM-DD format of the consumer. -
gender string false The gender of the consumer. MALE, FEMALE, OTHER, UNKNOWN
name Name true The name components of the consumer. -
addresses [Address] false The addresses of the consumer. -
aliases [ConsumerAlias] false The aliases of the consumer. -
telecoms [Telecom] false The contact details of the consumer. -
sourceIdentifiers [SourceIdentifier] false IDs linking the consumer to an external source. -

putConsumers

Name Type Required Description Accepted Values
patients [Patient] false The patient records of the consumer. -
birthDate string(date-time) false The date of birth in YYYY-MM-DD format of the consumer. -
gender string false The gender of the consumer. MALE, FEMALE, OTHER, UNKNOWN
name Name true The name components of the consumer. -
addresses [Address] false The addresses of the consumer. -
aliases [ConsumerAlias] false The aliases of the consumer. -
telecoms [Telecom] false The contact details of the consumer. -
sourceIdentifiers [SourceIdentifier] false IDs linking the consumer to an external source. -

GroupEntities

Name Type Required Description Accepted Values
items [GroupEntity] true An array containing the current page of results. -
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. -
totalResults integer(int32) true The total number of results for the specified parameters. -

GroupEntity

Name Type Required Description Accepted Values
id string true The ID of the group. -
name string true The name of the consumer group. -
mnemonic string true The mnemonic of the consumer group. -
aliases [GroupAlias] false The aliases of the consumer group. -
createdAt string(date-time) false The date and time when the consumer group was created, in ISO 8601 format with a precision of YYYY-MM-DDThh:mm:ssZ. -
updatedAt string(date-time) false The date and time when the consumer group was most recently updated, in ISO 8601 format with a precision of YYYY-MM-DDThh:mm:ssZ. -

GroupAlias

Name Type Required Description Accepted Values
value string true The unique ID used to identify the group. -
system string true The source of the alias value. This is needed because an alias value that is unique within a given system is not guaranteed to be unique across sources. -
type string true The type of the alias. EXTERNAL

postConsumerGroups

Name Type Required Description Accepted Values
createdAt string(date-time) false The date and time when the consumer group was created, in ISO 8601 format with a precision of YYYY-MM-DDThh:mm:ssZ. -
updatedAt string(date-time) false The date and time when the consumer group was most recently updated, in ISO 8601 format with a precision of YYYY-MM-DDThh:mm:ssZ. -
name string true The name of the consumer group. -
mnemonic string true The mnemonic of the consumer group. The specified mnemonic is validated against the list of valid mnemonics. If the mnemonic type is singleton and a group already exists with the mnemonic, the request is rejected. -
aliases [GroupAlias] false The aliases of the consumer group. -

putConsumerGroups

Name Type Required Description Accepted Values
createdAt string(date-time) false The date and time when the consumer group was created, in ISO 8601 format with a precision of YYYY-MM-DDThh:mm:ssZ. -
updatedAt string(date-time) false The date and time when the consumer group was most recently updated, in ISO 8601 format with a precision of YYYY-MM-DDThh:mm:ssZ. -
name string true The name of the consumer group. -
mnemonic string true The mnemonic of the consumer group. The specified mnemonic is validated against the list of valid mnemonics. If the mnemonic type is singleton and a group already exists with the mnemonic, the request is rejected. -
aliases [GroupAlias] false The aliases of the consumer group. -

MemberEntities

Name Type Required Description Accepted Values
items [MemberEntity] true An array containing the current page of results. -
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. -
totalResults integer(int32) true The total number of results for the specified parameters. -

MemberEntity

Name Type Required Description Accepted Values
id string true The ID of the consumer member. -
name string false The name of the consumer. -

GroupMnemonicEntities

Name Type Required Description Accepted Values
items [GroupMnemonicEntity] true An array containing the current page of results. -
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. -
totalResults integer(int32) true The total number of results for the specified parameters. -

GroupMnemonicEntity

Name Type Required Description Accepted Values
id string true The ID of the consumer group mnemonic. -
type string false The type of the consumer group mnemonic. For singleton groups such as whitelists, each tenant can have only one consumer group with the specified mnemonic. For multivalued groups, each tenant can have multiple consumer groups with the same mnemonic. Cerner controls which groups are singleton or mnemonic, so you do not need to specify a type when creating a group; however, if you attempt to create multiple singleton consumer groups with the same mnemonic, only the first request succeeds. SINGLETON, MULTIVALUED