Skip to content

McoPlanNodeBuilder

Builds a McoPlanNode describing a claim's Managed Care Organization (MCO) plan by reading Claim.GetMcoEligibility() for the eligibility effective date and Claim.Mco() for the plan and its provider location, assembling a ContactItem with business/fax/toll-free phone numbers and a resolved address via IProviderInformationService.GetProviderAddress.

Purpose

  • Records the claim's MCO eligibility effective date from the claim's MCO eligibility update history.
  • Builds the MCO plan's contact record (business name, phone/fax/toll-free numbers, resolved address) from the plan's provider location when present.
  • Sets the plan's status description from the claim's MCO status reason code.

Context

  • Namespace: SAIF.Services.Claims.Information.Api
  • Assembly/package: SAIF.Services (packaged inside the SAIF.SAIFCode.Core NuGet package)

Public members

Member Signature Purpose
Node public McoPlanNode Node { get; } Exposes the node instance being populated by this builder.
McoPlanNodeBuilder(claim, node) public McoPlanNodeBuilder(Claim claim, McoPlanNode node) Stores the claim and target node for later population.
AddEligibility() public McoPlanNodeBuilder AddEligibility() Sets EffectiveDate to the update date of the claim's MCO eligibility record, when one exists.
AddMco(providerInformationService) public McoPlanNodeBuilder AddMco(IProviderInformationService providerInformationService) Sets the plan Id and builds a Contact (name, phone numbers by type, resolved address) from the MCO plan's provider location when the plan exists, and sets Status from the claim's MCO status reason description.

Behavioral notes

  • Phone numbers are added conditionally and independently for business, fax, and toll-free numbers, each only when the corresponding source field is non-blank.
  • The contact's FormattedName is initially set to the plan's short description, then overwritten with the provider's business name if a provider location is present.

Constraints and usage notes

  • AddMco no-ops on the Contact/Id fields entirely when the claim's MCO or MCO plan is null, though Status may still be set independently from the MCO status reason.

Sources

  • Services/SAIF.Services/Claims/Information/Api/McoPlanNodeBuilder.cs