NAV Navbar
Logo cerner
Ruby Shell

Wellness Learning Module API v1

A learning module is a collection of education topics with a specific focus. Each topic must be completed to complete the module. Cerner standard learning modules are integrated with a third-party education provider, and custom learning modules can be created to fit your specific needs.

URL: https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1

Learning Modules

A learning module is an organized collection of education content items.

Create a Learning Module

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/wellness-learning-modules/v1/modules', headers: headers, body: {"definitionId":"77a233a3-54d4-4ad3-9e63-53bb71762290","imageUrl":"https://heathwise.edu/1.jpg","title":[{"text":"Diabetes Prevention","locale":"en-US"}],"description":[{"text":"Diabetes prevention","locale":"en-US"}],"keywords":[{"text":["Diabetes","prevention"],"locale":"en-US"}],"categories":["0276ea55-a3cc-4b0a-88dc-284629d","0276ea55-a3cc-4b0a-88dc-28462qq"]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/modules \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"definitionId":"77a233a3-54d4-4ad3-9e63-53bb71762290","imageUrl":"https://heathwise.edu/1.jpg","title":[{"text":"Diabetes Prevention","locale":"en-US"}],"description":[{"text":"Diabetes prevention","locale":"en-US"}],"keywords":[{"text":["Diabetes","prevention"],"locale":"en-US"}],"categories":["0276ea55-a3cc-4b0a-88dc-284629d","0276ea55-a3cc-4b0a-88dc-28462qq"]}

Example response

{
  "id": "11e8902c9e2908c69718f13503066bee",
  "definitionId": "77a233a3-54d4-4ad3-9e63-53bb71762290",
  "title": [
    {
      "locale": "en-US",
      "text": "Preventive Health"
    }
  ],
  "description": [
    {
      "locale": "en-US",
      "text": "Preventive Health"
    }
  ],
  "status": "RELEASED",
  "thumbnailUrl": "https://heathwise.edu/1.jpg",
  "keywords": [
    {
      "locale": "en-US",
      "text": [
        "prevent",
        "diabetes"
      ]
    }
  ],
  "categories": [
    {
      "id": "0276ea55-a3cc-4b0a-88dc-284629d",
      "title": [
        {
          "locale": "en-US",
          "text": "Preventive Health"
        }
      ]
    }
  ],
  "createdAt": "2018-12-15T12:23:12Z",
  "updatedAt": "2018-05-15T12:23:12Z"
}

POST /modules

Creates a learning module.

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created The learning module was created. Module
400 Bad Request Bad Request. The learning module was not created. The response includes error details with a reason field that can help identify the issue. The following reasons are possible, among others:
- noDefaultLocale The default locale (en-US) is required for the title.
- duplicateLocale The locale for the provided titles and descriptions must be unique.
- missingTitle Title is required. Specify a title for the locale and description to continue.
- catgoryNotFound The category was not found.
BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Retrieve a List of Learning Modules

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/wellness-learning-modules/v1/modules', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "11e8902c9e2908c69718f13503066bee",
      "title": [
        {
          "locale": "en-US",
          "text": "Preventive Health"
        }
      ],
      "description": [
        {
          "locale": "en-US",
          "text": "Preventive Health"
        }
      ],
      "status": "RELEASED",
      "imageUrl": "https://heathwise.edu/1.jpg",
      "keywords": [
        {
          "locale": "en-US",
          "text": [
            "prevent",
            "diabetes"
          ]
        }
      ],
      "categories": [
        {
          "id": "0276ea55-a3cc-4b0a-88dc-284629d",
          "title": [
            {
              "locale": "en-US",
              "text": "Preventive Health"
            }
          ]
        }
      ],
      "createdAt": "2018-12-15T12:23:12Z",
      "updatedAt": "2018-05-15T12:23:12Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/modules?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/modules?offset=0&limit=20"
}

GET /modules

Retrieves a list of learning modules.

Parameters

