SMART Base
0.1.1 - ci-build

SMART Base, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.1.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-base/ and changes regularly. See the Directory of published versions

Resource Profile: SGTransactionOperation

Official URL: http://smart.who.int/base/StructureDefinition/SGTransactionOperation Version: 0.1.1
Draft as of 2024-06-12 Computable Name: SGTransactionOperation

Smart Guidelines Transaction: see https://profiles.ihe.net/ITI/TF/Volume2/ch-2.html for conventions on transactions

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from OperationDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition 0..* OperationDefinition Definition of an operation or a named query
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... transaction S 1..1 Reference(SGTransactionDefinition) Extension
URL: http://smart.who.int/base/StructureDefinition/Sgtransaction
... title 1..1 string Name for this operation definition (human friendly)
... status S 1..1 code draft | active | retired | unknown
... experimental 1..1 boolean For testing purposes, not real usage
... description 1..1 markdown Natural language description of the operation definition
... code S 1..1 code Recommended name for operation in search url
... system S 1..1 boolean Invoke at the system level?
... type S 1..1 boolean Invoke at the type level?
... instance S 1..1 boolean Invoke on an instance?

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C 0..* OperationDefinition Definition of an operation or a named query
cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
opd-5: A query operation cannot be defined at the instance level
opd-6: A query operation requires input parameters to have a search type
opd-7: Named queries always have a single output parameter named 'result' of type Bundle
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... transaction S 1..1 Reference(SGTransactionDefinition) Extension
URL: http://smart.who.int/base/StructureDefinition/Sgtransaction
... name ΣC 1..1 string Name for this operation definition (computer friendly)
... title Σ 1..1 string Name for this operation definition (human friendly)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... kind SΣC 1..1 code operation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.

... experimental Σ 1..1 boolean For testing purposes, not real usage
... description 1..1 markdown Natural language description of the operation definition
... code SΣ 1..1 code Recommended name for operation in search url
... system SΣ 1..1 boolean Invoke at the system level?
... type SΣ 1..1 boolean Invoke at the type level?
... instance SΣC 1..1 boolean Invoke on an instance?

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
OperationDefinition.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
OperationDefinition.kindrequiredOperationKind
http://hl7.org/fhir/ValueSet/operation-kind|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningOperationDefinitionName 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}$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
opd-5errorOperationDefinitionA query operation cannot be defined at the instance level
: (kind = 'query') implies (instance = false)
opd-6errorOperationDefinitionA query operation requires input parameters to have a search type
: (kind = 'query') implies (parameter.all((use = 'in' and searchType.exists()) or (use != 'in')))
opd-7errorOperationDefinitionNamed queries always have a single output parameter named 'result' of type Bundle
: (kind = 'query') implies ((parameter.where(use = 'out').count() = 1) and (parameter.where(use = 'out').all(name = 'result' and type = 'Bundle')))
NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C 0..* OperationDefinition Definition of an operation or a named query
cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
opd-5: A query operation cannot be defined at the instance level
opd-6: A query operation requires input parameters to have a search type
opd-7: Named queries always have a single output parameter named 'result' of type Bundle
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguages Starter Set
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... transaction S 1..1 Reference(SGTransactionDefinition) Extension
URL: http://smart.who.int/base/StructureDefinition/Sgtransaction
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... url ΣC 0..1 uri Canonical identifier for this operation definition, represented as an absolute URI (globally unique)
cnl-1: URL should not contain | or # - these characters make processing canonical references problematic
... identifier Σ 0..* Identifier Additional identifier for the implementation guide (business identifier)
... version Σ 0..1 string Business version of the operation definition
... versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name ΣC 1..1 string Name for this operation definition (computer friendly)
... title Σ 1..1 string Name for this operation definition (human friendly)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... kind SΣC 1..1 code operation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.

... experimental Σ 1..1 boolean For testing purposes, not real usage
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 1..1 markdown Natural language description of the operation definition
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for operation definition (if applicable)
Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1 markdown Why this operation definition is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel 0..1 string Copyright holder and year(s)
... affectsState Σ 0..1 boolean Whether content is changed by the operation
... code SΣ 1..1 code Recommended name for operation in search url
... comment 0..1 markdown Additional information about use
... base Σ 0..1 canonical(OperationDefinition) Marks this as a profile of the base
... resource Σ 0..* code Types this operation applies to
Binding: VersionIndependentResourceTypesAll (required): A type of resource, or a Reference (from all versions)

Additional BindingsPurpose
AllResourceTypes UI Binding

