CascaleGuidance Download PDF
Higg Assessment Model

Higg Assessments Model Schema Reference

Version ham-v0.3.0·11 September 2026 PDFAll documents
Contents

Assessment

Data at the assessment level.

Field values are based on the modelled and attributed energy use and emissions except for total_reported_energy_use which is based on the FEMs raw reported energy use. It is unlikely that this field is useful except as an indicator of the impact of the modelling done to the FEM data for GHGP reporting alignment.

assessment_status

  • Type: string (evaluated)
  • Required: No

The platform’s workflow status for the assessment, e.g. posted.

Supplied by the host alongside the answers rather than derived from them. Undefined when the host did not supply it.

data_quality_flags

  • Type: Array (evaluated)
  • Required: Yes

A list of flags indicating potential data quality issues, prefixed Assessment: or Field: by the level they were raised at: total reported energy implausibly high or low, an energy source answered “not tracked”, refrigerant emissions implausibly high against the facility’s energy-related emissions, and the field-level checks (negative quantities, the EAC/renewables double entry, LNG magnitude). Cross-assessment rules add flags from the facility’s other cadences.

domestic_energy_status

  • Type: string (evaluated)
  • Required: No

Whether separate domestic energy reporting applies to the facility, and whether it reported the data the domestic-coverage energy rows need:

  • not_applicable — the facility reports domestic energy combined with production (its energy rows carry coverage: ["production", "domestic"]), or separates it but reports using no energy source for domestic use. No domestic-only energy rows are expected.
  • untracked — the facility separates domestic energy and uses at least one source domestically, but some used source is untracked or missing the quantity or unit its row needs. Missing or partial domestic rows mean missing data, not absent use.
  • tracked — every source used domestically is tracked and carries its quantity and unit, so the coverage: ["domestic"] energy rows reflect the facility’s complete domestic use. Like the complete bar of ghgp_completion_status, one untracked used source is enough to drop to untracked.

Undefined where a cadence has no separate domestic energy table (pre-fem2023), and when the routing questions — “Does your facility track any of its energy use?” and “Does your facility identify and track separately energy use in domestic vs. production?” — are unanswered, deliberately not reported as not_applicable, since the facility never said either way.

facility_type_displays

  • Type: Array (evaluated)
  • Required: No

A list of facility type display names applicable to the assessment.

facility_type_keys

  • Type: Array (evaluated)
  • Required: Yes

A list of facility type keys applicable to the assessment.

fep_achieved

  • Type: boolean (evaluated)
  • Required: No

A boolean indicating whether the assessment is achieving every Facility Environmental Practice (FEP) applicable to it.

true when no applicable FEP is failing — that is, every FEP’s logic is true (achieved) or undefined (not applicable). false as soon as any FEP’s logic is false. undefined when no FEP has been achieved (the cadence defines no FEPs, none are applicable, or every applicable one failed); the achievement story is treated as not meaningful in those cases rather than reported as a vacuous true.

fep_achieved_count

  • Type: number (evaluated)
  • Required: No

The number of Facility Environmental Practices (FEPs) the assessment has achieved — those whose logic is true. undefined when no FEP has been achieved.

fep_achievement

  • Type: number (evaluated)
  • Required: No

The fraction of applicable Facility Environmental Practices (FEPs) that the assessment has achieved.

Computed as the count of FEPs with logic === true divided by the count of FEPs with logic !== undefined. undefined when no FEP has been achieved.

fep_unachieved_count

  • Type: number (evaluated)
  • Required: No

The number of applicable Facility Environmental Practices (FEPs) the assessment has failed to achieve — those whose logic is false. FEPs whose logic is undefined are not applicable and are not counted. undefined when no FEP has been achieved.

ghgp_completion_status

  • Type: string (evaluated)
  • Required: No

Whether the facility reported energy use for every source it says it uses: complete or incomplete.

A FEM records energy source by source, so an unreported source is indistinguishable from an absent one — without this you cannot tell “no coal” from “didn’t report coal”. Derived from the per-source question “Does your facility track its energy use from this source?”.

incomplete also raises a data quality flag, so incomplete assessments fail pass_data_quality and drop out of analysis by default.

Computed for every cadence. Undefined only where a cadence has no per-source track questions at all — deliberately not reported as complete, since the check was never made.

industry_sector_displays

  • Type: Array (evaluated)
  • Required: No

A list of industry sector display names applicable to the assessment.

industry_sector_keys

  • Type: Array (evaluated)
  • Required: No

A list of industry sector keys applicable to the assessment.

industry_strategic_supplier

  • Type: boolean (evaluated)
  • Required: Yes

A boolean indicating whether the facility qualifies as an industry strategic supplier for the cadence, based on whether total location-based emissions meet or exceed the published cutoff.

location_eeci

  • Type: number (evaluated)
  • Required: No

Effective Energy Carbon Intensity (EECI) using location-based accounting.

location_eeci_zeb

  • Type: number (evaluated)
  • Required: No

Effective Energy Carbon Intensity (EECI) using location-based accounting, with zero emissions biogenic (ZEB) normalization.

market_eeci

  • Type: number (evaluated)
  • Required: No

Effective Energy Carbon Intensity (EECI) using market-based accounting.

market_eeci_zeb

  • Type: number (evaluated)
  • Required: No

Effective Energy Carbon Intensity (EECI) using market-based accounting, with zero emissions biogenic (ZEB) normalization.

pass_data_quality

  • Type: boolean (evaluated)
  • Required: Yes

A boolean indicating whether the assessment passes data quality checks.

posted_by_facility

  • Type: boolean (evaluated)
  • Required: No

Whether the facility posted this assessment.

posted_by_verifier

  • Type: boolean (evaluated)
  • Required: No

Whether an accredited verifier posted this assessment.

When true, the records were computed from verifier-corrected answers, so this is the assurance signal to filter on — a consumer reading the record tables can distinguish a self-assessed FEM from a verified one without joining platform metadata.

Verifier identity, verification body, accreditation and assurance level are not available: they are absent from the data the model receives, so they cannot be derived here. Undefined means the host did not supply the value, not that the assessment was unverified.

refrigerants_status

  • Type: string (evaluated)
  • Required: No

Whether refrigerant use applies to the facility, and whether it reported the data the refrigerant fugitive-emissions rows need:

  • not_applicable — the facility reports no refrigeration, cooling or air-conditioning emission sources. No refrigerant rows are expected.
  • unmodeled — the facility reported refilling a refrigerant with no authoritative GWP factor. The fugitive rows understate the facility’s releases: an unmodeled refill is deliberately omitted rather than priced at zero, and no answer the facility could give would fill the gap. Reported ahead of the other states because it taints whatever rows do exist.
  • untracked — refrigerant use applies, but the facility does not know which refrigerants it uses, tracks only some of them or none (anything short of a full “yes” on the tracking question), or a reported refill is missing the quantity or unit its row needs. Missing refrigerant rows mean missing data, not absent releases.
  • tracked — the facility knows and tracks all of its refrigerants and every reported refill carries its quantity and unit, so the fugitive rows reflect the facility’s complete releases. A facility that refilled nothing during the reporting year is tracked with no rows — zero releases, not missing data.

Undefined where a cadence collects no refrigerant quantities (pre-fem2023), and when the air-emission source questions are unanswered — deliberately not reported as not_applicable, since the facility never said either way.

site_country_display

  • Type: string (evaluated)
  • Required: No

The display name for the site country.

site_country_key

  • Type: string (evaluated)
  • Required: No

Facility site country as provided in the FEM question sitecountry

For FEMs prior to FEM2020 the value has been changed from the number originally used to strings consistent with those used in later FEMs.

tiers

  • Type: Array (evaluated)
  • Required: No

A list of tiers applicable to the assessment, based on facility type.

total_location_biogenic_emissions

  • Type: number (evaluated)
  • Required: Yes

