John Moehrke Consent About AI
0.1.0 - ci-build International flag

John Moehrke Consent About AI, published by John Moehrke (Moehrke Research LLC). This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/JohnMoehrke/ConsentAboutAI/ and changes regularly. See the Directory of published versions

Extension: Permission Rule Limit

Official URL: http://johnmoehrke.github.io/ConsentAboutAI/StructureDefinition/permissionRuleLimit Version: 0.1.0
Draft as of 2026-02-11 Computable Name: PermissionRuleLimit

Extension to express the limit on the use of data for ML training to only de-identified data.

This extension should be used as a ModifierExtension as it is critical to the proper understanding of the consent. If the rule limit is not observed, then the consent is effectively not valid and should not be applied.

Context of Use

Usage info

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Extension Content

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension ?! 0..* Extension Permission Rule Limit
This is a modifier extension
... Slices for extension Content/Rules for all slices
.... extension:control 0..* Extension Coded restriction such as a refrain or obligation.
..... extension 0..0 Extension
..... url 1..1 uri "control"
..... value[x] 0..1 CodeableConcept Value of extension
Binding: SecurityControlObservationValue (preferred)
.... extension:tag 0..* Extension Meta.security tags to be applied to data that is used under this provision.
..... extension 0..0 Extension
..... url 1..1 uri "tag"
..... value[x] 0..1 CodeableConcept Value of extension
Binding: InformationSensitivityPolicy (preferred)
.... extension:element 0..* Extension Specific elements that must be redacted from the data.
..... extension 0..0 Extension
..... url 1..1 uri "element"
..... value[x] 0..1 string Value of extension
... url 1..1 uri "http://johnmoehrke.github.io/ConsentAboutAI/StructureDefinition/permissionRuleLimit"
... value[x] 0..0 Value of extension

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension ?! 0..* Extension Permission Rule Limit
This is a modifier extension
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... extension:control 0..* Extension Coded restriction such as a refrain or obligation.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "control"
..... value[x] 0..1 CodeableConcept Value of extension
Binding: SecurityControlObservationValue (preferred)
.... extension:tag 0..* Extension Meta.security tags to be applied to data that is used under this provision.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "tag"
..... value[x] 0..1 CodeableConcept Value of extension
Binding: InformationSensitivityPolicy (preferred)
.... extension:element 0..* Extension Specific elements that must be redacted from the data.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "element"
..... value[x] 0..1 string Value of extension
... url 1..1 uri "http://johnmoehrke.github.io/ConsentAboutAI/StructureDefinition/permissionRuleLimit"

doco Documentation for this format

This structure is derived from Extension

Summary

Complex Extension: Extension to express the limit on the use of data for ML training to only de-identified data. This extension should be used as a ModifierExtension as it is critical to the proper understanding of the consent. If the rule limit is not observed, then the consent is effectively not valid and should not be applied.

  • control: CodeableConcept: An Extension
  • tag: CodeableConcept: An Extension
  • element: string: An Extension

Differential View

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension ?! 0..* Extension Permission Rule Limit
This is a modifier extension
... Slices for extension Content/Rules for all slices
.... extension:control 0..* Extension Coded restriction such as a refrain or obligation.
..... extension 0..0 Extension
..... url 1..1 uri "control"
..... value[x] 0..1 CodeableConcept Value of extension
Binding: SecurityControlObservationValue (preferred)
.... extension:tag 0..* Extension Meta.security tags to be applied to data that is used under this provision.
..... extension 0..0 Extension
..... url 1..1 uri "tag"
..... value[x] 0..1 CodeableConcept Value of extension
Binding: InformationSensitivityPolicy (preferred)
.... extension:element 0..* Extension Specific elements that must be redacted from the data.
..... extension 0..0 Extension
..... url 1..1 uri "element"
..... value[x] 0..1 string Value of extension
... url 1..1 uri "http://johnmoehrke.github.io/ConsentAboutAI/StructureDefinition/permissionRuleLimit"
... value[x] 0..0 Value of extension

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension ?! 0..* Extension Permission Rule Limit
This is a modifier extension
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... extension:control 0..* Extension Coded restriction such as a refrain or obligation.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "control"
..... value[x] 0..1 CodeableConcept Value of extension
Binding: SecurityControlObservationValue (preferred)
.... extension:tag 0..* Extension Meta.security tags to be applied to data that is used under this provision.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "tag"
..... value[x] 0..1 CodeableConcept Value of extension
Binding: InformationSensitivityPolicy (preferred)
.... extension:element 0..* Extension Specific elements that must be redacted from the data.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "element"
..... value[x] 0..1 string Value of extension
... url 1..1 uri "http://johnmoehrke.github.io/ConsentAboutAI/StructureDefinition/permissionRuleLimit"

doco Documentation for this format

This structure is derived from Extension

Summary

Complex Extension: Extension to express the limit on the use of data for ML training to only de-identified data. This extension should be used as a ModifierExtension as it is critical to the proper understanding of the consent. If the rule limit is not observed, then the consent is effectively not valid and should not be applied.

  • control: CodeableConcept: An Extension
  • tag: CodeableConcept: An Extension
  • element: string: An Extension

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

Path Status Usage ValueSet Version Source
Extension.extension:control.​value[x] Base preferred SecurityControlObservationValue 📦3.0.0 THO v7.0
Extension.extension:tag.​value[x] Base preferred InformationSensitivityPolicy 📦3.0.0 THO v7.0

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()