CareplanActivityObservation

This extension is used to link a CarePlan with a related Observation.

Used in dm-CarePlan resource.

FHIR example:

"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/careplan-activity-observation",
	"valueReference": {
		"reference": "Observation/bgip-bg-observation-1"
	    }
}
]

Overview

The below overview shows the elements of the resource, data type and the cardinality of each. Further details like "Binding"/"Fixed values"/"contraints" etc can be found on clicking on each element.

Canonical URL - http://roche.com/fhir/rdc/StructureDefinition/careplan-activity-observation

id0..1string
extensionC0..*Extension
url1..1uriFixed Value
id0..1string
extensionC0..*Extension
referenceΣ C0..1string
identifierΣ0..1Identifier
displayΣ0..1string

Details

Extension
ShortOptional Extensions Element
Definition

Optional Extension Element - found in all resources.

Cardinality0..*
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Extension.id
Shortxml:id (or equivalent in JSON)
Definition

unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Extension.extension
ShortAdditional Content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Extension.url
Shortidentifies the meaning of the extension
Definition

Source of the definition for the extension code - a logical name or a URL.

Cardinality1..1
Typeuri
Comments

The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value
http://roche.com/fhir/rdc/StructureDefinition/careplan-activity-observation
Mappings
  • rim: n/a
  • rim: N/A
Extension.value[x]:valueReference
ShortValue of extension
Definition

Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).

Cardinality1..1
TypeReference(observation)
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
Extension.value[x]:valueReference.id
Shortxml:id (or equivalent in JSON)
Definition

unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Extension.value[x]:valueReference.extension
ShortAdditional Content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Extension.value[x]:valueReference.reference
ShortLiteral reference, Relative, internal or absolute URL
Definition

A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

Cardinality0..1
Typestring
SummaryTrue
Comments

Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1, ref-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • Ref-error: 'careplan-activity-observation.reference' element must point to an Observation resource
    startsWith('Observation/')
Mappings
  • rim: n/a
  • rim: N/A
Extension.value[x]:valueReference.identifier
ShortLogical reference, when literal reference is not known
Definition

An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

Cardinality0..1
TypeIdentifier
SummaryTrue
Comments

When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • rim: .identifier
Extension.value[x]:valueReference.display
ShortText alternative for the resource
Definition

Plain text narrative that identifies the resource in addition to the resource reference.

Cardinality0..1
Typestring
SummaryTrue
Comments

This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A

Table

Extension0..*
Extension.idstring0..1
Extension.extensionExtension0..*
Extension.urluri1..1
Extension.value[x]:valueReferenceReference(observation)1..1
Extension.value[x]:valueReference.idstring0..1
Extension.value[x]:valueReference.extensionExtension0..*
Extension.value[x]:valueReference.referencestring0..1
Extension.value[x]:valueReference.identifierIdentifier0..1
Extension.value[x]:valueReference.displaystring0..1

XML

