NAV Navbar
Logo cerner
Ruby Shell

Personnel API v1

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

Personnel

Personnel are the people involved in the health care of a population. In most cases, personnel are employees or affiliates of a health care system or provider.

Note: Users are personnel who log in to HealtheIntent applications. All users must be personnel, but not all personnel are necessarily users. Users gain access to features and information in HealtheIntent applications through membership in personnel groups and by being a member or administrator of organizations.

Retrieve a List of Personnel

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

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "f89fa3dd-0000-494b-1111-4640ccc081e3",
      "birthDate": "1970-11-15",
      "gender": "FEMALE",
      "name": {
        "prefix": "Dr.",
        "given": "Jane",
        "middle": "Elizabeth",
        "family": "Smith",
        "suffix": "MD",
        "formatted": "Dr. Jane Elizabeth Smith MD"
      },
      "addresses": [
        {
          "use": "WORK",
          "text": "2800 Rockcreek Pkwy\\nSuite 1, Kansas City, MO, USA, 64117",
          "lines": [
            "2800 Rockcreek Pkwy",
            "Suite 1"
          ],
          "city": "Kansas City",
          "state": "MO",
          "postalCode": "64117",
          "country": "USA"
        }
      ],
      "aliases": [
        {
          "value": "123.456.7890",
          "system": "5ecaf544-01d5-01kf-95hj-8e2bcec12006",
          "type": "SPI"
        }
      ],
      "telecoms": [
        {
          "system": "PHONE",
          "value": "816-201-0001"
        },
        {
          "system": "EMAIL",
          "value": "jane.smith@cerner.com"
        }
      ],
      "languages": [
        "en",
        "hi",
        "fr"
      ],
      "qualifications": [
        {
          "code": "BFA",
          "issuer": "University of Missouri - Kansas City",
          "start": "2010-01-05T00:00:00Z",
          "end": "2050-01-05T00:00:00Z"
        }
      ],
      "createdAt": "2016-09-02T02:35:10Z",
      "updatedAt": "2018-01-23T14:42:49Z"
    },
    {
      "id": "hgjfut83-0000-h9g2-1111-4640cjd97de3",
      "birthDate": "1975-09-30",
      "gender": "UNKNOWN",
      "name": {
        "prefix": "Dr.",
        "given": "John",
        "middle": "Michael",
        "family": "Doe",
        "suffix": "III",
        "formatted": "Dr. John Michael Doe III"
      },
      "addresses": [
        {
          "use": "WORK",
          "text": "2800 Rockcreek Pkwy\\nSuite 1, Kansas City, MO, USA, 64117",
          "lines": [
            "2800 Rockcreek Pkwy",
            "Suite 1"
          ],
          "city": "Kansas City",
          "state": "MO",
          "postalCode": "64117",
          "country": "USA"
        }
      ],
      "aliases": [
        {
          "value": "0193.421321.31543",
          "system": "5echdj54-15a9-01jf-8110-8e202jf72006",
          "type": "SPI"
        }
      ],
      "telecoms": [
        {
          "system": "PHONE",
          "value": "816-201-0001"
        },
        {
          "system": "EMAIL",
          "value": "john.doe@cerner.com"
        }
      ],
      "languages": [
        "en",
        "fr",
        "es"
      ],
      "qualifications": [
        {
          "code": "BFA",
          "issuer": "University of Kansas",
          "start": "2010-01-05T00:00:00Z",
          "end": "2050-01-05T00:00:00Z"
        }
      ],
      "createdAt": "2017-10-02T02:05:10Z",
      "updatedAt": "2018-01-23T14:42:49Z"
    }
  ],
  "totalResults": 2,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel?formattedName=Dr&orderBy=givenName&offset=0&limit=2",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel?formattedName=Dr&orderBy=givenName&offset=2&limit=2"
}

GET /personnel

Retrieves a list of personnel that match the query. This list is a combination of all personnel that came from an external source or were created using the API or a configuration tool.

Parameters