... system SΣ 1..1 boolean Invoke at the system level?
... type SΣ 1..1 boolean Invoke at the type level?
... instance SΣC 1..1 boolean Invoke on an instance?
... inputProfile 0..1 canonical(StructureDefinition) Validation information for in parameters
... outputProfile 0..1 canonical(StructureDefinition) Validation information for out parameters
... parameter C 0..* BackboneElement Parameters for the operation/query
opd-1: Either a type must be provided, or parts
opd-2: A search type can only be specified for parameters of type string
opd-3: A targetProfile can only be specified for parameters of type Reference, Canonical, or a Resource
opd-4: SearchParamType can only be specified on in parameters
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name C 1..1 code Name in Parameters.parameter.name or in URL
.... use C 1..1 code in | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.

.... scope 0..* code instance | type | system
Binding: OperationParameterScope (required)
.... min 1..1 integer Minimum Cardinality
.... max 1..1 string Maximum Cardinality (a number or *)
.... documentation 0..1 markdown Description of meaning/use
.... type C 0..1 code What type this parameter has
Binding: FHIRTypes (required): A list of all the types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.

.... allowedType 0..* code Allowed sub-type this parameter can have (if type is abstract)
Binding: FHIRTypes (required): A list of all the types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


.... targetProfile C 0..* canonical(StructureDefinition) If type is Reference | canonical, allowed targets. If type is 'Resource', then this constrains the allowed resource types
.... searchType C 0..1 code number | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

.... binding 0..1 BackboneElement ValueSet details if this is coded
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... strength 1..1 code required | extensible | preferred | example
Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding.

..... valueSet 1..1 canonical(ValueSet) Source of value set
.... referencedFrom 0..* BackboneElement References to this parameter
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... source 1..1 string Referencing parameter
..... sourceId 0..1 string Element id of reference
.... part C 0..* See parameter (OperationDefinition) Parts of a nested Parameter
... overload 0..* BackboneElement Define overloaded variants for when generating code
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... parameterName 0..* string Name of parameter to include in overload
.... comment 0..1 string Comments to go on overload

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
OperationDefinition.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
OperationDefinition.versionAlgorithm[x]extensibleVersionAlgorithm
http://hl7.org/fhir/ValueSet/version-algorithm
from the FHIR Standard
OperationDefinition.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
OperationDefinition.kindrequiredOperationKind
http://hl7.org/fhir/ValueSet/operation-kind|5.0.0
from the FHIR Standard
OperationDefinition.jurisdictionextensibleJurisdictionValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
OperationDefinition.resourcerequiredVersionIndependentResourceTypesAll
http://hl7.org/fhir/ValueSet/version-independent-all-resource-types|5.0.0
from the FHIR Standard
OperationDefinition.parameter.userequiredOperationParameterUse
http://hl7.org/fhir/ValueSet/operation-parameter-use|5.0.0
from the FHIR Standard
OperationDefinition.parameter.scoperequiredOperationParameterScope
http://hl7.org/fhir/ValueSet/operation-parameter-scope|5.0.0
from the FHIR Standard
OperationDefinition.parameter.typerequiredFHIRTypes
http://hl7.org/fhir/ValueSet/fhir-types|5.0.0
from the FHIR Standard
OperationDefinition.parameter.allowedTyperequiredFHIRTypes
http://hl7.org/fhir/ValueSet/fhir-types|5.0.0
from the FHIR Standard
OperationDefinition.parameter.searchTyperequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|5.0.0
from the FHIR Standard
OperationDefinition.parameter.binding.strengthrequiredBindingStrength
http://hl7.org/fhir/ValueSet/binding-strength|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningOperationDefinitionName 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-1warningOperationDefinition.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
opd-1errorOperationDefinition.parameterEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameterA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameterA targetProfile can only be specified for parameters of type Reference, Canonical, or a Resource
: targetProfile.exists() implies (type = 'Reference' or type = 'canonical' or type.memberOf('http://hl7.org/fhir/ValueSet/resource-types'))
opd-4errorOperationDefinition.parameterSearchParamType can only be specified on in parameters
: (use = 'out') implies searchType.empty()
opd-5errorOperationDefinitionA query operation cannot be defined at the instance level
: (kind = 'query') implies (instance = false)
opd-6errorOperationDefinitionA query operation requires input parameters to have a search type
: (kind = 'query') implies (parameter.all((use = 'in' and searchType.exists()) or (use != 'in')))
opd-7errorOperationDefinitionNamed queries always have a single output parameter named 'result' of type Bundle
: (kind = 'query') implies ((parameter.where(use = 'out').count() = 1) and (parameter.where(use = 'out').all(name = 'result' and type = 'Bundle')))

This structure is derived from OperationDefinition

Cannot invoke "Object.hashCode()" because "key" is null

Differential View