<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="34d31bfc-2993-4e79-a7f3-e8a27cb10dba" />
<versionId value="2" />
<lastUpdated value="2018-08-20T11:15:55.834+00:00" />
</meta>
<url value="http://roche.com/fhir/rdc/StructureDefinition/careplan-activity-observation" />
<name value="careplan-activity-observation" />
<status value="active" />
<date value="2018-08-20T11:15:54.996+00:00" />
<description value="This extension is used to link a CarePlan with a related Observation.\n\nUsed in dm-CarePlan resource." />
<fhirVersion value="3.0.1" />
<kind value="complex-type" />
<abstract value="false" />
<contextType value="resource" />
<context value="CarePlan.activity" />
<type value="Extension" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
<derivation value="constraint" />
<element id="Extension">
<path value="Extension" />
<short value="Optional Extensions Element" />
<definition value="Optional Extension Element - found in all resources." />
<min value="0" />
<max value="*" />
<path value="Element" />
<min value="0" />
<max value="*" />
</base>
<condition value="ele-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Extension.id">
<path value="Extension.id" />
<representation value="xmlAttr" />
<short value="xml:id (or equivalent in JSON)" />
<definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<comment value="Note that FHIR strings may not exceed 1MB in size" />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<condition value="ele-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Extension.extension">
<path value="Extension.extension" />
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<short value="Additional Content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<condition value="ele-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Extension.url">
<path value="Extension.url" />
<representation value="xmlAttr" />
<short value="identifies the meaning of the extension" />
<definition value="Source of the definition for the extension code - a logical name or a URL." />
<comment value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension." />
<min value="1" />
<max value="1" />
<path value="Extension.url" />
<min value="1" />
<max value="1" />
</base>
<code value="uri" />
</type>
<fixedUri value="http://roche.com/fhir/rdc/StructureDefinition/careplan-activity-observation" />
<condition value="ele-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Extension.value[x]:valueReference">
<path value="Extension.valueReference" />
<sliceName value="valueReference" />
<short value="Value of extension" />
<definition value="Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list)." />
<comment value="A stream of bytes, base64 encoded" />
<min value="1" />
<max value="1" />
<path value="Extension.value[x]" />
<min value="0" />
<max value="1" />
</base>
<code value="Reference" />
<targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/observation" />
</type>
<condition value="ele-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Extension.value[x]:valueReference.id">
<path value="Extension.valueReference.id" />
<representation value="xmlAttr" />
<short value="xml:id (or equivalent in JSON)" />
<definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<comment value="Note that FHIR strings may not exceed 1MB in size" />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<condition value="ele-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Extension.value[x]:valueReference.extension">
<path value="Extension.valueReference.extension" />
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<short value="Additional Content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<condition value="ele-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Extension.value[x]:valueReference.reference">
<path value="Extension.valueReference.reference" />
<short value="Literal reference, Relative, internal or absolute URL" />
<definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources." />
<comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server." />
<min value="0" />
<max value="1" />
<path value="Reference.reference" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<condition value="ele-1" />
<condition value="ref-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<key value="Ref-error" />
<severity value="error" />
<human value="'careplan-activity-observation.reference' element must point to an Observation resource" />
<expression value="startsWith('Observation/')" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Extension.value[x]:valueReference.identifier">
<path value="Extension.valueReference.identifier" />
<short value="Logical reference, when literal reference is not known" />
<definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
<comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
<min value="0" />
<max value="1" />
<path value="Reference.identifier" />
<min value="0" />
<max value="1" />
</base>
<code value="Identifier" />
</type>
<condition value="ele-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
</mapping>
<identity value="rim" />
<map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" />
</mapping>
<identity value="servd" />
<map value="Identifier" />
</mapping>
<identity value="rim" />
<map value=".identifier" />
</mapping>
</element>
<element id="Extension.value[x]:valueReference.display">
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
<valueBoolean value="true" />
</extension>
<path value="Extension.valueReference.display" />
<short value="Text alternative for the resource" />
<definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
<comment value="This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it." />
<min value="0" />
<max value="1" />
<path value="Reference.display" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<condition value="ele-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
</snapshot>
<element id="Extension.url">
<path value="Extension.url" />
<fixedUri value="http://roche.com/fhir/rdc/StructureDefinition/careplan-activity-observation" />
</element>
<element id="Extension.value[x]:valueReference">
<path value="Extension.valueReference" />
<sliceName value="valueReference" />
<min value="1" />
<code value="Reference" />
<targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/observation" />
</type>
</element>
<element id="Extension.value[x]:valueReference.reference">
<path value="Extension.valueReference.reference" />
<key value="Ref-error" />
<severity value="error" />
<human value="'careplan-activity-observation.reference' element must point to an Observation resource" />
<expression value="startsWith('Observation/')" />
</constraint>
</element>
</differential>
</StructureDefinition>

JSON