Parameter In Type Required Default Description Accepted Values
personnelId query array[string] false N/A Filters by personnel IDs. -
formattedName query string false N/A Filters by the full name of the personnel. Filtering by a partial match is allowed. -
birthDate query string false N/A Filters by the birth date of the personnel. Must be an exact date in YYYY-MM-DD format. -
gender query string false N/A Filters by the gender of the personnel. MALE, FEMALE, OTHER, UNKNOWN
groupMnemonic query string false N/A Filters personnel to only members of the personnel groups that match the specified mnemonic. -
manualOnly query boolean false N/A Indicates whether to retrieve only manually created personnel. -
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 Orders results by a given value in ascending or descending alphabetic order; to specify descending prefix the value with a hyphen (-). formattedName, -formattedName, givenName, -givenName, familyName, -familyName
aliasValue query string true N/A Filters by the unique alias ID. Requires aliasType or aliasSystem. -
aliasType query string false N/A The type of alias by which to search. Requires aliasValue. NPI, DEA, SPI, TAX, SL, EXTERNAL, UPIN, USER, UNKNOWN
aliasSystem query string false N/A The source of the alias value. This is needed because an alias value that is unique within a given assigning authority (such as Standard Provider Identifier (SPI) or Cerner Millennium ID) is not guaranteed to be unique across sources; for example, a user name of ‘JSMITH’ from Cerner Millennium can represent one person while the user name of ‘JSMITH’ from Allscripts represents another person. This overlap presents security and data integrity concerns, such as data being linked to the wrong organization or provider. Requires aliasValue. -

Response Statuses

Status Meaning Description Schema
200 OK A collection of personnel objects. Personnels
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Create a Personnel

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/personnel/v1/personnel', headers: headers, body: {"birthDate":"1970-11-15","gender":"FEMALE","languages":["en","fr"],"name":{"prefix":"Dr.","given":"Jane","middle":"Elizabeth","family":"Smith","suffix":"Jr","formatted":"Dr. Jane Elizabeth Smith Jr"},"addresses":{"use":"WORK","text":"2800 Rockcreek Pkwy\\nSuite 1, Kansas City, MO, USA, 64117","lines":["2800 Rockcreek Pkwy","Suite 1"],"city":"Kansas City","state":"MO","postalCode":"64117","country":"USA"},"aliases":[{"value":"123.456.7890","system":"5ecaf544-01d5-01kf-95hj-8e2bcec12006","type":"EXTERNAL"}],"telecoms":[{"system":"EMAIL","value":"jane.smith@rockhurst.edu"}],"qualifications":[{"issuer":"Rockhurst University","code":"MD"}],"sourceIdentifiers":[{"id":"10924.21321042.4vda1","dataPartitionId":"d1fb6eba-0f56-44fe-8680-b67985533184"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"birthDate":"1970-11-15","gender":"FEMALE","languages":["en","fr"],"name":{"prefix":"Dr.","given":"Jane","middle":"Elizabeth","family":"Smith","suffix":"Jr","formatted":"Dr. Jane Elizabeth Smith Jr"},"addresses":{"use":"WORK","text":"2800 Rockcreek Pkwy\\nSuite 1, Kansas City, MO, USA, 64117","lines":["2800 Rockcreek Pkwy","Suite 1"],"city":"Kansas City","state":"MO","postalCode":"64117","country":"USA"},"aliases":[{"value":"123.456.7890","system":"5ecaf544-01d5-01kf-95hj-8e2bcec12006","type":"EXTERNAL"}],"telecoms":[{"system":"EMAIL","value":"jane.smith@rockhurst.edu"}],"qualifications":[{"issuer":"Rockhurst University","code":"MD"}],"sourceIdentifiers":[{"id":"10924.21321042.4vda1","dataPartitionId":"d1fb6eba-0f56-44fe-8680-b67985533184"}]}

Example response