Parameter In Type Required Default Description Accepted Values
ids query array[string] false N/A Filters modules by module IDs. -
categoryIds query array[string] false N/A Filters modules by category IDs. -
keywords query array[string] false N/A Filters modules by keywords. -
searchTerms query string false N/A Filters the retrieved modules to those that contain specific text. Partial matching is supported. -
status query string false N/A Filters modules by status. DRAFT, PUBLISHED, RETIRED
offset query integer(int32) false N/A 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. -
locale query string false en-US Filters modules by locale. -
orderBy query string false updatedAt A comma-separated list of fields by which to sort. updatedAt, -updatedAt, createdAt, -createdAt, status, -status

Response Statuses

Status Meaning Description Schema
200 OK OK TranslatedModules
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Delete a Learning Module

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/wellness-learning-modules/v1/modules/11e8902c9e2908c69718f13503066bee', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/modules/11e8902c9e2908c69718f13503066bee \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /modules/{moduleId}

Deletes a single learning module by ID.

Parameters

Parameter In Type Required Default Description Accepted Values
moduleId path string true N/A The module ID. -

Response Statuses

Status Meaning Description Schema
204 No Content The module was deleted. None
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Update a Learning Module

Example Request:




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

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

result = HTTParty.patch('https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/modules/11e8902c9e2908c69718f13503066bee', headers: headers, body: {"imageUrl":"https://heathwise.edu/1.jpg","title":[{"text":"Diabetes prevention","locale":"en-US"}],"description":[{"text":"Diabetes prevention","locale":"en-US"}],"keywords":[{"text":["Diabetes","prevention"],"locale":"en-US"}],"categories":["0276ea55-a3cc-4b0a-88dc-284629d","0276ea55-a3cc-4b0a-88dc-28462qq"]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PATCH https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/modules/11e8902c9e2908c69718f13503066bee \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"imageUrl":"https://heathwise.edu/1.jpg","title":[{"text":"Diabetes prevention","locale":"en-US"}],"description":[{"text":"Diabetes prevention","locale":"en-US"}],"keywords":[{"text":["Diabetes","prevention"],"locale":"en-US"}],"categories":["0276ea55-a3cc-4b0a-88dc-284629d","0276ea55-a3cc-4b0a-88dc-28462qq"]}

PATCH /modules/{moduleId}

Updates a learning module.

Parameters

Parameter In Type Required Default Description Accepted Values
moduleId path string true N/A The module ID. -
body body patchModules true N/A No description -

Response Statuses

Status Meaning Description Schema
204 No Content The module was updated. None
400 Bad Request Bad Request. The education content was not updated. The response includes error details with a reason field that can help identify the issue. The following reasons are possible, among others:
- noDefaultLocale The default locale (en-US) is required for the title if it is used in the body.
- duplicateLocale The locales for the titles and descriptions must be unique.
- categoryNotFound The category was not found.
BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound
409 Conflict Conflict Conflict

Retrieve a Single Module

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/wellness-learning-modules/v1/modules/11e8902c9e2908c69718f13503066bee', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "id": "11e8902c9e2908c69718f13503066bee",
  "definitionId": "77a233a3-54d4-4ad3-9e63-53bb71762290",
  "title": [
    {
      "locale": "en-US",
      "text": "Preventive Health"
    }
  ],
  "description": [
    {
      "locale": "en-US",
      "text": "Preventive Health"
    }
  ],
  "status": "RELEASED",
  "thumbnailUrl": "https://heathwise.edu/1.jpg",
  "keywords": [
    {
      "locale": "en-US",
      "text": [
        "prevent",
        "diabetes"
      ]
    }
  ],
  "categories": [
    {
      "id": "0276ea55-a3cc-4b0a-88dc-284629d",
      "title": [
        {
          "locale": "en-US",
          "text": "Preventive Health"
        }
      ]
    }
  ],
  "createdAt": "2018-12-15T12:23:12Z",
  "updatedAt": "2018-05-15T12:23:12Z"
}

GET /modules/{moduleId}

Retrieves a single module by ID.

Parameters

Parameter In Type Required Default Description Accepted Values
moduleId path string true N/A The module ID. -

Response Statuses

Status Meaning Description Schema
200 OK OK Module
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Module Tasks

A module task is a single education item in a learning module.