{
"resourceType": "StructureDefinition",
"id": "34d31bfc-2993-4e79-a7f3-e8a27cb10dba",
"meta": {
"versionId": "2",
"lastUpdated": "2018-08-20T11:15:55.834+00:00"
},
"url": "http://roche.com/fhir/rdc/StructureDefinition/careplan-activity-observation",
"name": "careplan-activity-observation",
"status": "active",
"date": "2018-08-20T11:15:54.996+00:00",
"description": "This extension is used to link a CarePlan with a related Observation.\n\nUsed in dm-CarePlan resource.",
"fhirVersion": "3.0.1",
"kind": "complex-type",
"abstract": false,
"contextType": "resource",
"context": [
"CarePlan.activity"
],
"type": "Extension",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
"derivation": "constraint",
"element": [
{
"id": "Extension",
"path": "Extension",
"short": "Optional Extensions Element",
"definition": "Optional Extension Element - found in all resources.",
"min": 0,
"max": "*",
"base": {
"path": "Element",
"min": 0,
"max": "*"
},
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.id",
"path": "Extension.id",
"xmlAttr"
],
"short": "xml:id (or equivalent in JSON)",
"definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"comment": "Note that FHIR strings may not exceed 1MB in size",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension",
"path": "Extension.extension",
"slicing": {
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Additional Content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.url",
"path": "Extension.url",
"xmlAttr"
],
"short": "identifies the meaning of the extension",
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
"fixedUri": "http://roche.com/fhir/rdc/StructureDefinition/careplan-activity-observation",
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.value[x]:valueReference",
"path": "Extension.valueReference",
"sliceName": "valueReference",
"short": "Value of extension",
"definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
"comment": "A stream of bytes, base64 encoded",
"min": 1,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/observation"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.value[x]:valueReference.id",
"path": "Extension.valueReference.id",
"xmlAttr"
],
"short": "xml:id (or equivalent in JSON)",
"definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"comment": "Note that FHIR strings may not exceed 1MB in size",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.value[x]:valueReference.extension",
"path": "Extension.valueReference.extension",
"slicing": {
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Additional Content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.value[x]:valueReference.reference",
"path": "Extension.valueReference.reference",
"short": "Literal reference, Relative, internal or absolute URL",
"definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
"comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
"min": 0,
"max": "1",
"base": {
"path": "Reference.reference",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"ele-1",
"ref-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"key": "Ref-error",
"severity": "error",
"human": "'careplan-activity-observation.reference' element must point to an Observation resource",
"expression": "startsWith('Observation/')"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.value[x]:valueReference.identifier",
"path": "Extension.valueReference.identifier",
"short": "Logical reference, when literal reference is not known",
"definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.",
"comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
"min": 0,
"max": "1",
"base": {
"path": "Reference.identifier",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Identifier"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
},
{
"identity": "rim",
"map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]"
},
{
"identity": "servd",
"map": "Identifier"
},
{
"identity": "rim",
"map": ".identifier"
}
]
},
{
"id": "Extension.value[x]:valueReference.display",
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
"valueBoolean": true
}
],
"path": "Extension.valueReference.display",
"short": "Text alternative for the resource",
"definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
"comment": "This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.",
"min": 0,
"max": "1",
"base": {
"path": "Reference.display",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
}
]
},
"element": [
{
"id": "Extension.url",
"path": "Extension.url",
"fixedUri": "http://roche.com/fhir/rdc/StructureDefinition/careplan-activity-observation"
},
{
"id": "Extension.value[x]:valueReference",
"path": "Extension.valueReference",
"sliceName": "valueReference",
"min": 1,
"type": [
{
"code": "Reference",
"targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/observation"
}
]
},
{
"id": "Extension.value[x]:valueReference.reference",
"path": "Extension.valueReference.reference",
{
"key": "Ref-error",
"severity": "error",
"human": "'careplan-activity-observation.reference' element must point to an Observation resource",
"expression": "startsWith('Observation/')"
}
]
}
]
}
}