Skip to content

Person Name Form ​

Field reference for person name records. A person can have multiple names (legal, preferred, maiden, etc.).

Fields ​

Backed by core.person_names.

FieldColumnTypeRequiredNotes
Personperson_idUUID (FK)YesParent person record
Name Typename_type_idSelect (Lookup)YesNAME_TYPE
First Namefirst_nameText(100)NoNullable in the database
Middle Namemiddle_nameText(100)No
Last Namelast_nameText(100)NoNullable in the database
SuffixsuffixText(20)NoJr., Sr., III, PhD
Is Currentis_currentBooleanYesThe currency flag
Is Searchableis_searchableBooleanYesWhether people search matches this name
Effective Dateeffective_dateDateNo
End Dateend_dateDateNo
SourcesourceText(8)Yes (system)SIS (entered on a screen, the default) or ODS (written by the Colleague import). Not editable. Migration 298

There is no prefix column and no is_primary — the current name is the one with is_current = true.

Contact records are end-dated, never deleted

is_current is the currency flag — there is no is_active column on any contact record. Removing a value sets is_current = false and stamps end_date; the row stays so the history survives. This holds through the admin API too. Contact values are also not unique: some 50,000 people share a phone number and 3,700 share an email, so key on the row id plus person_id, never on the value itself.

Name Type Values ​

CodeDescriptionNotes
LEGAL_PRIMARYLegal Name (Primary)The record name: official documents, transcripts
LEGAL_SECONDARYLegal Name (Secondary)
PREFERREDPreferred NameThe name shown on screens and rosters in place of the legal name
MAIDENMaiden NamePrevious name; imported from Colleague's name history
FORMERFormer NamePrevious name; imported from Colleague's name history, and kept by an approved Change of Name request

Display Name ​

A person's display name is decided in one place, core.person_display_name (migration 298): the current PREFERRED name, else the current LEGAL_PRIMARY name. An instructor's display name puts Colleague's faculty listing name first -- see Teacher.

Because a person can now have a current PREFERRED name beside the current LEGAL_PRIMARY one, "the current name" is no longer a single row: anything that reads names must pick a type.

Where names come from ​

NameWritten by
LEGAL_PRIMARYThe nightly Colleague import (rewritten from Colleague each run while Colleague holds names), or a Change of Name request on an instance that owns names
MAIDEN, FORMERThe import's name-history step; a Change of Name request adds the old legal name as FORMER
PREFERREDThe preferred_names import step from Colleague's chosen name (source = 'ODS'), or a screen (source = 'SIS'). The import updates and deletes only its own rows; a PREFERRED name typed in the SIS is never touched

Validation Rules ​

  1. Person must exist before adding names
  2. End Date must be on or after Effective Date
  3. A previous name (MAIDEN, FORMER) that is already on file is not recorded twice

Student Information System Documentation