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 Oracle Health Data Intelligence tenant. If the person is also a user of Health Data Intelligence 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 Health Data Intelligence 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 Health Data Intelligence 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 Health Data Intelligence 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 Health Data Intelligence 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 Health Data Intelligence 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 Health Data Intelligence and systems that interact with the platform.
URL: https://cernerdemo.api.us-1.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 Health Data Intelligence tenant. If the person is also a user of Health Data Intelligence 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-1.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-1.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-1.healtheintent.com/consumer/v1/consumers?formattedName=jason&orderBy=givenName&offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.healtheintent.com/consumer/v1/consumer-groups?orderBy=-mnemonic&offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.healtheintent.com/consumer/v1/consumer-groups/af526ca1-1f18-4dce-ae16-b4ede64226bc/members?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.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-1.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-1.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-1.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-1.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-1.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-1.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-1.healtheintent.com/consumer/v1/consumer-group-mnemonics?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.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 Health Data Intelligence population. | - |
populationId | string | true | The identifier for the Health Data Intelligence 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 Health Data Intelligence 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 |