{
  "id": "f89fa3dd-0000-494b-1111-4640ccc081e3",
  "birthDate": "1970-11-15",
  "gender": "FEMALE",
  "name": {
    "prefix": "Dr.",
    "given": "Jane",
    "middle": "Elizabeth",
    "family": "Smith",
    "suffix": "Jr",
    "formatted": "Dr. Jane Elizabeth Smith Jr"
  },
  "addresses": [
    {
      "use": "WORK",
      "text": "2800 Rockcreek Pkwy\\nSuite 1, Kansas City, MO, USA, 64117",
      "lines": [
        "2800 Rockcreek Pkwy",
        "Suite 1"
      ],
      "city": "Kansas City",
      "state": "MO",
      "postalCode": "64117",
      "country": "USA"
    }
  ],
  "aliases": [
    {
      "value": "123.456.7890",
      "system": "5ecaf544-01d5-01kf-95hj-8e2bcec12006",
      "type": "EXTERNAL"
    }
  ],
  "telecoms": [
    {
      "system": "EMAIL",
      "value": "jane.smith@rockhurst.edu"
    }
  ],
  "languages": [
    "en",
    "fr"
  ],
  "qualifications": [
    {
      "issuer": "Rockhurst University",
      "code": "MD"
    }
  ],
  "sourceIdentifiers": [
    {
      "id": "10924.21321042.4vda1",
      "dataPartitionId": "d1fb6eba-0f56-44fe-8680-b67985533184"
    }
  ],
  "createdAt": "2018-01-10T15:48:32Z",
  "updatedAt": "2018-01-10T15:48:32Z"
}

POST /personnel

Creates a personnel.

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created A single personnel object. Personnel
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
409 Conflict Conflict Error

Retrieve a Single Personnel

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/personnel/v1/personnel/f89fa3dd-0000-494b-1111-4640ccc081e3', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel/f89fa3dd-0000-494b-1111-4640ccc081e3 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "f89fa3dd-0000-494b-1111-4640ccc081e3",
  "birthDate": "1970-11-15",
  "gender": "FEMALE",
  "name": {
    "prefix": "Dr.",
    "given": "Jane",
    "middle": "Elizabeth",
    "family": "Smith",
    "suffix": "Jr",
    "formatted": "Dr. Jane Elizabeth Smith Jr"
  },
  "addresses": [
    {
      "use": "WORK",
      "text": "2800 Rockcreek Pkwy\\nSuite 1, Kansas City, MO, USA, 64117",
      "lines": [
        "2800 Rockcreek Pkwy",
        "Suite 1"
      ],
      "city": "Kansas City",
      "state": "MO",
      "postalCode": "64117",
      "country": "USA"
    }
  ],
  "aliases": [
    {
      "value": "123.456.7890",
      "system": "5ecaf544-01d5-01kf-95hj-8e2bcec12006",
      "type": "EXTERNAL"
    }
  ],
  "telecoms": [
    {
      "system": "EMAIL",
      "value": "jane.smith@rockhurst.edu"
    }
  ],
  "languages": [
    "en",
    "fr"
  ],
  "qualifications": [
    {
      "issuer": "Rockhurst University",
      "code": "MD"
    }
  ],
  "sourceIdentifiers": [
    {
      "id": "10924.21321042.4vda1",
      "dataPartitionId": "d1fb6eba-0f56-44fe-8680-b67985533184"
    }
  ],
  "createdAt": "2018-01-10T15:48:32Z",
  "updatedAt": "2018-01-10T15:48:32Z"
}

GET /personnel/{personnelId}

Retrieves a single personnel.

Parameters

Parameter In Type Required Default Description Accepted Values
personnelId path string true N/A The ID of the personnel -

Response Statuses

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

