SMART Base
0.2.0 - ci-build

This page is part of the SMART Base (v0.2.0: Releases Draft) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: SGRequirements

Official URL: http://smart.who.int/base/StructureDefinition/SGRequirements Version: 0.2.0
Draft as of 2025-04-02 Computable Name: SGRequirements

Smart Guidelines Requirements

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Requirements C 0..* Requirements A set of requirements - features of systems that are necessary
cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:satisfies 0..* Reference(SGRequirements) Extension
URL: http://smart.who.int/base/StructureDefinition/Satisfies
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:userstory 0..* (Complex) Extension
URL: http://smart.who.int/base/StructureDefinition/SGUserStory
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... name ΣC 1..1 string Name for this Requirements (computer friendly)
ele-1: All FHIR elements must have a @value or children
... title Σ 1..1 string Name for this Requirements (human friendly)
ele-1: All FHIR elements must have a @value or children
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (5.0.0) (required): The lifecycle status of an artifact.


ele-1: All FHIR elements must have a @value or children
... experimental Σ 1..1 boolean For testing purposes, not real usage
ele-1: All FHIR elements must have a @value or children
... description 1..1 markdown Natural language description of the requirements
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Requirements.statusrequiredPublicationStatus
http://hl7.org/fhir/5.0/ValueSet/publication-status|5.0.0

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningRequirementsName 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-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Requirements

