---
title: clsChapter
summary: API reference for clsChapter.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Group
reference_type: package
---

# clsChapter

Represents one effective-dated group chapter and its chapter-specific contact lookup.

## Purpose
- Represents one effective-dated group chapter and its chapter-specific contact lookup.

## Context
- Namespace: `SAIF.Business.Policy.Group`
- Assembly/package: `SAIF.Business.Policy.Group`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| GroupAssociationCode | `Public ReadOnly Property GroupAssociationCode() As String` | Owning group association code used to locate related rows. |
| Code | `Public ReadOnly Property Code() As String` | Business code that identifies the row within its owning table.* |
| CodeDescription | `Public ReadOnly Property CodeDescription() As String` | Display description for the chapter code.* |
| EffectiveDate | `Public ReadOnly Property EffectiveDate() As Date` | Effective date that starts the row's validity period. |
| ExpirationDate | `Public ReadOnly Property ExpirationDate() As Date` | Optional date that ends the row's validity period.* |
| PmsChapterCode | `Public ReadOnly Property PmsChapterCode() As String` | External PMS chapter identifier.* |
| CreateDate | `Public ReadOnly Property CreateDate() As Date` | Audit timestamp recorded when the row is created. |
| CreateUser | `Public ReadOnly Property CreateUser() As String` | Audit user recorded when the row is created. |
| UpdateDate | `Public ReadOnly Property UpdateDate() As Date` | Audit timestamp recorded when the row is updated. |
| UpdateUser | `Public ReadOnly Property UpdateUser() As String` | Audit user recorded when the row is updated. |
| EnrollmentForm | `Public ReadOnly Property EnrollmentForm() As String` | Enrollment-form code used for the chapter.* |
| PhoneNumber | `Public ReadOnly Property PhoneNumber() As String` | Primary phone number for the record. |
| Contact | `Public ReadOnly Property Contact() As clsContact` | Lazy-loaded contact object for the chapter. |
| IsExpirationDateNull | `Public Function IsExpirationDateNull() As Boolean` | Reports whether the chapter expiration date is currently unset or database-null.* |
| IsPmsChapterCodeNull | `Public Function IsPmsChapterCodeNull() As Boolean` | Reports whether the external PMS chapter code is currently unset or database-null.* |
| IsPhoneNumberNull | `Public Function IsPhoneNumberNull() As Boolean` | Reports whether the chapter phone number is currently unset or database-null.* |
| Equals | `Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean` | Compares another value with this chapter for business-object equality.* |
| Equals | `Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean` | Compares another value with this chapter for business-object equality.* |
| Equals | `Public Overloads Function Equals(ByVal inObject As clsChapter) As Boolean` | Compares another value with this chapter for business-object equality.* |
| GetHashCode | `Public Overrides Function GetHashCode() As Integer` | Returns a hash code aligned with the chapter's business identity for collection lookups.* |
| ToString | `Public Overrides Function ToString() As String` | Returns a textual representation of the chapter for diagnostics or display.* |
| NewChapter | `Public Shared Function NewChapter(ByVal inDataportal As IDataPortalInfo, ByVal inGroupAssociationCode As String, ByVal inCode As String) As clsChapter` | Creates a new in-memory chapter seeded with the supplied group code and chapter code ([BR-007](../../../../../business-rules.md#br-007-new-chapter-seeds-key-values-and-starts-clean)). |
| GetChapter | `Public Shared Function GetChapter(ByVal inDataportal As IDataPortalInfo, ByVal inGroupAssociationCode As String, ByVal inCode As String, ByVal inSelectDate As Date) As clsChapter` | Loads the effective-dated chapter row for the supplied group, chapter code, and select date ([BR-008](../../../../../business-rules.md#br-008-chapter-retrieval-is-as-of-date-effective)). |
| Public Const RETRIEVE_CHAPTER As String = _ | `Public Const RETRIEVE_CHAPTER As String = _` | Publishes the inline SQL text used to retrieve one effective-dated chapter row.* |
| GroupAssociationCode | `Public Property GroupAssociationCode() As String` | Owning group association code used to locate related rows. |
| Code | `Public Property Code() As String` | Business code that identifies the row within its owning table.* |
| SelectDate | `Public Property SelectDate() As Date` | As-of date used to choose the effective chapter row. |
| New | `Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo)` | Creates a new BOF-backed chapter instance, optionally seeded with its key values for create or retrieve flows.* |
| New | `Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo, ByVal inGroupAssociationCode As String, ByVal inCode As String)` | Creates a new BOF-backed chapter instance, optionally seeded with its key values for create or retrieve flows.* |
| New | `Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo, ByVal inGroupAssociationCode As String, ByVal inCode As String, ByVal inSelectDate As Date)` | Creates a new BOF-backed chapter instance, optionally seeded with its key values for create or retrieve flows.* |

## Inherited public members

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| Rules | `Property Rules As clsRulesManager` | Inherited rules manager that executes registered BOF validation handlers.† | `SAIF.Framework.Core — clsBusinessBase` |
| BeginEdit | `Sub BeginEdit()` | Starts the inherited BOF edit session for the object graph.† | `SAIF.Framework.Core — clsBusinessBase` |
| CancelEdit | `Sub CancelEdit()` | Rolls back the inherited BOF edit session for the object graph.† | `SAIF.Framework.Core — clsBusinessBase` |
| ApplyEdit | `Sub ApplyEdit()` | Commits the inherited BOF edit session for the object graph.† | `SAIF.Framework.Core — clsBusinessBase` |
| SetPreviousLink | `Sub SetPreviousLink(item As ILinkItem)` | Maintains inherited linked-list navigation between BOF objects.† | `SAIF.Framework.Core — clsBusinessBase` |
| SetNextLink | `Sub SetNextLink(item As ILinkItem)` | Maintains inherited linked-list navigation between BOF objects.† | `SAIF.Framework.Core — clsBusinessBase` |
| InsertLinkAfter | `Sub InsertLinkAfter(item As ILinkItem)` | Inserts an inherited link after the current BOF object.† | `SAIF.Framework.Core — clsBusinessBase` |
| InsertLinkBefore | `Sub InsertLinkBefore(item As ILinkItem)` | Inserts an inherited link before the current BOF object.† | `SAIF.Framework.Core — clsBusinessBase` |
| RemoveLinks | `Sub RemoveLinks()` | Clears inherited object links in the BOF graph.† | `SAIF.Framework.Core — clsBusinessBase` |
| Error | `ReadOnly Property Error As String` | Surfaces inherited aggregate broken-rule text through `IDataErrorInfo`.† | `SAIF.Framework.Core — clsBusinessBase` |
| Item | `ReadOnly Property Item(columnName As String) As String` | Surfaces inherited per-member broken-rule text through `IDataErrorInfo`.† | `SAIF.Framework.Core — clsBusinessBase` |
| DumpState | `Public Sub DumpState()` | Emits inherited diagnostic state for the BOF object.† | `SAIF.Framework.Core — clsBusinessBase` |
| AllowCache | `Public Property AllowCache() As Boolean` | Controls whether the inherited BOF object may be cached.† | `SAIF.Framework.Core — clsBusinessBase` |

## Behavioral notes
- Retrieval is date-effective through `SelectDate` ([BR-008](../../../../../business-rules.md#br-008-chapter-retrieval-is-as-of-date-effective)).
- Compiled source contains no live chapter insert, update, or delete SQL.**

## Constraints and usage notes
- Most create, retrieve, and save flows rely on BOF criteria and data-portal behavior inherited from the framework base layer.†

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.
> Statements marked with `†` were retrieved from dependency library documentation via the Legends CLI RAG service.

## Sources
- `Business\\SAIF.Business.Policy.Group\\clsChapter.vb`