Create a Task

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/wellness-learning-modules/v1/modules/{moduleId}/tasks', headers: headers)

print JSON.pretty_generate(result)




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

Example response

{
  "id": "11e8902c9e2908c69718f13503066bee",
  "moduleReference": "11e8902c9e2908c69718f13503066bee",
  "title": [
    {
      "locale": "en-US",
      "text": "Preventive Health"
    }
  ],
  "sourceReference": {
    "id": "d8454f2a-665c-49d4-87db-8c167feae10e",
    "kind": "education#content"
  },
  "order": "4",
  "createdAt": "2018-12-15T12:23:12Z",
  "updatedAt": "2018-05-15T12:23:12Z"
}

POST /modules/{moduleId}/tasks

Creates a task in the learning module.

Parameters

Parameter In Type Required Default Description Accepted Values
moduleId path string true N/A The module ID. -
body body postModulesModuleidTasks true N/A No description -

Response Statuses

Status Meaning Description Schema
201 Created The learning module task was created. Task
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Retrieve a List of Tasks for a Learning Module

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/wellness-learning-modules/v1/modules/{moduleId}/tasks', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "11e8902c9e2908c69718f13503066bee",
      "moduleReference": "11e8902c9e2908c69718f13503066bee",
      "title": [
        {
          "locale": "en-US",
          "text": "Preventive Health"
        }
      ],
      "sourceReference": {
        "id": "d8454f2a-665c-49d4-87db-8c167feae10e",
        "kind": "education#content"
      },
      "order": "4",
      "createdAt": "2018-12-15T12:23:12Z",
      "updatedAt": "2018-05-15T12:23:12Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/modules/db5f4eec-0e29-40b4-b051-707ad8a30b1d/tasks?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/modules/db5f4eec-0e29-40b4-b051-707ad8a30b1d/tasks?offset=0&limit=20"
}

GET /modules/{moduleId}/tasks

Retrieves a list of tasks for a learning module.

Parameters

Parameter In Type Required Default Description Accepted Values
offset query integer(int32) false N/A 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. -
locale query string false en-US Filters modules by locale. -
sourceSystemId query string false N/A The source ID in an external system, for example, the education library. -
sourceSystemKind query string false N/A The source type in an external system, for example, the education library. -
orderBy query string false updatedAt A comma-separated list of fields by which to sort. updatedAt, -updatedAt
moduleId path string true N/A The module ID. -

Response Statuses

Status Meaning Description Schema
200 OK OK Tasks
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Delete a Task

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/wellness-learning-modules/v1/modules/{moduleId}/tasks/11e8902c9e2908c69718f13503066bee', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/modules/{moduleId}/tasks/11e8902c9e2908c69718f13503066bee \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /modules/{moduleId}/tasks/{taskId}

Deletes a single task in a learning module.

Parameters

Parameter In Type Required Default Description Accepted Values
moduleId path string true N/A The module ID. -
taskId path string true N/A The ID of the module task. -

Response Statuses

Status Meaning Description Schema
204 No Content The task was deleted. None
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Update a Task

Example Request:




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

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

result = HTTParty.patch('https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/modules/{moduleId}/tasks/11e8902c9e2908c69718f13503066bee', headers: headers)

print JSON.pretty_generate(result)




# You can also use wget
curl -X PATCH https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/modules/{moduleId}/tasks/11e8902c9e2908c69718f13503066bee \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'

PATCH /modules/{moduleId}/tasks/{taskId}

Updates a single task in a learning module.

Parameters

Parameter In Type Required Default Description Accepted Values
moduleId path string true N/A The module ID. -
taskId path string true N/A The ID of the module task. -
body body patchModulesModuleidTasks true N/A No description -

Response Statuses

Status Meaning Description Schema
204 No Content The task was updated. None
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound
409 Conflict Conflict Conflict

Enrollments

An enrollment is a learning module in which a consumer is enrolled and in which the consumer’s progress is tracked for module tasks.

Add a Consumer to a Module

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/wellness-learning-modules/v1/enrollments', headers: headers)

print JSON.pretty_generate(result)




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

Example response

