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 aspmProjectProgressPercent($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:
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:
value | pmProjectClosureValidation(...).
pmProjectCostHealth
Returns cost health using direct values and configured budget/expenditure relations.
Signature: pmProjectCostHealth(plannedBudget, actualCost, inverseRelations)
Example:
value | pmProjectCostHealth(...).
pmProjectDimensionHealth
Combines a manual dimension override with indicator health for that dimension.
Signature: pmProjectDimensionHealth(manualOverride, inverseRelations, dimension)
Example:
value | pmProjectDimensionHealth(...).
pmProjectGovernanceRequired
Returns whether the selected project classification requires governance.
Signature: pmProjectGovernanceRequired(framework, approach, projectType, clientType)
Example:
value | pmProjectGovernanceRequired(...).
pmProjectHealthWithIndicators
Combines a base health value with the worst matching indicator health.
Signature: pmProjectHealthWithIndicators(baseHealth, inverseRelations, dimension)
Example:
value | pmProjectHealthWithIndicators(...).
pmProjectIndicatorDimensionHealth
Returns the worst indicator health for one project performance dimension.
Signature: pmProjectIndicatorDimensionHealth(inverseRelations, dimension)
Example:
value | pmProjectIndicatorDimensionHealth(...).
pmProjectOverallHealth
Returns overall project health from its dimension health values and status.
Signature: pmProjectOverallHealth(scope, schedule, cost, quality, risk, status)
Example:
value | pmProjectOverallHealth(...).
pmProjectProgressPercent
Returns a 0–100 project progress percentage from configured work-breakdown and deliverable relations.
Signature: pmProjectProgressPercent(inverseRelations)
Example:
value | pmProjectProgressPercent(...).
pmProjectRiskHealth
Returns risk health from open high/critical risks, issues, and overdue risk reviews.
Signature: pmProjectRiskHealth(inverseRelations)
Example:
value | pmProjectRiskHealth(...).
pmProjectScheduleHealth
Returns schedule health from overdue work, blocked dependencies, and the project end date.
Signature: pmProjectScheduleHealth(inverseRelations, projectEndDate)
Example:
value | pmProjectScheduleHealth(...).
pmProjectSetupComplete
Returns true when the required approved charter, accountable people, and dates are present.
Signature: pmProjectSetupComplete(charterStatus, projectManager, sponsor, startDate, endDate)
Example:
value | pmProjectSetupComplete(...).
pmProjectSetupProfileKey
Builds a stable setup-profile key from project classification values.
Signature: pmProjectSetupProfileKey(framework, approach, projectType, clientType)
Example:
value | pmProjectSetupProfileKey(...).
pmProjectSetupStage
Returns the project setup, planning, execution, control, closing, or closed stage.
Signature: pmProjectSetupStage(status, charterStatus)
Example:
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.