NameFlagsCard.TypeDescription & Constraintsdoco
.. Requirements 0..* Requirements A set of requirements - features of systems that are necessary
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:satisfies 0..* Reference(SGRequirements) Extension
URL: http://smart.who.int/base/StructureDefinition/Satisfies
.... extension:userstory 0..* (Complex) Extension
URL: http://smart.who.int/base/StructureDefinition/SGUserStory
... name 1..1 string Name for this Requirements (computer friendly)
... title 1..1 string Name for this Requirements (human friendly)
... experimental 1..1 boolean For testing purposes, not real usage
... description 1..1 markdown Natural language description of the requirements
... statement
.... label 1..1 string Short Human label for this statement

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Requirements C 0..* Requirements A set of requirements - features of systems that are necessary
cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:satisfies 0..* Reference(SGRequirements) Extension
URL: http://smart.who.int/base/StructureDefinition/Satisfies
.... extension:userstory 0..* (Complex) Extension
URL: http://smart.who.int/base/StructureDefinition/SGUserStory
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... url ΣC 0..1 uri Canonical identifier for this Requirements, represented as a URI (globally unique)
cnl-1: URL should not contain | or # - these characters make processing canonical references problematic
... identifier Σ 0..* Identifier Additional identifier for the Requirements (business identifier)
... version Σ 0..1 string Business version of the Requirements
... versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: Version Algorithm (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name ΣC 1..1 string Name for this Requirements (computer friendly)
... title Σ 1..1 string Name for this Requirements (human friendly)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (5.0.0) (required): The lifecycle status of an artifact.

... experimental Σ 1..1 boolean For testing purposes, not real usage
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 1..1 markdown Natural language description of the requirements
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for Requirements (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1 markdown Why this Requirements is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel 0..1 string Copyright holder and year(s)
... derivedFrom Σ 0..* canonical(Requirements) Other set of Requirements this builds on
... reference 0..* url External artifact (rule/document etc. that) created this set of requirements
... actor 0..* canonical(ActorDefinition) Actor for these requirements
... statement 0..* BackboneElement Actual statement as markdown
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... key 1..1 id Key that identifies this statement
.... label 1..1 string Short Human label for this statement
.... conformance 0..* code SHALL | SHOULD | MAY | SHOULD-NOT
Binding: ConformanceExpectation (5.0.0) (required)
.... conditionality 0..1 boolean Set to true if requirements statement is conditional
.... requirement 1..1 markdown The actual requirement
.... derivedFrom 0..1 string Another statement this clarifies/restricts ([url#]key)
.... parent 0..1 string A larger requirement that this requirement helps to refine and enable
.... satisfiedBy 0..* url Design artifact that satisfies this requirement
.... reference 0..* url External artifact (rule/document etc. that) created this requirement
.... source 0..* Reference(CareTeam | Device | Group | HealthcareService | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Who asked for this statement

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Requirements.languagerequiredAllLanguages
http://hl7.org/fhir/5.0/ValueSet/all-languages|5.0.0
Requirements.versionAlgorithm[x]extensibleVersionAlgorithm
http://hl7.org/fhir/5.0/ValueSet/version-algorithm
Requirements.statusrequiredPublicationStatus
http://hl7.org/fhir/5.0/ValueSet/publication-status|5.0.0
Requirements.jurisdictionextensibleJurisdictionValueSet
http://hl7.org/fhir/5.0/ValueSet/jurisdiction
Requirements.statement.conformancerequiredConformanceExpectation
http://hl7.org/fhir/5.0/ValueSet/conformance-expectation|5.0.0

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningRequirementsName 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-1warningRequirements.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust 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 & Constraintsdoco
.. Requirements C 0..* Requirements A set of requirements - features of systems that are necessary
cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:satisfies 0..* Reference(SGRequirements) Extension
URL: http://smart.who.int/base/StructureDefinition/Satisfies
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:userstory 0..* (Complex) Extension
URL: http://smart.who.int/base/StructureDefinition/SGUserStory
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... name ΣC 1..1 string Name for this Requirements (computer friendly)
ele-1: All FHIR elements must have a @value or children
... title Σ 1..1 string Name for this Requirements (human friendly)
ele-1: All FHIR elements must have a @value or children
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (5.0.0) (required): The lifecycle status of an artifact.


ele-1: All FHIR elements must have a @value or children
... experimental Σ 1..1 boolean For testing purposes, not real usage
ele-1: All FHIR elements must have a @value or children
... description 1..1 markdown Natural language description of the requirements
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Requirements.statusrequiredPublicationStatus
http://hl7.org/fhir/5.0/ValueSet/publication-status|5.0.0

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningRequirementsName 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-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from Requirements

NameFlagsCard.TypeDescription & Constraintsdoco
.. Requirements 0..* Requirements A set of requirements - features of systems that are necessary
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:satisfies 0..* Reference(SGRequirements) Extension
URL: http://smart.who.int/base/StructureDefinition/Satisfies
.... extension:userstory 0..* (Complex) Extension
URL: http://smart.who.int/base/StructureDefinition/SGUserStory
... name 1..1 string Name for this Requirements (computer friendly)
... title 1..1 string Name for this Requirements (human friendly)
... experimental 1..1 boolean For testing purposes, not real usage
... description 1..1 markdown Natural language description of the requirements
... statement
.... label 1..1 string Short Human label for this statement

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Requirements C 0..* Requirements A set of requirements - features of systems that are necessary
cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:satisfies 0..* Reference(SGRequirements) Extension
URL: http://smart.who.int/base/StructureDefinition/Satisfies
.... extension:userstory 0..* (Complex) Extension
URL: http://smart.who.int/base/StructureDefinition/SGUserStory
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... url ΣC 0..1 uri Canonical identifier for this Requirements, represented as a URI (globally unique)
cnl-1: URL should not contain | or # - these characters make processing canonical references problematic
... identifier Σ 0..* Identifier Additional identifier for the Requirements (business identifier)
... version Σ 0..1 string Business version of the Requirements
... versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: Version Algorithm (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name ΣC 1..1 string Name for this Requirements (computer friendly)
... title Σ 1..1 string Name for this Requirements (human friendly)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (5.0.0) (required): The lifecycle status of an artifact.

... experimental Σ 1..1 boolean For testing purposes, not real usage
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 1..1 markdown Natural language description of the requirements
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for Requirements (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1 markdown Why this Requirements is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel 0..1 string Copyright holder and year(s)
... derivedFrom Σ 0..* canonical(Requirements) Other set of Requirements this builds on
... reference 0..* url External artifact (rule/document etc. that) created this set of requirements
... actor 0..* canonical(ActorDefinition) Actor for these requirements
... statement 0..* BackboneElement Actual statement as markdown
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... key 1..1 id Key that identifies this statement
.... label 1..1 string Short Human label for this statement
.... conformance 0..* code SHALL | SHOULD | MAY | SHOULD-NOT
Binding: ConformanceExpectation (5.0.0) (required)
.... conditionality 0..1 boolean Set to true if requirements statement is conditional
.... requirement 1..1 markdown The actual requirement
.... derivedFrom 0..1 string Another statement this clarifies/restricts ([url#]key)
.... parent 0..1 string A larger requirement that this requirement helps to refine and enable
.... satisfiedBy 0..* url Design artifact that satisfies this requirement
.... reference 0..* url External artifact (rule/document etc. that) created this requirement
.... source 0..* Reference(CareTeam | Device | Group | HealthcareService | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Who asked for this statement

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Requirements.languagerequiredAllLanguages
http://hl7.org/fhir/5.0/ValueSet/all-languages|5.0.0
Requirements.versionAlgorithm[x]extensibleVersionAlgorithm
http://hl7.org/fhir/5.0/ValueSet/version-algorithm
Requirements.statusrequiredPublicationStatus
http://hl7.org/fhir/5.0/ValueSet/publication-status|5.0.0
Requirements.jurisdictionextensibleJurisdictionValueSet
http://hl7.org/fhir/5.0/ValueSet/jurisdiction
Requirements.statement.conformancerequiredConformanceExpectation
http://hl7.org/fhir/5.0/ValueSet/conformance-expectation|5.0.0

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningRequirementsName 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-1warningRequirements.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust 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