{
  "id": "6fcfc048-77ab-4f8b-831f-52dbb64b906b",
  "consumerReference": {
    "id": "9fb56347-07bd-4a48-a495-fc86ef804ba7"
  },
  "moduleReference": {
    "id": "d4454f2a-665c-49d4-87db-8c167feae17d"
  },
  "status": "notStarted",
  "createdAt": "2018-12-15T12:23:12Z",
  "updatedAt": "2018-05-15T12:23:12Z"
}

POST /enrollments

Creates a wellness learning module enrollment, thereby enrolling the consumer in the module.

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created The learning enrollment was created. Enrollment
400 Bad Request Bad Request. The learning module was not created due to issues with the request. The request should be reattempted. The response includes error details with a reason field that can help identify the issue. The following reasons are possible, among others:
- consumerAlreadyEnrolled The person is already enrolled in the learning module.
- invalidField A field is incorrect in some way, for example, the data type is incorrect.
- missingField Review and complete all required information to continue.
BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Retrieve a List of Enrolled Wellness Learning Modules

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/wellness-learning-modules/v1/enrollments', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "6fcfc048-77ab-4f8b-831f-52dbb64b906b",
      "consumerReference": {
        "id": "9fb56347-07bd-4a48-a495-fc86ef804ba7"
      },
      "moduleReference": {
        "id": "d4454f2a-665c-49d4-87db-8c167feae17d"
      },
      "status": "notStarted",
      "createdAt": "2018-12-15T12:23:12Z",
      "updatedAt": "2018-05-15T12:23:12Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/enrollments?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/enrollments?offset=0&limit=20"
}

GET /enrollments

Retrieves a list of the modules in which a consumer is enrolled.

Parameters

Parameter In Type Required Default Description Accepted Values
consumerReferenceId query string false N/A Filters enrollments by consumer ID. -
moduleReferenceId query string false N/A Filters enrollments by learning module ID. -
status query array[string] false N/A Filters enrollments by status. -
offset query integer(int32) false N/A 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 updatedAt A comma-separated list of fields by which to sort. updatedAt, -updatedAt

Response Statuses

Status Meaning Description Schema
200 OK OK Enrollments
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Remove a Consumer from a Module

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/wellness-learning-modules/v1/enrollments/66886ed6-cfde-427c-9384-bc0995dc3a7e', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/enrollments/66886ed6-cfde-427c-9384-bc0995dc3a7e \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /enrollments/{enrollmentId}

Deletes a learning module enrollment, thereby unenrolling a consumer from a module.

Parameters

Parameter In Type Required Default Description Accepted Values
enrollmentId path string true N/A The enrollment ID. -

Response Statuses

Status Meaning Description Schema
204 No Content The enrollment was deleted. None
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Retrieve a Wellness Learning Module Enrollment

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/wellness-learning-modules/v1/enrollments/66886ed6-cfde-427c-9384-bc0995dc3a7e', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/enrollments/66886ed6-cfde-427c-9384-bc0995dc3a7e \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "6fcfc048-77ab-4f8b-831f-52dbb64b906b",
  "consumerReference": {
    "id": "9fb56347-07bd-4a48-a495-fc86ef804ba7"
  },
  "moduleReference": {
    "id": "d4454f2a-665c-49d4-87db-8c167feae17d"
  },
  "status": "notStarted",
  "createdAt": "2018-12-15T12:23:12Z",
  "updatedAt": "2018-05-15T12:23:12Z"
}

GET /enrollments/{enrollmentId}

Retrieves a single wellness learning module enrollment by ID.

Parameters

Parameter In Type Required Default Description Accepted Values
enrollmentId path string true N/A The enrollment ID. -

Response Statuses

Status Meaning Description Schema
200 OK OK Enrollment
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Retrieve a List of Tasks

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/wellness-learning-modules/v1/enrollments/{enrollmentId}/tasks', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/enrollments/{enrollmentId}/tasks \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "f35241f0-968d-46bb-8ee0-f59818892c61",
      "moduleTaskReference": {
        "id": "d4454f2a-665c-49d4-87db-8c167feae17d"
      },
      "status": "NOT_STARTED",
      "order": "4",
      "createdAt": "2018-12-15T12:23:12Z",
      "updatedAt": "2018-05-15T12:23:12Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/enrollments/11e8902c9e2908c69718f13503066bee/tasks?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/enrollments/11e8902c9e2908c69718f13503066bee/tasks?offset=0&limit=20"
}

