|
OperationDefinition
|
|
Definition
|
A
formal
computable
definition
of
an
operation
(on
the
RESTful
interface)
or
a
named
query
(using
the
search
interaction).
A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
|
|
Control
|
1..1
|
|
OperationDefinition.url
|
|
Definition
|
An
absolute
URL
that
is
used
to
identify
this
operation
definition
when
it
is
referenced
in
a
specification,
model,
design
or
an
instance.
This
SHALL
be
a
URL,
SHOULD
be
globally
unique,
and
SHOULD
be
an
address
at
which
this
operation
definition
is
(or
will
be)
published.
An absolute URL that is used to identify this operation definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this operation definition is (or will be) published.
|
|
Control
|
0..1
|
|
Type
|
uri
|
|
Comments
|
Can
be
a
urn:uuid:
or
a
urn:oid:.
Can be a urn:uuid: or a urn:oid:.
|
|
OperationDefinition.version
|
|
Definition
|
The
identifier
that
is
used
to
identify
this
version
of
the
profile
when
it
is
referenced
in
a
specification,
model,
design
or
instance.
This
is
an
arbitrary
value
managed
by
the
profile
author
manually
and
the
value
should
be
a
timestamp.
The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp.
|
|
Note
|
This
is
a
business
versionId,
not
a
resource
identifier
(see
This is a business versionId, not a resource version id (see
discussion
)
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Requirements
|
There
may
be
multiple
resource
versions
of
the
profile
that
have
this
same
identifier.
The
resource
version
id
will
change
for
technical
reasons,
whereas
the
stated
version
number
needs
to
be
under
the
author's
control.
There may be multiple resource versions of the profile that have this same identifier. The resource version id will change for technical reasons, whereas the stated version number needs to be under the author's control.
|
|
OperationDefinition.name
|
|
Definition
|
A
free
text
natural
language
name
identifying
the
operation.
A free text natural language name identifying the operation.
|
|
Control
|
1..1
|
|
Type
|
string
|
|
Comments
|
Not
expected
to
be
globally
unique.
Not expected to be globally unique.
|
|
OperationDefinition.status
|
|
Definition
|
The
status
of
the
profile.
The status of the profile.
|
|
Control
|
1..1
|
|
Binding
|
ConformanceResourceStatus:
The
lifecycle
status
of
a
Value
Set
or
Concept
Map.
(
ConformanceResourceStatus:
The lifecycle status of a Value Set or Concept Map.
(
Required
)
|
|
Type
|
code
|
Is
Modifier
Is Modifier
|
true
|
|
Requirements
|
Allows
filtering
of
profiles
that
are
appropriate
for
use
vs.
not.
Allows filtering of profiles that are appropriate for use vs. not.
|
|
Summary
|
true
|
|
OperationDefinition.kind
|
|
Definition
|
Whether
this
is
an
operation
or
a
named
query.
Whether this is an operation or a named query.
|
|
Control
|
1..1
|
|
Binding
|
OperationKind:
Whether
an
operation
is
a
normal
operation
or
a
query.
(
OperationKind:
Whether an operation is a normal operation or a query.
(
Required
)
|
|
Type
|
code
|
|
Comments
|
Named
queries
are
invoked
differently,
and
have
different
capabilities.
Named queries are invoked differently, and have different capabilities.
|
|
OperationDefinition.experimental
|
|
Definition
|
This
profile
was
authored
for
testing
purposes
(or
education/evaluation/marketing),
and
is
not
intended
to
be
used
for
genuine
usage.
This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.
|
|
Control
|
0..1
|
|
Type
|
boolean
|
|
Requirements
|
Allows
filtering
of
profiles
that
are
appropriate
for
use
vs.
not.
Allows filtering of profiles that are appropriate for use vs. not.
|
|
OperationDefinition.date
|
|
Definition
|
The date this version of the operation definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the Operation Definition changes.
|
|
Control
|
0..1
|
|
Type
|
dateTime
|
|
Comments
|
Additional specific dates may be added as extensions.
|
|
OperationDefinition.publisher
|
|
Definition
|
The
name
of
the
individual
or
organization
that
published
the
operation
definition.
The name of the individual or organization that published the operation definition.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Requirements
|
Helps
establish
the
"authority/credibility"
of
the
operation
definition.
May
also
allow
for
contact.
Helps establish the "authority/credibility" of the operation definition. May also allow for contact.
|
|
Summary
|
true
|
|
Comments
|
Usually
an
organization,
but
may
be
an
individual.
This
item
SHOULD
be
populated
unless
the
information
is
available
from
context.
Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context.
|
|
OperationDefinition.contact
|
|
Definition
|
Contacts
to
assist
a
user
in
finding
and
communicating
with
the
publisher.
Contacts to assist a user in finding and communicating with the publisher.
|
|
Control
|
0..*
|
|
Summary
|
true
|
|
Comments
|
May
be
a
web
site,
an
email
address,
a
telephone
number
(tel:),
etc.
May be a web site, an email address, a telephone number (tel:), etc.
|
|
OperationDefinition.contact.name
|
|
Definition
|
The
name
of
an
individual
to
contact
regarding
the
operation
definition.
The name of an individual to contact regarding the operation definition.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Comments
|
If
there
is
no
named
individual,
the
telecom
is
for
the
organization
as
a
whole.
If there is no named individual, the telecom is for the organization as a whole.
|
|
OperationDefinition.contact.telecom
|
|
Definition
|
Contact
details
for
individual
(if
a
name
was
provided)
or
the
publisher.
Contact details for individual (if a name was provided) or the publisher.
|
|
Control
|
0..*
|
|
Type
|
ContactPoint
|
|
Summary
|
true
|
OperationDefinition.date
OperationDefinition.description
|
|
Definition
|
The
date
this
version
of
the
operation
definition
was
published.
The
date
must
change
when
the
business
version
changes,
if
it
does,
and
it
must
change
if
the
status
code
changes.
In
addition,
it
should
change
when
the
substantive
content
of
the
Operation
Definition
changes.
A free text natural language description of the profile and its use.
|
|
Control
|
0..1
|
|
Type
|
dateTime
markdown
|
|
Comments
|
Additional
specific
dates
may
be
added
as
extensions.
This field can be used for things such as why the profile was written, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is
not
a rendering of the profile as conveyed in Profile.text. This item SHOULD be populated unless the information is available from context. |
OperationDefinition.description
OperationDefinition.useContext
|
|
Definition
|
A
free
text
natural
language
description
of
the
profile
and
its
use.
The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of operation definitions.
|
|
Control
|
0..1
0..*
|
|
Binding
|
Context of Use ValueSet:
Indicates the countries, regions, disciplines and other aspects of use within which this artifact is targeted for use.
(
Extensible
)
|
|
Type
|
string
CodeableConcept
|
Comments
Requirements
|
This
field
can
be
used
for
things
such
as
why
the
profile
was
written,
comments
about
misuse,
instructions
for
clinical
use
and
interpretation,
literature
references,
examples
from
the
paper
world,
etc.
It
is
not
a
rendering
of
the
profile
as
conveyed
in
Profile.text.
This
item
SHOULD
be
populated
unless
the
information
is
available
from
context.
Assist in searching for appropriate content.
|
|
Summary
|
true
|
|
OperationDefinition.requirements
|
|
Definition
|
Explains
why
this
operation
definition
is
needed
and
why
it's
been
constrained
as
it
has.
Explains why this operation definition is needed and why it's been constrained as it has.
|
|
Control
|
0..1
|
|
Type
|
string
markdown
|
|
Comments
|
This
element
does
not
describe
the
usage
of
the
operation
definition
(that's
done
in
comments),
rather
it's
for
traceability
of
why
the
element
is
either
needed
or
This element does not describe the usage of the operation definition (that's done in comments), rather it's for traceability of
why
the
constraints
exist
as
they
do.
This
may
be
used
to
point
to
source
materials
or
specifications
that
drove
the
structure
of
this
data
element.
the element is either needed or why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this data element.
|
|
OperationDefinition.idempotent
|
|
Definition
|
Operations
that
are
idempotent
(see
HTTP
specification
definition
of
idempotent
Operations that are idempotent (see
HTTP specification definition of idempotent
)
may
be
invoked
by
performing
an
HTTP
GET
operation
instead
of
a
POST.
) may be invoked by performing an HTTP GET operation instead of a POST.
|
|
Control
|
0..1
|
|
Type
|
boolean
|
|
OperationDefinition.code
|
|
Definition
|
The
name
used
to
invoke
the
operation.
The name used to invoke the operation.
|
|
Control
|
1..1
|
|
Type
|
code
|
|
Comments
|
The code does not include the '$' prefix that is always included in the URL when the operation is invoked.
|
OperationDefinition.notes
OperationDefinition.comment
|
|
Definition
|
Additional
information
about
how
to
use
this
operation
or
named
query.
Additional information about how to use this operation or named query.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
OperationDefinition.base
|
|
Definition
|
Indicates
that
this
operation
definition
is
a
constraining
profile
on
the
base.
Indicates that this operation definition is a constraining profile on the base.
|
|
Control
|
0..1
|
|
Type
|
Reference
(
OperationDefinition
)
|
|
Comments
|
A
constrained
profile
can
make
optional
parameters
required
or
not
used
and
clarify
documentation.
A constrained profile can make optional parameters required or not used and clarify documentation.
|
|
OperationDefinition.system
|
|
Definition
|
Indicates
whether
this
operation
or
named
query
can
be
invoked
at
the
system
level
(e.g.
without
needing
to
choose
a
resource
type
for
the
context).
Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context).
|
|
Control
|
1..1
|
|
Type
|
boolean
|
|
OperationDefinition.type
|
|
Definition
|
Indicates
whether
this
operation
or
named
query
can
be
invoked
at
the
resource
type
level
for
any
given
resource
type
level
(e.g.
without
needing
to
choose
a
resource
type
for
the
context).
Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a resource type for the context).
|
|
Control
|
0..*
|
|
Binding
|
ResourceType:
Any
defined
Resource
Type
name
ResourceType:
Any defined Resource Type name
|
|
Type
|
code
|
|
Comments
|
If the type is an abstract resource ("Resource" or "DomainResource") then the operation can be invoked on any concrete specialization.
|
|
OperationDefinition.instance
|
|
Definition
|
Indicates
whether
this
operation
can
be
invoked
on
a
particular
instance
of
one
of
the
given
types.
Indicates whether this operation can be invoked on a particular instance of one of the given types.
|
|
Control
|
1..1
|
|
Type
|
boolean
|
|
OperationDefinition.parameter
|
|
Definition
|
The
parameters
for
the
operation/query.
The parameters for the operation/query.
|
|
Control
|
0..*
|
|
Comments
|
Query
Definitions
only
have
one
output
parameter,
named
"result".
This
may
not
be
described,
but
can
be
to
allow
a
profile
to
be
defined.
Query Definitions only have one output parameter, named "result". This may not be described, but can be to allow a profile to be defined.
|
|
Invariants
|
Defined
on
this
element
Defined on this element
opd-1
: Either a type must be provided, or parts (
expression
: type.exists() or part.exists(), xpath: exists(f:type) or exists(f:part))
opd-1
:
Either
a
type
must
be
provided,
or
parts
(xpath:
exists(f:type)
or
exists(f:part))
opd-2
: A search type can only be specified for parameters of type string (
expression
: searchType implies type = 'string', xpath: not(exists(f:searchType)) or (f:type/@value = 'string'))
|
|
OperationDefinition.parameter.name
|
|
Definition
|
The
name
of
used
to
identify
the
parameter.
The name of used to identify the parameter.
|
|
Control
|
1..1
|
|
Type
|
code
|
|
Comments
|
This
name
must
be
a
token
(start
with
a
letter
in
a..z,
and
only
contain
letters,
numerals,
and
underscore.
This name must be a token (start with a letter in a..z, and only contain letters, numerals, and underscore. Note that for search parameters (type = string, with a search type), the name may be altered by the search modifiers.
|
|
OperationDefinition.parameter.use
|
|
Definition
|
Whether
this
is
an
input
or
an
output
parameter.
Whether this is an input or an output parameter.
|
|
Control
|
1..1
|
|
Binding
|
OperationParameterUse:
Whether
an
operation
parameter
is
an
input
or
an
output
parameter.
(
OperationParameterUse:
Whether an operation parameter is an input or an output parameter.
(
Required
)
|
|
Type
|
code
|
|
Comments
|
If
a
parameter
name
is
used
for
both
an
input
and
an
output
parameter,
the
parameter
should
be
defined
twice.
If a parameter name is used for both an input and an output parameter, the parameter should be defined twice.
|
|
OperationDefinition.parameter.min
|
|
Definition
|
The
minimum
number
of
times
this
parameter
SHALL
appear
in
the
request
or
response.
The minimum number of times this parameter SHALL appear in the request or response.
|
|
Control
|
1..1
|
|
Type
|
integer
|
|
OperationDefinition.parameter.max
|
|
Definition
|
The
maximum
number
of
times
this
element
is
permitted
to
appear
in
the
request
or
response.
The maximum number of times this element is permitted to appear in the request or response.
|
|
Control
|
1..1
|
|
Type
|
string
|
|
OperationDefinition.parameter.documentation
|
|
Definition
|
Describes
the
meaning
or
use
of
this
parameter.
Describes the meaning or use of this parameter.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
OperationDefinition.parameter.type
|
|
Definition
|
The
type
for
this
parameter.
The type for this parameter.
|
|
Control
|
0..1
|
|
Binding
|
Parameter
Types
used
in
Operation
Definitions:
The
type
of
a
parameter.
(
Required
FHIRAllTypes:
Any defined Resource or Data Type name (including "Any" and "Type")
)
|
|
Type
|
code
|
|
Comments
|
if
there
is
no
stated
parameter,
then
the
parameter
is
a
"Tuple"
type
and
must
have
at
least
one
part
defined.
if there is no stated parameter, then the parameter is a multi-part parameter; type and must have at least one part defined.
|
|
Invariants
|
Affect
this
element
Affect this element
opd-1
:
Either
a
type
must
be
provided,
or
parts
(xpath:
exists(f:type)
or
exists(f:part))
: Either a type must be provided, or parts (
expression
: type.exists() or part.exists(), xpath: exists(f:type) or exists(f:part))
|
|
OperationDefinition.parameter.searchType
|
|
Definition
|
How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'.
|
|
Control
|
0..1
|
|
Binding
|
SearchParamType:
Data types allowed to be used for search parameters.
(
Required
)
|
|
Type
|
code
|
|
Invariants
|
Affect this element
opd-2
: A search type can only be specified for parameters of type string (
expression
: searchType implies type = 'string', xpath: not(exists(f:searchType)) or (f:type/@value = 'string')) |
|
OperationDefinition.parameter.profile
|
|
Definition
|
A
profile
the
specifies
the
rules
that
this
parameter
must
conform
to.
A profile the specifies the rules that this parameter must conform to.
|
|
Control
|
0..1
|
|
Type
|
Reference
(
StructureDefinition
)
|
|
OperationDefinition.parameter.binding
|
|
Definition
|
Binds
to
a
value
set
if
this
parameter
is
coded
(code,
Coding,
CodeableConcept).
Binds to a value set if this parameter is coded (code, Coding, CodeableConcept).
|
|
Control
|
0..1
|
|
OperationDefinition.parameter.binding.strength
|
|
Definition
|
Indicates
the
degree
of
conformance
expectations
associated
with
this
binding
-
that
is,
the
degree
to
which
the
provided
value
set
must
be
adhered
to
in
the
instances.
Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances.
|
|
Control
|
1..1
|
|
Binding
|
BindingStrength:
Indication
of
the
degree
of
conformance
expectations
associated
with
a
binding.
(
BindingStrength:
Indication of the degree of conformance expectations associated with a binding.
(
Required
)
|
|
Type
|
code
|
Alternate
Names
Alternate Names
|
conformance;
extensibility
conformance; extensibility
|
|
Comments
|
For
further
discussion,
see
Using
Terminologies
For further discussion, see
Using Terminologies
.
|
|
OperationDefinition.parameter.binding.valueSet[x]
|
|
Definition
|
Points
to
the
value
set
or
external
definition
(e.g.
implicit
value
set)
that
identifies
the
set
of
codes
to
be
used.
Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used.
|
|
Control
|
1..1
|
|
Type
|
uri
|
Reference
(
ValueSet
)
|
[x]
Note
[x] Note
|
See
Choice
of
Data
Types
for
further
information
about
how
to
use
[x]
See
Choice of Data Types
for further information about how to use [x]
|
|
Comments
|
For
value
sets
with
a
referenceResource,
the
display
can
contain
the
value
set
description.
The
reference
may
be
version-specific
or
not.
For value sets with a referenceResource, the display can contain the value set description. The reference may be version-specific or not.
|
|
OperationDefinition.parameter.part
|
|
Definition
|
The
parts
of
a
Tuple
Parameter.
The parts of a nested Parameter.
|
|
Control
|
0..*
|
|
Type
|
See
OperationDefinition.parameter
See OperationDefinition.parameter
|
|
Comments
|
Query
Definitions
only
have
one
output
parameter,
named
"result".
This
may
not
be
described,
but
can
be
to
allow
a
profile
to
be
defined.
Query Definitions only have one output parameter, named "result". This may not be described, but can be to allow a profile to be defined.
|
|
Invariants
|
Affect
this
element
Affect this element
opd-1
:
Either
a
type
must
be
provided,
or
parts
(xpath:
exists(f:type)
or
exists(f:part))
: Either a type must be provided, or parts (
expression
©
HL7.org
2011+.
FHIR
DSTU2
(v1.0.2-7202)
generated
on
Sat,
Oct
24,
2015
07:43+1100.
Links:
Search
: type.exists() or part.exists(), xpath: exists(f:type) or exists(f:part))
|
|
Version
History
|
Table
of
Contents
|
Compare
to
DSTU1