Total biogenic emissions in kgCO2e using location-based accounting for scope 2.

total_location_domestic_biogenic_emissions

  • Type: number (evaluated)
  • Required: No

Total domestic biogenic emissions in kgCO2e using location-based accounting for scope 2.

total_location_domestic_emissions

  • Type: number (evaluated)
  • Required: No

Total domestic emissions in kgCO2e using location-based accounting for scope 2, excluding biogenic emissions.

total_location_domestic_energy_use

  • Type: number (evaluated)
  • Required: No

Total domestic energy use in MJ using location-based accounting for scope 2.

total_location_emissions

  • Type: number (evaluated)
  • Required: Yes

Total emissions in kgCO2e using location-based accounting for scope 2, excluding biogenic emissions.

total_location_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total energy use in MJ using location-based accounting for scope 2.

total_location_scope_one_emissions

  • Type: number (evaluated)
  • Required: Yes

Total GHGP scope 1 emissions in kgCO2e using location-based accounting for scope 2, excluding biogenic emissions.

total_location_scope_two_emissions

  • Type: number (evaluated)
  • Required: Yes

Total GHGP scope 2 emissions in kgCO2e using location-based accounting, excluding biogenic emissions.

total_location_vehicle_biogenic_emissions

  • Type: number (evaluated)
  • Required: No

Total vehicle biogenic emissions in kgCO2e using location-based accounting for scope 2.

total_location_vehicle_emissions

  • Type: number (evaluated)
  • Required: No

Total vehicle emissions in kgCO2e using location-based accounting for scope 2, excluding biogenic emissions.

total_location_vehicle_energy_use

  • Type: number (evaluated)
  • Required: No

Total vehicle energy use in MJ using location-based accounting for scope 2.

total_market_biogenic_emissions

  • Type: number (evaluated)
  • Required: Yes

Total biogenic emissions in kgCO2e using market-based accounting for scope 2.

total_market_domestic_biogenic_emissions

  • Type: number (evaluated)
  • Required: No

Total domestic biogenic emissions in kgCO2e using market-based accounting for scope 2.

total_market_domestic_emissions

  • Type: number (evaluated)
  • Required: No

Total domestic emissions in kgCO2e using market-based accounting for scope 2, excluding biogenic emissions.

total_market_domestic_energy_use

  • Type: number (evaluated)
  • Required: No

Total domestic energy use in MJ using market-based accounting for scope 2.

total_market_emissions

  • Type: number (evaluated)
  • Required: Yes

Total emissions in kgCO2e using market-based accounting for scope 2, excluding biogenic emissions.

total_market_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total energy use in MJ using market-based accounting for scope 2.

total_market_scope_one_emissions

  • Type: number (evaluated)
  • Required: Yes

Total GHGP scope 1 emissions in kgCO2e using market-based accounting for scope 2, excluding biogenic emissions.

Scope 1 and scope 2 are reported as separate lines by the GHG Protocol. These rollups span every emission_type, so refrigerant fugitive and wastewater process emissions are included here — unlike total_market_emissions, which is pinned to energy-derived rows so its meaning cannot drift.

Biogenic emissions are excluded, matching total_market_emissions: biogenic CO2 is a memo item reported apart from the scopes and is carried by total_market_biogenic_emissions.

total_market_scope_two_emissions

  • Type: number (evaluated)
  • Required: Yes

Total GHGP scope 2 emissions in kgCO2e using market-based accounting, excluding biogenic emissions.

Includes on-site generation whose certificates were sold, which the Scope 2 Guidance treats as though it were purchased from the grid.

total_market_vehicle_biogenic_emissions

  • Type: number (evaluated)
  • Required: No

Total vehicle biogenic emissions in kgCO2e using market-based accounting for scope 2.

total_market_vehicle_emissions

  • Type: number (evaluated)
  • Required: No

Total vehicle emissions in kgCO2e using market-based accounting for scope 2, excluding biogenic emissions.

total_market_vehicle_energy_use

  • Type: number (evaluated)
  • Required: No

Total vehicle energy use in MJ using market-based accounting for scope 2.

total_reported_domestic_energy_use

  • Type: number (evaluated)
  • Required: No

Total domestic energy use as reported by the facility in MJ.

total_reported_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total energy use as reported by the facility in MJ.

This value is not appropriate for GHGP reporting as it lacks essential modelling.

total_reported_vehicle_energy_use

  • Type: number (evaluated)
  • Required: No

Total vehicle energy use as reported by the facility in MJ.

vehicle_energy_status

  • Type: string (evaluated)
  • Required: No

Whether company-vehicle energy use applies to the facility, and whether it reported the data the vehicle-coverage energy rows need:

  • not_applicable — the facility reports having no company owned and controlled vehicles (fem2023: no energy/fuel source used for them). No vehicle energy rows are expected.
  • untracked — vehicles are reported, but the facility says it does not track every fuel source (anything short of a full “yes” on the tracking opt-in), reports no fuel sources for them, or a reported source is untracked or missing the quantity or unit its row needs. Missing or partial vehicle rows mean missing data, not absent use.
  • tracked — the facility tracks every vehicle energy/fuel source and each reported source carries its quantity and unit, so the coverage: ["vehicle"] energy rows reflect the facility’s complete vehicle use.

Undefined where a cadence has no vehicle energy table (pre-fem2023), and when the vehicle fuel-source questions are unanswered — deliberately not reported as not_applicable, since the facility never said either way.

wastewater_emissions_status

  • Type: string (evaluated)
  • Required: No

Whether the facility has scope-1-relevant on-site wastewater treatment, and whether it reported the data the wastewater emissions rows need:

  • not_applicable — no on-site (or zero-liquid-discharge) treatment with a secondary (biological) stage, or a stream is discharged untreated, which zeroes the FEM wastewater section. No wastewater emissions rows are expected.
  • untracked — treatment is applicable, but BOD5 is not monitored in a usable shape (not at all, or before-only / after-only), or no stream or sub-process stage carries the volume plus before/after readings the calculation needs. Missing wastewater rows mean missing data, not absent emissions.
  • tracked — at least one stream or sub-process stage carries a tracked volume with before/after BOD5 readings, so the wastewater Emissions rows reflect reported treatment.

Applicability mirrors the FEM’s own gate on the BOD5-monitoring questions. Undefined where a cadence has no wastewater treatment tables (pre-fem2023), and when the wastewater routing questions are unanswered — deliberately not reported as not_applicable, since the facility never said either way.

Calculation

Compile-time calculation (current — fem2023+/brm2023+). calculation is the JEXL expression evaluated against user data. type is the result type (number, string, boolean, etc.).

_tags

  • Type: object
  • Required: No

calculation

  • Type: string (evaluated)
  • Required: Yes

category

  • Type: string
  • Required: No

documentation

  • Type: string (markdown)
  • Required: No

enum

  • Type: array
  • Required: No

guidance

  • Type: string (markdown)
  • Required: No

internal_documentation

  • Type: string (markdown)
  • Required: No

member

  • Type: boolean
  • Required: No

tags

  • Type: object
  • Required: Yes

type

  • Type: string
  • Required: Yes

unit

  • Type: string
  • Required: No

CalculationFEMv2

Legacy fem (2017-22) Calculation shape. function-name + numbered argument slots instead of a single JEXL expression.

argument

  • Type: string
  • Required: No

argument_1

  • Type: string
  • Required: No

argument_2

  • Type: string
  • Required: No

argument_3

  • Type: string
  • Required: No

argument_4

  • Type: string
  • Required: No

argument_5

  • Type: string
  • Required: No

argument_6

  • Type: string
  • Required: No

category

  • Type: string
  • Required: No

exportable

  • Type: string
  • Required: No

function

  • Type: string
  • Required: Yes

subcategory

  • Type: string
  • Required: No

