This
page
is
part
of
the
FHIR
Specification
(v1.0.2:
DSTU
(v3.0.2:
STU
2).
3).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R3
R2
R3
R2
Orders
and
Observations
Work
Group
|
Maturity Level : 1 | Trial Use | Compartments : Not linked to any defined compartments |
The formal description of a single piece of information that can be gathered and reported.
DataElement
is
an
infrastructure
resource
that
supports
the
defining
individual
pieces
of
data
that
might
be
collected
or
stored.
While
these
definitions
might
apply
to
elements
found
in
FHIR
resources
and
profiles,
they
can
also
apply
to
questionnaire
questions,
elements
in
data
stores,
and
non-FHIR
specification
(
HL7
v2
,
CDA
,
CDISC,
etc.)
I.e.
the
definitions
aren't
FHIR-specific.
This resource covers two major use-cases:
The purpose of the first use-case is to allow systems to identify what types of lab orders, diagnostic studies and other types of observations may be requested or performed within a particular organization or other context. An ordering practitioner can query for a list of data elements by category name or other criteria and identify which, within a set of similar tests, they wish to request to be performed.
The focus of the second use-case is standardizing data capture and reporting. By defining standard names, data capture constraints, questions and other characteristics, the data gathered within and across organizations via questionnaires, as part of clinical studies, etc. can be made more consistent. When designing clinical studies, constructing questionnaires, building profiles or performing other tasks that involve determining what data will be captured or exchanged and how, designers can query to find pre-defined data element definitions they can leverage or map to. By encouraging consistency around data element definitions, data types, value sets, string lengths and other constraints, data becomes more easily exchangeable and comparable across systems. This benefits interoperability and clinical research. (For more discussion, see the section on standardization below.)
The scope covers base capabilities of the ISO 11179 Metadata Registries specification which defines DEs. It also covers observation definitions by ontologies such as LOINC. The term "observation" is interpreted in its broadest sense as "any element that might be thought of as the 'value' in a name-value pair". So it includes such concepts as patient gender, practitioner address and other data elements that would not typically be captured using the Observation resource.
This resource has significant overlap with StructureDefinition and Questionnaire .
StructureDefinition
also
defines
data
elements.
However,
it
does
so
only
in
the
context
of
FHIR-specific
artifacts
(FHIR
resources,
data
types
and
profiles).
As
well,
StructureDefinition
typically
identifies
a
number
of
data
elements
together
in
context.
DataElement
defines
only
a
single
data
element
and
it
does
so
in
a
manner
that
is
not
directly
tied
to
FHIR.
Data
elements
might
define
the
value
of
an
Observation
,
constrain
the
allowed
answer
to
a
question
in
a
Questionnaire
(including
providing
a
list
of
permitted
answers),
describe
the
permitted
value
captured
of
an
element
in
some
other
resource
(
Patient
,
FamilyMemberHistory
,
etc.)
or
even
used
outside
FHIR
entirely
in
a
CDA
document
or
HL7
v2
specification.
Questionnaire is to both define forms, surveys and other structures that can be filled out. Questionnaire also defines data elements. However, it does so only in the context of a particular questionnaire design. In contrast, DataElement is focused on defining data elements independent of their use in questionnaires and other structures. A single DataElement might be referenced in numerous Questionnaire s, or even potentially in multiple places within a single Questionnaire . This reference might either be implicit or may be explicit through an extension. (For implementability reasons, the data constraints should still be explicitly exposed within the Questionnaire rather than being included "by reference" to the DataElement .)
Note : Extensions on DataElement that define the characteristics of a data element will typically also be applicable to Profile 's ElementDefinition and Questionnaire 's Question data element as both are also used to define the characteristics of a data element.
DataElement differs from Observation in that it describes what kind of observations can occur, while Observation focuses on a specific observation of a specific subject at a particular time that has occurred.
ActivityDefinition defines actions that can occur. DataElement defines individual pieces of data that can be captured. An ActivityDefinition that is focused on capturing data might be linked to the DataElement that defines the data to be captured.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
DomainResource |
Resource
data
element
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
||
|
Σ | 0..1 | uri | Logical URI to reference this data element (globally unique) |
|
Σ | 0..* | Identifier |
Additional
identifier
for
the
data
element
|
|
Σ | 0..1 | string | Business version of the data element |
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
|
|
?! Σ | 0..1 | boolean | For testing purposes, not real usage |
| Σ | 0..1 | dateTime | Date this was last changed |
![]() ![]() |
Σ | 0..1 | string |
Name
of
the
publisher
|
|
Σ | 0..1 |
|
Name for this data element (computer friendly) |
|
Σ | 0..1 | string |
Name
|
|
Σ | 0..* |
|
Contact
details
for
|
|
Σ | 0..* |
|
Context
the
|
|
Σ | 0..* | CodeableConcept |
Intended
jurisdiction
for
data
element
(if
applicable)
|
|
0..1 |
|
Use and/or publishing restrictions | |
|
Σ | 0..1 | code |
comparable
|
fully-specified
|
equivalent
|
convertable
|
scaleable
|
flexible
DataElementStringency ( Required ) |
|
I | 0..* | BackboneElement |
External
specification
mapped
to
+ At least one of name or uri SHALL be present |
|
1..1 | id | Internal id when this mapping is used | |
|
0..1 | uri | Identifies what this mapping refers to | |
|
0..1 | string | Names what this mapping refers to | |
|
0..1 | string |
Versions,
|
|
|
Σ I | 1..* | ElementDefinition |
Definition
of
element
+ No base allowed + No slicing allowed |
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
<<DataElement xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
< <</identifier> < < < < < < < <</telecom> </contact> < <</useContext> < < < < < < <<url value="[uri]"/><!-- 0..1 Logical URI to reference this data element (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the data element --></identifier> <version value="[string]"/><!-- 0..1 Business version of the data element --> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage --> <date value="[dateTime]"/><!-- 0..1 Date this was last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) --> <name value="[string]"/><!-- 0..1 Name for this data element (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this data element (human friendly) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <useContext><!-- 0..* UsageContext Context the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for data element (if applicable) --></jurisdiction> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <stringency value="[code]"/><!-- 0..1 comparable | fully-specified | equivalent | convertable | scaleable | flexible --> <mapping> <!--0..* External specification mapped to --> <identity value="[id]"/><!-- 1..1 Internal id when this mapping is used --> <uri value="[uri]"/><!-- 0..1 Identifies what this mapping refers to --> <name value="[string]"/><!-- 0..1 Names what this mapping refers to --> <comment value="[string]"/><!-- 0..1 Versions, issues, scope limitations, etc. --> </mapping>
<</element><element><!-- 1..* ElementDefinition Definition of element --></element> </DataElement>
JSON Template
{ "resourceType" : "",{"resourceType" : "DataElement", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension
" " " " " " " " " " }], " " " " " " " " ""url" : "<uri>", // Logical URI to reference this data element (globally unique) "identifier" : [{ Identifier }], // Additional identifier for the data element "version" : "<string>", // Business version of the data element "status" : "<code>", // R! draft | active | retired | unknown "experimental" : <boolean>, // For testing purposes, not real usage "date" : "<dateTime>", // Date this was last changed "publisher" : "<string>", // Name of the publisher (organization or individual) "name" : "<string>", // Name for this data element (computer friendly) "title" : "<string>", // Name for this data element (human friendly) "contact" : [{ ContactDetail }], // Contact details for the publisher "useContext" : [{ UsageContext }], // Context the content is intended to support "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for data element (if applicable) "copyright" : "<markdown>", // Use and/or publishing restrictions "stringency" : "<code>", // comparable | fully-specified | equivalent | convertable | scaleable | flexible "mapping" : [{ // C? External specification mapped to "identity" : "<id>", // R! Internal id when this mapping is used "uri" : "<uri>", // Identifies what this mapping refers to "name" : "<string>", // Names what this mapping refers to "comment" : "<string>" // Versions, issues, scope limitations, etc. }],""element" : [{ ElementDefinition }] // R! Definition of element }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:DataElement; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:DataElement.url [ uri ]; # 0..1 Logical URI to reference this data element (globally unique) fhir:DataElement.identifier [ Identifier ], ... ; # 0..* Additional identifier for the data element fhir:DataElement.version [ string ]; # 0..1 Business version of the data element fhir:DataElement.status [ code ]; # 1..1 draft | active | retired | unknown fhir:DataElement.experimental [ boolean ]; # 0..1 For testing purposes, not real usage fhir:DataElement.date [ dateTime ]; # 0..1 Date this was last changed fhir:DataElement.publisher [ string ]; # 0..1 Name of the publisher (organization or individual) fhir:DataElement.name [ string ]; # 0..1 Name for this data element (computer friendly) fhir:DataElement.title [ string ]; # 0..1 Name for this data element (human friendly) fhir:DataElement.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:DataElement.useContext [ UsageContext ], ... ; # 0..* Context the content is intended to support fhir:DataElement.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for data element (if applicable) fhir:DataElement.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions fhir:DataElement.stringency [ code ]; # 0..1 comparable | fully-specified | equivalent | convertable | scaleable | flexible fhir:DataElement.mapping [ # 0..* External specification mapped to fhir:DataElement.mapping.identity [ id ]; # 1..1 Internal id when this mapping is used fhir:DataElement.mapping.uri [ uri ]; # 0..1 Identifies what this mapping refers to fhir:DataElement.mapping.name [ string ]; # 0..1 Names what this mapping refers to fhir:DataElement.mapping.comment [ string ]; # 0..1 Versions, issues, scope limitations, etc. ], ...; fhir:DataElement.element [ ElementDefinition ], ... ; # 1..* Definition of element ]
Changes since DSTU2
| DataElement | |
| DataElement.status |
|
| DataElement.experimental |
|
| DataElement.title |
|
| DataElement.contact |
|
| DataElement.useContext |
|
| DataElement.jurisdiction |
|
| DataElement.copyright |
|
| DataElement.mapping.comment |
|
| DataElement.contact.name |
|
| DataElement.contact.telecom |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
See R2 <--> R3 Conversion Maps (status = 4 tests that all execute ok. 1 fail round-trip testing and 2 r3 resources are invalid (4 errors). ).
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
DomainResource |
Resource
data
element
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
||
|
Σ | 0..1 | uri | Logical URI to reference this data element (globally unique) |
|
Σ | 0..* | Identifier |
Additional
identifier
for
the
data
element
|
|
Σ | 0..1 | string | Business version of the data element |
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
|
|
?! Σ | 0..1 | boolean | For testing purposes, not real usage |
| Σ | 0..1 | dateTime | Date this was last changed |
![]() ![]() |
Σ | 0..1 | string |
Name
of
the
publisher
|
|
Σ | 0..1 |
|
Name for this data element (computer friendly) |
|
Σ | 0..1 | string |
Name
|
|
Σ | 0..* |
|
Contact
details
for
|
|
Σ | 0..* |
|
Context
the
|
|
Σ | 0..* | CodeableConcept |
Intended
jurisdiction
for
data
element
(if
applicable)
|
|
0..1 |
|
Use and/or publishing restrictions | |
|
Σ | 0..1 | code |
comparable
|
fully-specified
|
equivalent
|
convertable
|
scaleable
|
flexible
DataElementStringency ( Required ) |
|
I | 0..* | BackboneElement |
External
specification
mapped
to
+ At least one of name or uri SHALL be present |
|
1..1 | id | Internal id when this mapping is used | |
|
0..1 | uri | Identifies what this mapping refers to | |
|
0..1 | string | Names what this mapping refers to | |
|
0..1 | string |
Versions,
|
|
|
Σ I | 1..* | ElementDefinition |
Definition
of
element
+ No base allowed + No slicing allowed |
Documentation
for
this
format
|
||||
XML Template
<<DataElement xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
< <</identifier> < < < < < < < <</telecom> </contact> < <</useContext> < < < < < < <<url value="[uri]"/><!-- 0..1 Logical URI to reference this data element (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the data element --></identifier> <version value="[string]"/><!-- 0..1 Business version of the data element --> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage --> <date value="[dateTime]"/><!-- 0..1 Date this was last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) --> <name value="[string]"/><!-- 0..1 Name for this data element (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this data element (human friendly) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <useContext><!-- 0..* UsageContext Context the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for data element (if applicable) --></jurisdiction> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <stringency value="[code]"/><!-- 0..1 comparable | fully-specified | equivalent | convertable | scaleable | flexible --> <mapping> <!--0..* External specification mapped to --> <identity value="[id]"/><!-- 1..1 Internal id when this mapping is used --> <uri value="[uri]"/><!-- 0..1 Identifies what this mapping refers to --> <name value="[string]"/><!-- 0..1 Names what this mapping refers to --> <comment value="[string]"/><!-- 0..1 Versions, issues, scope limitations, etc. --> </mapping>
<</element><element><!-- 1..* ElementDefinition Definition of element --></element> </DataElement>
JSON Template
{ "resourceType" : "",{"resourceType" : "DataElement", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension
" " " " " " " " " " }], " " " " " " " " ""url" : "<uri>", // Logical URI to reference this data element (globally unique) "identifier" : [{ Identifier }], // Additional identifier for the data element "version" : "<string>", // Business version of the data element "status" : "<code>", // R! draft | active | retired | unknown "experimental" : <boolean>, // For testing purposes, not real usage "date" : "<dateTime>", // Date this was last changed "publisher" : "<string>", // Name of the publisher (organization or individual) "name" : "<string>", // Name for this data element (computer friendly) "title" : "<string>", // Name for this data element (human friendly) "contact" : [{ ContactDetail }], // Contact details for the publisher "useContext" : [{ UsageContext }], // Context the content is intended to support "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for data element (if applicable) "copyright" : "<markdown>", // Use and/or publishing restrictions "stringency" : "<code>", // comparable | fully-specified | equivalent | convertable | scaleable | flexible "mapping" : [{ // C? External specification mapped to "identity" : "<id>", // R! Internal id when this mapping is used "uri" : "<uri>", // Identifies what this mapping refers to "name" : "<string>", // Names what this mapping refers to "comment" : "<string>" // Versions, issues, scope limitations, etc. }],""element" : [{ ElementDefinition }] // R! Definition of element }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:DataElement; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:DataElement.url [ uri ]; # 0..1 Logical URI to reference this data element (globally unique) fhir:DataElement.identifier [ Identifier ], ... ; # 0..* Additional identifier for the data element fhir:DataElement.version [ string ]; # 0..1 Business version of the data element fhir:DataElement.status [ code ]; # 1..1 draft | active | retired | unknown fhir:DataElement.experimental [ boolean ]; # 0..1 For testing purposes, not real usage fhir:DataElement.date [ dateTime ]; # 0..1 Date this was last changed fhir:DataElement.publisher [ string ]; # 0..1 Name of the publisher (organization or individual) fhir:DataElement.name [ string ]; # 0..1 Name for this data element (computer friendly) fhir:DataElement.title [ string ]; # 0..1 Name for this data element (human friendly) fhir:DataElement.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:DataElement.useContext [ UsageContext ], ... ; # 0..* Context the content is intended to support fhir:DataElement.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for data element (if applicable) fhir:DataElement.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions fhir:DataElement.stringency [ code ]; # 0..1 comparable | fully-specified | equivalent | convertable | scaleable | flexible fhir:DataElement.mapping [ # 0..* External specification mapped to fhir:DataElement.mapping.identity [ id ]; # 1..1 Internal id when this mapping is used fhir:DataElement.mapping.uri [ uri ]; # 0..1 Identifies what this mapping refers to fhir:DataElement.mapping.name [ string ]; # 0..1 Names what this mapping refers to fhir:DataElement.mapping.comment [ string ]; # 0..1 Versions, issues, scope limitations, etc. ], ...; fhir:DataElement.element [ ElementDefinition ], ... ; # 1..* Definition of element ]
Changes
since
DSTU2
| DataElement | |
| DataElement.status |
|
| DataElement.experimental |
|
| DataElement.title |
|
| DataElement.contact |
|
| DataElement.useContext |
|
| DataElement.jurisdiction |
|
| DataElement.copyright |
|
| DataElement.mapping.comment |
|
| DataElement.contact.name |
|
| DataElement.contact.telecom |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
See R2 <--> R3 Conversion Maps (status = 4 tests that all execute ok. 1 fail round-trip testing and 2 r3 resources are invalid (4 errors). ).
Alternate
definitions:
Schema
/
Schematron
,
Resource
Profile
Master
Definition
(
XML
,
JSON
),
Questionnaire
XML
Schema
/
Schematron
(for
)
+
JSON
Schema
,
ShEx
(for
Turtle
)
| Path | Definition | Type | Reference |
|---|---|---|---|
| DataElement.status | The lifecycle status of a Value Set or Concept Map. | Required |
|
| DataElement.jurisdiction |
|
Extensible |
|
| DataElement.stringency | Indicates the degree of precision of the data element definition. | Required | DataElementStringency |
on
on
on
DataElement.mapping:
uri.exists()
or
name.exists()
)
One
of
the
sources
of
the
DataElement
resource
definition
was
the
ISO
11179
Metadata
Registries
specification.
It
defines
a
logical
model
for
the
classification,
identification,
naming
and
registration
of
Data
Elements,
Data
Element
Concepts
and
their
associated
Value
and
Conceptual
Domains.
The
DataElement
resource
can
be
used
to
represent
both
Data_Element
and
Data_Element_Concept
in
the
ISO
logical
model.
(The
ValueSet
resource
provides
the
details
for
Value_Domain
and
Conceptual_Domain
for
enumerated
elements.)
The
determination
of
whether
a
DataElement
resource
instance
is
an
ISO
11179
Data_Element
or
Data_Element_Concept
is
determined
by
whether
the
type
property
is
specified
-
which
corresponds
to
the
ISO
property
Data_Element.domain.datatype
which
is
required
for
Data_Elements;
I.e.
if
DataElement.type
is
present,
the
instance
represents
a
11179
data
element.
If
DataElement.type
is
absent,
the
instance
represents
a
11179
data
element
concept.
Data_Elements.
Unlike the 11179 logical specification, the DataElement resource does not require a linkage from data element to a distinct data element concept, though this linkage can be established through an extension if desired. The typical means of identification of the data element concept is expected to instead occur through the mapping of the data element to a particular code or reference model that formally defines the concept. It is possible this reference model could be based on ISO's Object_Class and Property mechanism. However, mappings to other reference models are also possible, for example:
reference
model
logical
model
or
SNOMED
CT
In the event of multiple codes and/or mappings, the "authoritative" mapping (the one formally defining the concept) is identified by either setting the "primary" element on the code or by specifying the "primary mapping" ISO 11179 extension.
It
is
possible
to
create
instances
that
are
"conforming",
or
even
"strictly
conforming"
to
the
11179
specification.
However,
doing
so
will
require
the
use
of
extensions
to
convey
certain
properties
that
are
not
part
of
the
core
resource
and
data
types.
An
initial
starter
ISO
11179
profile
is
included
in
the
FHIR
specification.
It
defines
extensions
that
are
relevant
to
the
SDC
DataElement
profile.
If
there
is
sufficient
interest,
the
existing
starter
set
may
be
enhanced
to
contain
a
complete
set
of
extensions
and
a
full
11179
in
a
future
release
of
the
specification.
Data
elements
(and
their
registries)
and
codes
(and
their
code
systems)
serve
different
purposes.
Data
elements
describe
the
characteristics
of
a
piece
of
data
-
identifier,
name,
definition,
data
type,
length,
permitted
value
set,
usage
notes,
etc.
On
the
other
hand,
while
codes
describe
a
particular
concept
including
a
symbol
for
use
when
exchanging
the
concept,
display
names,
definitions
and
often
relationships
to
other
concepts.
There
is
a
subset
of
information
that
is
common
for
both
codes
and
data
elements
-
identifier,
name
and
definition.
Because
of
this,
a
list
of
data
elements
might
sometimes
be
seen
as
a
list
of
codes.
One
of
the
purposes
of
data
elements
is
to
define
variables,
observations,
or
questions
that
include
information
about
how
to
collect
a
variable's
value--including
information
about
data
types
and
guidance
about
the
use
of
about
answer
lists
and/or
units
of
measure.
This
function
is
typically
done
by
code
systems
such
as
LOINC
and
SNOMED
CT
.
(Note
that
LOINC
provides
considerable
detail
about
allowed
answers,
while
most
other
code
systems
such
as
SNOMED
CT
only
allow
identifying
the
question.)
It
would
be
possible
to
treat
a
registry
of
data
elements
using
a
common
identifier
system/namespace
as
a
code
system.
Similarly,
data
elements
can
be
mapped
to
each
other
(and
to
codes)
in
the
same
manner
as
codes
can
be
mapped
by
making
use
of
the
ConceptMap
resource.
That said, FHIR treats code systems as simple structures that provide identity, names and definitions. Code systems that provide significant additional detail (recommended doses for drugs, data types for data elements, etc.) are treated as a mix of a code system together with a supplementary resource to provide the details. Refer to the Code systems with detailed metadata section of ValueSet resource for additional discussion of the relationship between DataElement and code systems.
As noted in the introduction, one of the main purposes for the use of data elements is 'standardization' - gaining consistent (and thus comparable) data capture of data in questionnaires , observations and within other resources. However, merely defining data elements is not, in itself, sufficient to improve standardization. To ensure consistency of data, there needs to be several additional things:
Data Elements are a tool through which improved standardization can be achieved but without adequate processes, they will not achieve significant benefit.
Data elements can be defined at a wide variety of granularities. For example:
Coded data elements can be defined without value sets, with suggested value sets, with required but extensible value sets or with completely locked down value sets. Numeric values can be defined with or without allowed ranges. String data can be defined with or without patterns or lengths. All are valid data elements.
When defining data elements, it's important to decide what level of detail/granularity is appropriate for the intended purpose. The tighter the data element is defined, the greater interoperability of the data, however the smaller the set of systems that will be able to satisfy the constraints and the larger the number of data elements that will be required to cover a given domain. In some cases, multiple granularities may be appropriate, though this can introduce challenges in ensuring that the appropriate granularity is selected for a given use. As a rule, data elements should be defined as loosely as possible while still ensuring that all data captured using the data element will be sufficiently comparable to meet the needs of the group defining and using the data elements. A corollary to this is that data elements defined by one group will not always meet the needs of another group, even if they may be covering the same domain.
Two pieces of data don't necessarily need to be based on the same data element in order to be comparable or aggregatable. As noted above, it's possible for one data element to be a proper subset of another. In addition, it may be possible to convert data from being conformant with one data element to being conformant with another data element. This conversion could be lossless or may involve some loss of semantic precision. For example, a weight measurement captured in pounds can be seamlessly converted to kilograms. Similarly, coded data captured using one value set can be converted to another value set provided mappings are available. The nature of the mappings would determine whether any loss of semantics would occur.
The stringency element allows identifying the types of usages for which the data element is appropriate. Some uses (direct comparison of data, auto-population of data, etc.) are inappropriate with loose definitions of elements. On the other hand, overly-restrictive data elements can result in a large number of data elements and limited abilities to compare similar but not identical data. For now, the definition of what level of constraints are appropriate/necessary for a given level of stringency is left to implementers, though future versions this specification may assert at least some level of guidance in this area.
Data elements provide their value by clearly defining the meaning and content of a particular type of data to be exchanged. This value depends on the meaning associated with the element being clear for all potential implementers of the element. I.e. For a data element to be useful, it needs to have a good quality definition. Characteristics of good quality definitions include:
notes
or
rationale
elements.
Because Data Elements define precise pieces of data that can be conveyed in a variety of places, they may form a useful mechanism for the definition of fine-grained data access controls. The base resource does not include mechanisms for linking access controls directly do data elements, however, an extension could allow a particular data element to be associated with particular Security Labels . Whether this level of control is appropriate may vary by implementation environment.
One of the primary purposes of the DataElement resource is to allow data conveyed in a variety of different forms to be "linked" to the data element and identified as being equivalent/comparable/semantically-aligned. There are a variety of different ways this can occur:
DataElement.element.code
allows
a
data
element
to
be
linked
as
"semantically
equivalent"
to
the
specified
code.
DataElement.element.mapping
allows
a
data
element
to
be
linked
to
a
particular
data
structure
such
as
a
FHIR
resource,
a
CDA
template,
an
OpenEHR
archetype,
etc.
STU Note: The FHIR Infrastructure work group is considering rolling the DataElement resource into the StructureDefinition resource. If this is done, DataElement will be treated as a type of logical model (whether there will be a distinct 'type' for it is unclear).
Implementers wishing to provide their feedback on the proposed change are invited to make comments on the associated Tracker item
.
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description |
| In Common |
| code | token | A code for the data element (server may choose to do subsumption) | DataElement.element.code | |
|
|
date | The data element publication date | DataElement.date | |
| description | string | Text search in the description of the data element. This corresponds to the definition of the first DataElement.element. | DataElement.element.definition | |
| identifier | token |
|
DataElement.identifier | |
| jurisdiction | token | Intended jurisdiction for the data element | DataElement.jurisdiction | |
| name | string |
|
DataElement.name | |
| publisher | string | Name of the publisher of the data element | DataElement.publisher | |
| status | token | The current status of the data element | DataElement.status | |
| stringency | token | The stringency of the data element definition | DataElement.stringency | |
| title | string | The human-friendly name of the data element | DataElement.title | |
| url | uri |
The
|
DataElement.url | |
| version |
|
The
business
version
|
DataElement.version |