Update a Personnel

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/personnel/v1/personnel/f89fa3dd-0000-494b-1111-4640ccc081e3', headers: headers, body: {"birthDate":"1970-11-15","gender":"FEMALE","languages":["en","fr"],"name":{"prefix":"Dr.","given":"Jane","middle":"Elizabeth","family":"Smith","suffix":"Jr","formatted":"Dr. Jane Elizabeth Smith Jr"},"addresses":{"use":"WORK","text":"2800 Rockcreek Pkwy\\nSuite 1, Kansas City, MO, USA, 64117","lines":["2800 Rockcreek Pkwy","Suite 1"],"city":"Kansas City","state":"MO","postalCode":"64117","country":"USA"},"aliases":[{"value":"123.456.7890","system":"5ecaf544-01d5-01kf-95hj-8e2bcec12006","type":"EXTERNAL"}],"telecoms":[{"system":"EMAIL","value":"jane.smith@rockhurst.edu"}],"qualifications":[{"issuer":"Rockhurst University","code":"MD"}],"sourceIdentifiers":[{"id":"10924.21321042.4vda1","dataPartitionId":"d1fb6eba-0f56-44fe-8680-b67985533184"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel/f89fa3dd-0000-494b-1111-4640ccc081e3 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"birthDate":"1970-11-15","gender":"FEMALE","languages":["en","fr"],"name":{"prefix":"Dr.","given":"Jane","middle":"Elizabeth","family":"Smith","suffix":"Jr","formatted":"Dr. Jane Elizabeth Smith Jr"},"addresses":{"use":"WORK","text":"2800 Rockcreek Pkwy\\nSuite 1, Kansas City, MO, USA, 64117","lines":["2800 Rockcreek Pkwy","Suite 1"],"city":"Kansas City","state":"MO","postalCode":"64117","country":"USA"},"aliases":[{"value":"123.456.7890","system":"5ecaf544-01d5-01kf-95hj-8e2bcec12006","type":"EXTERNAL"}],"telecoms":[{"system":"EMAIL","value":"jane.smith@rockhurst.edu"}],"qualifications":[{"issuer":"Rockhurst University","code":"MD"}],"sourceIdentifiers":[{"id":"10924.21321042.4vda1","dataPartitionId":"d1fb6eba-0f56-44fe-8680-b67985533184"}]}

PUT /personnel/{personnelId}

Updates a personnel.

Note: If your organization uses an external system to create personnel, you cannot edit or delete personnel using this API. If you send a request to update or delete a personnel using the API in this case, a 400 response (Bad Request) is sent.

Parameters

Parameter In Type Required Default Description Accepted Values
personnelId path string true N/A The ID of the personnel -
body body putPersonnel 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 Personnel

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/personnel/v1/personnel/f89fa3dd-0000-494b-1111-4640ccc081e3', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel/f89fa3dd-0000-494b-1111-4640ccc081e3 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /personnel/{personnelId}

Removes a personnel.

Note: If your organization uses an external system to create personnel, you cannot edit or delete personnel using this API. If you send a request to update or delete a personnel using the API in this case, a 400 response (Bad Request) is sent.

Parameters

Parameter In Type Required Default Description Accepted Values
personnelId path string true N/A The ID of the personnel -

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

Personnel Groups

Personnel groups are sets of personnel who are grouped together to give them access to the same features or information. A personnel can belong to as many or as few personnel groups as necessary. For more information on how personnel groups are used within HealtheIntent visit our reference page Understand the HealtheIntent Security Model.

Retrieve a List of Personnel 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/personnel/v1/personnel-groups', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "1b69dc47-6358-4221-bb61-8618323d18a2",
      "name": "Analytics Data Authors",
      "mnemonic": "analytics_data_authors",
      "aliases": [
        {
          "value": "8cbbffdc-acfe-11e7-abc4-cec278b6b50c",
          "system": "2.16.840.1.113883.4.6",
          "type": "EXTERNAL"
        }
      ],
      "createdAt": "2018-01-21T16:41:24Z",
      "updatedAt": "2018-02-21T16:41:44Z"
    },
    {
      "id": "15d2635d-1264-4b36-9474-4ce28ffc4978",
      "name": "Analytics Data Model Consumers",
      "mnemonic": "analytics_data_model_consumers",
      "aliases": [
        {
          "value": "9acerner-acfe-11e7-abc4-cec278b6b50c",
          "system": "3.16.840.1.113883.4.6",
          "type": "EXTERNAL"
        }
      ],
      "createdAt": "2018-01-11T16:12:24Z",
      "updatedAt": "2018-01-21T13:41:14Z"
    }
  ],
  "totalResults": 2,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-groups?name=analytics data&orderBy=mnemonic&offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-groups?name=analytics data&orderBy=mnemonic&offset=0&limit=20"
}