This structure is derived from OperationDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition 0..* OperationDefinition Definition of an operation or a named query
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... transaction S 1..1 Reference(SGTransactionDefinition) Extension
URL: http://smart.who.int/base/StructureDefinition/Sgtransaction
... title 1..1 string Name for this operation definition (human friendly)
... status S 1..1 code draft | active | retired | unknown
... experimental 1..1 boolean For testing purposes, not real usage
... description 1..1 markdown Natural language description of the operation definition
... code S 1..1 code Recommended name for operation in search url
... system S 1..1 boolean Invoke at the system level?
... type S 1..1 boolean Invoke at the type level?
... instance S 1..1 boolean Invoke on an instance?

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C 0..* OperationDefinition Definition of an operation or a named query
cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
opd-5: A query operation cannot be defined at the instance level
opd-6: A query operation requires input parameters to have a search type
opd-7: Named queries always have a single output parameter named 'result' of type Bundle
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... transaction S 1..1 Reference(SGTransactionDefinition) Extension
URL: http://smart.who.int/base/StructureDefinition/Sgtransaction
... name ΣC 1..1 string Name for this operation definition (computer friendly)
... title Σ 1..1 string Name for this operation definition (human friendly)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... kind SΣC 1..1 code operation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.

... experimental Σ 1..1 boolean For testing purposes, not real usage
... description 1..1 markdown Natural language description of the operation definition
... code SΣ 1..1 code Recommended name for operation in search url
... system SΣ 1..1 boolean Invoke at the system level?
... type SΣ 1..1 boolean Invoke at the type level?
... instance SΣC 1..1 boolean Invoke on an instance?

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
OperationDefinition.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
OperationDefinition.kindrequiredOperationKind
http://hl7.org/fhir/ValueSet/operation-kind|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningOperationDefinitionName 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}$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
opd-5errorOperationDefinitionA query operation cannot be defined at the instance level
: (kind = 'query') implies (instance = false)
opd-6errorOperationDefinitionA query operation requires input parameters to have a search type
: (kind = 'query') implies (parameter.all((use = 'in' and searchType.exists()) or (use != 'in')))
opd-7errorOperationDefinitionNamed queries always have a single output parameter named 'result' of type Bundle
: (kind = 'query') implies ((parameter.where(use = 'out').count() = 1) and (parameter.where(use = 'out').all(name = 'result' and type = 'Bundle')))

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. OperationDefinition C 0..* OperationDefinition Definition of an operation or a named query
cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
opd-5: A query operation cannot be defined at the instance level
opd-6: A query operation requires input parameters to have a search type
opd-7: Named queries always have a single output parameter named 'result' of type Bundle
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguages Starter Set
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... transaction S 1..1 Reference(SGTransactionDefinition) Extension
URL: http://smart.who.int/base/StructureDefinition/Sgtransaction
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... url ΣC 0..1 uri Canonical identifier for this operation definition, represented as an absolute URI (globally unique)
cnl-1: URL should not contain | or # - these characters make processing canonical references problematic
... identifier Σ 0..* Identifier Additional identifier for the implementation guide (business identifier)
... version Σ 0..1 string Business version of the operation definition
... versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name ΣC 1..1 string Name for this operation definition (computer friendly)
... title Σ 1..1 string Name for this operation definition (human friendly)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... kind SΣC 1..1 code operation | query
Binding: OperationKind (required): Whether an operation is a normal operation or a query.

... experimental Σ 1..1 boolean For testing purposes, not real usage
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 1..1 markdown Natural language description of the operation definition
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for operation definition (if applicable)
Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1 markdown Why this operation definition is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel 0..1 string Copyright holder and year(s)
... affectsState Σ 0..1 boolean Whether content is changed by the operation
... code SΣ 1..1 code Recommended name for operation in search url
... comment 0..1 markdown Additional information about use
... base Σ 0..1 canonical(OperationDefinition) Marks this as a profile of the base
... resource Σ 0..* code Types this operation applies to
Binding: VersionIndependentResourceTypesAll (required): A type of resource, or a Reference (from all versions)

Additional BindingsPurpose
AllResourceTypes UI Binding

... system SΣ 1..1 boolean Invoke at the system level?
... type SΣ 1..1 boolean Invoke at the type level?
... instance SΣC 1..1 boolean Invoke on an instance?
... inputProfile 0..1 canonical(StructureDefinition) Validation information for in parameters
... outputProfile 0..1 canonical(StructureDefinition) Validation information for out parameters
... parameter C 0..* BackboneElement Parameters for the operation/query
opd-1: Either a type must be provided, or parts
opd-2: A search type can only be specified for parameters of type string
opd-3: A targetProfile can only be specified for parameters of type Reference, Canonical, or a Resource
opd-4: SearchParamType can only be specified on in parameters
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name C 1..1 code Name in Parameters.parameter.name or in URL
.... use C 1..1 code in | out
Binding: OperationParameterUse (required): Whether an operation parameter is an input or an output parameter.

