This
page
is
part
of
the
FHIR
Specification
(v5.0.0:
R5
-
STU
v6.0.0-ballot1:
Release
6
Ballot
(1st
Draft)
(see
Ballot
Notes
).
This
is
the
The
current
published
version
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
FHIR
Infrastructure
Work
Group
|
Maturity Level : N | Normative (from v4.2.0) | Security Category : N/A | Compartments : No defined compartments |
Common Interface declaration for conformance and knowledge artifact resources.
The CanonicalResource represents resources that have a canonical URL:
As an interface, this type is never created directly - see Resource Interfaces for more details.
This interface extends the base DomainResource . The following resources implement this interface:
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
«I» N | DomainResource |
Common
Interface
declaration
for
definitional
resources
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation Elements defined in Ancestor Resources: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
Σ C | 0..1 | uri |
Canonical
identifier
for
this
{{title}},
represented
as
an
absolute
URI
(globally
unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic |
|
Σ | 0..* | Identifier |
Additional
identifier
for
the
{{title}}
|
|
Σ | 0..1 | string |
Business
version
of
the
{{title}}
|
|
Σ | 0..1 |
How
to
compare
versions
Binding: Version Algorithm ( Extensible ) |
|
|
string | |||
|
Coding | |||
|
Σ C | 0..1 | string |
Name
for
this
{{title}}
(computer
friendly)
|
|
Σ | 0..1 | string |
Name
for
this
{{title}}
(human
friendly)
|
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
Binding: PublicationStatus ( Required ) |
|
Σ | 0..1 | boolean |
For
testing
purposes,
not
real
usage
|
|
Σ | 0..1 | dateTime |
Date
last
changed
|
|
Σ | 0..1 | string |
Name
of
the
publisher/steward
(organization
or
individual)
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
0..1 | markdown |
Natural
language
description
of
the
{{title}}
|
|
|
Σ | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ XD | 0..* | CodeableConcept |
Intended
jurisdiction
for
{{title}}
(if
applicable)
Binding: Jurisdiction ValueSet ( Extensible ) |
|
0..1 | markdown |
Why
this
{{title}}
is
defined
|
|
|
0..1 | markdown |
Use
and/or
publishing
restrictions
|
|
|
T | 0..1 | string |
Copyright
holder
and
year(s)
|
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
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 R4B as XML or JSON .
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
«I» N | DomainResource |
Common
Interface
declaration
for
definitional
resources
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation Elements defined in Ancestor Resources: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
Σ C | 0..1 | uri |
Canonical
identifier
for
this
{{title}},
represented
as
an
absolute
URI
(globally
unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic |
|
Σ | 0..* | Identifier |
Additional
identifier
for
the
{{title}}
|
|
Σ | 0..1 | string |
Business
version
of
the
{{title}}
|
|
Σ | 0..1 |
How
to
compare
versions
Binding: Version Algorithm ( Extensible ) |
|
|
string | |||
|
Coding | |||
|
Σ C | 0..1 | string |
Name
for
this
{{title}}
(computer
friendly)
|
|
Σ | 0..1 | string |
Name
for
this
{{title}}
(human
friendly)
|
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
Binding: PublicationStatus ( Required ) |
|
Σ | 0..1 | boolean |
For
testing
purposes,
not
real
usage
|
|
Σ | 0..1 | dateTime |
Date
last
changed
|
|
Σ | 0..1 | string |
Name
of
the
publisher/steward
(organization
or
individual)
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
0..1 | markdown |
Natural
language
description
of
the
{{title}}
|
|
|
Σ | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ XD | 0..* | CodeableConcept |
Intended
jurisdiction
for
{{title}}
(if
applicable)
Binding: Jurisdiction ValueSet ( Extensible ) |
|
0..1 | markdown |
Why
this
{{title}}
is
defined
|
|
|
0..1 | markdown |
Use
and/or
publishing
restrictions
|
|
|
T | 0..1 | string |
Copyright
holder
and
year(s)
|
Documentation
for
this
format
|
||||
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 R4B as XML or JSON .
Additional definitions: Master Definition XML + JSON , the spreadsheet version & the dependency analysis
| Path | ValueSet | Type | Documentation |
|---|---|---|---|
| CanonicalResource.versionAlgorithm[x] | VersionAlgorithm | Extensible |
Indicates the mechanism used to compare versions to determine which is more current. |
| CanonicalResource.status | PublicationStatus | Required |
The lifecycle status of an artifact. |
| CanonicalResource.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
|
| 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 | CanonicalResource.url | URL should not contain | or # - these characters make processing canonical references problematic | exists() implies matches('^[^|# ]+$') |
All of the elements reflected on a canonical resource are the assertions as made by the original author/publisher and do NOT reflect divergent local usage expectations. If a system has a need to capture local usage requirements (e.g. local deprecation, local 'active' use past the point of deprecation/retirement by the official source, alternative effective periods, etc.), those assertions should be made in a separate resource (e.g. List , ArtifactAssessment , etc.) that focuses on approval/usage of referenced resources, not on the canonical/metadata resource itself. Alternatively, a separate resource might be defined that 'derives' from the original resource and can have its own properties.
There is however, a possibility of local changes on 'generated' elements such as ValueSet expansions, StructureDefinition snapshots, etc. In this case:
HL7
is
developing
a
Canonical
Resource
Management
implementation
guide
to
define
best
practices
for
asserting
and
exposing
local
usage
expectations
of
canonical
and
metadata
resources.
Readers
are
invited
to
consult
the
current
release
of
that
IG
for
additional
guidance.
Canonical
resources
may
have
both
a
version,
and
a
version
algorithm.
In
normal
usage,
implementers
are
strongly
recommended
to
version
all
the
canonical
resources
that
they
maintain.
The
difference
between
the
CanonicalResource
version
(business
version)
and
the
Resource
version
in
.meta.version
is
discussed
on
Resource
.
The version algorithm allows applications to choose the correct latest version of a resource, since there is no general algorithm that chooses the latest version across all versioning schemes in place.
Implementers are encouraged to use semantic versioning, but may have existing approaches that are already adopted.
Implementation Note: This mechanism we have for defining version comparison algorithm, where each version of the resource makes its own claim about how version comparison works is inelegant and feels somewhat clunky, but that was the best that the committee identified that would work in all circumstances. Alternative proposals that could be used to address the problem that would be less onerous are welcome.
Search parameters defined by this interface for all implementations. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description | Paths |
| context | token | A use context assigned to the {{title}} | {{name}}.useContext.valueCodeableConcept |
| context-quantity | quantity | A quantity- or range-valued use context assigned to the {{title}} | {{name}}.useContext.valueQuantity, {{name}}.useContext.valueRange |
| context-reference | reference | A use context reference assigned to the {{title}} | |
| context-type | token | A type of use context assigned to the {{title}} | {{name}}.useContext.code |
| context-type-quantity | composite | A use context type and quantity- or range-based value assigned to the {{title}} | |
| context-type-value | composite | A use context type and value assigned to the {{title}} | |
| date | date | The {{title}} publication date | {{name}}.date |
| description | string | The description of the {{title}} | {{name}}.description |
| identifier | token | External identifier for the {{title}} | {{name}}.identifier |
| jurisdiction | token | Intended jurisdiction for the {{title}} | {{name}}.jurisdiction |
| name | string | Computationally friendly name of the {{title}} | {{name}}.name |
| publisher | string | Name of the publisher of the {{title}} | {{name}}.publisher |
| status | token | The current status of the {{title}} | {{name}}.status |
| title | string | The human-friendly name of the {{title}} | {{name}}.title |
| url | uri | The uri that identifies the {{title}} | {{name}}.url |
| version | token | The business version of the {{title}} | {{name}}.version |