GET /personnel-groups

Returns a list of personnel groups matching the query. This list is a combination of all personnel groups that came from an external source or were created using the API or a configuration tool.

Parameters

Parameter In Type Required Default Description Accepted Values
personnelGroupId query array[string] false N/A The IDs of the personnel groups. -
memberPersonnelId query string false N/A The personnel ID for the member of the group. -
name query string false N/A The name of the personnel group. Filtering by a partial match is allowed. -
manualOnly query boolean false N/A Indicates whether to retrieve only manually created personnel groups. -
mnemonic query string false N/A The mnemonic determines the function of the personnel group. For example, a mnemonic with an application name followed by _whitelist indicates that the members of the group have access to that specific application. -
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 Orders results by a given value in ascending or descending alphabetic order; to specify descending prefix the value with a hyphen (-). name, -name, mnemonic, -mnemonic
aliasType query string false N/A The type of alias to search. Requires aliasValue and aliasSystem. EXTERNAL
aliasValue query string false N/A The unique identifier of alias to search. Requires aliasType and aliasSystem. -
aliasSystem query string false N/A The source of the alias value. This is needed because an alias value that is unique within a given assigning authority is not guaranteed to be unique across sources. Requires aliasType and aliasValue. -

Response Statuses

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

Create a Personnel 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/personnel/v1/personnel-groups', headers: headers, body: {"name":"Analytics Whitelist","mnemonic":"mpm_whitelist","aliases":[{"value":"123.456.7890","system":"5ecaf544-01d5-01kf-95hj-8e2bcec12006","type":"EXTERNAL"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-groups \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"Analytics Whitelist","mnemonic":"mpm_whitelist","aliases":[{"value":"123.456.7890","system":"5ecaf544-01d5-01kf-95hj-8e2bcec12006","type":"EXTERNAL"}]}

Example response

{
  "id": "1928bad5-11d2-4028-af95-d7ae3c578567",
  "name": "Person Management",
  "mnemonic": "mpm_whitelist",
  "aliases": [
    {
      "value": "123.456.7890",
      "system": "5ecaf544-01d5-01kf-95hj-8e2bcec12006",
      "type": "EXTERNAL"
    }
  ],
  "createdAt": "2018-01-10T12:23:12Z",
  "updatedAt": "2018-05-12T15:48:32Z"
}

POST /personnel-groups

Creates a personnel group.

Parameters

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

Response Statuses

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

Retrieve a Single Personnel 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/personnel/v1/personnel-groups/1928bad5-11d2-4028-af95-d7ae3c578567', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-groups/1928bad5-11d2-4028-af95-d7ae3c578567 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "1928bad5-11d2-4028-af95-d7ae3c578567",
  "name": "Person Management",
  "mnemonic": "mpm_whitelist",
  "aliases": [
    {
      "value": "123.456.7890",
      "system": "5ecaf544-01d5-01kf-95hj-8e2bcec12006",
      "type": "EXTERNAL"
    }
  ],
  "createdAt": "2018-01-10T12:23:12Z",
  "updatedAt": "2018-05-12T15:48:32Z"
}

GET /personnel-groups/{personnelGroupId}

Returns a single personnel group.

Parameters

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

Response Statuses

Status Meaning Description Schema
200 OK Single Personnel Group object PersonnelGroup
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

Update a Personnel 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/personnel/v1/personnel-groups/1928bad5-11d2-4028-af95-d7ae3c578567', headers: headers, body: {"name":"Analytics Whitelist","mnemonic":"mpm_whitelist","aliases":[{"value":"123.456.7890","system":"5ecaf544-01d5-01kf-95hj-8e2bcec12006","type":"EXTERNAL"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-groups/1928bad5-11d2-4028-af95-d7ae3c578567 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"Analytics Whitelist","mnemonic":"mpm_whitelist","aliases":[{"value":"123.456.7890","system":"5ecaf544-01d5-01kf-95hj-8e2bcec12006","type":"EXTERNAL"}]}