title

  • Type: string
  • Required: No

ContentAlias

Alias of a canonical Content question, placed in an additional section. Carries only the pointer back to the canonical refid; the resolver fetches everything else from the canonical block. Replaces the AnswerType=alias row pattern that inject_cms_aliases in process_structure.py previously injected.

answer_type

  • Type: string
  • Required: No

section

  • Type: string
  • Required: No

tags

  • Type: object
  • Required: No

target_refid

  • Type: string
  • Required: No

ContentCalculation

Server-computed value displayed back to the user. No user input.

answer_type

  • Type: string
  • Required: Yes

column_mapping

  • Type: string
  • Required: No

custom_guidance

  • Type: string (markdown)
  • Required: No

custom_guidance_teaser

  • Type: string (markdown)
  • Required: No

custom_question_number

  • Type: string
  • Required: No

guidance_src

  • Type: string (markdown)
  • Required: No

member

  • Type: boolean
  • Required: No

next

  • Type: string
  • Required: No

section

  • Type: string
  • Required: Yes

table

  • Type: string
  • Required: No

tags

  • Type: object
  • Required: No

text

  • Type: string (markdown)
  • Required: No

text_src

  • Type: string (markdown)
  • Required: No

tooltip

  • Type: string (markdown)
  • Required: No

variant_guidance

  • Type: object
  • Required: No

ContentCheckbox

Multi-select checkbox question. Must reference an OptionIndex group via option_list.

answer_type

  • Type: string
  • Required: Yes

column_mapping

  • Type: string
  • Required: No

conditional

  • Type: string (evaluated)
  • Required: No

custom_criticality

  • Type: string
  • Required: No

custom_guidance

  • Type: string (markdown)
  • Required: No

custom_guidance_teaser

  • Type: string (markdown)
  • Required: No

custom_question_number

  • Type: string
  • Required: No

default_answer

  • Type: string
  • Required: No

group

  • Type: string
  • Required: No

guidance_src

  • Type: string (markdown)
  • Required: No

member

  • Type: boolean
  • Required: No

next

  • Type: string
  • Required: No

option_list

  • Type: string
  • Required: Yes

optional

  • Type: string (evaluated)
  • Required: No

score_name

  • Type: string
  • Required: No

score_points

  • Type: string
  • Required: No

section

  • Type: string
  • Required: Yes

style

  • Type: string
  • Required: No

table

  • Type: string
  • Required: No

tags

  • Type: object
  • Required: No

text

  • Type: string (markdown)
  • Required: No

text_src

  • Type: string (markdown)
  • Required: No

tooltip

  • Type: string (markdown)
  • Required: No

variant_guidance

  • Type: object
  • Required: No

ContentDate

Date input question.

answer_type

  • Type: string
  • Required: Yes

column_mapping

  • Type: string
  • Required: No

conditional

  • Type: string (evaluated)
  • Required: No

custom_guidance

  • Type: string (markdown)
  • Required: No

custom_guidance_teaser

  • Type: string (markdown)
  • Required: No

custom_question_number

  • Type: string
  • Required: No

group

  • Type: string
  • Required: No

guidance_src

  • Type: string (markdown)
  • Required: No

member

  • Type: boolean
  • Required: No

min

  • Type: string
  • Required: No

next

  • Type: string
  • Required: No

optional

  • Type: string (evaluated)
  • Required: No

section

  • Type: string
  • Required: Yes

table

  • Type: string
  • Required: No

tags

  • Type: object
  • Required: No

text

  • Type: string (markdown)
  • Required: No

text_src

  • Type: string (markdown)
  • Required: No

tooltip

  • Type: string (markdown)
  • Required: No

variant_guidance

  • Type: object
  • Required: No

ContentDropdown

answer_type

  • Type: string
  • Required: Yes

column_mapping

  • Type: string
  • Required: No

conditional

  • Type: string (evaluated)
  • Required: No

custom_criticality

  • Type: string
  • Required: No

custom_guidance

  • Type: string (markdown)
  • Required: No

custom_guidance_teaser

  • Type: string (markdown)
  • Required: No

custom_question_number

  • Type: string
  • Required: No

default_answer

  • Type: string
  • Required: No

group

  • Type: string
  • Required: No

guidance_src

  • Type: string (markdown)
  • Required: No

member

  • Type: boolean
  • Required: No

next

  • Type: string
  • Required: No

option_list

  • Type: string
  • Required: Yes

optional

  • Type: string (evaluated)
  • Required: No

score_name

  • Type: string
  • Required: No

score_points

  • Type: string
  • Required: No

section

  • Type: string
  • Required: Yes

style

  • Type: string
  • Required: No

table

  • Type: string
  • Required: No

tags

  • Type: object
  • Required: No

text

  • Type: string (markdown)
  • Required: No

text_src

  • Type: string (markdown)
  • Required: No

tooltip

  • Type: string (markdown)
  • Required: No

variant_guidance

  • Type: object
  • Required: No

ContentFile

File-upload question.

answer_type

  • Type: string
  • Required: Yes

column_mapping

  • Type: string
  • Required: No

conditional

  • Type: string (evaluated)
  • Required: No

custom_guidance

  • Type: string (markdown)
  • Required: No

custom_guidance_teaser

  • Type: string (markdown)
  • Required: No

custom_question_number

  • Type: string
  • Required: No

group

  • Type: string
  • Required: No

guidance_src

  • Type: string (markdown)
  • Required: No

member

  • Type: boolean
  • Required: No

next

  • Type: string
  • Required: No

optional

  • Type: string (evaluated)
  • Required: No

section

  • Type: string
  • Required: Yes

table

  • Type: string
  • Required: No

tags

  • Type: object
  • Required: No

text

  • Type: string (markdown)
  • Required: No

text_src

  • Type: string (markdown)
  • Required: No

tooltip

  • Type: string (markdown)
  • Required: No

variant_guidance

  • Type: object
  • Required: No

ContentGroup

Group container — visually groups child questions but doesn’t collect an answer itself.

group is required and must be set to the block’s own refid. workbook-rs keys group_conditionals by this field — multiple groups with an unset group would all collapse into a single None bucket, and the last one’s conditional would silently leak into every ungrouped content row across the workbook. (Caught post-migration on fem2025/26: six groups were missing the field; the surviving conditional polluted ~1500 modular-dep edges.)

answer_type

  • Type: string
  • Required: Yes

conditional

  • Type: string (evaluated)
  • Required: No

custom_guidance

  • Type: string (markdown)
  • Required: No

custom_guidance_teaser

  • Type: string (markdown)
  • Required: No

custom_question_number

  • Type: string
  • Required: No

group

  • Type: string
  • Required: Yes

guidance_src

  • Type: string (markdown)
  • Required: No

member

  • Type: boolean
  • Required: No

next

  • Type: string
  • Required: No

section

  • Type: string
  • Required: Yes

tags

  • Type: object
  • Required: No

text

  • Type: string (markdown)
  • Required: No

text_src

  • Type: string (markdown)
  • Required: No

tooltip

  • Type: string (markdown)
  • Required: No

variant_guidance

  • Type: object
  • Required: No

ContentHtml

HTML-only content block (no answer collected). The text field holds the long-form guidance instead of custom_guidance.

answer_type

  • Type: string
  • Required: Yes

column_mapping

  • Type: string
  • Required: No

conditional

  • Type: string (evaluated)
  • Required: No

custom_criticality

  • Type: string
  • Required: No

custom_guidance

  • Type: string (markdown)
  • Required: No

custom_guidance_teaser

  • Type: string (markdown)
  • Required: No

custom_question_number

  • Type: string
  • Required: No

group

  • Type: string
  • Required: No

guidance_src

  • Type: string (markdown)
  • Required: No

member

  • Type: boolean
  • Required: No

next

  • Type: string
  • Required: No

optional

  • Type: string (evaluated)
  • Required: No

score_name

  • Type: string
  • Required: No

score_points

  • Type: string
  • Required: No

section

  • Type: string
  • Required: Yes

table

  • Type: string
  • Required: No

tags

  • Type: object
  • Required: No

text

  • Type: string (markdown)
  • Required: No

text_src

  • Type: string (markdown)
  • Required: No

tooltip

  • Type: string (markdown)
  • Required: No

variant_guidance

  • Type: object
  • Required: No

ContentNumber

Numeric input question. Carries min / max bounds and an optional _unit. No option_list.

_tags

  • Type: object
  • Required: No

_unit

  • Type: string
  • Required: No

answer_type

  • Type: string
  • Required: Yes

column_mapping

  • Type: string
  • Required: No

conditional

  • Type: string (evaluated)
  • Required: No

custom_guidance

  • Type: string (markdown)
  • Required: No

custom_guidance_teaser

  • Type: string (markdown)
  • Required: No

custom_question_number

  • Type: string
  • Required: No

default_answer

  • Type: string
  • Required: No

group

  • Type: string
  • Required: No

guidance_src

  • Type: string (markdown)
  • Required: No

max

  • Type: string
  • Required: No

member

  • Type: boolean
  • Required: No

min

  • Type: string
  • Required: No

next

  • Type: string
  • Required: No

optional

  • Type: string (evaluated)
  • Required: No

score_name

  • Type: string
  • Required: No

score_points

  • Type: string
  • Required: No

section

  • Type: string
  • Required: Yes

style

  • Type: string
  • Required: No

table

  • Type: string
  • Required: No

tags

  • Type: object
  • Required: No

text

  • Type: string (markdown)
  • Required: No

text_src

  • Type: string (markdown)
  • Required: No

tooltip

  • Type: string (markdown)
  • Required: No

variant_guidance

  • Type: object
  • Required: No

ContentTable

Table-type question. Renders as a tabular input; rows expand from the referenced TableIndex group.

table is required — workbook-rs keys table_conditionals by this field (same shape as the ContentGroup group bug). A ContentTable without a table reference would silently key its conditional into the None bucket alongside every other unset, leaking into ungrouped rows.

answer_type

  • Type: string
  • Required: Yes

column_mapping

  • Type: string
  • Required: No

conditional

  • Type: string (evaluated)
  • Required: No

custom_guidance

  • Type: string (markdown)
  • Required: No

custom_guidance_teaser

  • Type: string (markdown)
  • Required: No

custom_question_number

  • Type: string
  • Required: No

guidance_src

  • Type: string (markdown)
  • Required: No

member

  • Type: boolean
  • Required: No

next

  • Type: string
  • Required: No

optional

  • Type: string (evaluated)
  • Required: No

section

  • Type: string
  • Required: Yes

table

  • Type: string
  • Required: Yes

tags

  • Type: object
  • Required: No

text

  • Type: string (markdown)
  • Required: No

text_src

  • Type: string (markdown)
  • Required: No

tooltip

  • Type: string (markdown)
  • Required: No

variant_guidance

  • Type: object
  • Required: No

ContentTemplate

Compile-time template-input helper. Carries metadata (column_mapping, _unit, _tags) consumed by fan-out templates in extras/ghgp.stl and similar. Distinct from user-facing ContentX questions — these never emit a row to a {section} sheet, they only feed downstream iteration via Import content.stl As content_items.

_tags

  • Type: object
  • Required: No

_unit

  • Type: string
  • Required: No

column_mapping

  • Type: string
  • Required: No

section

  • Type: string
  • Required: No

table

  • Type: string
  • Required: No

ContentText

Free-text input question.

answer_type

  • Type: string
  • Required: Yes

column_mapping

  • Type: string
  • Required: No

conditional

  • Type: string (evaluated)
  • Required: No

custom_guidance

  • Type: string (markdown)
  • Required: No

custom_guidance_teaser

  • Type: string (markdown)
  • Required: No

custom_question_number

  • Type: string
  • Required: No

group

  • Type: string
  • Required: No

guidance_src

  • Type: string (markdown)
  • Required: No

member

  • Type: boolean
  • Required: No

next

  • Type: string
  • Required: No

optional

  • Type: string (evaluated)
  • Required: No

score_name

  • Type: string
  • Required: No

section

  • Type: string
  • Required: Yes

table

  • Type: string
  • Required: No

tags

  • Type: object
  • Required: No

text

  • Type: string (markdown)
  • Required: No

text_src

  • Type: string (markdown)
  • Required: No

tooltip

  • Type: string (markdown)
  • Required: No

variant_guidance

  • Type: object
  • Required: No

ContentValidation

Validation-only block. Holds long-form text guidance in text, no answer collected.

answer_type

  • Type: string
  • Required: Yes

conditional

  • Type: string (evaluated)
  • Required: No

custom_guidance

  • Type: string (markdown)
  • Required: No

custom_guidance_teaser

  • Type: string (markdown)
  • Required: No

custom_question_number

  • Type: string
  • Required: No

guidance_src

  • Type: string (markdown)
  • Required: No

member

  • Type: boolean
  • Required: No

next

  • Type: string
  • Required: No

section

  • Type: string
  • Required: Yes

tags

  • Type: object
  • Required: No

text

  • Type: string (markdown)
  • Required: No

text_src

  • Type: string (markdown)
  • Required: No

tooltip

  • Type: string (markdown)
  • Required: No

variant_guidance

  • Type: object
  • Required: No

CountryGrid

display

  • Type: string
  • Required: Yes

legacy_id

  • Type: string
  • Required: No

CriticalIssue

A critical-issue flag (current — fem2023+/brm2023+). Fires when logic evaluates true against user data; tags carries criticality classification.

_critical_logic

  • Type: string
  • Required: No

guidance

  • Type: string (markdown)
  • Required: No

logic

  • Type: string (evaluated)
  • Required: Yes

member

  • Type: boolean
  • Required: No

tags

  • Type: object
  • Required: Yes

CriticalIssueFEMv2

Legacy fem (2017-22) CriticalIssue shape. No tags map; level + ci_section + refid_2019 carry the classification info v3 moved to the tags map.

ci_section

  • Type: string
  • Required: No

guidance

  • Type: string (markdown)
  • Required: Yes

level

  • Type: string
  • Required: No

logic

  • Type: string (evaluated)
  • Required: Yes

refid_2019

  • Type: string
  • Required: No

Emissions

Attributed and modeled emissions appropriate for GHGP compliant reporting

This data is based on applying appropriate emission factors to the attributed and modeled energy usage data. In general, fuel source emissions are held constant over the model version - so, for example, every cadence has the same emission factor for coal. Grid emission factors are mapped to the most appropriate IEA grid emission factor available for and given model version so the grid emission factors change in the model from cadence to cadence.

Because attribution and modelling differs between location and market based scope two accounting methods this data is divided into scope_two_method == "market" and scope_two_method == "location". It is unlikely that any use that doesn’t filter on the scope_two_method is appropriate since it would lead to double counting.

_relevant

  • Type: boolean (evaluated)
  • Required: Yes

attributed_source_display

  • Type: string
  • Required: Yes

The display name for the attributed energy source.

attributed_source_key

  • Type: string
  • Required: Yes

The final energy source that the energy use is attributed to after all modeling and facility reporting has been taken into account.

biogenic

  • Type: boolean
  • Required: Yes

A boolean indicating if the energy source is biogenic.

category

  • Type: string
  • Required: Yes

