This
page
is
part
of
the
FHIR
Specification
v6.0.0-ballot3:
Release
6
Ballot
(3rd
Draft)
(see
Ballot
Notes
).
The
current
version
is
5.0.0
.
For
a
full
list
Continuous
Integration
Build
of
available
versions,
see
FHIR
(will
be
incorrect/inconsistent
at
times).
See
the
Directory
of
published
versions
Responsible
Owner:
FHIR
Infrastructure
Work
Group
|
|
Security Category : Anonymous | Compartments : No defined compartments |
A set of requirements - a list of features or behaviors of designed systems that are necessary to achieve organizational or regulatory goals.
The Requirements Resource a set of statements that are requirements for some design artifact to meet. The requirements resource is intended to meet two principle use cases:
The Requirements Resource is focused on gathering known requirements and providing traceability from solutions to the requirements they are intended to meet.
In any set of requirements, some of them may already be met by preexisting specifications, while others are requirements that must be fulfilled by some specification or design that is created with or subsequent to the requirements. For this reason, requirements can directly identify features of specifications that satisfy the stated requirement, but in most cases, it is expected that the specifications and designs that meet the requirements will provice traceability to the requirement.
Each Requirements resource carries a set of statements about requirements. Each statement has:
Requirements may by referenced from almost any resource by the Requirements Satisfied extension. Generally, this extension will be found in the Canonical Resources but this is not a hard rule.
If
requirements
are
satisfied
by
an
existing
specification,
they
SHOULD
reference
a
FHIR
resource
by
{url}
or
a
particular
element
by
{url}#id
,
but
the
target
of
a
reference
does
not
need
to
be
a
resource
at
all.
The requirements resource carries minimal provenance information - the name of the publisher, and the source of the statements. Additional provenance information should be carried in a Provenance resource.
A number of stakeholders publishing FHIR implementation guides wish to do formal requirements tracing. This resource exists for them.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
Filter:
|
|---|---|---|---|---|
|
|
DomainResource |
A
set
of
requirements
-
features
of
systems
that
are
necessary
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation + Rule: Actor Keys must be unique Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension Interfaces Implemented: CanonicalResource |
|
|
Σ C | 0..1 | uri |
Canonical
identifier
for
this
Requirements,
represented
as
a
URI
(globally
unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic |
|
Σ | 0..* | Identifier |
Additional
identifier
for
the
Requirements
(business
identifier)
|
|
Σ | 0..1 | string |
Business
version
of
the
Requirements
|
|
Σ | 0..1 |
How
to
compare
versions
Binding: Version Algorithm ( Extensible ) |
|
|
string | |||
|
Coding | |||
|
Σ C | 0..1 | string |
Name
for
this
Requirements
(computer
friendly)
|
|
Σ T | 0..1 | string |
Name
for
this
Requirements
(human
friendly)
|
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
Binding: PublicationStatus ( Required ) |
| Σ | 0..* | Coding |
High
level
categorization
of
Requirements
|
![]() ![]() |
Σ | 0..1 | boolean |
For
testing
only
-
never
for
real
usage
|
|
Σ | 0..1 | dateTime |
Date
last
changed
|
|
Σ T | 0..1 | string |
Name
of
the
publisher/steward
(organization
or
individual)
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
T | 0..1 | markdown |
Natural
language
description
of
the
requirements
|
|
Σ
|
0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ
|
0..* | CodeableConcept |
Jurisdiction
of
the
authority
that
maintains
the
Requirements
(if
applicable)
Binding: Jurisdiction ValueSet
(
Extensible
)
|
|
T | 0..1 | markdown |
Why
this
Requirements
is
defined
|
|
T | 0..1 | markdown |
Notice
about
intellectual
property
ownership,
can
include
restrictions
on
use
|
|
T | 0..1 | string |
Copyright
holder
and
year(s)
|
|
Σ | 0..* | canonical ( Requirements ) |
Other
set
of
Requirements
this
builds
on
|
|
Σ | 0..* | BackboneElement |
External
requirements
that
apply
here
|
|
Σ | 1..1 | canonical ( Requirements ) |
Source
of
imported
statements
|
|
0..* | id |
Statement
key
|
|
|
0..* | url |
External
artifact
(rule/document
etc.
that)
created
this
set
of
requirements
|
|
|
0..* | BackboneElement |
Actor
for
these
requirements
|
|
|
1..1 | canonical ( ActorDefinition ) |
Actor
referenced
|
|
|
0..1 | id |
Unique
label
for
actor
(used
in
statements)
|
|
|
0..* | BackboneElement |
Conformance
requirement
statement
|
|
|
1..1 | id |
Key
that
identifies
this
statement
|
|
|
T | 0..1 | string |
Short
Human
label
for
this
statement
|
|
0..* | code |
SHALL
|
SHOULD
|
MAY
|
SHOULD-NOT
|
SHALL-NOT
Binding: Conformance Expectation ( Required ) |
|
|
0..1 | boolean |
Set
to
true
if
requirements
statement
is
conditional
|
|
|
T | 1..1 | markdown |
The
actual
requirement
|
|
0..1 | BackboneElement |
Another
statement
this
is
refining,
tightening,
or
establishing
more
context
for
|
|
|
0..1 | canonical ( Requirements ) |
Pointer
to
Requirements
instance
|
|
|
1..1 | id |
Key
of
referenced
statement
|
|
|
0..1 | BackboneElement |
Higher-level
requirement
or
statement
which
this
is
a
logical
sub-requirement
of
|
|
|
0..1 | canonical ( Requirements ) |
Pointer
to
Requirements
instance
|
|
|
1..1 | id |
Key
of
referenced
statement
|
|
|
0..* | url |
Design
artifact
that
satisfies
this
requirement
|
|
|
0..* | url |
External
artifact
(rule/document
etc.
that)
created
this
requirement
|
|
|
0..* | Reference ( CareTeam | Device | Group | HealthcareService | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson ) |
Who
asked
for
this
statement
|
|
|
C | 0..* | id |
Key
of
relevant
actor
+ Rule: Statement Actors must match a defined actor |
Documentation
for
this
format
|
||||
See the Extensions for this resource
UML Diagram ( Legend )
XML Template
<Requirements xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <url value="[uri]"/><!-- 0..1 Canonical identifier for this Requirements, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the Requirements (business identifier) --></identifier> <version value="[string]"/><!-- 0..1 Business version of the Requirements --> <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 0..1 Name for this Requirements (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this Requirements (human friendly) --> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <category><!-- 0..* Coding High level categorization of Requirements --></category> <experimental value="[boolean]"/><!-- 0..1 For testing only - never for real usage --> <date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the requirements --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
<</jurisdiction><jurisdiction><!-- 0..* CodeableConcept Jurisdiction of the authority that maintains the Requirements (if applicable)--></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this Requirements is defined -->
< <<copyright value="[markdown]"/><!-- 0..1 Notice about intellectual property ownership, can include restrictions on use --> <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) --> <derivedFrom><!-- 0..* canonical(Requirements) Other set of Requirements this builds on --></derivedFrom> <imports> <!-- 0..* External requirements that apply here --> <reference><!-- 1..1 canonical(Requirements) Source of imported statements --></reference> <key value="[id]"/><!-- 0..* Statement key --> </imports> <reference value="[url]"/><!-- 0..* External artifact (rule/document etc. that) created this set of requirements --> <actor> <!-- 0..* Actor for these requirements --> <reference><!-- 1..1 canonical(ActorDefinition) Actor referenced --></reference> <key value="[id]"/><!-- 0..1 Unique label for actor (used in statements) --> </actor><<statement> <!-- 0..* Conformance requirement statement --> <key value="[id]"/><!-- 1..1 Key that identifies this statement --> <label value="[string]"/><!-- 0..1 Short Human label for this statement --> <conformance value="[code]"/><!-- 0..* SHALL | SHOULD | MAY | SHOULD-NOT | SHALL-NOT --><<conditionality value="[boolean]"/><!-- 0..1 Set to true if requirements statement is conditional --> <requirement value="[markdown]"/><!-- 1..1 The actual requirement --> <derivedFrom> <!-- 0..1 Another statement this is refining, tightening, or establishing more context for --> <reference><!-- 0..1 canonical(Requirements) Pointer to Requirements instance --></reference> <key value="[id]"/><!-- 1..1 Key of referenced statement --> </derivedFrom> <partOf> <!-- 0..1 Higher-level requirement or statement which this is a logical sub-requirement of --> <reference><!-- 0..1 canonical(Requirements) Pointer to Requirements instance --></reference> <key value="[id]"/><!-- 1..1 Key of referenced statement --> </partOf><<satisfiedBy value="[url]"/><!-- 0..* Design artifact that satisfies this requirement --> <reference value="[url]"/><!-- 0..* 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 --></source> <actor value="[id]"/><!-- 0..* Key of relevant actor --> </statement> </Requirements>
JSON Template
{
"resourceType" : "Requirements",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"url" : "<uri>", // Canonical identifier for this Requirements, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the Requirements (business identifier)
"version" : "<string>", // Business version of the Requirements
// versionAlgorithm[x]: How to compare versions. One of these 2:
"versionAlgorithmString" : "<string>",
"versionAlgorithmCoding" : { Coding },
"name" : "<string>", // I Name for this Requirements (computer friendly)
"title" : "<string>", // Name for this Requirements (human friendly)
"status" : "<code>", // R! draft | active | retired | unknown
"category" : [{ Coding }], // High level categorization of Requirements
"experimental" : <boolean>, // For testing only - never for real usage
"date" : "<dateTime>", // Date last changed
"publisher" : "<string>", // Name of the publisher/steward (organization or individual)
"contact" : [{ ContactDetail }], // Contact details for the publisher
"description" : "<markdown>", // Natural language description of the requirements
"useContext" : [{ UsageContext }], // The context that the content is intended to support
"
"jurisdiction" : [{ CodeableConcept }], // Jurisdiction of the authority that maintains the Requirements (if applicable)
"purpose" : "<markdown>", // Why this Requirements is defined
"
"
"copyright" : "<markdown>", // Notice about intellectual property ownership, can include restrictions on use
"copyrightLabel" : "<string>", // Copyright holder and year(s)
"derivedFrom" : ["<canonical(Requirements)>"], // Other set of Requirements this builds on
"imports" : [{ // External requirements that apply here
"reference" : "<canonical(Requirements)>", // R! Source of imported statements
"key" : ["<id>"] // Statement key
}],
"reference" : ["<url>"], // External artifact (rule/document etc. that) created this set of requirements
"actor" : [{ // Actor for these requirements
"reference" : "<canonical(ActorDefinition)>", // R! Actor referenced
"key" : "<id>" // Unique label for actor (used in statements)
}],
"
"statement" : [{ // Conformance requirement statement
"key" : "<id>", // R! Key that identifies this statement
"label" : "<string>", // Short Human label for this statement
"conformance" : ["<code>"], // SHALL | SHOULD | MAY | SHOULD-NOT | SHALL-NOT
"
"conditionality" : <boolean>, // Set to true if requirements statement is conditional
"requirement" : "<markdown>", // R! The actual requirement
"derivedFrom" : { // Another statement this is refining, tightening, or establishing more context for
"reference" : "<canonical(Requirements)>", // Pointer to Requirements instance
"key" : "<id>" // R! Key of referenced statement
},
"partOf" : { // Higher-level requirement or statement which this is a logical sub-requirement of
"reference" : "<canonical(Requirements)>", // Pointer to Requirements instance
"key" : "<id>" // R! Key of referenced statement
},
"
"satisfiedBy" : ["<url>"], // Design artifact that satisfies this requirement
"reference" : ["<url>"], // External artifact (rule/document etc. that) created this requirement
"source" : [{ Reference(CareTeam|Device|Group|HealthcareService|
Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }], // Who asked for this statement
"actor" : ["<id>"] // Key of relevant actor
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Requirements; fhir:nodeRole fhir:treeRoot; # if this is the parser root
# from # from# from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension fhir:url [ uri ] ; # 0..1 Canonical identifier for this Requirements, represented as a URI (globally unique) fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the Requirements (business identifier) fhir:version [ string ] ; # 0..1 Business version of the Requirements # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2fhir: ]fhir:versionAlgorithm [ a fhir:String ; string ] fhir:versionAlgorithm [ a fhir:Coding ; Coding ] fhir:name [ string ] ; # 0..1 I Name for this Requirements (computer friendly) fhir:title [ string ] ; # 0..1 Name for this Requirements (human friendly) fhir:status [ code ] ; # 1..1 draft | active | retired | unknown fhir:category ( [ Coding ] ... ) ; # 0..* High level categorization of Requirements fhir:experimental [ boolean ] ; # 0..1 For testing only - never for real usage fhir:date [ dateTime ] ; # 0..1 Date last changed fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual) fhir:contact ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher fhir:description [ markdown ] ; # 0..1 Natural language description of the requirements fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to supportfhir:fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Jurisdiction of the authority that maintains the Requirements (if applicable) fhir:purpose [ markdown ] ; # 0..1 Why this Requirements is definedfhir: fhir:fhir:copyright [ markdown ] ; # 0..1 Notice about intellectual property ownership, can include restrictions on use fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s) fhir:derivedFrom ( [ canonical(Requirements) ] ... ) ; # 0..* Other set of Requirements this builds on fhir:imports ( [ # 0..* External requirements that apply here fhir:reference [ canonical(Requirements) ] ; # 1..1 Source of imported statements fhir:key ( [ id ] ... ) ; # 0..* Statement key ] ... ) ; fhir:reference ( [ url ] ... ) ; # 0..* External artifact (rule/document etc. that) created this set of requirements fhir:actor ( [ # 0..* Actor for these requirements fhir:reference [ canonical(ActorDefinition) ] ; # 1..1 Actor referenced fhir:key [ id ] ; # 0..1 Unique label for actor (used in statements) ] ... ) ;fhir:fhir:statement ( [ # 0..* Conformance requirement statement fhir:key [ id ] ; # 1..1 Key that identifies this statement fhir:label [ string ] ; # 0..1 Short Human label for this statement fhir:conformance ( [ code ] ... ) ; # 0..* SHALL | SHOULD | MAY | SHOULD-NOT | SHALL-NOTfhir:fhir:conditionality [ boolean ] ; # 0..1 Set to true if requirements statement is conditional fhir:requirement [ markdown ] ; # 1..1 The actual requirement fhir:derivedFrom [ # 0..1 Another statement this is refining, tightening, or establishing more context for fhir:reference [ canonical(Requirements) ] ; # 0..1 Pointer to Requirements instance fhir:key [ id ] ; # 1..1 Key of referenced statement ] ; fhir:partOf [ # 0..1 Higher-level requirement or statement which this is a logical sub-requirement of fhir:reference [ canonical(Requirements) ] ; # 0..1 Pointer to Requirements instance fhir:key [ id ] ; # 1..1 Key of referenced statement ] ;fhir:fhir:satisfiedBy ( [ url ] ... ) ; # 0..* Design artifact that satisfies this requirement fhir:reference ( [ url ] ... ) ; # 0..* External artifact (rule/document etc. that) created this requirement fhir:source ( [ Reference(CareTeam|Device|Group|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ] ... ) ; # 0..* Who asked for this statement fhir:actor ( [ id ] ... ) ; # 0..* Key of relevant actor ] ... ) ; ]
Changes from both R4 and R4B
This resource did not exist in Release R4
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON .
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
Filter:
|
|---|---|---|---|---|
|
|
DomainResource |
A
set
of
requirements
-
features
of
systems
that
are
necessary
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation + Rule: Actor Keys must be unique Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension Interfaces Implemented: CanonicalResource |
|
|
Σ C | 0..1 | uri |
Canonical
identifier
for
this
Requirements,
represented
as
a
URI
(globally
unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic |
|
Σ | 0..* | Identifier |
Additional
identifier
for
the
Requirements
(business
identifier)
|
|
Σ | 0..1 | string |
Business
version
of
the
Requirements
|
|
Σ | 0..1 |
How
to
compare
versions
Binding: Version Algorithm ( Extensible ) |
|
|
string | |||
|
Coding | |||
|
Σ C | 0..1 | string |
Name
for
this
Requirements
(computer
friendly)
|
|
Σ T | 0..1 | string |
Name
for
this
Requirements
(human
friendly)
|
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
Binding: PublicationStatus ( Required ) |
| Σ | 0..* | Coding |
High
level
categorization
of
Requirements
|
![]() ![]() |
Σ | 0..1 | boolean |
For
testing
only
-
never
for
real
usage
|
|
Σ | 0..1 | dateTime |
Date
last
changed
|
|
Σ T | 0..1 | string |
Name
of
the
publisher/steward
(organization
or
individual)
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
T | 0..1 | markdown |
Natural
language
description
of
the
requirements
|
|
Σ
|
0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ
|
0..* | CodeableConcept |
Jurisdiction
of
the
authority
that
maintains
the
Requirements
(if
applicable)
Binding: Jurisdiction ValueSet
(
Extensible
)
|
|
T | 0..1 | markdown |
Why
this
Requirements
is
defined
|
|
T | 0..1 | markdown |
Notice
about
intellectual
property
ownership,
can
include
restrictions
on
use
|
|
T | 0..1 | string |
Copyright
holder
and
year(s)
|
|
Σ | 0..* | canonical ( Requirements ) |
Other
set
of
Requirements
this
builds
on
|
|
Σ | 0..* | BackboneElement |
External
requirements
that
apply
here
|
|
Σ | 1..1 | canonical ( Requirements ) |
Source
of
imported
statements
|
|
0..* | id |
Statement
key
|
|
|
0..* | url |
External
artifact
(rule/document
etc.
that)
created
this
set
of
requirements
|
|
|
0..* | BackboneElement |
Actor
for
these
requirements
|
|
|
1..1 | canonical ( ActorDefinition ) |
Actor
referenced
|
|
|
0..1 | id |
Unique
label
for
actor
(used
in
statements)
|
|
|
0..* | BackboneElement |
Conformance
requirement
statement
|
|
|
1..1 | id |
Key
that
identifies
this
statement
|
|
|
T | 0..1 | string |
Short
Human
label
for
this
statement
|
|
0..* | code |
SHALL
|
SHOULD
|
MAY
|
SHOULD-NOT
|
SHALL-NOT
Binding: Conformance Expectation ( Required ) |
|
|
0..1 | boolean |
Set
to
true
if
requirements
statement
is
conditional
|
|
|
T | 1..1 | markdown |
The
actual
requirement
|
|
0..1 | BackboneElement |
Another
statement
this
is
refining,
tightening,
or
establishing
more
context
for
|
|
|
0..1 | canonical ( Requirements ) |
Pointer
to
Requirements
instance
|
|
|
1..1 | id |
Key
of
referenced
statement
|
|
|
0..1 | BackboneElement |
Higher-level
requirement
or
statement
which
this
is
a
logical
sub-requirement
of
|
|
|
0..1 | canonical ( Requirements ) |
Pointer
to
Requirements
instance
|
|
|
1..1 | id |
Key
of
referenced
statement
|
|
|
0..* | url |
Design
artifact
that
satisfies
this
requirement
|
|
|
0..* | url |
External
artifact
(rule/document
etc.
that)
created
this
requirement
|
|
|
0..* | Reference ( CareTeam | Device | Group | HealthcareService | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson ) |
Who
asked
for
this
statement
|
|
|
C | 0..* | id |
Key
of
relevant
actor
+ Rule: Statement Actors must match a defined actor |
Documentation
for
this
format
|
||||
See the Extensions for this resource
XML Template
<Requirements xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <url value="[uri]"/><!-- 0..1 Canonical identifier for this Requirements, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the Requirements (business identifier) --></identifier> <version value="[string]"/><!-- 0..1 Business version of the Requirements --> <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 0..1 Name for this Requirements (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this Requirements (human friendly) --> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <category><!-- 0..* Coding High level categorization of Requirements --></category> <experimental value="[boolean]"/><!-- 0..1 For testing only - never for real usage --> <date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the requirements --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
<</jurisdiction><jurisdiction><!-- 0..* CodeableConcept Jurisdiction of the authority that maintains the Requirements (if applicable)--></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this Requirements is defined -->
< <<copyright value="[markdown]"/><!-- 0..1 Notice about intellectual property ownership, can include restrictions on use --> <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) --> <derivedFrom><!-- 0..* canonical(Requirements) Other set of Requirements this builds on --></derivedFrom> <imports> <!-- 0..* External requirements that apply here --> <reference><!-- 1..1 canonical(Requirements) Source of imported statements --></reference> <key value="[id]"/><!-- 0..* Statement key --> </imports> <reference value="[url]"/><!-- 0..* External artifact (rule/document etc. that) created this set of requirements --> <actor> <!-- 0..* Actor for these requirements --> <reference><!-- 1..1 canonical(ActorDefinition) Actor referenced --></reference> <key value="[id]"/><!-- 0..1 Unique label for actor (used in statements) --> </actor><<statement> <!-- 0..* Conformance requirement statement --> <key value="[id]"/><!-- 1..1 Key that identifies this statement --> <label value="[string]"/><!-- 0..1 Short Human label for this statement --> <conformance value="[code]"/><!-- 0..* SHALL | SHOULD | MAY | SHOULD-NOT | SHALL-NOT --><<conditionality value="[boolean]"/><!-- 0..1 Set to true if requirements statement is conditional --> <requirement value="[markdown]"/><!-- 1..1 The actual requirement --> <derivedFrom> <!-- 0..1 Another statement this is refining, tightening, or establishing more context for --> <reference><!-- 0..1 canonical(Requirements) Pointer to Requirements instance --></reference> <key value="[id]"/><!-- 1..1 Key of referenced statement --> </derivedFrom> <partOf> <!-- 0..1 Higher-level requirement or statement which this is a logical sub-requirement of --> <reference><!-- 0..1 canonical(Requirements) Pointer to Requirements instance --></reference> <key value="[id]"/><!-- 1..1 Key of referenced statement --> </partOf><<satisfiedBy value="[url]"/><!-- 0..* Design artifact that satisfies this requirement --> <reference value="[url]"/><!-- 0..* 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 --></source> <actor value="[id]"/><!-- 0..* Key of relevant actor --> </statement> </Requirements>
JSON Template
{
"resourceType" : "Requirements",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"url" : "<uri>", // Canonical identifier for this Requirements, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the Requirements (business identifier)
"version" : "<string>", // Business version of the Requirements
// versionAlgorithm[x]: How to compare versions. One of these 2:
"versionAlgorithmString" : "<string>",
"versionAlgorithmCoding" : { Coding },
"name" : "<string>", // I Name for this Requirements (computer friendly)
"title" : "<string>", // Name for this Requirements (human friendly)
"status" : "<code>", // R! draft | active | retired | unknown
"category" : [{ Coding }], // High level categorization of Requirements
"experimental" : <boolean>, // For testing only - never for real usage
"date" : "<dateTime>", // Date last changed
"publisher" : "<string>", // Name of the publisher/steward (organization or individual)
"contact" : [{ ContactDetail }], // Contact details for the publisher
"description" : "<markdown>", // Natural language description of the requirements
"useContext" : [{ UsageContext }], // The context that the content is intended to support
"
"jurisdiction" : [{ CodeableConcept }], // Jurisdiction of the authority that maintains the Requirements (if applicable)
"purpose" : "<markdown>", // Why this Requirements is defined
"
"
"copyright" : "<markdown>", // Notice about intellectual property ownership, can include restrictions on use
"copyrightLabel" : "<string>", // Copyright holder and year(s)
"derivedFrom" : ["<canonical(Requirements)>"], // Other set of Requirements this builds on
"imports" : [{ // External requirements that apply here
"reference" : "<canonical(Requirements)>", // R! Source of imported statements
"key" : ["<id>"] // Statement key
}],
"reference" : ["<url>"], // External artifact (rule/document etc. that) created this set of requirements
"actor" : [{ // Actor for these requirements
"reference" : "<canonical(ActorDefinition)>", // R! Actor referenced
"key" : "<id>" // Unique label for actor (used in statements)
}],
"
"statement" : [{ // Conformance requirement statement
"key" : "<id>", // R! Key that identifies this statement
"label" : "<string>", // Short Human label for this statement
"conformance" : ["<code>"], // SHALL | SHOULD | MAY | SHOULD-NOT | SHALL-NOT
"
"conditionality" : <boolean>, // Set to true if requirements statement is conditional
"requirement" : "<markdown>", // R! The actual requirement
"derivedFrom" : { // Another statement this is refining, tightening, or establishing more context for
"reference" : "<canonical(Requirements)>", // Pointer to Requirements instance
"key" : "<id>" // R! Key of referenced statement
},
"partOf" : { // Higher-level requirement or statement which this is a logical sub-requirement of
"reference" : "<canonical(Requirements)>", // Pointer to Requirements instance
"key" : "<id>" // R! Key of referenced statement
},
"
"satisfiedBy" : ["<url>"], // Design artifact that satisfies this requirement
"reference" : ["<url>"], // External artifact (rule/document etc. that) created this requirement
"source" : [{ Reference(CareTeam|Device|Group|HealthcareService|
Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }], // Who asked for this statement
"actor" : ["<id>"] // Key of relevant actor
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Requirements; fhir:nodeRole fhir:treeRoot; # if this is the parser root
# from # from# from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension fhir:url [ uri ] ; # 0..1 Canonical identifier for this Requirements, represented as a URI (globally unique) fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the Requirements (business identifier) fhir:version [ string ] ; # 0..1 Business version of the Requirements # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2fhir: ]fhir:versionAlgorithm [ a fhir:String ; string ] fhir:versionAlgorithm [ a fhir:Coding ; Coding ] fhir:name [ string ] ; # 0..1 I Name for this Requirements (computer friendly) fhir:title [ string ] ; # 0..1 Name for this Requirements (human friendly) fhir:status [ code ] ; # 1..1 draft | active | retired | unknown fhir:category ( [ Coding ] ... ) ; # 0..* High level categorization of Requirements fhir:experimental [ boolean ] ; # 0..1 For testing only - never for real usage fhir:date [ dateTime ] ; # 0..1 Date last changed fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual) fhir:contact ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher fhir:description [ markdown ] ; # 0..1 Natural language description of the requirements fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to supportfhir:fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Jurisdiction of the authority that maintains the Requirements (if applicable) fhir:purpose [ markdown ] ; # 0..1 Why this Requirements is definedfhir: fhir:fhir:copyright [ markdown ] ; # 0..1 Notice about intellectual property ownership, can include restrictions on use fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s) fhir:derivedFrom ( [ canonical(Requirements) ] ... ) ; # 0..* Other set of Requirements this builds on fhir:imports ( [ # 0..* External requirements that apply here fhir:reference [ canonical(Requirements) ] ; # 1..1 Source of imported statements fhir:key ( [ id ] ... ) ; # 0..* Statement key ] ... ) ; fhir:reference ( [ url ] ... ) ; # 0..* External artifact (rule/document etc. that) created this set of requirements fhir:actor ( [ # 0..* Actor for these requirements fhir:reference [ canonical(ActorDefinition) ] ; # 1..1 Actor referenced fhir:key [ id ] ; # 0..1 Unique label for actor (used in statements) ] ... ) ;fhir:fhir:statement ( [ # 0..* Conformance requirement statement fhir:key [ id ] ; # 1..1 Key that identifies this statement fhir:label [ string ] ; # 0..1 Short Human label for this statement fhir:conformance ( [ code ] ... ) ; # 0..* SHALL | SHOULD | MAY | SHOULD-NOT | SHALL-NOTfhir:fhir:conditionality [ boolean ] ; # 0..1 Set to true if requirements statement is conditional fhir:requirement [ markdown ] ; # 1..1 The actual requirement fhir:derivedFrom [ # 0..1 Another statement this is refining, tightening, or establishing more context for fhir:reference [ canonical(Requirements) ] ; # 0..1 Pointer to Requirements instance fhir:key [ id ] ; # 1..1 Key of referenced statement ] ; fhir:partOf [ # 0..1 Higher-level requirement or statement which this is a logical sub-requirement of fhir:reference [ canonical(Requirements) ] ; # 0..1 Pointer to Requirements instance fhir:key [ id ] ; # 1..1 Key of referenced statement ] ;fhir:fhir:satisfiedBy ( [ url ] ... ) ; # 0..* Design artifact that satisfies this requirement fhir:reference ( [ url ] ... ) ; # 0..* External artifact (rule/document etc. that) created this requirement fhir:source ( [ Reference(CareTeam|Device|Group|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ] ... ) ; # 0..* Who asked for this statement fhir:actor ( [ id ] ... ) ; # 0..* Key of relevant actor ] ... ) ; ]
Changes from both R4 and R4B
This resource did not exist in Release R4
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON .
Additional definitions: Master Definition XML + JSON , XML Schema / Schematron + JSON Schema , ShEx (for Turtle ) , the spreadsheet version & the dependency analysis
| Path | ValueSet | Type | Documentation |
|---|---|---|---|
| Requirements.versionAlgorithm[x] | VersionAlgorithm | Extensible |
Indicates the mechanism used to compare versions to determine which is more current. |
| Requirements.status | PublicationStatus | Required |
The lifecycle status of an artifact. |
| Requirements.jurisdiction |
JurisdictionValueSet
|
Extensible |
This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used.
Note:
The
codes
for
countries
and
country
subdivisions
are
taken
from
ISO
3166
|
| Requirements.statement.conformance | ConformanceExpectation | Required |
Description Needed Here |
| UniqueKey | Level | Location | Description | Expression |
cnl-0
|
Warning | (base) | 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('^[^|# ]+$') |
req-1
|
Rule | (base) | Actor Keys must be unique | Requirements.actor.key.isDistinct() |
req-2
|
Rule | Requirements.statement.actor | Statement Actors must match a defined actor | $this in %resource.actor.key |
Search parameters for this resource. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description | Expression | In Common |
| actor | reference | An actor these requirements are for | Requirements.actor.reference | |
| context | token | A use context assigned to the requirements | (Requirements.useContext.value.ofType(CodeableConcept)) |
|
| context-quantity | quantity | A quantity- or range-valued use context assigned to the requirements | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) |
|
| context-type | token | A type of use context assigned to the requirements | Requirements.useContext.code |
|
| context-type-quantity | composite | A use context type and quantity- or range-based value assigned to the requirements |
On
Requirements.useContext:
context-type: code context-quantity: value.ofType(Quantity) | value.ofType(Range) |
|
| context-type-value | composite | A use context type and value assigned to the requirements |
On
Requirements.useContext:
context-type: code context: value.ofType(CodeableConcept) |
|
| date | date | The requirements publication date | Requirements.date |
|
| derived-from | reference | The requirements these are derived from |
Requirements.derivedFrom
( Requirements ) |
|
| description | string | The description of the requirements | Requirements.description |
|
| experimental | token | Whether the Requirements is experimental | Requirements.experimental | |
| identifier | token | External identifier for the requirements | Requirements.identifier |
|
| jurisdiction | token |
|
Requirements.jurisdiction |
|
| name | string | Computationally friendly name of the requirements | Requirements.name |
|
| publisher | string | Name of the publisher of the requirements | Requirements.publisher |
|
| status | token | The current status of the requirements | Requirements.status |
|
| title | string | The human-friendly name of the requirements | Requirements.title |
|
| url | uri | The uri that identifies the requirements | Requirements.url |
|
| version | token | The business version of the requirements | Requirements.version |
|