.... scope 0..* code instance | type | system
Binding: OperationParameterScope (required)
.... min 1..1 integer Minimum Cardinality
.... max 1..1 string Maximum Cardinality (a number or *)
.... documentation 0..1 markdown Description of meaning/use
.... type C 0..1 code What type this parameter has
Binding: FHIRTypes (required): A list of all the types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.

.... allowedType 0..* code Allowed sub-type this parameter can have (if type is abstract)
Binding: FHIRTypes (required): A list of all the types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


.... targetProfile C 0..* canonical(StructureDefinition) If type is Reference | canonical, allowed targets. If type is 'Resource', then this constrains the allowed resource types
.... searchType C 0..1 code number | date | string | token | reference | composite | quantity | uri | special
Binding: SearchParamType (required): Data types allowed to be used for search parameters.

.... binding 0..1 BackboneElement ValueSet details if this is coded
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... strength 1..1 code required | extensible | preferred | example
Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding.

..... valueSet 1..1 canonical(ValueSet) Source of value set
.... referencedFrom 0..* BackboneElement References to this parameter
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... source 1..1 string Referencing parameter
..... sourceId 0..1 string Element id of reference
.... part C 0..* See parameter (OperationDefinition) Parts of a nested Parameter
... overload 0..* BackboneElement Define overloaded variants for when generating code
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... parameterName 0..* string Name of parameter to include in overload
.... comment 0..1 string Comments to go on overload

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
OperationDefinition.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
OperationDefinition.versionAlgorithm[x]extensibleVersionAlgorithm
http://hl7.org/fhir/ValueSet/version-algorithm
from the FHIR Standard
OperationDefinition.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
OperationDefinition.kindrequiredOperationKind
http://hl7.org/fhir/ValueSet/operation-kind|5.0.0
from the FHIR Standard
OperationDefinition.jurisdictionextensibleJurisdictionValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
OperationDefinition.resourcerequiredVersionIndependentResourceTypesAll
http://hl7.org/fhir/ValueSet/version-independent-all-resource-types|5.0.0
from the FHIR Standard
OperationDefinition.parameter.userequiredOperationParameterUse
http://hl7.org/fhir/ValueSet/operation-parameter-use|5.0.0
from the FHIR Standard
OperationDefinition.parameter.scoperequiredOperationParameterScope
http://hl7.org/fhir/ValueSet/operation-parameter-scope|5.0.0
from the FHIR Standard
OperationDefinition.parameter.typerequiredFHIRTypes
http://hl7.org/fhir/ValueSet/fhir-types|5.0.0
from the FHIR Standard
OperationDefinition.parameter.allowedTyperequiredFHIRTypes
http://hl7.org/fhir/ValueSet/fhir-types|5.0.0
from the FHIR Standard
OperationDefinition.parameter.searchTyperequiredSearchParamType
http://hl7.org/fhir/ValueSet/search-param-type|5.0.0
from the FHIR Standard
OperationDefinition.parameter.binding.strengthrequiredBindingStrength
http://hl7.org/fhir/ValueSet/binding-strength|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningOperationDefinitionName 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-1warningOperationDefinition.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
opd-1errorOperationDefinition.parameterEither a type must be provided, or parts
: type.exists() or part.exists()
opd-2errorOperationDefinition.parameterA search type can only be specified for parameters of type string
: searchType.exists() implies type = 'string'
opd-3errorOperationDefinition.parameterA targetProfile can only be specified for parameters of type Reference, Canonical, or a Resource
: targetProfile.exists() implies (type = 'Reference' or type = 'canonical' or type.memberOf('http://hl7.org/fhir/ValueSet/resource-types'))
opd-4errorOperationDefinition.parameterSearchParamType can only be specified on in parameters
: (use = 'out') implies searchType.empty()
opd-5errorOperationDefinitionA query operation cannot be defined at the instance level
: (kind = 'query') implies (instance = false)
opd-6errorOperationDefinitionA query operation requires input parameters to have a search type
: (kind = 'query') implies (parameter.all((use = 'in' and searchType.exists()) or (use != 'in')))
opd-7errorOperationDefinitionNamed queries always have a single output parameter named 'result' of type Bundle
: (kind = 'query') implies ((parameter.where(use = 'out').count() = 1) and (parameter.where(use = 'out').all(name = 'result' and type = 'Bundle')))

This structure is derived from OperationDefinition

Cannot invoke "Object.hashCode()" because "key" is null

 

Other representations of profile: CSV, Excel, Schematron