In Apricot, Program Assignment refers to granting a set of users permission to access certain records. You do this by creating a program, assigning users to that program, and then ensuring that program is assigned to all new records so that group of users can access them.
Program Enrollment refers to tracking what programs your clients are taking part in through your organization. As a Best Practice for Form Structure, we recommend recording this data on a Tier 2 form so you can report on all programs your clients have enrolled in and out of over time.
In the example below, Dolly is enrolling into the Training program on this Tier 2 Program Enrollment record, but the record itself is assigned to the "All Staff" Program so that group of users can access this record:
If we take a look at Dolly's document folder we, can see she has two Program Enrollment records. One to indicate that she was in the Rescue program during the month of August in 2020, and another to indicate she enrolled into the Training program the following September:
So you may ask, "Does my site need to have a matching set of permissions (a "Program" in Apricot) for every program we offer in our organization?"
As you can see from the above example, the answer is "No!"
This need will vary from organization to organization, but if all of your users need to access all of your records, you would only need to set up one Program in your site. This will greatly simplify your user permissions!
However, should your organization have specific groups of staff members who should only be able to access records based on what programs your clients are enrolled in, then records in your site might look more like this:
With Dolly enrolled in the Training program, you would also assign her records to the Dog Training program so that only staff in the Dog Training program have permission to view her records.
So the programs you offer through your organization, which can be chosen from the Program dropdown field on the Program Enrollment form here:
Might indeed match up with user permissions or "Programs" in Apricot:
To summarize, your user permissions or Apricot "Programs" might not need to reflect every program your organization offers. If they do, it is because you have staff members who work in separate programs, and they should only have access to the records of clients enrolled in their program.