The category of the attributed energy source, taken from the source’s categories tags in priority order:

  • biogenic: biogenic fuels (biomass, biogas, biodiesel, ethanol, …).
  • renewable: non-biogenic renewables (wind, solar, hydro, geothermal, …).
  • coal: coal and coal-derived fuels.
  • gas: natural gas, LNG, LPG, CNG, propane.
  • liquidFossilFuel: diesel, petrol and fuel oils.
  • gridElectricity: consumption attributed to purchased grid electricity: grid purchases net of EACs, the non-PPA remainder of purchased renewables, the sold-certificate share of on-site generation, and purchased chilled water.
  • other: the remaining thermal sources (non-renewable hydrogen and the fossil fraction of fabric and municipal waste).

The category follows the attributed source while energy_form follows the reported source, so a thermal purchase modelled as grid electricity (chilled water) reads energy_form: thermal with category: gridElectricity.

Non-energy rows extend the vocabulary: refrigerant releases carry fugitive, wastewater rows carry biogenic (CO2) or process (CH4).

coverage

  • Type: array
  • Required: Yes

The coverage of the energy use:

  • production: Energy used in the production process.
  • domestic: Energy used in on-site employee housing.
  • vehicle: Energy used in on-site vehicles.

emission_type

  • Type: string
  • Required: Yes

Whether this row is energy-derived, a fugitive release, or a process emission: energy, fugitive, or process.

The discriminator lets fugitive (refrigerant) and process (wastewater) emissions share this table without changing what the existing totals mean: the total_*_emissions fields and EECI are pinned to energy, while the scope rollups span all types. Filter on it whenever you sum this table yourself and care about the distinction.

energy_form

  • Type: string
  • Required: No

The form of energy, either ‘electric’ or ‘thermal’.

facility_type_displays

  • Type: Array (evaluated)
  • Required: No

A list of facility type display names applicable to the assessment.

facility_type_keys

  • Type: Array (evaluated)
  • Required: No

A list of facility type keys applicable to the assessment.

industry_sector_displays

  • Type: Array (evaluated)
  • Required: No

A list of industry sector display names applicable to the assessment.

industry_sector_keys

  • Type: Array (evaluated)
  • Required: No

A list of industry sector keys applicable to the assessment.

industry_strategic_supplier

  • Type: boolean (evaluated)
  • Required: Yes

A boolean indicating whether the facility qualifies as an industry strategic supplier for the cadence, based on whether total location-based emissions meet or exceed the published cutoff.

pass_data_quality

  • Type: boolean (evaluated)
  • Required: Yes

A boolean indicating whether the assessment passes data quality checks.

provenance

  • Type: string
  • Required: Yes

The provenance of the data:

  • reported: If the attributed energy source is based on specific facility provided information.
  • modeled: If assumptions have been made to arrive at the attributed energy source.

renewable

  • Type: boolean
  • Required: Yes

A boolean indicating if the energy source is renewable.

reported_source_display

  • Type: string
  • Required: Yes

The display name for the originally reported energy source.

reported_source_key

  • Type: string
  • Required: Yes

The key for the originally reported energy source.

scope

  • Type: string
  • Required: Yes

The GHG scope either one or two

scope_two_method

  • Type: string
  • Required: Yes

The scope two accounting method, either ‘market’ or ‘location’.

secondary_reported_source_display

  • Type: string
  • Required: No

The display name for the secondary reported energy source.

secondary_reported_source_key

  • Type: string
  • Required: No

When a reported energy source is a mix of other energy sources (e.g. a renewable energy mix) this field indicates the underlying energy source that has been reported by the facility.

site_country_display

  • Type: string (evaluated)
  • Required: No

The display name for the site country.

site_country_key

  • Type: string (evaluated)
  • Required: No

Facility site country as provided in the FEM question sitecountry

For FEMs prior to FEM2020 the value has been changed from the number originally used to strings consistent with those used in later FEMs.

tiers

  • Type: Array (evaluated)
  • Required: No

A list of tiers applicable to the assessment, based on facility type.

unit

  • Type: string
  • Required: Yes

The unit of the emissions, hardcoded to kgCO2e.

value

  • Type: number (evaluated)
  • Required: No

The calculated emissions in kgCO2e.

EnergyConversion

cadences

  • Type: array
  • Required: Yes

calculated_value

  • Type: string
  • Required: No

conversion

  • Type: string
  • Required: No

energy_source

  • Type: string
  • Required: Yes

kind

  • Type: string
  • Required: Yes

notes

  • Type: string
  • Required: No

sources

  • Type: string
  • Required: No

value

  • Type: string
  • Required: No

EnergyEmissionFactor

cadences

  • Type: array
  • Required: Yes

energy_source

  • Type: string
  • Required: Yes

notes

  • Type: string
  • Required: No

source

  • Type: string
  • Required: No

value

  • Type: string
  • Required: No

EnergyReportingUnits

cadences

  • Type: array
  • Required: Yes

energy_source

  • Type: string
  • Required: Yes

target

  • Type: string
  • Required: Yes

units

  • Type: array
  • Required: Yes

EnergyScope

Shared energy-source reference data — emission factors, unit conversions, reporting units, GHG scopes and modelling constants per fuel, cadence-scoped via each member’s cadences list.

Join contract: the block name is the canonical source identifier; the per-cadence question option is the OptionIndex named ensource<name> (or envehicle<name>) in assessments/<rfi>/options/. display here is the reporting/GHG-inventory display (the old energy_source_display_map.json values); the question-facing display lives on the OptionIndex.

This file is the source of truth. Business editing goes through the CMS Reference Data app (stl-cms-server); _scripts/new_cadence handles the annual cadence roll-forward via stl-edit bump-cadence.

cadences

  • Type: array
  • Required: Yes

energy_source

  • Type: string
  • Required: Yes

value

  • Type: string
  • Required: Yes

EnergySource

attributed_source

  • Type: string
  • Required: No

categories

  • Type: array
  • Required: Yes

constants

  • Type: object
  • Required: No

display

  • Type: string
  • Required: Yes

EnergyUse

Attributed and modeled energy usage appropriate for GHGP compliant reporting

Efficiency models, mappings for attributes such as EACs, and other transformations are applied to this data. The attributed source is available in attributed_source_key. The field secondary_reported_source_key contains the reported secondary source for reported energy that had further attributes applied to it by facilities such as energy source mixes in scope two energy sources and EACs.

Because attribution and modelling differs between location and market based scope two accounting methods this data is divided into scope_two_method == "market" and scope_two_method == "location". It is unlikely that any use that doesn’t filter on the scope_two_method is appropriate since it would lead to double counting.

attributed_source_display

  • Type: string
  • Required: Yes

The display name for the attributed energy source.

attributed_source_key

  • Type: string
  • Required: Yes

The final energy source that the energy use is attributed to after all modeling and facility reporting has been taken into account.

biogenic

  • Type: boolean
  • Required: Yes

A boolean indicating if the energy source is biogenic.

category

  • Type: string
  • Required: Yes

The category of the attributed energy source, taken from the source’s categories tags in priority order:

  • biogenic: biogenic fuels (biomass, biogas, biodiesel, ethanol, …).
  • renewable: non-biogenic renewables (wind, solar, hydro, geothermal, …).
  • coal: coal and coal-derived fuels.
  • gas: natural gas, LNG, LPG, CNG, propane.
  • liquidFossilFuel: diesel, petrol and fuel oils.
  • gridElectricity: consumption attributed to purchased grid electricity: grid purchases net of EACs, the non-PPA remainder of purchased renewables, the sold-certificate share of on-site generation, and purchased chilled water.
  • other: the remaining thermal sources (non-renewable hydrogen and the fossil fraction of fabric and municipal waste).

The category follows the attributed source while energy_form follows the reported source, so a thermal purchase modelled as grid electricity (chilled water) reads energy_form: thermal with category: gridElectricity.

coverage

  • Type: array
  • Required: Yes

The coverage of the energy use:

  • production: Energy used in the production process.
  • domestic: Energy used in on-site employee housing.
  • vehicle: Energy used in on-site vehicles.

