How To Set Up A Program: Detailed Instructions

This article explains how to configure projects for your agency where clients can be referred, enrolled, and receive services.


Programs are distinct units of an agency where clients can be referred, enrolled, and receive program-specific services. You can set up programs with their own screens, services, and eligibility requirements.

Note: We recommend not adding programs within the System Agency since that agency is primarily used by System Administrators for administrative purposes.

Programs in Clarity Human Services correspond with projects in the HUD HMIS Data Standards, and Project Descriptor Data Elements are recorded within a program's setup. 

Note: Only users with Manage Agency enabled in their access role may create and edit Programs.

Program creation requires the configuration of several additional system components:

  • Screens: data collection for programs occurs through screens. Screens are assigned to Program Templates, which are assigned to programs. Assessment screens can be assigned directly to programs as Program Assessments (described below). Only system administrators can configure screens. Visit the Screens section of our System Administration page for guidance on creating and editing screens. 
  • Program Template: Screens are assigned to Program Templates, and Program Templates are assigned to programs. Every program must have a Program Template. These templates define the screens assigned to different data collection stages and other elements of the program. Only system administrators can configure Program Templates. Refer to Program Templates for guidance on creating and editing templates. 
  • Services: to record a service at the program level, you will first need to create and assign that service to the program. For more information on creating and editing services, see Introduction to Services

Create or Modify a Program

To create or modify a program, ensure that you are in the correct agency. From the Launchpad, navigate to MANAGE > PROGRAMS

In addition to the program names, the PROGRAMS tab displays the Project Type, the Program Template currently assigned to the program, the number of services linked to the program, and programs with a Status of "Inactive."

To edit an existing program, click the Edit icon to the left of the program name to open the MODIFY PROGRAM page. To create a new program, click ADD NEW PROGRAM. 

Configure the Program

Enter a Program Name, Alias (if applicable), and Program Description (if applicable). 

Note:  Program Name cannot contain the < symbol (e.g., "<Test Program").

Choose a Program Template. See Program Templates for more information.

Once you select the Program Template, the configuration options associated with that program will appear on the screen.

Several configuration options are available when creating a program, some of which are associated with the HMIS Data Standards. The options available will depend on whether a custom program screen is associated with the selected Program Template. The options listed here are included in the system's "HUD HMIS Project Setup" program screen, which contains the necessary fields (HMIS Project Descriptor Data Elements) to comply with the HUD HMIS Data Standards.

Operating Start and End Date: the date the program started and ended (if applicable) (HMIS Data Elements 2.02). Before you can add an Operating End Date to the system, all clients must be exited on or before the Operating End Date.

Status: an "Active" program is available to users. An "Inactive" program is unavailable to users, but its information is still available in the system.

Funding Source: select an initial funding source from the picklist. If none of the existing funding sources in the picklist apply to this program, navigate to the bottom of the picklist and select Create New Funding Source. The CREATE A NEW FUNDING SOURCE pop-up appears. After completing the fields, click ADD. The system creates a new funding source and applies it to the program. 

Screen Shot 2022-01-14 at 5.59.55 AM

Cross Agency Services: see Configuring Cross Agency Services.

Program Type: the type of program (HMIS Data Element 2.02).

Identify RRH subtype: appears when "PH-Rapid Rehousing" is selected for Program Type (HMIS Data Element 2.02).

Program Applicability: used for reporting purposes and should match the Program Type

Continuum Project: this indicates whether the program is in the Continuum of Care (HMIS Data Element 2.02).

Use Inventory Calculated Records: toggle on to use Clarity's Inventory module; toggle off to collect inventory directly through the program. Refer to our Options on Collecting Inventory article for additional information.

Manage Units/Beds: Enables display of the Units/Beds tab on the Program Enrollment screen.

Site Primary Location: the location of the program. Refer to Program Setup: Sites for information on adding additional sites or selecting a different Primary location. 

Target Population: the program's target population (HMIS Data Elements 2.02).

Housing Type: the type of location where housing is provided (if applicable) (HMIS Data Element 2.02).

Geocode: The geocode for the primary location. Geocodes are updated annually and available on the HUD Exchange. Mobile programs (e.g., street outreach) should record the geocode based on the location of their administrative office. Scattered-site housing programs should record the geocode where most beds are located or where most beds are located as of the last inventory update (HMIS Data Elements 2.03).

HMIS Participation Status, Participation Start Date, and Participation End Date: refer to our "HMIS Participation Status" article.

Project is a Coordinated Entry Access Point, Provided by CE Project, Project Receives CE Referrals, CE Participation Status Start Date, and CE Participation Status End Date: refer to our "CE Participation Status" article.

Continuum of Care: select the appropriate Continuum(s) of Care. System Administrators maintain Continuum of Care information in System Variables (HMIS Data Elements 2.03).

Public Listing: if "Public," staff members at other agencies can refer clients to the program. If "Agency," only the agency's staff members can refer clients to the program. If "None," no one can refer clients to the program.  

