# Purpose of Programs and How to Create Them

### Creating a New Program

* Open the **Records** toolkit and then click on the **Programs** tile under the **Programs and Periods** heading.
* Click on the **Add New Program** link at the top of the page.
* Add a **Code** for the Program. (**Required**)
* Add a **Name** for the Program (**Required**)
* Add a **Description** for the Program (**Optional**)
* Click the **Save** button<br>

### Add Program Achievement

An Achievement can be granted to a learner once they have completed a Program.

On the **Program Outline** page, add the **Achievement** for the program by selecting the achievement in the **Achievement** field in the **Recognition** card. If the Achievement you want to add is not on the list, click on the plus icon (<i class="fa-plus-square">:plus-square:</i>) next to the **Achievement** field.

* Add the **Achievement Name**
* Add **Achievement Type**
* Select **Certificate Layout** if you want to grant learners a certificate at the end of the Program.
* Click on the **Add Achievement** button.<br>

### Add Tasks to the Progam

On the **Program Outline** page, in the **Tasks** card, administrators can add the different tasks that will form part of the Program by clicking on the **Edit Tasks** button. The administrator can add each task by selecting the checkbox next to the task.

Tasks that can be added to a Program:

* **Assessments**
  * Only **Published Assessment Forms** in **Assessment Banks** can be selected.
    * When selecting the checkbox next to the **Assessment Bank**, a list of all the **Published Assessment Forms** in that bank will be available for selection by an administrator. Select the checkbox next to each **Assessment Form** that needs to be included in the Program.
    * Multiple Assessment Forms can be added to one Program.
* **Standalone Achievements** - *Please Note: Adding a Standalone Achievement will not include its related activity.*
  * If the Achievement you want to add to the Program is not listed, the achievement still need to be created. (See [**Create new Achievement**](https://github.com/InSite/docs/blob/master/ui/help/portal/records/achievements/define-achievement/README.md))
* **Courses**
  * Only **Courses** with a Gradebook attached will be available to select.
* **Logbooks**
* **Surveys**

Once all tasks has been selected, click the **Save** button.<br>

### Add Summary for the Program

In the **Content** tab on the the **Program Outline** page, administrators can add a **Summary** for the program that will be displayed on the Portal.<br>

### Adding Learners to a Program

Learners need to be enrolled in a Program before they will be able to see any of the associated program Tasks.

* On the **Program Outline** page, under the **Enrollments** tab, click on the **Add Learners** button.
* Search for the **Learner** or **Group** that you want to enroll in the Program.
* Once selected, click on the **Add** button.

The **Learner** or **Group** that was selected will be enrolled into the Program and can access the Program on the Portal.<br>

### Program Achievement

Under the **Achievements** tab, administrators will be able to see all learners that completed the Program and that was granted the **Program Achievement**.<br>

### Publish a Program

* **Program Publication**
  * **Adding Program Icon or Image**
    * After the Progam is created, you need to **Publish** the Program to the Portal for users to access. Icons ([**Font Awesome Icon**](https://fontawesome.com/v5/search)) or Images can be added for the tile that will appear on the portal.
    * **Program Icon:** Add the [**Font Awesome Icon**](https://fontawesome.com/v5/search) HTML code in the **Program Icon** field.
    * **Program Image:** Click on the magnifying glass (<i class="fa-search">:search:</i>) icon next to the **Upload New Program Image** field and select the image you want to use for the portal tile. ![programs.png](https://e02.insite.com/files/sites/e02/create-program/programs.png)
  * **Publish Program**
    * In the **Web Portal** field, select your Portal URL.
    * Select the **Web Folder** where the Program need to be published to.
    * Click on the plus icon (<i class="fa-plus-circle">:plus-circle:</i>) next to the **Web Page** field to create the page URL.
    * The Program is now **Published** to the portal.
    * Click the **Save** button.<br>
* **Task Ordering** Administrators can determine in what order the selected Progam Tasks appear on the portal to learners. Under the **Publication** tab, click on the **Task Ordering** tab. Review the order of the tasks in the Program. If you need to change the order, click on the **Reorder** button, then drag and drop each task in the required order. Click the **Save** button once completed.<br>

### Program Notifications

Administrators can setup **Progress Stalled** and **Progress Completed** notifications.

* **Progress Stalled** Stalled notifications can be setup to send reminders to a **Learners** and **Administrators** to complete the Program they started. The following notifications can be created:
  * **Send to Learner:** The stalled notification is sent to the **Learner** once they started the Program, but no progress has been made after a set amount of days.
  * **Send to Administrator:** The stalled notification is sent to an **Administrator** to advise that a learner started the Program, but no progress has been recorded after a set amount of days.
  * **Days Without Task Completion:** This is the number of days a learner can go without completing a task before the program is considered stalled.
  * **Reminder Limit:** This is the maximum number of reminder notifications to send to a learner who is stalled.<br>
* **Progress Completed** Once a learner has completed a Program, notifications can be sent to the **Learner** and **Administrator** to advise that they have completed the Program. The following notifications can be created:
  * **Send to Learner:** Add the notification you want to send to the **Learner** once they have completed the Program.
  * **Send to Administrator:** Add a notification if you want to let an **Administrator** know when a **Learner** has completed the Program.
  * **Send On Completion of this Task:** An administrator can select the task in the Progam that is considered the last task that needs to be completed to consider the Program as Done.

Once the notifications has been added, click the **Save** button.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.shiftiq.com/help/records/programs-and-periods/create-program.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