energy_form

  • Type: string
  • Required: Yes

The form of energy, either ‘electric’ or ‘thermal’.

facility_type_displays

  • Type: Array (evaluated)
  • Required: No

A list of facility type display names applicable to the assessment.

facility_type_keys

  • Type: Array (evaluated)
  • Required: No

A list of facility type keys applicable to the assessment.

field_data_quality_flags

  • Type: Array (evaluated)
  • Required: Yes

Data quality flags specific to this field.

For example, if reported purchased renewables and reported EACs have the same value, or if reported LNG use is implausibly high.

industry_sector_displays

  • Type: Array (evaluated)
  • Required: No

A list of industry sector display names applicable to the assessment.

industry_sector_keys

  • Type: Array (evaluated)
  • Required: No

A list of industry sector keys applicable to the assessment.

industry_strategic_supplier

  • Type: boolean (evaluated)
  • Required: Yes

A boolean indicating whether the facility qualifies as an industry strategic supplier for the cadence, based on whether total location-based emissions meet or exceed the published cutoff.

pass_data_quality

  • Type: boolean (evaluated)
  • Required: Yes

A boolean indicating whether the assessment passes data quality checks.

provenance

  • Type: string
  • Required: Yes

The provenance of the data:

  • reported: If the attributed energy source is based on specific facility provided information.
  • modeled: If assumptions have been made to arrive at the attributed energy source.

renewable

  • Type: boolean
  • Required: Yes

A boolean indicating if the energy source is renewable.

reported_source_display

  • Type: string
  • Required: Yes

The display name for the originally reported energy source.

reported_source_key

  • Type: string
  • Required: Yes

The key for the originally reported energy source.

scope

  • Type: string
  • Required: Yes

The GHG scope either one or two

scope_two_method

  • Type: string
  • Required: Yes

The scope two accounting method, either ‘market’ or ‘location’.

secondary_reported_source_display

  • Type: string
  • Required: No

The display name for the secondary reported energy source.

secondary_reported_source_key

  • Type: string
  • Required: No

When a reported energy source is a mix of other energy sources (e.g. a renewable energy mix) this field indicates the underlying energy source that has been reported by the facility.

site_country_display

  • Type: string (evaluated)
  • Required: No

The display name for the site country.

site_country_key

  • Type: string (evaluated)
  • Required: No

Facility site country as provided in the FEM question sitecountry

For FEMs prior to FEM2020 the value has been changed from the number originally used to strings consistent with those used in later FEMs.

tiers

  • Type: Array (evaluated)
  • Required: No

A list of tiers applicable to the assessment, based on facility type.

unit

  • Type: string
  • Required: Yes

The unit of the energy use - always MJ.

value

  • Type: number (evaluated)
  • Required: No

The calculated energy use in MJ.

FacilityType

Data at the facility type level.

Domestic and vehicle energy usage, where reported separately, are included and evenly divided among all facility types.

Not all FEMs are included in this data. Prior to FEM 2023 any FEM with multiple facility types is excluded. After 2023 facilities that answer “No” to the question energyseparate are excluded.

_domestic_location_coal_energy_use

  • Type: number (evaluated)
  • Required: Yes

_domestic_location_electric_energy_use

  • Type: number (evaluated)
  • Required: Yes

_domestic_location_renewable_energy_use

  • Type: number (evaluated)
  • Required: Yes

_domestic_location_thermal_energy_use

  • Type: number (evaluated)
  • Required: Yes

_domestic_market_coal_energy_use

  • Type: number (evaluated)
  • Required: Yes

_domestic_market_electric_energy_use

  • Type: number (evaluated)
  • Required: Yes

_domestic_market_renewable_energy_use

  • Type: number (evaluated)
  • Required: Yes

_domestic_market_thermal_energy_use

  • Type: number (evaluated)
  • Required: Yes

_relevant

  • Type: boolean (evaluated)
  • Required: Yes

_vehicle_location_coal_energy_use

  • Type: number (evaluated)
  • Required: Yes

_vehicle_location_electric_energy_use

  • Type: number (evaluated)
  • Required: Yes

_vehicle_location_renewable_energy_use

  • Type: number (evaluated)
  • Required: Yes

_vehicle_location_thermal_energy_use

  • Type: number (evaluated)
  • Required: Yes

_vehicle_market_coal_energy_use

  • Type: number (evaluated)
  • Required: Yes

_vehicle_market_electric_energy_use

  • Type: number (evaluated)
  • Required: Yes

_vehicle_market_renewable_energy_use

  • Type: number (evaluated)
  • Required: Yes

_vehicle_market_thermal_energy_use

  • Type: number (evaluated)
  • Required: Yes

data_quality_flags

  • Type: Array (evaluated)
  • Required: Yes

Field-level data quality flags raised by rows attributed to this facility type — for example a negative reported value or an implausibly high LNG figure on one of its energy sources.

Assessment-wide flags (such as an implausible total energy figure) are not repeated here, because they belong to no single facility type. Use pass_data_quality, which carries the assessment-wide verdict onto every row, to filter; use this field to diagnose which facility type the field-level problems came from.

Consequently this list can be empty while pass_data_quality is false — the failure belongs to the assessment or to a sibling facility type.

facility_type_display

  • Type: string (evaluated)
  • Required: Yes

The display name for the facility type.

facility_type_key

  • Type: string
  • Required: Yes

The facility type key.

industry_sector_displays

  • Type: Array (evaluated)
  • Required: No

A list of industry sector display names applicable to the assessment.

industry_sector_keys

  • Type: Array (evaluated)
  • Required: No

A list of industry sector keys applicable to the assessment.

industry_strategic_supplier

  • Type: boolean (evaluated)
  • Required: Yes

A boolean indicating whether the facility qualifies as an industry strategic supplier for the cadence, based on whether total location-based emissions meet or exceed the published cutoff.

location_eeci

  • Type: number (evaluated)
  • Required: No

Effective Energy Carbon Intensity (EECI) using location-based accounting.

location_eeci_zeb

  • Type: number (evaluated)
  • Required: No

Effective Energy Carbon Intensity (EECI) using location-based accounting, with zero emissions biogenic (ZEB) normalization.

market_eeci

  • Type: number (evaluated)
  • Required: No

Effective Energy Carbon Intensity (EECI) using market-based accounting.

market_eeci_zeb

  • Type: number (evaluated)
  • Required: No

Effective Energy Carbon Intensity (EECI) using market-based accounting, with zero emissions biogenic (ZEB) normalization.

pass_data_quality

  • Type: boolean (evaluated)
  • Required: Yes

A boolean indicating whether the assessment passes data quality checks.

production_volume

  • Type: number (evaluated)
  • Required: No

production_volume_unit

  • Type: string (evaluated)
  • Required: No

site_country_display

  • Type: string (evaluated)
  • Required: No

The display name for the site country.

site_country_key

  • Type: string (evaluated)
  • Required: No

Facility site country as provided in the FEM question sitecountry

For FEMs prior to FEM2020 the value has been changed from the number originally used to strings consistent with those used in later FEMs.

tier

  • Type: string (evaluated)
  • Required: No

The tier associated with the facility type.

total_location_biogenic_emissions

  • Type: number (evaluated)
  • Required: Yes

Total biogenic emissions in kgCO2e using location-based accounting for scope 2.

total_location_coal_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total coal energy use in MJ using location-based accounting for scope 2.

total_location_electric_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total electric energy use in MJ using location-based accounting for scope 2.

total_location_emissions

  • Type: number (evaluated)
  • Required: Yes

Total emissions in kgCO2e using location-based accounting for scope 2, excluding biogenic emissions.

total_location_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total energy use in MJ using location-based accounting for scope 2.

total_location_renewable_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total renewable energy use in MJ using location-based accounting for scope 2.

total_location_thermal_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total thermal energy use in MJ using location-based accounting for scope 2.

total_market_biogenic_emissions

  • Type: number (evaluated)
  • Required: Yes

Total biogenic emissions in kgCO2e using market-based accounting for scope 2.

total_market_coal_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total coal energy use in MJ using market-based accounting for scope 2.

total_market_electric_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total electric energy use in MJ using market-based accounting for scope 2.

total_market_emissions

  • Type: number (evaluated)
  • Required: Yes

Total emissions in kgCO2e using market-based accounting for scope 2, excluding biogenic emissions.

total_market_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total energy use in MJ using market-based accounting for scope 2.

total_market_renewable_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total renewable energy use in MJ using market-based accounting for scope 2.

total_market_thermal_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total thermal energy use in MJ using market-based accounting for scope 2.

total_reported_energy_use

  • Type: number (evaluated)
  • Required: Yes

Total energy use as reported by the facility in MJ.

Fep

facility_type_displays

  • Type: Array (evaluated)
  • Required: No

A list of facility type display names applicable to the assessment.

facility_type_keys

  • Type: Array (evaluated)
  • Required: Yes

A list of facility type keys applicable to the assessment.

industry_sector_displays

  • Type: Array (evaluated)
  • Required: No

A list of industry sector display names applicable to the assessment.

industry_sector_keys

  • Type: Array (evaluated)
  • Required: No

A list of industry sector keys applicable to the assessment.

industry_strategic_supplier

  • Type: boolean (evaluated)
  • Required: Yes

A boolean indicating whether the facility qualifies as an industry strategic supplier for the cadence, based on whether total location-based emissions meet or exceed the published cutoff.

logic

  • Type: boolean (evaluated)
  • Required: No

ref_id

  • Type: string
  • Required: Yes

site_country_display

  • Type: string (evaluated)
  • Required: No

The display name for the site country.

site_country_key

  • Type: string (evaluated)
  • Required: No

Facility site country as provided in the FEM question sitecountry

For FEMs prior to FEM2020 the value has been changed from the number originally used to strings consistent with those used in later FEMs.

tiers

  • Type: Array (evaluated)
  • Required: No

A list of tiers applicable to the assessment, based on facility type.

GridEmissionFactor

Country grid emission factors (kg CO2e / MJ of purchased electricity), cadence-scoped via each member’s cadences list.

factor is the location-based grid average. market_factor is the market-based residual-mix factor for the same grid — set only where a residual mix is published; everywhere else market-based accounting falls back to the location factor (Grid.market_factor in emissions.py implements the fallback). The market factor feeds the extras/GHGP reporting layer only — never the in-assessment FEM Calculations, which stay location-based.

Join contract: the block name is the Country OptionIndex name in assessments/<rfi>/options/sitecountry answers join by exact string match. display doubles as the country display map (with legacy_id covering the pre-fem2020 numeric-id indirection).

LICENSING: the factors derive from IEA data under license — do not republish them outside the compiled assessment artifacts.

This file is the source of truth. Business editing goes through the CMS Reference Data app (stl-cms-server); _scripts/new_cadence handles the annual cadence roll-forward via stl-edit bump-cadence.

cadences

  • Type: array
  • Required: Yes

country

  • Type: string
  • Required: Yes

factor

  • Type: string
  • Required: Yes

market_factor

  • Type: string
  • Required: No

IssCutoff

Industry strategic-supplier cutoffs: the annual production-volume threshold per cadence (block name = cadence). Consumers fall back to the most recent cadence when the current one has no block.

This file is the source of truth. Business editing goes through the CMS Reference Data app (stl-cms-server); _scripts/new_cadence rolls the cutoff forward each year.

cutoff

  • Type: string
  • Required: Yes

JSONUtil

Utility type for storing and referencing compile time JSON data.

Unlikely to be reasonable to expose to users regardless of the value of _include

_include

  • Type: boolean
  • Required: Yes

value

  • Type: any
  • Required: Yes

JsValue

Utility type for intermediate calculations

Some JsValue types may be useful to users where _include is true. However, these are considered internal so not designed or documented for external consumption.

_include

  • Type: boolean
  • Required: Yes

key

  • Type: string
  • Required: Yes

value

  • Type: number (evaluated)
  • Required: No

Meta

A single workbook-meta key/value (workbook_version, cadence, etc.).

Value

  • Type: string
  • Required: No

OptionIndex

One row of an option group. The block name is the cell value emitted for the OPTIONNAME= row’s INDEX column.

alphabetize

  • Type: string
  • Required: No

conditional

  • Type: string (evaluated)
  • Required: No

display

  • Type: string
  • Required: Yes

emission_unit

  • Type: string
  • Required: No

member

  • Type: boolean
  • Required: No

option

  • Type: string
  • Required: Yes

tags

  • Type: object
  • Required: No

visible_if

  • Type: string
  • Required: No

OptionList

Parent declaration for a set of OptionIndex rows. Every OptionIndex block belongs to exactly one OptionList (declared in its option => { X } field). The OptionList block itself just declares the identifier; per-row data lives on the children. ContentDropdown / ContentCheckbox blocks reference an OptionList via their option_list field; Ref<OptionList> resolves the reference.

display

  • Type: string
  • Required: No

tags

  • Type: object
  • Required: No

Page

A page in the assessment UI. The block name is the page Id.

Conditional

  • Type: string (evaluated)
  • Required: No

Name

  • Type: string
  • Required: No

RootPage

  • Type: string
  • Required: No

VerificationOnly

  • Type: string
  • Required: No

Preview

fem2020-only preview / FEP question (separate sheet from content/{section}). Shape mirrors a generic ContentX but lives in its own sheet via the preview config entry.

answer_type

  • Type: string
  • Required: No

business_function

  • Type: string
  • Required: No

conditional

  • Type: string (evaluated)
  • Required: No

level

  • Type: string
  • Required: No

notes

  • Type: string
  • Required: No

option_list

  • Type: string
  • Required: No

optional

  • Type: string
  • Required: No

pv_group

  • Type: string
  • Required: No

pv_max

  • Type: string
  • Required: No

pv_min

  • Type: string
  • Required: No

pv_primary

  • Type: string
  • Required: No

pv_section

  • Type: string
  • Required: No

score_name

  • Type: string
  • Required: No

score_points

  • Type: string
  • Required: No

style

  • Type: string
  • Required: No

table

  • Type: string
  • Required: No

table_mapping

  • Type: string
  • Required: No

text

  • Type: string (markdown)
  • Required: No

tooltip

  • Type: string (markdown)
  • Required: No

Refrigerant

RefrigerantFactor

Refrigerant GWP factors (kg CO2e per kg released), cadence-scoped via each member’s cadences list.

Join contract: the block name is the RefrigTypes* OptionIndex name / AirRefrig TableIndex name in assessments/<rfi>/ — refrigerant answers join by exact string match. Displays live on those blocks; a factor member with no value means “applies, GWP unknown” and consumers treat it as zero.

This file is the source of truth. Business editing goes through the CMS Reference Data app (stl-cms-server); _scripts/new_cadence handles the annual cadence roll-forward via stl-edit bump-cadence.

cadences

  • Type: array
  • Required: Yes

notes

  • Type: string
  • Required: No

refrigerant

  • Type: string
  • Required: Yes

source

  • Type: string
  • Required: No

value

  • Type: string
  • Required: No

ReportedEnergyUse

Raw energy usage as reported by facilities in FEM.

Efficiency models, mappings for attributes such as EACs, and other transformations are not applied to this data. All reported energy usage is converted to MJ and remains otherwise as close as possible to the figures and attributes reported by the facilities.

coverage

  • Type: array
  • Required: Yes

The coverage of the energy use:

  • production: Energy used in the production process.
  • domestic: Energy used in on-site employee housing.
  • vehicle: Energy used in on-site vehicles.

