SMART Base
0.3.0 - ci-build

SMART Base, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.3.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-base/ and changes regularly. See the Directory of published versions

Resource Profile: SMART Guidelines Requirements

Official URL: http://smart.who.int/base/StructureDefinition/SGRequirements Version: 0.3.0
Draft as of 2026-10-20 Computable Name: SGRequirements

Smart Guidelines Requirements

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Requirements C 0..* Requirements ​A set of requirements - features of systems that are necessary
Interfaces Implemented: http://hl7.org/fhir/StructureDefinition/CanonicalResource
Constraints: cnl-0
Requirements.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Requirements.contained 0..* Resource Contained, inline Resources
Requirements.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Requirements.Slices for extension.extension:task 0..* Coding Extension
URL: http://smart.who.int/base/StructureDefinition/SGTask
Requirements.Slices for extension.extension:satisfies 0..* Reference(SMART Guidelines Requirements) Extension
URL: http://smart.who.int/base/StructureDefinition/Satisfies
Requirements.Slices for extension.extension:userstory 0..* (Complex) Extension
URL: http://smart.who.int/base/StructureDefinition/SGUserStory
Requirements.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored
Requirements.name This element is included in summaries. C 1..1 string Name for this Requirements (computer friendly)
Requirements.title This element is included in summaries. 1..1 string Name for this Requirements (human friendly)
Requirements.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (5.0.0) (required): The lifecycle status of an artifact.
Requirements.experimental This element is included in summaries. 1..1 boolean For testing purposes, not real usage
Requirements.description 1..1 markdown Natural language description of the requirements

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Requirements.status Base required PublicationStatus 📍5.0.0 unknown?

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning Requirements Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
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()