Coordinated Entry Events: This toggle enables the ability to manage Coordinated Entry Event functionality.


For programs that use custom program setup screens (any program setup screen that is not the "HUD HMIS Project Setup" system screen):

In order to manage the program's CE Events functionality, such as the ability to adjust the settings or disable/enable CE Events functionality, add the Coordinated Entry Events toggle to the custom program setup screen.

To add the Coordinated Entry Events toggle to a custom program setup screen, within the program setup screen editor, add the "Coordinated Entry Events" field (field data name: enable_ce_events).

This toggle must be enabled for programs that should record Coordinated Entry Events and disabled for programs that should not collect Coordinated Entry Events.

Note: The system records CE Events within the program that initiated a referral, not the program that may receive the referral.

Goals: enabling this setting will allow you to use the Default Goals section in the Program Resources sidebar to add goals for the program. Refer to Program Goals for details.

Auto Service Placement: toggle on this setting to automatically provide specified services to the client upon enrollment. For more information, see Program Auto Service Placements

Eligibility: enables or disables the ability to add criteria for program enrollment using the Program Eligibility section in the Program Resources sidebar. Refer to Program Setup: Eligibility for details. Our Inventory and Eligibility article provides additional information on the Housing Inventory functionality.

Link from History: This allows the user to link services listed in the client record HISTORY tab to an enrollment for the program. Refer to Linking Service Items to Program Enrollments for details.

Program Assessments: This setting enables the ability to conduct assessments within a program enrollment. Select Program Assessments in the Program Resources sidebar and click ADD ASSESSMENT to assign an assessment to the program. The ADD ASSESSMENT pop-up will display a list of assessments that have been enabled, regardless of whether an agency otherwise has access to create that assessment. After making a selection, click ADD.

Agency managers may add an assessment to the program, but only system administrators may configure the Assessment Screen.  

Program Notes: This allows the user to document client notes within the program enrollment and share them according to Sharing Settings and Access Roles.

Program Files: This allows the user to upload, view, and manage files within the program enrollment.

Program Charts: This function provides a visual tracking system of specified variables over time. If this setting is enabled, the Chart Fields section will appear after you save the program. Refer to Program Chart Fields for details.

Aging into Adulthood Notification: This setting allows System Administrators and Agency Managers to select how soon before a client's 18th birthday the user will see a banner, email, and inbox notification that a client is about to age into adulthood. To make this selection, set the Aging into Adulthood toggle to ON, then select the timeframe from the "Threshold of" picklist.

Note: The "Aging into Adulthood" messaging will not generate if the 'income_cash_is' field or the 'benefits_noncash' field is hidden due to display constraints.

 Auto Exit Due to Inactivity: provides the ability to automatically record a program exit for an enrollment when no services or program-level assessments have been recorded within the client record during a specified timeframe. See Program Setup: Auto Exit for more information on the Auto Exit settings. 

Cascade Enrollment Data: allows client data entered in the program's enrollment screen to pre-fill other screens in the client record, as long as the enrollment was created within a designated number of days from the current date. After you toggle on this setting, a Threshold of picklist will appear for you to select the number of days. 

  • Data only cascades between matching fields.
  • In cases where multiple assessments or program enrollments exist, data will cascade from the most recent.
Refer to the "Cascading from Enrollment to Enrollment" section of our Data Cascading article for more information.

Cascade Assessment Data: allows client data entered in the program's assessment screen to pre-fill other screens in the client record, as long as the enrollment was created within a designated number of days from the current date. After you toggle on this setting, a "Threshold of" picklist will appear for you to select the number of days. 

  • To cascade data from the assessment screen, you should add the data to the Cascade Assessment section of the program.
  • Enabling Cascading Assessment Data will result in data cascading between program enrollments and assessments, based on whichever was created first. If a user creates an assessment first, data from the assessment will cascade into the program enrollment form the next time a new program enrollment is created. If the program enrollment is created first, data will cascade into the assessment the next time a new assessment screen is opened.

In cases where both enrollment data and assessment data are enabled to cascade, and both program and assessment data are eligible to cascade, data will cascade as follows:

  • Program enrollment is first cascaded.
  • If there is an assessment AFTER the cascaded enrollment that is being cascaded, that assessment will be reviewed for more recent data and will update those specific fields.

For more information, refer to the "Cascading from Assessment to Enrollment" and "Cascading from Enrollment to Assessment" sections of our Data Cascading article.

Close Services Upon Exit: the system will add an end date to services associated with an enrollment at exit. 

Enrollment Age Warning: This feature aims to reduce the number of individual enrollments for clients under a certain age. When this setting is enabled, a warning will display when a user attempts to save an individual enrollment for a client whose age is lower than the age threshold.  

Enable All Client Forms: For details on enabling forms, see Enabling Forms for Agencies and Programs

After configuring the options associated with the program, click ADD RECORD to save the program. (The system underlines any required fields that you did not complete in red; you will only be able to save the program if you complete those fields.)