energy_form

  • Type: string
  • Required: Yes

The form of energy, either ‘electric’ or ‘thermal’.

facility_type_displays

  • Type: Array (evaluated)
  • Required: No

A list of facility type display names applicable to the assessment.

facility_type_keys

  • Type: Array (evaluated)
  • Required: No

A list of facility type keys applicable to the assessment.

field_data_quality_flags

  • Type: Array (evaluated)
  • Required: Yes

Data quality flags specific to this field.

For example, if reported purchased renewables and reported EACs have the same value, or if reported LNG use is implausibly high.

industry_sector_displays

  • Type: Array (evaluated)
  • Required: No

A list of industry sector display names applicable to the assessment.

industry_sector_keys

  • Type: Array (evaluated)
  • Required: No

A list of industry sector keys applicable to the assessment.

industry_strategic_supplier

  • Type: boolean (evaluated)
  • Required: Yes

A boolean indicating whether the facility qualifies as an industry strategic supplier for the cadence, based on whether total location-based emissions meet or exceed the published cutoff.

pass_data_quality

  • Type: boolean (evaluated)
  • Required: Yes

A boolean indicating whether the assessment passes data quality checks.

reported_quantity

  • Type: number (evaluated)
  • Required: No

The quantity as the facility reported it, in reported_unit_key (value is this quantity converted to MJ).

reported_source_display

  • Type: string
  • Required: Yes

The display name for the reported energy source.

reported_source_key

  • Type: string
  • Required: Yes

The key for the energy source as reported by the facility.

reported_unit_key

  • Type: string (evaluated)
  • Required: No

The unit of measure the facility selected for this reported energy quantity, as the canonical option key (kWh, tonMetric, m3, …) — the same quantity value reports converted to MJ. Pre-fem2020 cadences stored per-kind option indices in the unit answer; those are resolved to canonical keys here (via the cadence’s unit_map), so the unit’s dimension is comparable across cadences — the signal cross-assessment data-quality rules need (proposals/crossAssessmentDataQuality.md §5: a volume-unit LNG figure next to newer mass-unit ones). undefined when the unit cell is unanswered.

scope

  • Type: string
  • Required: Yes

The GHG scope either one or two.

site_country_display

  • Type: string (evaluated)
  • Required: No

The display name for the site country.

site_country_key

  • Type: string (evaluated)
  • Required: No

Facility site country as provided in the FEM question sitecountry

For FEMs prior to FEM2020 the value has been changed from the number originally used to strings consistent with those used in later FEMs.

tiers

  • Type: Array (evaluated)
  • Required: No

A list of tiers applicable to the assessment, based on facility type.

unit

  • Type: string
  • Required: Yes

The unit of the energy use, hardcoded to mj.

value

  • Type: number (evaluated)
  • Required: No

The calculated energy use in MJ.

RollForward

Roll-forward mapping for a refid between cadences.

expression

  • Type: string (evaluated)
  • Required: No

source

  • Type: string
  • Required: No

type

  • Type: string
  • Required: No

variant

  • Type: string
  • Required: No

Score

Compile-time aggregator (current — fem2023+/brm2023+). tags carries section / level / pillar classification; applicability and function are the JEXL expressions evaluated against user data. description (fem2025+) and index (fem2025+) are optional sort / display metadata.

applicability

  • Type: string (evaluated)
  • Required: Yes

applicability_guidance

  • Type: string (markdown)
  • Required: No

description

  • Type: string (markdown)
  • Required: No

function

  • Type: string (evaluated)
  • Required: Yes

index

  • Type: string
  • Required: No

member

  • Type: boolean
  • Required: No

scoring_guidance

  • Type: string (markdown)
  • Required: No

tags

  • Type: object
  • Required: Yes

ScoreBRMv2

Legacy brm (2022) Score shape. v2 brm carried a wider question / guidance schema than fem v2 — separate Type to keep both sets of required fields enforceable.

applicability

  • Type: string
  • Required: Yes

applicability_guidance

  • Type: string (markdown)
  • Required: No

corrective_action

  • Type: string (markdown)
  • Required: No

criticality

  • Type: string
  • Required: Yes

function

  • Type: string
  • Required: Yes

function2

  • Type: string
  • Required: No

index

  • Type: string
  • Required: Yes

intent

  • Type: string (markdown)
  • Required: No

scoring_guidance

  • Type: string (markdown)
  • Required: No

tags

  • Type: object
  • Required: Yes

ScoreFEMv2

Legacy fem (2020-22) Score shape. Function-driven, no tags map; multiple statuses + CE / NL year-2x flags.

applicability

  • Type: string
  • Required: Yes

ce_10_1

  • Type: string
  • Required: No

function

  • Type: string (evaluated)
  • Required: Yes

function2

  • Type: string (evaluated)
  • Required: No

level

  • Type: string
  • Required: Yes

nl_10_6

  • Type: string
  • Required: No

status

  • Type: string
  • Required: Yes

ScoreWeight

A weight for a scoring attribute — used by score aggregation.

Value

  • Type: string
  • Required: No

Weight

  • Type: string
  • Required: No

Table

Parent / group declaration for a set of TableIndex rows. Every TableIndex block belongs to exactly one Table (declared in its table => { X } field). The Table block itself just declares the identifier; per-row data lives on the children. Mirrors Type Score as a sibling-grouping anchor that Ref<Table> resolves against.

display

  • Type: string
  • Required: No

tags

  • Type: object
  • Required: No

TableIndex

One row of a table group. The block name is emitted as the row’s Name column. Required across all cadences: table (parent group), index, index_name, display.

conditional

  • Type: string (evaluated)
  • Required: No

display

  • Type: string
  • Required: Yes

emissionsource

  • Type: string
  • Required: No

index

  • Type: string
  • Required: Yes

index_name

  • Type: string
  • Required: Yes

member

  • Type: boolean
  • Required: No

optional

  • Type: string (evaluated)
  • Required: No

table

  • Type: string
  • Required: Yes

table_mapping

  • Type: string
  • Required: No

tags

  • Type: object
  • Required: No

Tag

A tag pair — the block name is <keyId>-<valueId>. Provides display strings for both halves plus the filter / label flags.

isFilter

  • Type: string
  • Required: No

isLabel

  • Type: string
  • Required: No

keyDisplay

  • Type: string
  • Required: No

private

  • Type: string
  • Required: No

value

  • Type: string
  • Required: No

valueDisplay

  • Type: string
  • Required: No

VariantGuidance

Per-variant whole-body overrides for a question’s guidance (or, on html/validation rows, its body text) — the STL home of the mdx <name>Guidance frontmatter (fdmGuidance, fepGuidance, …). One field per CMS variant name a compile can answer to (variant_cms_names(): the variant plus its cmsVariant alias — fep serves fep_standalone). The closed set is the point: an undeclared name is a compile error, not a silently-inert key (the mdx conditionalityGuidance trap). Consumed by MContentBase via this.variant_guidance; see proposals/stlContentMigration.md §7.3.

above

  • Type: string (markdown)
  • Required: No

core

  • Type: string (markdown)
  • Required: No

demographics

  • Type: string (markdown)
  • Required: No

fdm

  • Type: string (markdown)
  • Required: No

fem

  • Type: string (markdown)
  • Required: No

fep

  • Type: string (markdown)
  • Required: No

fep_standalone

  • Type: string (markdown)
  • Required: No

foundation

  • Type: string (markdown)
  • Required: No

impact

  • Type: string (markdown)
  • Required: No

operations

  • Type: string (markdown)
  • Required: No

progressive

  • Type: string (markdown)
  • Required: No

targets

  • Type: string (markdown)
  • Required: No
Built 2026-09-11T17:30:30Z · commit b2a3151b6+ Source: .cache/guidance-build/ham/ham-v0.3.0/artifact/schema.md