This structure is derived from Requirements

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Requirements 0..* Requirements ​A set of requirements - features of systems that are necessary
Interfaces Implemented: http://hl7.org/fhir/StructureDefinition/CanonicalResource
Requirements.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Requirements.Slices for extension.extension:task 0..* Coding Extension
URL: http://smart.who.int/base/StructureDefinition/SGTask
Requirements.Slices for extension.extension:satisfies 0..* Reference(SMART Guidelines Requirements) Extension
URL: http://smart.who.int/base/StructureDefinition/Satisfies
Requirements.Slices for extension.extension:userstory 0..* (Complex) Extension
URL: http://smart.who.int/base/StructureDefinition/SGUserStory
Requirements.name 1..1 string Name for this Requirements (computer friendly)
Requirements.title 1..1 string Name for this Requirements (human friendly)
Requirements.experimental 1..1 boolean For testing purposes, not real usage
Requirements.description 1..1 markdown Natural language description of the requirements
Requirements.statement
Requirements.statement.label 1..1 string Short Human label for this statement

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Requirements C 0..* Requirements ​A set of requirements - features of systems that are necessary
Interfaces Implemented: http://hl7.org/fhir/StructureDefinition/CanonicalResource
Constraints: cnl-0
Requirements.id This element is included in summaries. 0..1 id Logical id of this artifact
Requirements.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Requirements.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Requirements.language 0..1 code Language of the resource content
Binding: AllLanguages (5.0.0) (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
Requirements.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Requirements.contained 0..* Resource Contained, inline Resources
Requirements.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Requirements.Slices for extension.extension:task 0..* Coding Extension
URL: http://smart.who.int/base/StructureDefinition/SGTask
Requirements.Slices for extension.extension:satisfies 0..* Reference(SMART Guidelines Requirements) Extension
URL: http://smart.who.int/base/StructureDefinition/Satisfies
Requirements.Slices for extension.extension:userstory 0..* (Complex) Extension
URL: http://smart.who.int/base/StructureDefinition/SGUserStory
Requirements.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored
Requirements.url This element is included in summaries. C 0..1 uri Canonical identifier for this Requirements, represented as a URI (globally unique)
Constraints: cnl-1
Requirements.identifier This element is included in summaries. 0..* Identifier Additional identifier for the Requirements (business identifier)
Requirements.version This element is included in summaries. 0..1 string Business version of the Requirements
Requirements.versionAlgorithm[x] This element is included in summaries. 0..1 How to compare versions
Binding: Version Algorithm (extensible)
Requirements.versionAlgorithm[x].versionAlgorithmString string
Requirements.versionAlgorithm[x].versionAlgorithmCoding Coding
Requirements.name This element is included in summaries. C 1..1 string Name for this Requirements (computer friendly)
Requirements.title This element is included in summaries. 1..1 string Name for this Requirements (human friendly)
Requirements.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (5.0.0) (required): The lifecycle status of an artifact.
Requirements.experimental This element is included in summaries. 1..1 boolean For testing purposes, not real usage
Requirements.date This element is included in summaries. 0..1 dateTime Date last changed
Requirements.publisher This element is included in summaries. 0..1 string Name of the publisher/steward (organization or individual)
Requirements.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
Requirements.description 1..1 markdown Natural language description of the requirements
Requirements.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
Requirements.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for Requirements (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
Requirements.purpose 0..1 markdown Why this Requirements is defined
Requirements.copyright 0..1 markdown Use and/or publishing restrictions
Requirements.copyrightLabel 0..1 string Copyright holder and year(s)
Requirements.derivedFrom This element is included in summaries. 0..* canonical(Requirements) Other set of Requirements this builds on
Requirements.reference 0..* url External artifact (rule/document etc. that) created this set of requirements
Requirements.actor 0..* canonical(ActorDefinition) Actor for these requirements
Requirements.statement 0..* BackboneElement Actual statement as markdown
Requirements.statement.id 0..1 string Unique id for inter-element referencing
Requirements.statement.extension 0..* Extension Additional content defined by implementations
Requirements.statement.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Requirements.statement.key 1..1 id Key that identifies this statement
Requirements.statement.label 1..1 string Short Human label for this statement
Requirements.statement.conformance 0..* code SHALL | SHOULD | MAY | SHOULD-NOT
Binding: ConformanceExpectation (5.0.0) (required)
Requirements.statement.conditionality 0..1 boolean Set to true if requirements statement is conditional
Requirements.statement.requirement 1..1 markdown The actual requirement
Requirements.statement.derivedFrom 0..1 string Another statement this clarifies/restricts ([url#]key)
Requirements.statement.parent 0..1 string A larger requirement that this requirement helps to refine and enable
Requirements.statement.satisfiedBy 0..* url Design artifact that satisfies this requirement
Requirements.statement.reference 0..* url External artifact (rule/document etc. that) created this requirement
Requirements.statement.source 0..* Reference(CareTeam | Device | Group | HealthcareService | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Who asked for this statement

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Requirements.language Base required All Languages 📍5.0.0 unknown?
Requirements.versionAlgorithm[x] Base extensible Version Algorithm ⏿5.0.0 unknown?
Requirements.status Base required PublicationStatus 📍5.0.0 unknown?
Requirements.jurisdiction Base extensible Jurisdiction ValueSet ⏿5.0.0 unknown?
Requirements.statement.​conformance Base required Conformance Expectation 📍5.0.0 unknown?

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning Requirements Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning Requirements.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
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()

This structure is derived from Requirements

Summary

Mandatory: 4 elements(1 nested mandatory element)
Must-Support: 1 element

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Requirements C 0..* Requirements ​A set of requirements - features of systems that are necessary
Interfaces Implemented: http://hl7.org/fhir/StructureDefinition/CanonicalResource
Constraints: cnl-0
Requirements.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Requirements.contained 0..* Resource Contained, inline Resources
Requirements.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Requirements.Slices for extension.extension:task 0..* Coding Extension
URL: http://smart.who.int/base/StructureDefinition/SGTask
Requirements.Slices for extension.extension:satisfies 0..* Reference(SMART Guidelines Requirements) Extension
URL: http://smart.who.int/base/StructureDefinition/Satisfies
Requirements.Slices for extension.extension:userstory 0..* (Complex) Extension
URL: http://smart.who.int/base/StructureDefinition/SGUserStory
Requirements.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored
Requirements.name This element is included in summaries. C 1..1 string Name for this Requirements (computer friendly)
Requirements.title This element is included in summaries. 1..1 string Name for this Requirements (human friendly)
Requirements.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (5.0.0) (required): The lifecycle status of an artifact.
Requirements.experimental This element is included in summaries. 1..1 boolean For testing purposes, not real usage
Requirements.description 1..1 markdown Natural language description of the requirements

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Requirements.status Base required PublicationStatus 📍5.0.0 unknown?

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning Requirements Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
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()

Differential View

This structure is derived from Requirements

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Requirements 0..* Requirements ​A set of requirements - features of systems that are necessary
Interfaces Implemented: http://hl7.org/fhir/StructureDefinition/CanonicalResource
Requirements.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Requirements.Slices for extension.extension:task 0..* Coding Extension
URL: http://smart.who.int/base/StructureDefinition/SGTask
Requirements.Slices for extension.extension:satisfies 0..* Reference(SMART Guidelines Requirements) Extension
URL: http://smart.who.int/base/StructureDefinition/Satisfies
Requirements.Slices for extension.extension:userstory 0..* (Complex) Extension
URL: http://smart.who.int/base/StructureDefinition/SGUserStory
Requirements.name 1..1 string Name for this Requirements (computer friendly)
Requirements.title 1..1 string Name for this Requirements (human friendly)
Requirements.status This element must be supported. 1..1 code draft | active | retired | unknown
Requirements.experimental 1..1 boolean For testing purposes, not real usage
Requirements.description 1..1 markdown Natural language description of the requirements
Requirements.statement
Requirements.statement.label 1..1 string Short Human label for this statement

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Requirements C 0..* Requirements ​A set of requirements - features of systems that are necessary
Interfaces Implemented: http://hl7.org/fhir/StructureDefinition/CanonicalResource
Constraints: cnl-0
Requirements.id This element is included in summaries. 0..1 id Logical id of this artifact
Requirements.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Requirements.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Requirements.language 0..1 code Language of the resource content
Binding: AllLanguages (5.0.0) (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
Requirements.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Requirements.contained 0..* Resource Contained, inline Resources
Requirements.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Requirements.Slices for extension.extension:task 0..* Coding Extension
URL: http://smart.who.int/base/StructureDefinition/SGTask
Requirements.Slices for extension.extension:satisfies 0..* Reference(SMART Guidelines Requirements) Extension
URL: http://smart.who.int/base/StructureDefinition/Satisfies
Requirements.Slices for extension.extension:userstory 0..* (Complex) Extension
URL: http://smart.who.int/base/StructureDefinition/SGUserStory
Requirements.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored
Requirements.url This element is included in summaries. C 0..1 uri Canonical identifier for this Requirements, represented as a URI (globally unique)
Constraints: cnl-1
Requirements.identifier This element is included in summaries. 0..* Identifier Additional identifier for the Requirements (business identifier)
Requirements.version This element is included in summaries. 0..1 string Business version of the Requirements
Requirements.versionAlgorithm[x] This element is included in summaries. 0..1 How to compare versions
Binding: Version Algorithm (extensible)
Requirements.versionAlgorithm[x].versionAlgorithmString string
Requirements.versionAlgorithm[x].versionAlgorithmCoding Coding
Requirements.name This element is included in summaries. C 1..1 string Name for this Requirements (computer friendly)
Requirements.title This element is included in summaries. 1..1 string Name for this Requirements (human friendly)
Requirements.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (5.0.0) (required): The lifecycle status of an artifact.
Requirements.experimental This element is included in summaries. 1..1 boolean For testing purposes, not real usage
Requirements.date This element is included in summaries. 0..1 dateTime Date last changed
Requirements.publisher This element is included in summaries. 0..1 string Name of the publisher/steward (organization or individual)
Requirements.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
Requirements.description 1..1 markdown Natural language description of the requirements
Requirements.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
Requirements.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for Requirements (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
Requirements.purpose 0..1 markdown Why this Requirements is defined
Requirements.copyright 0..1 markdown Use and/or publishing restrictions
Requirements.copyrightLabel 0..1 string Copyright holder and year(s)
Requirements.derivedFrom This element is included in summaries. 0..* canonical(Requirements) Other set of Requirements this builds on
Requirements.reference 0..* url External artifact (rule/document etc. that) created this set of requirements
Requirements.actor 0..* canonical(ActorDefinition) Actor for these requirements
Requirements.statement 0..* BackboneElement Actual statement as markdown
Requirements.statement.id 0..1 string Unique id for inter-element referencing
Requirements.statement.extension 0..* Extension Additional content defined by implementations
Requirements.statement.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Requirements.statement.key 1..1 id Key that identifies this statement
Requirements.statement.label 1..1 string Short Human label for this statement
Requirements.statement.conformance 0..* code SHALL | SHOULD | MAY | SHOULD-NOT
Binding: ConformanceExpectation (5.0.0) (required)
Requirements.statement.conditionality 0..1 boolean Set to true if requirements statement is conditional
Requirements.statement.requirement 1..1 markdown The actual requirement
Requirements.statement.derivedFrom 0..1 string Another statement this clarifies/restricts ([url#]key)
Requirements.statement.parent 0..1 string A larger requirement that this requirement helps to refine and enable
Requirements.statement.satisfiedBy 0..* url Design artifact that satisfies this requirement
Requirements.statement.reference 0..* url External artifact (rule/document etc. that) created this requirement
Requirements.statement.source 0..* Reference(CareTeam | Device | Group | HealthcareService | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Who asked for this statement

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Requirements.language Base required All Languages 📍5.0.0 unknown?
Requirements.versionAlgorithm[x] Base extensible Version Algorithm ⏿5.0.0 unknown?
Requirements.status Base required PublicationStatus 📍5.0.0 unknown?
Requirements.jurisdiction Base extensible Jurisdiction ValueSet ⏿5.0.0 unknown?
Requirements.statement.​conformance Base required Conformance Expectation 📍5.0.0 unknown?

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning Requirements Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning Requirements.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
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()

This structure is derived from Requirements

Summary

Mandatory: 4 elements(1 nested mandatory element)
Must-Support: 1 element

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron