Framework
A framework: a set of rules for one domain, issued by a regulator, an industry body or an organization, such as AER Directive 038. It holds its policies, controls, periods and variables.
https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Framework.json
Fields
Every entity also has the fields of the Entity base. The first row lists them.
From the Entity baseidnamedescriptionidentifierslinkscreatedAtupdatedAt
idRequiredtextnot emptyThe record's id: unique within the document. Fields that point at the record hold this id.
nametextThe name people use for the record.
descriptiontextWhat the record is, in words.
identifiersList ofDatatypeIdentifierIds the record has in other systems.
linksList ofDatatypeLinkOpen-ended links to other records.
createdAtdate-time (RFC 3339)When the record was created, in its producer's system.
updatedAtdate-time (RFC 3339)When the record last changed, in its producer's system.
issuerWho issued the framework.
jurisdictionWhere the framework applies.
editiontextThe edition, as the issuer names it.
effectiveWhen this edition is in force.
citationThe published framework.
policiesList ofPartPolicyThe risks the framework manages.
controlsList ofPartControlThe controls the framework sets.
periodsList ofPartPeriodThe windows that repeat which its criteria use, such as night-time.
variablesList ofPartVariableIts limits and constants.
Links
Holds Parts this record embeds, with the field that holds each.
- PolicyPartpoliciesOne risk that a framework manages, and the criteria that manage it.
- ControlPartcontrolsA check on how an evaluation is done, which a framework sets, such as "a person approves each decision" or "measurements use a Class 1 meter". A mitigation is not a control: a barrier is a Structure, and a site's own limit is a criterion of its Permit.
- PeriodPartperiodsA recurring window in local time that a rule judges by, such as night-time from 22:00 to 07:00. A window whose end is not after its start runs past midnight.
- VariablePartvariablesA named Value or formula that criteria and steps refer to, such as a framework's limit or a method's parameter.
Points at Records whose ids this record holds, with the field that holds each.
- StakeholderEntityissuerA person or organization involved in a development, such as an operator, a consultant, a regulator or a resident.
- JurisdictionEntityjurisdictionAn area under one legal authority, such as a country, a province or a municipality. It decides which frameworks apply to the features in it.
Held by Records that embed this one, with their field that holds it.
Pointed at by Records that hold this one's id, with their field that holds it.
- AssessmentEntityframeworksAn evaluation of a development and its result, such as a noise impact assessment. It names its authors, scope and framework, the traces and evidence it rests on, and its conclusions. A trace is one run; an assessment can rest on many.
- FlowEntityframeworksThe steps of an evaluation and the edges between them. A flow can run another flow as one of its steps.
- RegulatorProfileEntityframeworkA framework written so that a program can run it. It names the framework, the flows that check it, who publishes it and its version. Its flows have no sealed steps, so any reader can run every rule.
- TraceEntityframeworkWhat one run of a flow or an algorithm did: what it used, each step, what it made, and the verdict. Its terms follow W3C PROV where they map: agents (prov:wasAssociatedWith), inputs (prov:used), outputs (prov:generated).
Examples
An id that another example defines opens that record.
Full example
{
"id": "framework-d038",
"name": "Directive 038: Noise Control",
"issuer": "stakeholder-aer",
"jurisdiction": "jurisdiction-ab",
"edition": "April 2024",
"citation": {
"title": "Directive 038: Noise Control",
"url": "https://www.aer.ca/regulating-development/rules-and-directives/directives/directive-038"
},
"periods": [
{
"id": "period-night",
"name": "Nighttime",
"timeZone": "America/Edmonton",
"windows": [
{
"start": "22:00",
"end": "07:00"
}
]
}
],
"variables": [
{
"id": "variable-bsl",
"name": "Basic sound level",
"value": {
"amount": 40,
"unit": "dB"
}
}
],
"policies": [
{
"id": "policy-noise",
"name": "Noise at dwellings",
"type": "objective"
}
]
}Show 1 more exampleHide the other example
Minimal example: the required fields only
{
"id": "framework-1"
}Changes and file
Changes
- 0.1.0 First version.
Schema file
Show the JSON SchemaHide the JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Framework.json",
"title": "Framework",
"description": "A framework: a set of rules for one domain, issued by a regulator, an industry body or an organization, such as AER Directive 038. It holds its policies, controls, periods and variables.",
"$ref": "Entity.json",
"type": "object",
"properties": {
"issuer": {
"type": "string",
"minLength": 1,
"x-ods-ref": "Stakeholder",
"description": "Who issued the framework."
},
"jurisdiction": {
"type": "string",
"minLength": 1,
"x-ods-ref": "Jurisdiction",
"description": "Where the framework applies."
},
"edition": {
"type": "string",
"description": "The edition, as the issuer names it."
},
"effective": {
"$ref": "Interval.json",
"description": "When this edition is in force."
},
"citation": {
"$ref": "Citation.json",
"description": "The published framework."
},
"policies": {
"type": "array",
"items": {
"$ref": "Policy.json"
},
"description": "The risks the framework manages."
},
"controls": {
"type": "array",
"items": {
"$ref": "Control.json"
},
"description": "The controls the framework sets."
},
"periods": {
"type": "array",
"items": {
"$ref": "Period.json"
},
"description": "The windows that repeat which its criteria use, such as night-time."
},
"variables": {
"type": "array",
"items": {
"$ref": "Variable.json"
},
"description": "Its limits and constants."
}
},
"patternProperties": {
"^x-": {}
},
"unevaluatedProperties": false,
"examples": [
{
"id": "framework-1"
},
{
"id": "framework-d038",
"name": "Directive 038: Noise Control",
"issuer": "stakeholder-aer",
"jurisdiction": "jurisdiction-ab",
"edition": "April 2024",
"citation": {
"title": "Directive 038: Noise Control",
"url": "https://www.aer.ca/regulating-development/rules-and-directives/directives/directive-038"
},
"periods": [
{
"id": "period-night",
"name": "Nighttime",
"timeZone": "America/Edmonton",
"windows": [
{
"start": "22:00",
"end": "07:00"
}
]
}
],
"variables": [
{
"id": "variable-bsl",
"name": "Basic sound level",
"value": {
"amount": 40,
"unit": "dB"
}
}
],
"policies": [
{
"id": "policy-noise",
"name": "Noise at dwellings",
"type": "objective"
}
]
}
],
"x-ods-status": "draft",
"x-ods-kind": "entity",
"x-ods-module": "core",
"x-ods-changes": {
"0.1.0": "First version."
}
}