Skip to main content

When to use these helpers

These helpers expect the project relation structure used by the relevant KayanOS project configuration. They are not meaningful for an unrelated entity or an ordinary form.

Calling style

Call a helper as pmProjectProgressPercent($inverseRelations). Not every helper is available everywhere: validation, form, and document-template helpers have distinct context contracts. Editor suggestions are not proof that a helper is supported at runtime.

Complete function reference

pmProjectCharterStatus

Returns the latest project-charter status, or missing when no charter can be found. Signature: pmProjectCharterStatus(inverseRelations) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectCharterStatus(...).

pmProjectClosureValidation

Returns true unless closing the project violates outstanding deliverable, risk, issue, budget, resource, or lessons-learned requirements. Signature: pmProjectClosureValidation(status, inverseRelations) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectClosureValidation(...).

pmProjectCostHealth

Returns cost health using direct values and configured budget/expenditure relations. Signature: pmProjectCostHealth(plannedBudget, actualCost, inverseRelations) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectCostHealth(...).

pmProjectDimensionHealth

Combines a manual dimension override with indicator health for that dimension. Signature: pmProjectDimensionHealth(manualOverride, inverseRelations, dimension) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectDimensionHealth(...).

pmProjectGovernanceRequired

Returns whether the selected project classification requires governance. Signature: pmProjectGovernanceRequired(framework, approach, projectType, clientType) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectGovernanceRequired(...).

pmProjectHealthWithIndicators

Combines a base health value with the worst matching indicator health. Signature: pmProjectHealthWithIndicators(baseHealth, inverseRelations, dimension) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectHealthWithIndicators(...).

pmProjectIndicatorDimensionHealth

Returns the worst indicator health for one project performance dimension. Signature: pmProjectIndicatorDimensionHealth(inverseRelations, dimension) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectIndicatorDimensionHealth(...).

pmProjectOverallHealth

Returns overall project health from its dimension health values and status. Signature: pmProjectOverallHealth(scope, schedule, cost, quality, risk, status) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectOverallHealth(...).

pmProjectProgressPercent

Returns a 0–100 project progress percentage from configured work-breakdown and deliverable relations. Signature: pmProjectProgressPercent(inverseRelations) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectProgressPercent(...).

pmProjectRiskHealth

Returns risk health from open high/critical risks, issues, and overdue risk reviews. Signature: pmProjectRiskHealth(inverseRelations) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectRiskHealth(...).

pmProjectScheduleHealth

Returns schedule health from overdue work, blocked dependencies, and the project end date. Signature: pmProjectScheduleHealth(inverseRelations, projectEndDate) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectScheduleHealth(...).

pmProjectSetupComplete

Returns true when the required approved charter, accountable people, and dates are present. Signature: pmProjectSetupComplete(charterStatus, projectManager, sponsor, startDate, endDate) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectSetupComplete(...).

pmProjectSetupProfileKey

Builds a stable setup-profile key from project classification values. Signature: pmProjectSetupProfileKey(framework, approach, projectType, clientType) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectSetupProfileKey(...).

pmProjectSetupStage

Returns the project setup, planning, execution, control, closing, or closed stage. Signature: pmProjectSetupStage(status, charterStatus) Example:
Availability: Project configuration with the expected inverse relation data; function and transform forms are registered, but function form is clearer. Note: It can also be written as a transform when the first value is the input: value | pmProjectSetupStage(...).

Before you publish

  • Start with a known value and confirm the expected result.
  • Handle null, empty text, and empty lists deliberately.
  • Do not place secrets, access tokens, or sensitive personal data in an expression.
  • Read expression contexts and availability before copying an expression between features.
Project-management helpers in KayanOS