GET /enrollments/{enrollmentId}/tasks

Retrieves a list of tasks for a specific module in which a consumer is enrolled.

Parameters

Parameter In Type Required Default Description Accepted Values
enrollmentId path string true N/A The enrollment ID. -
status query string false N/A Filters enrollments by status. NOT_STARTED, COMPLETED
offset query integer(int32) false N/A 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 updatedAt A comma-separated list of fields by which to sort. updatedAt, -updatedAt, order, module_task_id, status

Response Statuses

Status Meaning Description Schema
200 OK OK EnrollmentTasks
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Update a Task Status

Example Request:




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

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

result = HTTParty.patch('https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/enrollments/66886ed6-cfde-427c-9384-bc0995dc3a7e/tasks/{enrollmentTaskId}', headers: headers)

print JSON.pretty_generate(result)




# You can also use wget
curl -X PATCH https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/enrollments/66886ed6-cfde-427c-9384-bc0995dc3a7e/tasks/{enrollmentTaskId} \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'

PATCH /enrollments/{enrollmentId}/tasks/{enrollmentTaskId}

Updates the status of a task in a learning module in which a consumer is enrolled.

Parameters

Parameter In Type Required Default Description Accepted Values
enrollmentId path string true N/A The enrollment ID. -
enrollmentTaskId path string true N/A The enrollment ID of the learning module task. -
body body patchEnrollmentsEnrollmentidTasks true N/A No description -

Response Statuses

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request. The resource cannot be updated due to issues with the request. The request should be reattempted. The response includes error details with a reason field that can help identify the issue. The following reasons are possible, among others:
- statusEnrollmentIssue The learning module is already in that status.
- invalidField A field is incorrect in some way, for example, the data type is incorrect.
BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound
409 Conflict Conflict Conflict

Categories

Categories are groups of learning modules organized into logical focus areas, for example, learning modules related to physical fitness or nutrition.

Create a Category

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/wellness-learning-modules/v1/categories', headers: headers, body: {"title":[{"text":"Diabetes Prevention","locale":"en-US"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/categories \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"title":[{"text":"Diabetes Prevention","locale":"en-US"}]}

Example response

{
  "id": "11e8902c9e2908c69718f13503066bee",
  "title": [
    {
      "locale": "en-US",
      "text": "Preventive Health"
    }
  ],
  "createdAt": "2018-12-15T12:23:12Z",
  "updatedAt": "2018-05-15T12:23:12Z"
}

POST /categories

Creates a category.

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created The category was created. Category
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Retrieve a List of Categories

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/wellness-learning-modules/v1/categories', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "11e8902c9e2908c69718f13503066bee",
      "title": [
        {
          "locale": "en-US",
          "text": "Preventive Health"
        }
      ],
      "createdAt": "2018-12-15T12:23:12Z",
      "updatedAt": "2018-05-15T12:23:12Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/categories?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/categories?offset=0&limit=20"
}

GET /categories

Retrieves a list of categories.

Parameters

Parameter In Type Required Default Description Accepted Values
offset query integer(int32) false N/A 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 updatedAt A comma-separated list of fields by which to sort. updatedAt, -updatedAt

Response Statuses

Status Meaning Description Schema
200 OK OK Categories
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Update a Category

Example Request:




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

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