After you save the program, the system displays links at the bottom of the page that are visible only to users with the default System Administrator Access Role. These links provide a quick way to open the Enrollment Screen, Status Screen, Exit Screen, Follow-up Screen, and Program Setup Screen for the current Program Template.

Program Resources Sidebar

Once you save the program, the Program Resources sidebar appears on the right side of the screen to allow you to configure additional options for the program.

Responsible Staff Members

The system will send notifications to staff members assigned as the program's Responsible Staff Members.

To assign a staff member as a Responsible Staff Member:

  • Select Responsible Staff Members from the Program Resources sidebar.
  • Click ADD STAFF.
  • Type the staff member's name, username, or email in the search area. A list of applicable staff members will appear.

  • Choose the appropriate staff member.
  • Click ADD

HMIS Participation Status

Refer to our "HMIS Participation Status" article for details.

CE Participation Status

Refer to our "CE Participation Status" article for details.


Refer to our Program Setup: Eligibility article for details on setting up Eligibility requirements for a program.

Funding Sources

To add existing funding sources to the program:

  • Select Funding Sources from the Program Resources sidebar.

  • Toggle on the desired funding source in the list that is displayed.
  • Click ADD

Bed & Unit Inventory Information

For residential programs, if the Use Inventory Calculated Records option is not turned on, you may add bed and unit inventory directly through the program:

  • Select Bed & Unit Inventory Information from the Program Resources sidebar.
  • Complete the following fields:
    • Inventory Start Date: the date the inventory first became available.
    • Inventory End Date: the date the availability ended. It may be left null.
    • Continuum of Care: the CoC where the beds are located.
    • Household Type: the household type this bed inventory will serve
    • Bed Type: facility-based, voucher-based, other.
    • Availability: year-round, seasonal, etc. 
    • Youth-Veterans: number of beds dedicated to youth-veterans.
    • Any Other Veteran: number of beds dedicated to any other veteran.
    • Any Other Youth: number of beds dedicated to any other youth.
    • Non-Dedicated Beds: number of non-dedicated beds.
    • Total Bed Inventory: calculated number based on dedicated and non-dedicated beds.
    • Total Unit Inventory: number of rooms/apartments/units where the beds are located.

You may add multiple bed inventories as long as the inventories with the same CoC, Household Type, and Availability do not have overlapping dates.

Note: Persistent inventory and manually entered "Bed and Unit Inventory" within a program are considered separate in the system and can therefore overlap.

If you change the project type for a program that has Bed & Unit Inventory, you will see a pop-up notification that the current date will be applied as the end date for all active inventory records associated with that Program. Recommended practice is to create a new program if the project type changes. However, this update will mitigate inventory issues when a project type is modified for an existing program.

To better understand the connection between program/bed inventory setup and HMIS Federal reporting, refer to HMIS Bed Inventories, Occupancy, and Reporting.

If Use Inventory Calculated Records option is turned on, you will see a HOUSING INVENTORY SITES section with expandable subsections that display details about the number of Buildings and Units that are connected to each Site. 

  • For each Site, the system displays the following totals:
    • Total number of Buildings associated with the program out of the total number of Buildings connected to the Site.
    • Total number of Units associated with the program out of the total number of Units connected to the Site.
  • Inactive sites will be listed in a separate INACTIVE HOUSING INVENTORY SITES section.
  • Clicking on a Site displays a list of all the Buildings with either a Unit or a Unit Configuration Type connected to the program.
  • For each Building, the total number of Units associated with the program out of the total number of Units connected to the Building will be displayed, along with the Building's status (Active or Inactive).
  • Only one Site is expandable at a time.
  • Clicking on a Building displays a list of Units in that Building, along with each Unit's status (Active or Inactive) and Unit Configuration Type.

Community Queues

Adding a Queue(s) to a program allows switching between added Queues within SEARCH > REFERRALS > Availability.

To add a Community Queue to a program:

  • Select Community Queues in the Program Resources sidebar.


Note: If a program is connected to all available Queues, the ADD COMMUNITY QUEUE option will no longer be visible.

To delete a Queue from a program, click on the trash can icon next to the Queue you want to delete.

For more information about the Availability tab, please read Referrals: The Availability Tab.

Documentation Requirements

Refer to our Program Setup: Documentation Requirements article for details on requiring files for the program.

Coordinated Entry Events

Refer to our Program Setup: Coordinated Entry Events article for details on configuring Coordinated Entry Events for the program.

Restoring Deleted Programs

You can restore deleted programs using Recover deleted data.


Toggle on the program (s) you would like to restore and click RESTORE.

Audit Log

Users with the appropriate access can click the Audit Log button at the bottom of the MODIFY PROGRAM page to track changes made to the program setup.

The Audit Log will not track the times when a user clicks SAVE CHANGES without actually changing anything on the screen. Also, last_updated and ref_user_updated will not be updated, and the green "Changes successfully saved" banner will not appear.

Updated 8/25/2023