PUT /personnel-groups/{personnelGroupId}

Updates a personnel group.

Note: If your organization uses an external system to create personnel groups, you cannot edit or delete personnel groups using this API. If you send a request to update or delete a personnel group using the API in this case, a 400 response (Bad request) is returned.

Parameters

Parameter In Type Required Default Description Accepted Values
personnelGroupId path string true N/A The ID of the personnel group -
body body putPersonnelGroups 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 Personnel 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/personnel/v1/personnel-groups/1928bad5-11d2-4028-af95-d7ae3c578567', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-groups/1928bad5-11d2-4028-af95-d7ae3c578567 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /personnel-groups/{personnelGroupId}

Removes a personnel group.

Note: If your organization uses an external system to create personnel groups, you cannot edit or delete personnel groups using this API. If you send a request to update or delete a personnel group using the API in this case, a 400 response (Bad request) is returned.

Parameters

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

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 List of Personnel 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/personnel/v1/personnel-groups/01e28848-0bad-4f09-ab46-4a7cc5bef73c/members', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-groups/01e28848-0bad-4f09-ab46-4a7cc5bef73c/members \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "60adc152-07bf-4779-a1a2-3cba0015425a",
      "name": "Paula Poindexter"
    },
    {
      "id": "73a4190b-a3c2-4912-bff5-fb13e45076f9",
      "name": "Schultz Joel"
    }
  ],
  "totalResults": 2,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-groups/01e28848-0bad-4f09-ab46-4a7cc5bef73c/members&offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-groups/01e28848-0bad-4f09-ab46-4a7cc5bef73c/members&offset=0&limit=20"
}

GET /personnel-groups/{personnelGroupId}/members

Returns a list of personnel group members.

Parameters

Parameter In Type Required Default Description Accepted Values
personnelGroupId path string true N/A The ID of the personnel 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. -

Response Statuses

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

Add a Personnel 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/personnel/v1/personnel-groups/01e28848-0bad-4f09-ab46-4a7cc5bef73c/members/222db7d9-7d6b-467b-9f99-d884883939f3', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X PUT https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-groups/01e28848-0bad-4f09-ab46-4a7cc5bef73c/members/222db7d9-7d6b-467b-9f99-d884883939f3 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

PUT /personnel-groups/{personnelGroupId}/members/{personnelGroupMemberId}

Adds a personnel member to the personnel group

Parameters

Parameter In Type Required Default Description Accepted Values
personnelGroupId path string true N/A The ID of the personnel group -
personnelGroupMemberId path string true N/A The ID of the personnel member being added to the personnel group -

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

Remove a Personnel 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/personnel/v1/personnel-groups/01e28848-0bad-4f09-ab46-4a7cc5bef73c/members/222db7d9-7d6b-467b-9f99-d884883939f3', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-groups/01e28848-0bad-4f09-ab46-4a7cc5bef73c/members/222db7d9-7d6b-467b-9f99-d884883939f3 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /personnel-groups/{personnelGroupId}/members/{personnelGroupMemberId}

Removes a personnel member from the personnel group.

Parameters