result = HTTParty.patch('https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/categories/11e8902c9e2908c69718f13503066bee', headers: headers, body: {"title":[{"text":"Diabetes Prevention","locale":"en-US"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PATCH https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/categories/11e8902c9e2908c69718f13503066bee \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"title":[{"text":"Diabetes Prevention","locale":"en-US"}]}

PATCH /categories/{categoryId}

Updates a category.

Parameters

Parameter In Type Required Default Description Accepted Values
categoryId path string true N/A The ID of the category. -
body body patchCategories true N/A No description -

Response Statuses

Status Meaning Description Schema
204 No Content The category was updated. None
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound
409 Conflict Conflict Conflict

Delete a Category

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/wellness-learning-modules/v1/categories/11e8902c9e2908c69718f13503066bee', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/categories/11e8902c9e2908c69718f13503066bee \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /categories/{categoryId}

Deletes a single category.

Parameters

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

Response Statuses

Status Meaning Description Schema
204 No Content The category was deleted. None
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Retrieve a Single Category

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/wellness-learning-modules/v1/categories/11e8902c9e2908c69718f13503066bee', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us.healtheintent.com/wellness-learning-modules/v1/categories/11e8902c9e2908c69718f13503066bee \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "11e8902c9e2908c69718f13503066bee",
  "title": [
    {
      "locale": "en-US",
      "text": "Preventive Health"
    }
  ],
  "createdAt": "2018-12-15T12:23:12Z",
  "updatedAt": "2018-05-15T12:23:12Z"
}

GET /categories/{categoryId}

Retrieves a single category by ID.

Parameters

Parameter In Type Required Default Description Accepted Values
categoryId path string true N/A The ID of the category. -
locale query string false en-US Filters modules by locale. -

Response Statuses

Status Meaning Description Schema
200 OK OK Category
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Schema Definitions

postModules

Name Type Required Description Accepted Values
definitionId string true The definition ID of a learning module. -
imageUrl string false An image URL for a wellness learning module. -
title [object] true A list of learning module titles for different locales. -
» locale string true The locale. Locales must match the ISO 639-1 specification, which uses a two-letter code to identify the language and is separated by hyphens, for example, ‘en-US’. -
» text string true The title of the learning module for a given locale. -
description [object] false A list of learning module descriptions for a different locale. -
» locale string true The locale. Locales must match the ISO 639-1 specification, which uses a two-letter code to identify the language and is separated by hyphens, for example, ‘en-US’. -
» text string true The descriptions of the learning module for a given locale. -
keywords [object] false A list of learning module keywords for different locales. -
» locale string true The locale. Locales must match the ISO 639-1 specification, which uses a two-letter code to identify the language and is separated by hyphens, for example, ‘en-US’. -
» text string true The keywords of the learning module for a given locale. -
categories [string] false A list of category IDs for the learning module. -

Module

Name Type Required Description Accepted Values
id string true The ID of the module. -
definitionId string true The ID of the definition of a learning module. -
title [Locale] true The learning module title. -
description [Locale] false The learning module description. -
status string true The learning module status. DRAFT, RELEASED, RETIRED
thumbnailUrl string false The image URL of the learning module. -
keywords [Keyword] false The learning module keywords. -
categories [string] true The learning module categories. -
createdAt string(date-time) false The date and time when the module was created, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -
updatedAt string(date-time) false The date and time when module was last updated, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -

Locale

Name Type Required Description Accepted Values
locale string true The locale. -
text string true The text in the locale. -

Keyword

Name Type Required Description Accepted Values
locale string true The locale. -
text [string] true The text in the locale. -

Unauthorized

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 [string] false A list of additional error details. -

Forbidden

Name Type Required Description Accepted Values
code integer(int32) true The HTTP status code response that represents the error. -
message string true A human-readable description of the error. -
errorDetails [string] false A list of additional error details. -

BadRequest

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 [string] false A list of additional error details. -

TranslatedModules

Name Type Required Description Accepted Values
items [TranslatedModule] true No description -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

TranslatedModule

Name Type Required Description Accepted Values
id string true The ID of the module. -
title [string] true The learning module title. -
description [string] false The learning module description. -
status string true The learning module status. DRAFT, RELEASED, RETIRED
imageUrl string false The image URL of the learning module. -
keywords [string] false The learning module keywords. -
categories [string] true The learning module categories. -
createdAt string(date-time) false The date and time when the module was created, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -
updatedAt string(date-time) false The date and time when module was last updated, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -

NotFound

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 [string] false A list of additional error details. -

patchModules

Name Type Required Description Accepted Values
imageUrl string false An image URL for a wellness learning module. -
title [object] false A list of learning module titles for different locales. -
» locale string true The locale. Locales must match the ISO 639-1 specification, which uses a two-letter code to identify the language and is separated by hyphens, for example, ‘en-US’. -
» text string true The title of the learning module for a given locale. -
description [object] false A list of learning module descriptions for different locales. -
» locale string true The locale. Locales must match the ISO 639-1 specification, which uses a two-letter code to identify the language and is separated by hyphens, for example, ‘en-US’. -
» text string true The descriptions of the learning module for a given locale. -
keywords [object] false A list of learning module keywords for different locales. -
» locale string true The locale. Locales must match the ISO 639-1 specification, which uses a two-letter code to identify the language and is separated by hyphens, for example, ‘en-US’. -
» text string true The keywords of the learning module for a given locale. -
categories [string] false A list of category IDs for the learning module. -

Conflict

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 [string] false A list of additional error details. -

postModulesModuleidTasks

Name Type Required Description Accepted Values
sourceReferenceId string true The source ID in an external system, for example, the education library. -
sourceReferenceKind string true The source type in an external system, for example, the education library. -
order string true The task order of the learning module. -

Task

Name Type Required Description Accepted Values
id string true The ID of the task. -
moduleReference string true The ID of the learning module. -
title [Locale] true The task title. -
sourceReference string false The ID of the task in an external source system. -
order string true The order of the tasks in the learning module. -
createdAt string(date-time) false The date and time when the task was created, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -
updatedAt string(date-time) false The date and time when the task was last updated, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -

Tasks

Name Type Required Description Accepted Values
items [Task] true No description -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

patchModulesModuleidTasks

Name Type Required Description Accepted Values
sourceSystemId string false The source ID in an external system, for example, the education library. -
sourceSystemKind string false The source type in an external system, for example, the education library. -
order string false The task order of the learning module. -

postEnrollments

Name Type Required Description Accepted Values
moduleReferenceId string true The learning module ID. The maximum length is 36 characters. -
consumerReferenceId string true The HealtheIntent consumer ID. See Consumer API for more information. -

Enrollment

Name Type Required Description Accepted Values
id string true The ID of the enrollment. -
consumerReference string true The ID of the consumer. -
moduleReference string true The ID of the learning module. -
status string true The enrollment status. -
createdAt string(date-time) false The date and time when the enrollment was created, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -
updatedAt string(date-time) false The date and time when enrollment was last updated, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -

Enrollments

Name Type Required Description Accepted Values
items [Enrollment] true No description -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

EnrollmentTasks

Name Type Required Description Accepted Values
items [EnrollmentTask] true No description -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

EnrollmentTask

Name Type Required Description Accepted Values
id string true The ID of the task. -
moduleTaskReference string true The ID of the enrolled task. -
status string true The enrolled task status of the learning module. -
order string true The order of tasks in the learning module. -
createdAt string(date-time) false The date and time when the task was created, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -
updatedAt string(date-time) false The date and time when the task was last updated, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -

patchEnrollmentsEnrollmentidTasks

Name Type Required Description Accepted Values
status string true The status of the learning module task. -

postCategories

Name Type Required Description Accepted Values
title [object] true The title of the category in a different locale. -
» locale string true The locale. Locales must match the ISO 639-1 specification, which uses a two-letter code to identify the language and is separated by hyphens, for example, ‘en-US’. -
» text string true The title of the category in the locale. -

Category

Name Type Required Description Accepted Values
id string true The ID of the category. -
title [Locale] true The category title in a different locale. -
createdAt string(date-time) false The date and time when the module was created, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -
updatedAt string(date-time) false The date and time when module was last updated, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -

Categories

Name Type Required Description Accepted Values
items [Category] true No description -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

patchCategories

Name Type Required Description Accepted Values
title [object] false The title of the category in a different locale. -
» locale string true The locale. Locales must match the ISO 639-1 specification, which uses a two-letter code to identify the language and is separated by hyphens, for example, ‘en-US’. -
» text string true The title of the category in the locale. -