SMART Base
0.2.0 - ci-build
SMART Base, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.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
Official URL: http://smart.who.int/base/StructureDefinition/Requirements | Version: 0.2.0 | |||
Active as of 2025-10-14 | Computable Name: Requirements |
Logical Model for representing Functional and Non-Functional Requirements from a DAK. A high-level list of core functions and capabilities that the system must have to meet the end users' needs.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Base | Functional and Non-Functional Requirements (DAK) | |
![]() ![]() ![]() |
0..1 | Description | ||
![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() |
uri | |||
![]() ![]() ![]() |
0..* | BackboneElement | Functional Requirements | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
0..1 | canonical(Functional Requirement (DAK)) | Canonical | |
![]() ![]() ![]() ![]() |
0..1 | FunctionalRequirement | Instance | |
![]() ![]() ![]() |
0..* | BackboneElement | Non-Functional Requirements | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
0..1 | canonical(Non-Functional Requirement (DAK)) | Canonical | |
![]() ![]() ![]() ![]() |
0..1 | NonFunctionalRequirement | Instance | |
![]() |
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()
|
This structure is derived from Base
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Base | Functional and Non-Functional Requirements (DAK) | |
![]() ![]() ![]() |
0..1 | Description | ||
![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() |
uri | |||
![]() ![]() ![]() |
0..* | BackboneElement | Functional Requirements | |
![]() ![]() ![]() ![]() |
0..1 | canonical(Functional Requirement (DAK)) | Canonical | |
![]() ![]() ![]() ![]() |
0..1 | FunctionalRequirement | Instance | |
![]() ![]() ![]() |
0..* | BackboneElement | Non-Functional Requirements | |
![]() ![]() ![]() ![]() |
0..1 | canonical(Non-Functional Requirement (DAK)) | Canonical | |
![]() ![]() ![]() ![]() |
0..1 | NonFunctionalRequirement | Instance | |
![]() |
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Base | Functional and Non-Functional Requirements (DAK) | |
![]() ![]() ![]() |
0..1 | Description | ||
![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() |
uri | |||
![]() ![]() ![]() |
0..* | BackboneElement | Functional Requirements | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
0..1 | canonical(Functional Requirement (DAK)) | Canonical | |
![]() ![]() ![]() ![]() |
0..1 | FunctionalRequirement | Instance | |
![]() ![]() ![]() |
0..* | BackboneElement | Non-Functional Requirements | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
0..1 | canonical(Non-Functional Requirement (DAK)) | Canonical | |
![]() ![]() ![]() ![]() |
0..1 | NonFunctionalRequirement | Instance | |
![]() |
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()
|
This structure is derived from Base
Key Elements View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Base | Functional and Non-Functional Requirements (DAK) | |
![]() ![]() ![]() |
0..1 | Description | ||
![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() |
uri | |||
![]() ![]() ![]() |
0..* | BackboneElement | Functional Requirements | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
0..1 | canonical(Functional Requirement (DAK)) | Canonical | |
![]() ![]() ![]() ![]() |
0..1 | FunctionalRequirement | Instance | |
![]() ![]() ![]() |
0..* | BackboneElement | Non-Functional Requirements | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
0..1 | canonical(Non-Functional Requirement (DAK)) | Canonical | |
![]() ![]() ![]() ![]() |
0..1 | NonFunctionalRequirement | Instance | |
![]() |
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()
|
Differential View
This structure is derived from Base
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Base | Functional and Non-Functional Requirements (DAK) | |
![]() ![]() ![]() |
0..1 | Description | ||
![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() |
uri | |||
![]() ![]() ![]() |
0..* | BackboneElement | Functional Requirements | |
![]() ![]() ![]() ![]() |
0..1 | canonical(Functional Requirement (DAK)) | Canonical | |
![]() ![]() ![]() ![]() |
0..1 | FunctionalRequirement | Instance | |
![]() ![]() ![]() |
0..* | BackboneElement | Non-Functional Requirements | |
![]() ![]() ![]() ![]() |
0..1 | canonical(Non-Functional Requirement (DAK)) | Canonical | |
![]() ![]() ![]() ![]() |
0..1 | NonFunctionalRequirement | Instance | |
![]() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Base | Functional and Non-Functional Requirements (DAK) | |
![]() ![]() ![]() |
0..1 | Description | ||
![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() |
uri | |||
![]() ![]() ![]() |
0..* | BackboneElement | Functional Requirements | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
0..1 | canonical(Functional Requirement (DAK)) | Canonical | |
![]() ![]() ![]() ![]() |
0..1 | FunctionalRequirement | Instance | |
![]() ![]() ![]() |
0..* | BackboneElement | Non-Functional Requirements | |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
0..1 | canonical(Non-Functional Requirement (DAK)) | Canonical | |
![]() ![]() ![]() ![]() |
0..1 | NonFunctionalRequirement | Instance | |
![]() |
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()
|
This structure is derived from Base