Parameter In Type Required Default Description Accepted Values
personnelGroupId path string true N/A The ID of the personnel group -
personnelGroupMemberId path string true N/A The ID of the personnel member being added to the personnel group -

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

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "ad_hoc_reporting_administrators",
      "type": "SINGLETON"
    },
    {
      "id": "analytics_administrators",
      "type": "SINGLETON"
    },
    {
      "id": "analytics_content_authors",
      "type": "SINGLETON"
    },
    {
      "id": "analytics_data_authors",
      "type": "SINGLETON"
    },
    {
      "id": "analytics_query_authors",
      "type": "SINGLETON"
    },
    {
      "id": "analytics_whitelist",
      "type": "SINGLETON"
    },
    {
      "id": "announcement_tool_whitelist",
      "type": "SINGLETON"
    },
    {
      "id": "assignable_care_managers",
      "type": "SINGLETON"
    },
    {
      "id": "ATTENDING_PROVIDERS",
      "type": "SINGLETON"
    },
    {
      "id": "attributable_personnel",
      "type": "SINGLETON"
    },
    {
      "id": "behavioral_health",
      "type": "SINGLETON"
    },
    {
      "id": "care_management_administrators",
      "type": "SINGLETON"
    },
    {
      "id": "care_management_whitelist",
      "type": "SINGLETON"
    },
    {
      "id": "clinical_document_viewers",
      "type": "SINGLETON"
    },
    {
      "id": "cost_accounting_whitelist",
      "type": "SINGLETON"
    },
    {
      "id": "data_ingestion_administrators",
      "type": "SINGLETON"
    },
    {
      "id": "data_ingestion_tool_whitelist",
      "type": "SINGLETON"
    },
    {
      "id": "data_syndication_whitelist",
      "type": "SINGLETON"
    },
    {
      "id": "demographics_data_entry_clerks",
      "type": "SINGLETON"
    },
    {
      "id": "genetic_counselor",
      "type": "SINGLETON"
    }
  ],
  "totalResults": 72,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-group-mnemonics?offset=0&limit=20",
  "lastLink": "https:/cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-group-mnemonics?offset=60&limit=20",
  "nextLink": "https://cernerdemo.api.us.healtheintent.com/personnel/v1/personnel-group-mnemonics?offset=20&limit=20"
}

GET /personnel-group-mnemonics

Returns a list of personnel 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 OK PersonnelGroupMnemonics
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

Schema Definitions

Personnels

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

Personnel

Name Type Required Description Accepted Values
id string true The ID of the personnel -
birthDate string false The birth date of the personnel. Must be an exact date in YYYY-MM-DD format -
gender string false The gender of the personnel MALE, FEMALE, OTHER, UNKNOWN
name Name true The name components of the personnel -
addresses [Address] false The addresses of the personnel -
aliases [Alias] false The aliases of the personnel -
telecoms [Telecom] false The contact details of the personnel -
languages [string] false BCP 47 formatted language tags indiciating what languages the personnel knows, in order of preference. Valid subtags can be found on the Internet Assigned Numbers Authority (IANA) website https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry -
qualifications [Qualification] false The qualifications of the personnel -
sourceIdentifiers [SourceIdentifier] false The identifiers linking the personnel to an external source -
createdAt string(date-time) true The date and time in YYYY-MM-DDThh:mm:ssZ format when the personnel 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 personnel -

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

Alias

Name Type Required Description Accepted Values
type string true The type of alias. Note: You still can retrieve personnel by NPI and DEA, but you cannot create or update personnel with those alias types. NPI, DEA, SPI, TAX, SL, EXTERNAL, UPIN, USER, UNKNOWN
value string true The unique identifier used to identify the alias. -
system string true The source of the alias value. This is needed because an alias value that is unique within a given assigning authority is not guaranteed to be unique across sources. -

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

Qualification

Name Type Required Description Accepted Values
issuer string true What institute issued the qualification -
code string true Qualification code such as MD or PhD AA, AAS, ABA, AE, AS, BA, BBA, BE, BFA, BN, BS, BSL, BSN, BT, CANP, CER, CMA, CNM, CNP, CNS, CPNP, CRN, CTR, DBA, DED, DIP, DO, EMT, EMTP, FPNP, HS, JD, MA, MBA, MCE, MD, MDA, MDI, ME, MED, MEE, MFA, MME, MS, MSL, MSN, MT, MTH, NG, NP, PA, PHD, PHE, PNS, PN, PharmD, RMA, RN, RPH, SEC, TS
start string false The first date and time that the qualification is valid, must be in the format yyyy-mm-ddThh:mm:ssZ such as 2000-11-30T05:00:00Z -
end string false The date and time that the qualification expires, must be in the format yyyy-mm-ddThh:mm:ssZ such as 2020-11-30T05:00:00Z -

SourceIdentifier

Name Type Required Description Accepted Values
id string true The IDs intended to link personnel in HealtheIntent to personnel from an external data source. For Cerner Millennium, the unique ID should match the record ID for that personnel. For non-Cerner Millennium, the unique source system record ID should match the personnel ID or provider ID used for that personnel member in the raw source data onboarded into HealtheIntent. -
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. -

postPersonnel

Name Type Required Description Accepted Values
birthDate string false The birth date of the personnel. Must be an exact date in YYYY-MM-DD format -
gender string false The gender of the personnel MALE, FEMALE, OTHER, UNKNOWN
languages [string] false BCP 47 formatted language tags indiciating what languages the personnel knows, in order of preference. Valid subtags can be found on the Internet Assigned Numbers Authority (IANA) website https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry -
name object true The name components of the personnel -
» given string true The given name, usually the first name -
» family string true The family name, usually the last name -
» prefix string false The parts that come before the name such as Dr., Mr., or Mrs. -
» middle string false The middle 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) if not provided. -
addresses [Address] false The addresses of the personnel -
aliases [Alias] false The aliases of the personnel -
telecoms [Telecom] false The contact details of the personnel -
qualifications [Qualification] false The qualifications of the personnel -
sourceIdentifiers [SourceIdentifier] false The identifiers linking the personnel to an external source -

putPersonnel

Name Type Required Description Accepted Values
birthDate string false The birth date of the personnel. Must be an exact date in YYYY-MM-DD format -
gender string false The gender of the personnel MALE, FEMALE, OTHER, UNKNOWN
languages [string] false BCP 47 formatted language tags indiciating what languages the personnel knows, in order of preference. Valid subtags can be found on the Internet Assigned Numbers Authority (IANA) website https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry -
name object true The name components of the personnel -
» given string true The given name, usually the first name -
» family string true The family name, usually the last name -
» prefix string false The parts that come before the name such as Dr., Mr., or Mrs. -
» middle string false The middle 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) if not provided. -
addresses [Address] false The addresses of the personnel -
aliases [Alias] false The aliases of the personnel -
telecoms [Telecom] false The contact details of the personnel -
qualifications [Qualification] false The qualifications of the personnel -
sourceIdentifiers [SourceIdentifier] false The identifiers linking the personnel to an external source -

PersonnelGroups

Name Type Required Description Accepted Values
items [PersonnelGroup] true Returns a single personnel group. -
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. -

PersonnelGroup

Name Type Required Description Accepted Values
id string true The ID of the personnel group. -
name string true The name of the personnel group. -
mnemonic string true The mnemonic determines the function of the personnel group. For example,a mnemonic with an application name followed by _whitelist indicates that the members of the group have access to that specific application. The list of valid mnemonics can be found through the /personnel-group-mnemonics endpoint or on the Configure Personnel Groups in the HealtheIntent Security Model Reference Pages on uCern Wiki -
aliases [PersonnelGroupAlias] false The aliases of the personnel group -
createdAt string(date-time) true The date and time in YYYY-MM-DDThh:mm:ssZ format when the personnel 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 personnel -

PersonnelGroupAlias

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

postPersonnelGroups

Name Type Required Description Accepted Values
name string true The name of the personnel group. -
mnemonic string true The mnemonic determines the function of the personnel group. For example, a mnemonic with an application name followed by _whitelist indicates that the members of the group have access to that specific application. -
aliases [PersonnelGroupAlias] false The aliases of the personnel groups. -

putPersonnelGroups

Name Type Required Description Accepted Values
name string true The name of the personnel group. -
mnemonic string true The mnemonic determines the function of the personnel group. For example, a mnemonic with an application name followed by _whitelist indicates that the members of the group have access to that specific application. -
aliases [PersonnelGroupAlias] false The aliases of the personnel groups. -

PersonnelGroupMembers

Name Type Required Description Accepted Values
items [PersonnelGroupMember] true No description -
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. -

PersonnelGroupMember

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

PersonnelGroupMnemonics

Name Type Required Description Accepted Values
items [PersonnelGroupMnemonic] true No description -
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. -

PersonnelGroupMnemonic

Name Type Required Description Accepted Values
id string true The ID of the personnel group mnemonic. -
type string true The type of the personnel group mnemonic. SINGLETON, MULTIVALUED

Name

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