GP Connect - Update Record (ITK3)

Part of the GP Connect product family

Profile: ITK-Message-Bundle-1

useΣ ?!0..1codeBinding
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemΣ0..1uri
valueΣ1..1string
periodΣ I0..1Period
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
typeΣ1..1codeBindingFixed Value
totalΣ I0..0unsignedInt
fullUrlΣ0..1uri
resourceΣ1..1Resource
signatureΣ0..0Signature
Bundle
DefinitionA container for a collection of resources.
Cardinality0...*
Invariants
  • bdl-7:FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId
    entry.where(fullUrl).select(fullUrl&resource.meta.versionId).isDistinct()
  • bdl-9:A document must have an identifier with a system and a value
    type = 'document' implies (identifier.system.exists() and identifier.value.exists())
  • bdl-3:entry.request only for some types of bundles
    entry.request.empty() or type = 'batch' or type = 'transaction' or type = 'history'
  • bdl-4:entry.response only for some types of bundles
    entry.response.empty() or type = 'batch-response' or type = 'transaction-response'
  • bdl-1:total only when a search or history
    total.empty() or (type = 'searchset') or (type = 'history')
  • bdl-2:entry.search only when a search
    entry.search.empty() or (type = 'searchset')
Mappings
  • rim:Entity. Role, or Act
  • v2:N/A
  • rim:N/A
  • w5:infrastructure.structure
Bundle.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Bundle.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.identifier
DefinitionA persistent identifier for the batch that won't change as a batch is copied from server to server.
Cardinality1...1
TypeIdentifier
SummaryTrue
Comments

Persistent identity generally only matters for batches of type Document, Message, and Collection. It would not normally be populated for search and history results, and servers ignore Bundle.identifier when processing batches and transactions. For Documents the .identifier SHALL be populated such that the .identifier is globally unique.

Invariants
  • 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
  • w5:id
Bundle.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Bundle.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Bundle.identifier.type.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.identifier.type.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.identifier.type.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Bundle.identifier.type.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.identifier.type.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.identifier.type.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Bundle.identifier.type.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Bundle.identifier.type.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Bundle.identifier.type.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Bundle.identifier.type.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Bundle.identifier.type.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Bundle.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality0...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


General

https://tools.ietf.org/html/rfc4122, if the identifier.value is a UUID


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Bundle.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


General

0e57cc4f-eab8-4985-88a9-1e8652b1d8bb


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Bundle.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Bundle.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-ITK-Header-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Bundle.identifier.assigner.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.identifier.assigner.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.identifier.assigner.reference
DefinitionA 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.
Cardinality1...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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Bundle.identifier.assigner.identifier
DefinitionAn 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.

Invariants
  • 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
Bundle.identifier.assigner.display
DefinitionPlain 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Bundle.type
DefinitionIndicates the purpose of this bundle - how it was intended to be used.
Cardinality1...1
Typecode
Binding

Indicates the purpose of a bundle - how it was intended to be used.

BundleType (required)
SummaryTrue
Comments

It's possible to use a bundle for other purposes (e.g. a document can be accepted as a transaction). This is primarily defined so that there can be specific rules for some of the bundle types.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

message

Mappings
  • rim:n/a
  • w5:class
Bundle.total
DefinitionIf a set of search matches, this is the total number of matches for the search (as opposed to the number of results in this bundle).
Cardinality0...0
TypeunsignedInt
SummaryTrue
Comments

Only used if the bundle is a search result set. The total does not include resources such as OperationOutcome and included resources, only the total number of matching resources.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.link
DefinitionA series of links that provide context to this bundle.
Cardinality0...0
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.link.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.link.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.link.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Bundle.link.relation
DefinitionA name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1).
Cardinality1...1
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.link.url
DefinitionThe reference details for the link.
Cardinality1...1
Typeuri
SummaryTrue
Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry
DefinitionAn entry in a bundle resource - will either contain a resource, or information about a resource (transactions and history only).
Cardinality1...*
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • bdl-8:fullUrl cannot be a version specific reference
    fullUrl.contains('/_history/').not()
  • bdl-5:must be a resource unless there's a request or response
    resource.exists() or request.exists() or response.exists()
Mappings
  • rim:n/a
Bundle.entry.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.entry.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Bundle.entry.link
DefinitionA series of links that provide context to this entry.
Cardinality0...0
Typesee (link)
SummaryTrue
Bundle.entry.fullUrl
DefinitionThe Absolute URL for the resource. The fullUrl SHALL not disagree with the id in the resource. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: * fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle) * Results from operations might involve resources that are not identified.
Cardinality0...1
Typeuri
SummaryTrue
Comments

fullUrl may not be unique in the context of a resource. Note that since FHIR resources do not need to be served through the FHIR API, the absolute URL may not end with the logical id of the resource (Resource.id), but if the fullUrl does look like a RESTful server URL (e.g. meets the regex, then it SHALL end with the Resource.id.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.resource
DefinitionThe Resources for the entry.
Cardinality1...1
TypeResource
SummaryTrue
Mappings
  • rim:Entity. Role, or Act
Bundle.entry.search
DefinitionInformation about the search process that lead to the creation of this entry.
Cardinality0...0
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.search.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.search.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.entry.search.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Bundle.entry.search.mode
DefinitionWhy this entry is in the result set - whether it's included as a match or because of an _include requirement.
Cardinality0...1
Typecode
Binding

Why an entry is in the result set - whether it's included as a match or because of an _include requirement.

SearchEntryMode (required)
SummaryTrue
Comments

There is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.search.score
DefinitionWhen searching, the server's search ranking score for the entry.
Cardinality0...1
Typedecimal
SummaryTrue
Comments

Servers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request
DefinitionAdditional information about how this entry should be processed as part of a transaction.
Cardinality0...0
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.entry.request.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Bundle.entry.request.method
DefinitionThe HTTP verb for this entry in either a change history, or a transaction/ transaction response.
Cardinality1...1
Typecode
Binding

HTTP verbs (in the HTTP command line).

HTTPVerb (required)
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.url
DefinitionThe URL for this entry, relative to the root (the address to which the request is posted).
Cardinality1...1
Typeuri
SummaryTrue
Comments

E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT, and the URL would be "Patient/[id]".

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.ifNoneMatch
DefinitionIf the ETag values match, return a 304 Not Modified status. See the API documentation for ["Conditional Read"](http.html#cread).
Cardinality0...1
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.ifModifiedSince
DefinitionOnly perform the operation if the last updated date matches. See the API documentation for ["Conditional Read"](http.html#cread).
Cardinality0...1
Typeinstant
SummaryTrue
Comments

Note: This is intended for precisely observed times, typically system logs etc., and not human-reported times - for them, see date and dateTime below. Time zone is always required

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.ifMatch
DefinitionOnly perform the operation if the Etag value matches. For more information, see the API section ["Managing Resource Contention"](http.html#concurrency).
Cardinality0...1
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.ifNoneExist
DefinitionInstruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for ["Conditional Create"](http.html#ccreate). This is just the query portion of the URL - what follows the "?" (not including the "?").
Cardinality0...1
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response
DefinitionAdditional information about how this entry should be processed as part of a transaction.
Cardinality0...0
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.entry.response.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Bundle.entry.response.status
DefinitionThe status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code.
Cardinality1...1
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response.location
DefinitionThe location header created by processing this operation.
Cardinality0...1
Typeuri
SummaryTrue
Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response.etag
DefinitionThe etag for the resource, it the operation for the entry produced a versioned resource (see [Resource Metadata and Versioning](http.html#versioning) and [Managing Resource Contention](http.html#concurrency)).
Cardinality0...1
Typestring
SummaryTrue
Comments

Etags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response.lastModified
DefinitionThe date/time that the resource was modified on the server.
Cardinality0...1
Typeinstant
SummaryTrue
Comments

This has to match the same time in the meta header if a resource is included.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response.outcome
DefinitionAn OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction.
Cardinality0...1
TypeResource
SummaryTrue
Comments

For a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned.

Mappings
  • rim:Entity. Role, or Act
Bundle.signature
DefinitionDigital Signature - base64 encoded. XML-DSIg or a JWT.
Cardinality0...0
TypeSignature
SummaryTrue
Requirements

This element allows capturing signatures on documents. It also allows signatures on messages, transactions or even query responses. It may support content-authentication, non-repudiation or other business cases. This is primarily relevant where the bundle may travel through multiple hops or via other mechanisms where HTTPS non-repudiation is insufficient.

Comments

The signature could be created by the "author" of the bundle or by the originating device. Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A

Profile: ITK-MessageHeader-2

ITKMessageHandlingI1..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..0boolean
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
timestampΣ1..1instant
nameΣ0..0string
softwareΣ0..0string
versionΣ0..0string
endpointΣ1..1uri
identifierΣ1..1id
codeΣ1..1codeBinding
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
MessageHeader
DefinitionThe header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.
Cardinality0...*
Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
Mappings
  • rim:Entity. Role, or Act
  • v2:MSH / MSA / ERR
  • rim:Message
  • w5:infrastructure.exchange
MessageHeader.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
MessageHeader.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
MessageHeader.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.extension:ITKMessageHandling
DefinitionOptional Extension Element - found in all resources.
Cardinality1...1
TypeExtension(Complex)
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.

Invariants
  • 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
MessageHeader.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.event
DefinitionCode that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://hl7.org/fhir/message-events".
Cardinality1...1
TypeCoding
Binding

A set of codes to classify the type of event.

ITK Message Event (extensible)
SummaryTrue
Requirements

Drives the behavior associated with this message.

Comments

Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:MSH-9.2
  • rim:./payload[classCode="CACT" and moodCode="EVN" and isNormalAct()]/code[isNormalDatatype()]/code
  • w5:what
MessageHeader.event.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.event.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.event.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.nhs.uk/STU3/CodeSystem/ITK-MessageEvent-2

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
MessageHeader.event.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
MessageHeader.event.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
MessageHeader.event.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
MessageHeader.event.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...0
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
MessageHeader.destination
DefinitionThe destination application which the message is intended for.
Cardinality0...0
TypeBackboneElement
SummaryTrue
Requirements

Indicates where message is to be sent for routing purposes. Allows verification of "am I the intended recipient".

Comments

There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:./communicationFunction[typeCode="RCV"]
  • w5:who.focus
MessageHeader.destination.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.destination.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.destination.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
MessageHeader.destination.name
DefinitionHuman-readable name for the target system.
Cardinality0...1
Typestring
SummaryTrue
Requirements

May be used for routing of response and/or to support audit.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:MSH-5
  • rim:unique(./entity[determinerCode="INST" and (classCode=("DEV", "PSN", "ORG"]/name[type='ST' and isNormalDatatype()])
MessageHeader.destination.target
DefinitionIdentifies the target end system in situations where the initial message transmission is to an intermediary system.
Cardinality0...1
TypeReference(ITK Device)
SummaryTrue
Requirements

Supports multi-hop routing.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:unique(./entity[determinerCode="INST" and (classCode=("DEV", "PSN", "ORG"]
MessageHeader.destination.target.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.destination.target.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.destination.target.reference
DefinitionA 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.
Cardinality1...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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.destination.target.identifier
DefinitionAn 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.

Invariants
  • 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
MessageHeader.destination.target.display
DefinitionPlain 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.destination.endpoint
DefinitionIndicates where the message should be routed to.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Identifies where to route the message.

Comments

The id may be a non-resolvable URI for systems that do not use standard network-based addresses.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:MSH-25 (or MSH-6)
  • rim:./telecom
MessageHeader.receiver
DefinitionAllows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.
Cardinality0...1
TypeReference(CareConnect-ITK-Header-Practitioner-1 | CareConnect-ITK-Header-Organization-1)
SummaryTrue
Requirements

Allows routing beyond just the application level.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PRT-5:PRT-4='WAYR' / PRT-8:PRT-4='WAYR'
  • rim:Not directly supported. Could be shared using attentionLine.value with an appropriate keyWordText
  • w5:who.focus
MessageHeader.receiver.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.receiver.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.receiver.reference
DefinitionA 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.
Cardinality1...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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.receiver.identifier
DefinitionAn 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.

Invariants
  • 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
MessageHeader.receiver.display
DefinitionPlain 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.sender
DefinitionIdentifies the sending system to allow the use of a trust relationship.
Cardinality1...1
TypeReference(CareConnect-ITK-Header-Practitioner-1 | CareConnect-ITK-Header-Organization-1)
SummaryTrue
Requirements

Allows routing beyond just the application level.

Comments

Use case is for where a (trusted) sending system is responsible for multiple organizations, and therefore cannot differentiate based on source endpoint / authentication alone.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PRT-5:PRT-4='WAYR' / PRT-8:PRT-4='WAYR'
  • rim:Not directly supported. Could be shared using attentionLine.value with an appropriate keyWordText
  • w5:who.focus
MessageHeader.sender.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.sender.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.sender.reference
DefinitionA 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.
Cardinality1...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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.sender.identifier
DefinitionAn 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.

Invariants
  • 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
MessageHeader.sender.display
DefinitionPlain 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.timestamp
DefinitionThe time that the message was sent.
Cardinality1...1
Typeinstant
SummaryTrue
Requirements

Allows limited detection of out-of-order and delayed transmission. Also supports audit.

Comments

Note: This is intended for precisely observed times, typically system logs etc., and not human-reported times - for them, see date and dateTime below. Time zone is always required

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:MSH-7
  • rim:./creationTime[isNormalDatatype()]
  • w5:when.init
MessageHeader.enterer
DefinitionThe person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.
Cardinality0...0
TypeReference(CareConnect-ITK-Header-Practitioner-1)
SummaryTrue
Requirements

Need to know for audit/traceback requirements and possibly for authorization.

Comments

Usually only for the request, but can be used in a response.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:EVN-5 / ORC-10 / PRT-5:PRT-4='EP' / ROL where ROL.3 is EP or ORC.10
  • rim:unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[typeCode="ENT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode=("DEV", "PSN") and determinerCode="INST"])
  • w5:who.author
MessageHeader.enterer.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.enterer.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.enterer.reference
DefinitionA 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.
Cardinality1...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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.enterer.identifier
DefinitionAn 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.

Invariants
  • 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
MessageHeader.enterer.display
DefinitionPlain 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.author
DefinitionThe logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.
Cardinality0...0
TypeReference(CareConnect-ITK-Header-Practitioner-1)
SummaryTrue
Requirements

Need to know for audit/traceback requirements and possibly for authorization.

Comments

Usually only for the request, but can be used in a response.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:ORC-19 / PRT-5:PRT-4='AUT' / ROL where ROL.3 is IP or ORC.12
  • rim:unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode=("DEV", "PSN") and determinerCode="INST"])
  • w5:who.author
MessageHeader.author.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.author.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.author.reference
DefinitionA 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.
Cardinality1...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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.author.identifier
DefinitionAn 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.

Invariants
  • 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
MessageHeader.author.display
DefinitionPlain 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.source
DefinitionThe source application from which this message originated.
Cardinality1...1
TypeBackboneElement
SummaryTrue
Requirements

Allows replies, supports audit.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:unique(./communicationFunction[typeCode="SND"])
  • w5:who.actor
MessageHeader.source.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.source.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.source.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
MessageHeader.source.name
DefinitionHuman-readable name for the source system.
Cardinality0...0
Typestring
SummaryTrue
Requirements

May be used to support audit.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:MSH-3
  • rim:unique(./entity[determinerCode="INST" and classCode="DEV"]/name[type='ST' and isNormalDatatype()])
MessageHeader.source.software
DefinitionMay include configuration or other information useful in debugging.
Cardinality0...0
Typestring
SummaryTrue
Requirements

Supports audit and possibly interface engine behavior.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:SFT-3 ( +SFT-1)
  • rim:unique(./entity[determinerCode="INST" and classCode="DEV"]/softwareName[isNormalDatatype()])
MessageHeader.source.version
DefinitionCan convey versions of multiple systems in situations where a message passes through multiple hands.
Cardinality0...0
Typestring
SummaryTrue
Requirements

Supports audit and possibly interface engine behavior.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:SFT-2
  • rim:(Not supported)
MessageHeader.source.contact
DefinitionAn e-mail, phone, website or other contact point to use to resolve issues with message communications.
Cardinality0...0
TypeContactPoint
SummaryTrue
Requirements

Allows escalation of technical issues.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • cpt-2:A system is required if a value is provided.
    value.empty() or system.exists()
Mappings
  • rim:n/a
  • v2:XTN
  • rim:TEL
  • servd:ContactPoint
  • v2:(MSH-22?)
  • rim:unique(./entity[determinerCode="INST" and classCode="DEV"]/scopesRole[normalRole() and classCode="CON" and layer[classCode="PSN"]/telecom[isNormalDatatype()])
MessageHeader.source.contact.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.source.contact.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.source.contact.system
DefinitionTelecommunications form for contact point - what communications system is required to make use of the contact.
Cardinality1...1
Typecode
Binding

Telecommunications form for contact point

ContactPointSystem (required)
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XTN.3
  • rim:./scheme
  • servd:./ContactPointType
MessageHeader.source.contact.value
DefinitionThe actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to support legacy numbers that are not in a tightly controlled format.

Comments

Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XTN.1 (or XTN.12)
  • rim:./url
  • servd:./Value
MessageHeader.source.contact.use
DefinitionIdentifies the purpose for the contact point.
Cardinality0...1
Typecode
Binding

Use of contact point

ContactPointUse (required)
ModifierTrue
SummaryTrue
Requirements

Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old contact etc.for a current/permanent one. Applications can assume that a contact is current unless it explicitly says that it is temporary or old.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XTN.2 - but often indicated by field
  • rim:unique(./use)
  • servd:./ContactPointPurpose
MessageHeader.source.contact.rank
DefinitionSpecifies a preferred order in which to use a set of contacts. Contacts are ranked with lower values coming before higher values.
Cardinality0...1
TypepositiveInt
SummaryTrue
Comments

Note that rank does not necessarily follow the order in which the contacts are represented in the instance.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:n/a
MessageHeader.source.contact.period
DefinitionTime period when the contact point was/is in use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:N/A
  • rim:./usablePeriod[type="IVL<TS>"]
  • servd:./StartDate and ./EndDate
MessageHeader.source.endpoint
DefinitionIdentifies the routing target to send acknowledgements to.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Identifies where to send responses, may influence security permissions.

Comments

The id may be a non-resolvable URI for systems that do not use standard network-based addresses.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:MSH-24
  • rim:./telecom[isNormalDatatype()]
MessageHeader.responsible
DefinitionThe person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.
Cardinality0...0
TypeReference(CareConnect-ITK-Header-Practitioner-1 | CareConnect-ITK-Header-Organization-1)
SummaryTrue
Requirements

Need to know for audit/traceback requirements and possibly for authorization.

Comments

Usually only for the request, but can be used in a response.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:ORC-12 / PRT-5:PRT-4='OP' / PRT-8:PRT-4='OP' / ROL where ROL.3 is RO or ORC.11
  • rim:unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="RESP" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode="PSN" and determinerCode="INST"] or ./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="RESP" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/scoper[isNormalEntity() and classCode="ORG" and determinerCode="INST"])
  • w5:who.witness
MessageHeader.responsible.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.responsible.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.responsible.reference
DefinitionA 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.
Cardinality1...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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.responsible.identifier
DefinitionAn 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.

Invariants
  • 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
MessageHeader.responsible.display
DefinitionPlain 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.reason
DefinitionCoded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message.
Cardinality0...0
TypeCodeableConcept
Binding

Reason for event occurrence

Example Message Reason Codes (example)
SummaryTrue
Requirements

Need to be able to track why resources are being changed and report in the audit log/history of the resource. May affect authorization.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:EVN.4 / ORC.16 / OBR-31-reason for study / BPO-13-BP indication for use / RXO-20-indication / RXE-27-give indication / RXD-21-indication / RXG-22-indication / RXA-19-indication
  • rim:unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/reasonCode[isNormalDatatype()])
  • w5:why
MessageHeader.reason.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.reason.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.reason.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
MessageHeader.reason.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.reason.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.reason.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
MessageHeader.reason.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
MessageHeader.reason.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
MessageHeader.reason.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
MessageHeader.reason.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
MessageHeader.reason.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
MessageHeader.response
DefinitionInformation about the message that this message is a response to. Only present if this message is a response.
Cardinality0...1
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:MSA
  • rim:./conveyedAcknowledgement
MessageHeader.response.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.response.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.response.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
MessageHeader.response.identifier
DefinitionThe MessageHeader.id of the message to which this message is a response.
Cardinality1...1
Typeid
SummaryTrue
Requirements

Allows receiver to know what message is being responded to.

Comments

RFC 4122

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:MSA-2
  • rim:./acknowledges.id[isNormalDatatype()]
MessageHeader.response.code
DefinitionCode that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not.
Cardinality1...1
Typecode
Binding

The kind of response to a message

ResponseType (required)
SummaryTrue
Requirements

Allows the sender of the acknowledge message to know if the request was successful or if action is needed.

Comments

This is a generic response to the request message. Specific data for the response will be found in MessageHeader.focus.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:MSA-1
  • rim:./typeCode[isNormalDatatype()]
MessageHeader.response.details
DefinitionFull details of any issues found in the message.
Cardinality1...1
TypeReference(ITK-Response-OperationOutcome-1)
SummaryTrue
Requirements

Allows the sender of the message to determine what the specific issues are.

Comments

This SHALL be contained in the bundle. If any of the issues are errors, the response code SHALL be an error.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:ERR
  • rim:AcknowledgementDetail or Observation[classCode="ALRT" and moodCode="EVN"]
MessageHeader.response.details.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.response.details.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.response.details.reference
DefinitionA 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.
Cardinality1...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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.response.details.identifier
DefinitionAn 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.

Invariants
  • 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
MessageHeader.response.details.display
DefinitionPlain 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.focus
DefinitionThe actual data of the message - a reference to the root/focus class of the event.
Cardinality0...1
TypeReference(Resource)
SummaryTrue
Requirements

Every message event is about actual data, a single resource, that is identified in the definition of the event, and perhaps some or all linked resources.

Comments

The data is defined where the transaction type is defined. The transaction data is always included in the bundle that is the full message. Only the root resource is specified. The resources it references should be contained in the bundle but are not also listed here. Multiple repetitions are allowed to cater for merges and other situations with multiple focal targets.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[typeCode="SUBJ" and isNormalParticipation]/role or ./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/outboundRelationship[typeCode="SBJ" and isNormalActRelatoinship]/target)
MessageHeader.focus.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MessageHeader.focus.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MessageHeader.focus.reference
DefinitionA 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.
Cardinality1...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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MessageHeader.focus.identifier
DefinitionAn 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.

Invariants
  • 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
MessageHeader.focus.display
DefinitionPlain 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A

Profile: CareConnect-ITK-Header-Organization-1

organization-periodI0..0Extension(Period)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeΣ ?!0..0boolean
typeΣ0..0CodeableConcept
nameΣ I0..0string
alias0..0string
telecomI0..0ContactPoint
partOfΣ I0..0Reference(Organization)
endpointI0..0Reference(Endpoint)
Organization
DefinitionA formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.
Cardinality0...*
Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
  • org-1:The organization SHALL at least have a name or an id, and possibly more than one
    (identifier.count() + name.count()) > 0
Mappings
  • rim:Entity. Role, or Act
  • v2:(also see master files messages)
  • rim:Organization(classCode=ORG, determinerCode=INST)
  • servd:Organization
  • w5:administrative.group
Organization.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Organization.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
Organization.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
Organization.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.extension:mainLocation
DefinitionThe main location of the organization.
Cardinality0...0
TypeExtension(Reference(CareConnect-Location-1))
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.

Invariants
  • 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
Organization.extension:mainLocation.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.extension:mainLocation.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.extension:mainLocation.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-MainLocation-1

Mappings
  • rim:n/a
  • rim:N/A
Organization.extension:mainLocation.value[x]:valueReference
DefinitionReference to the main location for an organization.
Cardinality1...1
TypeReference(CareConnect-Location-1)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Organization.extension:organization-period
DefinitionThe date range that this organization should be considered available.
Cardinality0...0
TypeExtension(Period)
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.

Invariants
  • 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
Organization.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.identifier
DefinitionIdentifier for the organization that is used to identify the organization across multiple disparate systems.
Cardinality0...*
TypeIdentifier
SummaryTrue
Requirements

Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.

SlicingUnordered, Open At End, by system(Value)
Invariants
  • 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
  • v2:XON.10 / XON.3
  • rim:.scopes[Role](classCode=IDENT)
  • servd:./Identifiers
  • w5:id
Organization.identifier:odsOrganisationCode
DefinitionIdentifier code supplier by the Organisation Data Service
Cardinality0...1
TypeIdentifier
SummaryTrue
Requirements

Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.

Invariants
  • 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
  • v2:XON.10 / XON.3
  • rim:.scopes[Role](classCode=IDENT)
  • servd:./Identifiers
  • w5:id
Organization.identifier:odsOrganisationCode.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.identifier:odsOrganisationCode.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.identifier:odsOrganisationCode.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Organization.identifier:odsOrganisationCode.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Organization.identifier:odsOrganisationCode.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.nhs.uk/Id/ods-organization-code

Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Organization.identifier:odsOrganisationCode.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Organization.identifier:odsOrganisationCode.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Organization.identifier:odsOrganisationCode.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Organization.identifier:odsSiteCode
DefinitionODS Site code to identify the organisation at site level
Cardinality0...1
TypeIdentifier
SummaryTrue
Requirements

Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.

Invariants
  • 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
  • v2:XON.10 / XON.3
  • rim:.scopes[Role](classCode=IDENT)
  • servd:./Identifiers
  • w5:id
Organization.identifier:odsSiteCode.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.identifier:odsSiteCode.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.identifier:odsSiteCode.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Organization.identifier:odsSiteCode.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Organization.identifier:odsSiteCode.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.nhs.uk/Id/ods-site-code

Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Organization.identifier:odsSiteCode.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Organization.identifier:odsSiteCode.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Organization.identifier:odsSiteCode.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Organization.active
DefinitionWhether the organization's record is still in active use.
Cardinality0...0
Typeboolean
ModifierTrue
SummaryTrue
Requirements

Need a flag to indicate a record is no longer to be used and should generally be hidden for the user in the UI.

Comments

Default is true.

This active flag is not intended to be used to mark an organizations as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used.

This element is labeled as a modifier because it may be used to mark that the resource was created in error.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:No equivalent in HL7 v2
  • rim:.status
  • servd:./Status (however this concept in ServD more covers why the organization is active or not, could be delisted, deregistered, not operational yet) this could alternatively be derived from ./StartDate and ./EndDate and given a context date.
  • w5:status
Organization.type
DefinitionThe kind(s) of organization that this is.
Cardinality0...0
TypeCodeableConcept
Binding

Used to categorize the organization

OrganizationType (example)
SummaryTrue
Requirements

Need to be able to track the kind of organization that this is - different organization types have different uses.

Comments

Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes

When considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center.

We expect that some jurisdictions will profile this optionality to be a single cardinality.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:No equivalent in v2
  • rim:.code
  • servd:n/a
  • w5:class
Organization.name
DefinitionA name associated with the organization.
Cardinality0...0
Typestring
SummaryTrue
Requirements

Need to use the name as the label of the organization.

Comments

If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XON.1
  • rim:.name
  • servd:.PreferredName/Name
Organization.alias
DefinitionA list of alternate names that the organization is known as, or was known as in the past.
Cardinality0...0
Typestring
Requirements

Over time locations and organizations go through many changes and can be known by different names.

For searching knowing previous names that the organization was known by can be very useful.

Comments

There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.name
Organization.telecom
DefinitionA contact detail for the organization.
Cardinality0...0
TypeContactPoint
Requirements

Human contact for the organization.

Comments

The use code home is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • cpt-2:A system is required if a value is provided.
    value.empty() or system.exists()
  • org-3:The telecom of an organization can never be of use 'home'
    where(use = 'home').empty()
Mappings
  • rim:n/a
  • v2:XTN
  • rim:TEL
  • servd:ContactPoint
  • v2:ORC-22?
  • rim:.telecom
  • servd:./ContactPoints
Organization.address
DefinitionAn address for the organization.
Cardinality0...0
TypeAddress
Requirements

May need to keep track of the organization's addresses for contacting, billing or reporting requirements.

Comments

Organization may have multiple addresses with different uses or applicable periods. The use code home is not to be used.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • org-2:An address of an organization can never be of use 'home'
    where(use = 'home').empty()
Mappings
  • rim:n/a
  • v2:XAD
  • rim:AD
  • servd:Address
  • v2:ORC-23?
  • rim:.address
  • servd:./PrimaryAddress and ./OtherAddresses
Organization.address.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.address.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.address.use
DefinitionThe purpose of this address.
Cardinality0...1
Typecode
Binding

The use of an address

AddressUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows an appropriate address to be chosen from a list of many.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old address etc.for a current/permanent one. Applications can assume that an address is current unless it explicitly says that it is temporary or old.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

home


Mappings
  • rim:n/a
  • v2:XAD.7
  • rim:unique(./use)
  • servd:./AddressPurpose
Organization.address.type
DefinitionDistinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.
Cardinality0...1
Typecode
Binding

The type of an address (physical / postal)

AddressType (required)
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

both


Mappings
  • rim:n/a
  • v2:XAD.18
  • rim:unique(./use)
  • vcard:address type parameter
Organization.address.text
DefinitionA full text representation of the address.
Cardinality0...1
Typestring
SummaryTrue
Requirements

A renderable, unencoded form.

Comments

Can provide both a text representation and parts.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

137 Nowhere Street, Erewhon 9132


Mappings
  • rim:n/a
  • v2:XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
  • rim:./formatted
  • vcard:address label parameter
Organization.address.line
DefinitionThis component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information.
Cardinality0...*
Typestring
SummaryTrue
Requirements

home | work | temp | old - purpose of this address.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

137 Nowhere Street


Mappings
  • rim:n/a
  • v2:XAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)
  • rim:AD.part[parttype = AL]
  • vcard:street
  • servd:./StreetAddress (newline delimitted)
Organization.address.city
DefinitionThe name of the city, town, village or other community or delivery center.
Cardinality0...1
Typestring
SummaryTrue
AliasMunicpality
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Erewhon


Mappings
  • rim:n/a
  • v2:XAD.3
  • rim:AD.part[parttype = CTY]
  • vcard:locality
  • servd:./Jurisdiction
Organization.address.district
DefinitionThe name of the administrative area (county).
Cardinality0...1
Typestring
SummaryTrue
AliasCounty
Comments

District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Madison


Mappings
  • rim:n/a
  • v2:XAD.9
  • rim:AD.part[parttype = CNT | CPA]
Organization.address.state
DefinitionSub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).
Cardinality0...0
Typestring
SummaryTrue
AliasProvince, Territory
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD.4
  • rim:AD.part[parttype = STA]
  • vcard:region
  • servd:./Region
Organization.address.postalCode
DefinitionA postal code designating a region defined by the postal service.
Cardinality0...1
Typestring
SummaryTrue
AliasZip
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

9132


Mappings
  • rim:n/a
  • v2:XAD.5
  • rim:AD.part[parttype = ZIP]
  • vcard:code
  • servd:./PostalIdentificationCode
Organization.address.country
DefinitionCountry - a nation as commonly understood or generally accepted.
Cardinality0...1
Typestring
SummaryTrue
Comments

ISO 3166 3 letter codes can be used in place of a full country name.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD.6
  • rim:AD.part[parttype = CNT]
  • vcard:country
  • servd:./Country
Organization.address.period
DefinitionTime period when address was/is in use.
Cardinality0...1
TypePeriod
SummaryTrue
Requirements

Allows addresses to be placed in historical context.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Examples
General

{
  "start": "2010-03-23",
  "end": "2010-07-01"
}


Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:XAD.12 / XAD.13 + XAD.14
  • rim:./usablePeriod[type="IVL<TS>"]
  • servd:./StartDate and ./EndDate
Organization.partOf
DefinitionThe organization of which this organization forms a part.
Cardinality0...0
TypeReference(Organization)
SummaryTrue
Requirements

Need to be able to track the hierarchy of organizations within an organization.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:No equivalent in HL7 v2
  • rim:.playedBy[classCode=Part].scoper
  • servd:n/a
Organization.contact
DefinitionContact for the organization for a certain purpose.
Cardinality0...0
TypeBackboneElement
Requirements

Need to keep track of assigned contact points within bigger organization.

Comments

Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.contactParty
Organization.contact.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.contact.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.contact.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Organization.contact.purpose
DefinitionIndicates a purpose for which the contact can be reached.
Cardinality0...1
TypeCodeableConcept
Binding

The purpose for which you would contact a contact party

ContactEntityType (extensible)
Requirements

Need to distinguish between multiple contact persons.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:./type
Organization.contact.name
DefinitionA name associated with the contact.
Cardinality0...1
TypeHumanName
Requirements

Need to be able to track the person by name.

Comments

Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts may or may not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN
  • rim:EN (actually, PN)
  • servd:ProviderName
  • v2:PID-5, PID-9
  • rim:./name
Organization.contact.name.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.contact.name.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.contact.name.use
DefinitionIdentifies the purpose for this name.
Cardinality0...1
Typecode
Binding

The use of a human name

NameUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate name for a particular context of use to be selected from among a set of names.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old name etc.for a current/permanent one. Applications can assume that a name is current unless it explicitly says that it is temporary or old.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.7, but often indicated by which field contains the name
  • rim:unique(./use)
  • servd:./NamePurpose
Organization.contact.name.text
DefinitionA full text representation of the name.
Cardinality0...1
Typestring
SummaryTrue
Requirements

A renderable, unencoded form.

Comments

Can provide both a text representation and structured parts.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:implied by XPN.11
  • rim:./formatted
Organization.contact.name.family
DefinitionThe part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.
Cardinality1...1
Typestring
SummaryTrue
Aliassurname
Comments

Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.1/FN.1
  • rim:./part[partType = FAM]
  • servd:./FamilyName
Organization.contact.name.given
DefinitionGiven name.
Cardinality0...*
Typestring
SummaryTrue
Aliasfirst name, middle name
Comments

If only initials are recorded, they may be used in place of the full name. Not called "first name" since given names do not always come first.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.2 + XPN.3
  • rim:./part[partType = GIV]
  • servd:./GivenNames
Organization.contact.name.prefix
DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.
Cardinality0...*
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.5
  • rim:./part[partType = PFX]
  • servd:./TitleCode
Organization.contact.name.suffix
DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.
Cardinality0...*
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN/4
  • rim:./part[partType = SFX]
Organization.contact.name.period
DefinitionIndicates the period of time when this name was valid for the named person.
Cardinality0...1
TypePeriod
SummaryTrue
Requirements

Allows names to be placed in historical context.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:XPN.13 + XPN.14
  • rim:./usablePeriod[type="IVL<TS>"]
  • servd:./StartDate and ./EndDate
Organization.contact.telecom
DefinitionA contact detail (e.g. a telephone number or an email address) by which the party may be contacted.
Cardinality0...*
TypeContactPoint
Requirements

People have (primary) ways to contact them in some way such as phone, email.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • cpt-2:A system is required if a value is provided.
    value.empty() or system.exists()
Mappings
  • rim:n/a
  • v2:XTN
  • rim:TEL
  • servd:ContactPoint
  • v2:PID-13, PID-14
  • rim:./telecom
Organization.contact.address
DefinitionVisiting or postal addresses for the contact.
Cardinality0...1
TypeAddress
Requirements

May need to keep track of a contact party's address for contacting, billing or reporting requirements.

Comments

Note: address is for postal addresses, not physical locations.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD
  • rim:AD
  • servd:Address
  • v2:PID-11
  • rim:./addr
Organization.contact.address.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.contact.address.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.contact.address.use
DefinitionThe purpose of this address.
Cardinality0...1
Typecode
Binding

The use of an address

AddressUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows an appropriate address to be chosen from a list of many.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old address etc.for a current/permanent one. Applications can assume that an address is current unless it explicitly says that it is temporary or old.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

home


Mappings
  • rim:n/a
  • v2:XAD.7
  • rim:unique(./use)
  • servd:./AddressPurpose
Organization.contact.address.type
DefinitionDistinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.
Cardinality0...1
Typecode
Binding

The type of an address (physical / postal)

AddressType (required)
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

both


Mappings
  • rim:n/a
  • v2:XAD.18
  • rim:unique(./use)
  • vcard:address type parameter
Organization.contact.address.text
DefinitionA full text representation of the address.
Cardinality0...1
Typestring
SummaryTrue
Requirements

A renderable, unencoded form.

Comments

Can provide both a text representation and parts.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

137 Nowhere Street, Erewhon 9132


Mappings
  • rim:n/a
  • v2:XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
  • rim:./formatted
  • vcard:address label parameter
Organization.contact.address.line
DefinitionThis component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information.
Cardinality0...*
Typestring
SummaryTrue
Requirements

home | work | temp | old - purpose of this address.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

137 Nowhere Street


Mappings
  • rim:n/a
  • v2:XAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)
  • rim:AD.part[parttype = AL]
  • vcard:street
  • servd:./StreetAddress (newline delimitted)
Organization.contact.address.city
DefinitionThe name of the city, town, village or other community or delivery center.
Cardinality0...1
Typestring
SummaryTrue
AliasMunicpality
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Erewhon


Mappings
  • rim:n/a
  • v2:XAD.3
  • rim:AD.part[parttype = CTY]
  • vcard:locality
  • servd:./Jurisdiction
Organization.contact.address.district
DefinitionThe name of the administrative area (county).
Cardinality0...1
Typestring
SummaryTrue
AliasCounty
Comments

District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Madison


Mappings
  • rim:n/a
  • v2:XAD.9
  • rim:AD.part[parttype = CNT | CPA]
Organization.contact.address.state
DefinitionSub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).
Cardinality0...0
Typestring
SummaryTrue
AliasProvince, Territory
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD.4
  • rim:AD.part[parttype = STA]
  • vcard:region
  • servd:./Region
Organization.contact.address.postalCode
DefinitionA postal code designating a region defined by the postal service.
Cardinality0...1
Typestring
SummaryTrue
AliasZip
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

9132


Mappings
  • rim:n/a
  • v2:XAD.5
  • rim:AD.part[parttype = ZIP]
  • vcard:code
  • servd:./PostalIdentificationCode
Organization.contact.address.country
DefinitionCountry - a nation as commonly understood or generally accepted.
Cardinality0...1
Typestring
SummaryTrue
Comments

ISO 3166 3 letter codes can be used in place of a full country name.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD.6
  • rim:AD.part[parttype = CNT]
  • vcard:country
  • servd:./Country
Organization.contact.address.period
DefinitionTime period when address was/is in use.
Cardinality0...1
TypePeriod
SummaryTrue
Requirements

Allows addresses to be placed in historical context.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Examples
General

{
  "start": "2010-03-23",
  "end": "2010-07-01"
}


Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:XAD.12 / XAD.13 + XAD.14
  • rim:./usablePeriod[type="IVL<TS>"]
  • servd:./StartDate and ./EndDate
Organization.endpoint
DefinitionTechnical endpoints providing access to services operated for the organization.
Cardinality0...0
TypeReference(Endpoint)
Requirements

Organizations have multiple systems that provide various services and need to be able to define the technical connection details for how to connect to them, and for what purpose.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)

Profile: ITK-Response-OperationOutcome-1

severityΣ ?!1..1codeBinding
codeΣ1..1codeBinding
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..0boolean
textΣ0..1string
diagnosticsΣ0..1string
locationΣ0..*string
expressionΣ0..*string
OperationOutcome
DefinitionA collection of responses that result from a system action.
Cardinality0...*
Comments

Can result from the failure of a REST call or be part of the response message returned from a request message. If sent with extensions overriding particular issues, might even appear as part of a request message.

Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
Mappings
  • rim:Entity. Role, or Act
  • rim:Grouping is handled through multiple repetitions from whatever context references the outcomes (no specific grouper required)
  • w5:infrastructure.exchange
OperationOutcome.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
OperationOutcome.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
OperationOutcome.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
OperationOutcome.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
OperationOutcome.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
OperationOutcome.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
OperationOutcome.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
OperationOutcome.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
OperationOutcome.issue
DefinitionA response that results from a system action.
Cardinality1...*
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:ERR
  • rim:AcknowledgementDetail or Observation[classCode="ALRT" and moodCode="EVN"]
OperationOutcome.issue.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
OperationOutcome.issue.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
OperationOutcome.issue.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
OperationOutcome.issue.severity
DefinitionIndicates whether the issue indicates a variation from successful processing.
Cardinality1...1
Typecode
Binding

How the issue affects the success of the action.

IssueSeverity (required)
ModifierTrue
SummaryTrue
Requirements

Indicates how relevant the issue is to the overall success of the action.

Comments

This is labeled as "Is Modifier" because applications should not confuse hints and warnings with errors.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:ERR-4
  • rim:./typeCode[parent::AcknowledgmentDetail] or unique(./inboundRelationship[parent::Observation and typeCode='SUBJ' and isNormalActRelationship()]/source[classCode="OBS" and moodCode="EVN" and implies(code, ActCode#SEV and isNormalAct())/value[xsi:type="CD"]
OperationOutcome.issue.code
DefinitionDescribes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element.
Cardinality1...1
Typecode
Binding

A code that describes the type of issue.

IssueType (required)
SummaryTrue
Requirements

Expresses the issue in a human and computer-friendly way, allowing the requesting system to behave differently based on the type of issue.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:ERR-3
  • rim:./code
OperationOutcome.issue.details
DefinitionAdditional details about the response. This may be a text description of the response, or a system code that identifies the response.
Cardinality1...1
TypeCodeableConcept
Binding

A ValueSet that provides details as to the exact issue.

ITK Response Codes (required)
SummaryTrue
Comments

A human readable description of the response issue SHOULD be placed in details.text.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:ERR-5
  • rim:./code
OperationOutcome.issue.details.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
OperationOutcome.issue.details.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
OperationOutcome.issue.details.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality1...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
OperationOutcome.issue.details.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
OperationOutcome.issue.details.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
OperationOutcome.issue.details.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.nhs.uk/STU3/CodeSystem/ITK-ResponseCodes-1

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
OperationOutcome.issue.details.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
OperationOutcome.issue.details.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
OperationOutcome.issue.details.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
OperationOutcome.issue.details.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...0
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
OperationOutcome.issue.details.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
OperationOutcome.issue.diagnostics
DefinitionAdditional diagnostic information about the issue. Typically, this may be a description of how a value is erroneous, or a stack dump to help trace the issue.
Cardinality0...1
Typestring
SummaryTrue
Comments

Typically this field is used to provide troubleshooting information about the error.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:ERR-8
  • rim:./text[parent::AcknowledgmentDetail]
OperationOutcome.issue.location
DefinitionFor resource issues, this will be a simple XPath limited to element names, repetition indicators and the default child access that identifies one of the elements in the resource that caused this issue to be raised. For HTTP errors, will be "http." + the parameter name.
Cardinality0...*
Typestring
SummaryTrue
Requirements

Allows systems to highlight or otherwise guide users to elements implicated in issues to allow them to be fixed more easily.

Comments

The root of the XPath is the resource or bundle that generated OperationOutcome. Each XPath SHALL resolve to a single node. The XPath syntax is used whether the referenced instance is expressed in XML or JSON. Note that expression is being trialed as an alternative to XPath.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:ERR-2
  • rim:./location[parent::AcknowledgmentDetail]
OperationOutcome.issue.expression
DefinitionA simple FHIRPath limited to element names, repetition indicators and the default child access that identifies one of the elements in the resource that caused this issue to be raised.
Cardinality0...*
Typestring
SummaryTrue
Requirements

Allows systems to highlight or otherwise guide users to elements implicated in issues to allow them to be fixed more easily.

Comments

The root of the FHIRPath is the resource or bundle that generated OperationOutcome. Each FHIRPath SHALL resolve to a single node.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:ERR-2
  • rim:./location[parent::AcknowledgmentDetail]

Profile: ITK-Document-Bundle-1

useΣ ?!0..1codeBinding
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemΣ0..1uri
valueΣ1..1string
periodΣ I0..1Period
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
typeΣ1..1codeBindingFixed Value
totalΣ I0..0unsignedInt
fullUrlΣ0..1uri
resourceΣ1..1Resource
signatureΣ0..0Signature
Bundle
DefinitionA container for a collection of resources.
Cardinality0...*
Invariants
  • bdl-7:FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId
    entry.where(fullUrl).select(fullUrl&resource.meta.versionId).isDistinct()
  • bdl-9:A document must have an identifier with a system and a value
    type = 'document' implies (identifier.system.exists() and identifier.value.exists())
  • bdl-3:entry.request only for some types of bundles
    entry.request.empty() or type = 'batch' or type = 'transaction' or type = 'history'
  • bdl-4:entry.response only for some types of bundles
    entry.response.empty() or type = 'batch-response' or type = 'transaction-response'
  • bdl-1:total only when a search or history
    total.empty() or (type = 'searchset') or (type = 'history')
  • bdl-2:entry.search only when a search
    entry.search.empty() or (type = 'searchset')
Mappings
  • rim:Entity. Role, or Act
  • v2:N/A
  • rim:N/A
  • w5:infrastructure.structure
Bundle.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Bundle.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.identifier
DefinitionA persistent identifier for the batch that won't change as a batch is copied from server to server.
Cardinality1...1
TypeIdentifier
SummaryTrue
Comments

Persistent identity generally only matters for batches of type Document, Message, and Collection. It would not normally be populated for search and history results, and servers ignore Bundle.identifier when processing batches and transactions. For Documents the .identifier SHALL be populated such that the .identifier is globally unique.

Invariants
  • 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
  • w5:id
Bundle.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Bundle.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Bundle.identifier.type.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.identifier.type.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.identifier.type.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Bundle.identifier.type.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.identifier.type.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.identifier.type.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Bundle.identifier.type.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Bundle.identifier.type.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Bundle.identifier.type.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Bundle.identifier.type.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Bundle.identifier.type.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Bundle.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality0...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


General

https://tools.ietf.org/html/rfc4122, if the identifier.value is a UUID


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Bundle.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


General

27dca674-d5a7-4184-b1d8-372ea339cbc9


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Bundle.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Bundle.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Bundle.identifier.assigner.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.identifier.assigner.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.identifier.assigner.reference
DefinitionA 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.
Cardinality1...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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Bundle.identifier.assigner.identifier
DefinitionAn 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.

Invariants
  • 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
Bundle.identifier.assigner.display
DefinitionPlain 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Bundle.type
DefinitionIndicates the purpose of this bundle - how it was intended to be used.
Cardinality1...1
Typecode
Binding

Indicates the purpose of a bundle - how it was intended to be used.

BundleType (required)
SummaryTrue
Comments

It's possible to use a bundle for other purposes (e.g. a document can be accepted as a transaction). This is primarily defined so that there can be specific rules for some of the bundle types.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

document

Mappings
  • rim:n/a
  • w5:class
Bundle.total
DefinitionIf a set of search matches, this is the total number of matches for the search (as opposed to the number of results in this bundle).
Cardinality0...0
TypeunsignedInt
SummaryTrue
Comments

Only used if the bundle is a search result set. The total does not include resources such as OperationOutcome and included resources, only the total number of matching resources.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.link
DefinitionA series of links that provide context to this bundle.
Cardinality0...0
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.link.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.link.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.link.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Bundle.link.relation
DefinitionA name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1).
Cardinality1...1
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.link.url
DefinitionThe reference details for the link.
Cardinality1...1
Typeuri
SummaryTrue
Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry
DefinitionAn entry in a bundle resource - will either contain a resource, or information about a resource (transactions and history only).
Cardinality1...*
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • bdl-8:fullUrl cannot be a version specific reference
    fullUrl.contains('/_history/').not()
  • bdl-5:must be a resource unless there's a request or response
    resource.exists() or request.exists() or response.exists()
Mappings
  • rim:n/a
Bundle.entry.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.entry.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Bundle.entry.link
DefinitionA series of links that provide context to this entry.
Cardinality0...0
Typesee (link)
SummaryTrue
Bundle.entry.fullUrl
DefinitionThe Absolute URL for the resource. The fullUrl SHALL not disagree with the id in the resource. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: * fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle) * Results from operations might involve resources that are not identified.
Cardinality0...1
Typeuri
SummaryTrue
Comments

fullUrl may not be unique in the context of a resource. Note that since FHIR resources do not need to be served through the FHIR API, the absolute URL may not end with the logical id of the resource (Resource.id), but if the fullUrl does look like a RESTful server URL (e.g. meets the regex, then it SHALL end with the Resource.id.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.resource
DefinitionThe Resources for the entry.
Cardinality1...1
TypeResource
SummaryTrue
Mappings
  • rim:Entity. Role, or Act
Bundle.entry.search
DefinitionInformation about the search process that lead to the creation of this entry.
Cardinality0...0
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.search.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.search.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.entry.search.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Bundle.entry.search.mode
DefinitionWhy this entry is in the result set - whether it's included as a match or because of an _include requirement.
Cardinality0...1
Typecode
Binding

Why an entry is in the result set - whether it's included as a match or because of an _include requirement.

SearchEntryMode (required)
SummaryTrue
Comments

There is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.search.score
DefinitionWhen searching, the server's search ranking score for the entry.
Cardinality0...1
Typedecimal
SummaryTrue
Comments

Servers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request
DefinitionAdditional information about how this entry should be processed as part of a transaction.
Cardinality0...0
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.entry.request.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Bundle.entry.request.method
DefinitionThe HTTP verb for this entry in either a change history, or a transaction/ transaction response.
Cardinality1...1
Typecode
Binding

HTTP verbs (in the HTTP command line).

HTTPVerb (required)
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.url
DefinitionThe URL for this entry, relative to the root (the address to which the request is posted).
Cardinality1...1
Typeuri
SummaryTrue
Comments

E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT, and the URL would be "Patient/[id]".

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.ifNoneMatch
DefinitionIf the ETag values match, return a 304 Not Modified status. See the API documentation for ["Conditional Read"](http.html#cread).
Cardinality0...1
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.ifModifiedSince
DefinitionOnly perform the operation if the last updated date matches. See the API documentation for ["Conditional Read"](http.html#cread).
Cardinality0...1
Typeinstant
SummaryTrue
Comments

Note: This is intended for precisely observed times, typically system logs etc., and not human-reported times - for them, see date and dateTime below. Time zone is always required

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.ifMatch
DefinitionOnly perform the operation if the Etag value matches. For more information, see the API section ["Managing Resource Contention"](http.html#concurrency).
Cardinality0...1
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.request.ifNoneExist
DefinitionInstruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for ["Conditional Create"](http.html#ccreate). This is just the query portion of the URL - what follows the "?" (not including the "?").
Cardinality0...1
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response
DefinitionAdditional information about how this entry should be processed as part of a transaction.
Cardinality0...0
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Bundle.entry.response.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Bundle.entry.response.status
DefinitionThe status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code.
Cardinality1...1
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response.location
DefinitionThe location header created by processing this operation.
Cardinality0...1
Typeuri
SummaryTrue
Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response.etag
DefinitionThe etag for the resource, it the operation for the entry produced a versioned resource (see [Resource Metadata and Versioning](http.html#versioning) and [Managing Resource Contention](http.html#concurrency)).
Cardinality0...1
Typestring
SummaryTrue
Comments

Etags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response.lastModified
DefinitionThe date/time that the resource was modified on the server.
Cardinality0...1
Typeinstant
SummaryTrue
Comments

This has to match the same time in the meta header if a resource is included.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Bundle.entry.response.outcome
DefinitionAn OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction.
Cardinality0...1
TypeResource
SummaryTrue
Comments

For a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned.

Mappings
  • rim:Entity. Role, or Act
Bundle.signature
DefinitionDigital Signature - base64 encoded. XML-DSIg or a JWT.
Cardinality0...0
TypeSignature
SummaryTrue
Requirements

This element allows capturing signatures on documents. It also allows signatures on messages, transactions or even query responses. It may support content-authentication, non-repudiation or other business cases. This is primarily relevant where the bundle may travel through multiple hops or via other mechanisms where HTTPS non-repudiation is insufficient.

Comments

The signature could be created by the "author" of the bundle or by the originating device. Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A

Profile: CareConnect-Composition-1

careSettingTypeExtensionI0..1Extension(CodeableConcept)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-Organization-1)
statusΣ ?!1..1codeBinding
typeΣ1..1CodeableConceptBinding
classΣ0..1CodeableConcept
subjectΣ I1..1Reference(Resource)
encounterΣ I0..1Reference(CareConnect-Encounter-1)
dateΣ1..1dateTime
authorΣ I1..*Reference(Device | RelatedPerson | CareConnect-Practitioner-1 | CareConnect-Patient-1)
titleΣ1..1string
confidentialityΣ ?!0..1codeBinding
modeΣ1..*codeBinding
timeΣ0..1dateTime
partyΣ I0..1Reference(CareConnect-Organization-1 | CareConnect-Practitioner-1 | CareConnect-Patient-1)
custodianΣ I0..1Reference(CareConnect-Organization-1)
codeΣ1..1codeBinding
targetIdentifierIdentifier
targetReferenceReference(CareConnect-Composition-1)
codeΣ0..*CodeableConcept
periodΣ I0..1Period
detailΣ I0..*Reference(Resource)
title0..1string
code0..1CodeableConceptBinding
textI0..1Narrative
modeΣ ?!0..1codeBinding
orderedBy0..1CodeableConceptBinding
entryI0..*Reference(Resource)
emptyReasonI0..1CodeableConceptBinding
sectionI0..*see (section)
Composition
DefinitionA set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained.
Cardinality0...*
Comments

While the focus of this specification is on patient-specific clinical statements, this resource can also apply to other healthcare-related statements such as study protocol designs, healthcare invoices and other activities that are not necessarily patient-specific or clinical.

Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
Mappings
  • rim:Entity. Role, or Act
  • rim:Document[classCode="DOC" and moodCode="EVN" and isNormalAct()]
  • cda:ClinicalDocument
  • w5:infrastructure.documents
Composition.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Composition.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Composition.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Composition.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Composition.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
Composition.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
Composition.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Composition.extension:careSettingTypeExtension
DefinitionOptional Extension Element - found in all resources.
Cardinality0...1
TypeExtension(CodeableConcept)
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.

Invariants
  • 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
Composition.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Composition.identifier
DefinitionLogical identifier for the composition, assigned when created. This identifier stays constant as the composition is changed over time.
Cardinality0...1
TypeIdentifier
SummaryTrue
Comments

See discussion in resource definition for how these relate.

Invariants
  • 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:Document.id / Document.setId
  • cda:.setId
  • w5:id
Composition.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Composition.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Composition.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Composition.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Composition.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Composition.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Composition.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Composition.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Composition.status
DefinitionThe workflow/clinical status of this composition. The status is a marker for the clinical standing of the document.
Cardinality1...1
Typecode
Binding

The workflow/clinical status of the composition.

CompositionStatus (required)
ModifierTrue
SummaryTrue
Requirements

Need to be able to mark interim, amended, or withdrawn compositions or documents.

Comments

If a composition is marked as withdrawn, the compositions/documents in the series, or data from the composition or document series, should never be displayed to a user without being clearly marked as untrustworthy. The flag "entered-in-error" is why this element is labeled as a modifier of other elements.

Some reporting work flows require that the original narrative of a final document never be altered; instead, only new narrative can be added. The composition resource has no explicit status for explicitly noting whether this business rule is in effect. This would be handled by an extension if required.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:interim: .completionCode="IN" & ./statusCode[isNormalDatatype()]="active"; final: .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and not(./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseComposition", code) and isNormalAct()]); amended: .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and ./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseComposition", code) and isNormalAct() and statusCode="completed"]; withdrawn : .completionCode=NI && ./statusCode[isNormalDatatype()]="obsolete"
  • cda:n/a
  • w5:status
Composition.type
DefinitionSpecifies the particular kind of composition (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the composition.
Cardinality1...1
TypeCodeableConcept
Binding

SNOMED CT Document Type

Care Connect Document Type (preferred)
SummaryTrue
Requirements

Key metadata element describing the composition, used in searching/filtering.

Comments

For Composition type, LOINC is ubiquitous and strongly endorsed by HL7. Most implementation guides will require a specific LOINC code, or use LOINC as an extensible binding.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:./code
  • cda:.code
  • w5:class
Composition.class
DefinitionA categorization for the type of the composition - helps for indexing and searching. This may be implied by or derived from the code specified in the Composition Type.
Cardinality0...1
TypeCodeableConcept
Binding

High-level kind of a clinical document at a macro level.

FHIR Document Class Codes (example)
SummaryTrue
Requirements

Helps humans to assess whether the composition is of interest when viewing an index of compositions or documents.

Comments

This is a metadata field from XDS/MHD.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
  • cda:n/a
  • w5:class
Composition.subject
DefinitionWho or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure).
Cardinality1...1
TypeReference(Resource)
SummaryTrue
Requirements

Essential metadata for searching for the composition. Identifies who and/or what the composition/document is about.

Comments

For clinical documents, this is usually the patient.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.participation[typeCode="SBJ"].role[typeCode="PAT"]
  • cda:.recordTarget
  • w5:who.focus
Composition.encounter
DefinitionDescribes the clinical encounter or type of care this documentation is associated with.
Cardinality0...1
TypeReference(CareConnect-Encounter-1)
SummaryTrue
Requirements

Provides context for the composition and supports searching.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:unique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()], priorityNumber)/target[moodCode="EVN" and classCode=("ENC", "PCPR") and isNormalAct])
  • cda:.componentOf.encompassingEncounter
  • w5:context
Composition.date
DefinitionThe composition editing time, when the composition was last logically changed by the author.
Cardinality1...1
TypedateTime
SummaryTrue
Requirements

dateTime is used for tracking, organizing versions and searching.

Comments

The Last Modified Date on the composition may be after the date of the document was attested without being changed.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.effectiveTime[type="TS"]
  • cda:.effectiveTime
  • w5:when.done
Composition.author
DefinitionIdentifies who is responsible for the information in the composition, not necessarily who typed it in.
Cardinality1...*
TypeReference(Device | RelatedPerson | CareConnect-Practitioner-1 | CareConnect-Patient-1)
SummaryTrue
Requirements

Identifies who is responsible for the content.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
  • cda:.author.assignedAuthor
  • w5:who.author
Composition.title
DefinitionOfficial human-readable label for the composition.
Cardinality1...1
Typestring
SummaryTrue
Comments

For many compositions, the title is the same as the text or a display name of Composition.type (e.g. a "consultation" or "progress note"). Note that CDA does not make title mandatory, but there are no known cases where it is useful for title to be omitted, so it is mandatory here. Feedback on this requirement is welcome during the trial use period.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:./title
  • cda:.title
Composition.confidentiality
DefinitionThe code specifying the level of confidentiality of the Composition.
Cardinality0...1
Typecode
Binding

Codes specifying the level of confidentiality of the composition.

ConfidentialityClassification (required)
ModifierTrue
SummaryTrue
Comments

The exact use of this element, and enforcement and issues related to highly sensitive documents are out of scope for the base specification, and delegated to implementation profiles (see security section).

This element is labeled as a modifier because highly confidential documents must not be treated as if they are not.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.confidentialityCode
  • cda:.confidentialityCode
Composition.attester
DefinitionA participant who has attested to the accuracy of the composition/document.
Cardinality0...*
TypeBackboneElement
SummaryTrue
Requirements

Identifies responsibility for the accuracy of the composition content.

Comments

Only list each attester once.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
  • cda:.authenticator/.legalAuthenticator
Composition.attester.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Composition.attester.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Composition.attester.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Composition.attester.mode
DefinitionThe type of attestation the authenticator offers.
Cardinality1...*
Typecode
Binding

The way in which a person authenticated a composition.

CompositionAttestationMode (required)
SummaryTrue
Requirements

Indicates the level of authority of the attestation.

Comments

Use more than one code where a single attester has more than one mode (professional and legal are often paired).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:unique(./modeCode)
  • cda:implied by .authenticator/.legalAuthenticator
Composition.attester.time
DefinitionWhen the composition was attested by the party.
Cardinality0...1
TypedateTime
SummaryTrue
Requirements

Identifies when the information in the composition was deemed accurate. (Things may have changed since then.).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:./time[type="TS" and isNormalDatatype()]
  • cda:.authenticator.time
Composition.attester.party
DefinitionWho attested the composition in the specified way.
Cardinality0...1
TypeReference(CareConnect-Organization-1 | CareConnect-Practitioner-1 | CareConnect-Patient-1)
SummaryTrue
Requirements

Identifies who has taken on the responsibility for accuracy of the composition content.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:./role[classCode="ASSIGNED" and isNormalRole]/player[determinerCode="INST" and classCode=("DEV", "PSN") and isNormalEntity()] or ./role[classCode="ASSIGNED" and isNormalRole and not(player)]/scoper[determinerCode="INST" and classCode="ORG" and isNormalEntity()]
  • cda:.authenticator.assignedEnttty
  • w5:who.witness
Composition.custodian
DefinitionIdentifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
SummaryTrue
Requirements

Identifies where to go to find the current version, where to report issues, etc.

Comments

This is useful when documents are derived from a composition - provides guidance for how to get the latest version of the document. This is optional because this is sometimes not known by the authoring system, and can be inferred by context. However, it is important that this information be known when working with a derived document, so providing a custodian is encouraged.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG" and determinerCode="INST"]
  • cda:.custodian.assignedCustodian
Composition.relatesTo
DefinitionRelationships that this composition has with other compositions or documents that already exist.
Cardinality0...1
TypeBackboneElement
SummaryTrue
Comments

A document is a version specific composition.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.outboundRelationship
  • cda:.relatedDocument
Composition.relatesTo.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Composition.relatesTo.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Composition.relatesTo.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Composition.relatesTo.code
DefinitionThe type of relationship that this composition has with anther composition or document.
Cardinality1...1
Typecode
Binding

The type of relationship between documents.

DocumentRelationshipType (required)
SummaryTrue
Comments

If this document appends another document, then the document cannot be fully understood without also accessing the referenced document.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.outboundRelationship.typeCode
  • cda:.relatedDocument.typeCode
Composition.relatesTo.target[x]
DefinitionThe target composition/document of this relationship.
Cardinality1...1
TypeReference(CareConnect-Composition-1), Identifier
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.target[classCode="DOC", moodCode="EVN"].id
  • cda:.relatedDocument.id
Composition.event
DefinitionThe clinical service, such as a colonoscopy or an appendectomy, being documented.
Cardinality0...*
TypeBackboneElement
SummaryTrue
Requirements

Provides context for the composition and creates a linkage between a resource describing an event and the composition created describing the event.

Comments

The event needs to be consistent with the type element, though can provide further information if desired.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:outboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
  • cda:.documentationOf.serviceEvent
Composition.event.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Composition.event.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Composition.event.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Composition.event.code
DefinitionThis list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act.
Cardinality0...*
TypeCodeableConcept
Binding

This list of codes represents the main clinical acts being documented.

v3 Code System ActCode (example)
SummaryTrue
Comments

An event can further specialize the act inherent in the typeCode, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more eventCodes are included, they SHALL NOT conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as key words for certain types of queries.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.code
  • cda:.code
Composition.event.period
DefinitionThe period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • rim:.effectiveTime
  • cda:.effectiveTime
Composition.event.detail
DefinitionThe description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy.
Cardinality0...*
TypeReference(Resource)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.outboundRelationship[typeCode="SUBJ"].target
  • cda:n/a
Composition.section
DefinitionThe root of the sections that make up the composition.
Cardinality0...*
TypeBackboneElement
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • cmp-1:A section must at least one of text, entries, or sub-sections
    text.exists() or entry.exists() or section.exists()
  • cmp-2:A section can only have an emptyReason if it is empty
    emptyReason.empty() or entry.empty()
Mappings
  • rim:n/a
  • rim:./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
  • cda:.component.structuredBody.component.section
Composition.section.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Composition.section.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Composition.section.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Composition.section.title
DefinitionThe label for this particular section. This will be part of the rendered content for the document, and is often used to build a table of contents.
Cardinality0...1
Typestring
Aliasheader, label, caption
Requirements

Section headings are often standardized for different types of documents. They give guidance to humans on how the document is organized.

Comments

The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title, or documents that only have a single section. Most Implementation Guides will make section title to be a required element.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:./title
  • cda:.title
Composition.section.code
DefinitionA code identifying the kind of content contained within the section. This must be consistent with the section title.
Cardinality0...1
TypeCodeableConcept
Binding

Classification of a section of a composition/document.

Care Connect Composition Section Code (preferred)
Requirements

Provides computable standardized labels to topics within the document.

Comments

The code identifies the section for an automated processor of the document. This is particularly relevant when using profiles to control the structure of the document. If the section has content (instead of sub-sections), the section.code does not change the meaning or interpretation of the resource that is the content of the section in the comments for the section.code.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:./code
  • cda:.code
Composition.section.text
DefinitionA human-readable narrative that contains the attested content of the section, used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative.
Cardinality0...1
TypeNarrative
Comments

Document profiles may define what content should be represented in the narrative to ensure clinical safety.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:.text
  • cda:.text
Composition.section.mode
DefinitionHow the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.
Cardinality0...1
Typecode
Binding

The processing mode that applies to this section.

ListMode (required)
ModifierTrue
SummaryTrue
Requirements

Sections are used in various ways, and it must be known in what way it is safe to use the entries in them.

Comments

This element is labeled as a modifier because a change list must not be mis-understood as a complete list.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.outBoundRelationship[typeCode=COMP].target[classCode=OBS"].value
  • cda:n/a
  • w5:class
Composition.section.orderedBy
DefinitionSpecifies the order applied to the items in the section entries.
Cardinality0...1
TypeCodeableConcept
Binding

What order applies to the items in the entry.

List Order Codes (preferred)
Requirements

Important for presentation and rendering. Lists may be sorted to place more important information first or to group related entries.

Comments

Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.outboundRelationship[typeCode=COMP].sequenceNumber > 1
  • cda:n/a
Composition.section.entry
DefinitionA reference to the actual resource from which the narrative in the section is derived.
Cardinality0...*
TypeReference(Resource)
Comments

If there are no entries in the list, an emptyReason SHOULD be provided.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
  • cda:.entry
Composition.section.emptyReason
DefinitionIf the section is empty, why the list is empty. An empty section typically has some text explaining the empty reason.
Cardinality0...1
TypeCodeableConcept
Binding

If a section is empty, why it is empty.

List Empty Reasons (preferred)
Requirements

Allows capturing things like "none exist" or "not asked" which can be important for most lists.

Comments

The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.inboundRelationship[typeCode=SUBJ,code<{ListEmptyReason}].value[type=CD]
  • cda:n/a
Composition.section.section
DefinitionA nested sub-section within this section.
Cardinality0...*
Typesee (section)
Comments

Nested sections are primarily used to help human readers navigate to particular portions of the document.

Mappings
  • rim:./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
  • cda:.component.section

Profile: CareConnect-GPC-Patient-1

idS Σ0..1id
registrationDetailsS I0..1Extension(Complex)
ethnicCategoryI0..1Extension(CodeableConcept)
religiousAffiliationI0..1Extension(CodeableConcept)
patient-cadavericDonorI0..1Extension(boolean)
residentialStatusI0..1Extension(CodeableConcept)
treatmentCategoryI0..1Extension(CodeableConcept)
nhsCommunicationI0..*Extension(Complex)
birthPlaceI0..1Extension(Address)
nominatedPharmacyI0..1Extension(Reference(CareConnect-GPC-Organization-1))
deathNotificationStatusI0..1Extension(CodeableConcept)
nhsNumberVerificationStatusI1..1Extension(CodeableConcept)
useΣ ?!0..0codeBinding
typeΣ0..0CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..0Period
assignerΣ I0..0Reference(Organization)
activeΣ ?!0..1boolean
useΣ ?!1..1codeBindingFixed Value
textΣ0..1string
familyΣ1..1string
givenS Σ0..*string
prefixΣ0..*string
suffixΣ0..*string
periodΣ I0..1Period
systemΣ I1..1codeBinding
valueΣ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
genderS Σ0..1codeBinding
patient-birthTimeI0..1Extension(dateTime)
deceasedDateTimeS Σ ?!0..1dateTime
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
lineΣ0..*string
cityΣ0..1string
districtΣ0..1string
stateΣ0..0string
postalCodeΣ0..1string
countryΣ0..1string
periodΣ I0..1Period
systemΣ1..1uri
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..0boolean
textΣ0..0string
multipleBirthBoolean0..1boolean
photoI0..0Attachment
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
useΣ ?!1..1codeBinding
textΣ0..1string
familyΣ0..1string
givenΣ0..*string
prefixΣ0..*string
suffixΣ0..*string
periodΣ I0..1Period
telecomI0..*ContactPoint
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
lineΣ0..*string
cityΣ0..1string
districtΣ0..1string
stateΣ0..0string
postalCodeΣ0..1string
countryΣ0..1string
periodΣ I0..1Period
gender0..1codeBinding
organizationI0..1Reference(CareConnect-GPC-Organization-1)
periodI0..1Period
generalPractitionerI0..1Reference(CareConnect-GPC-Organization-1 | CareConnect-GPC-Practitioner-1)
managingOrganizationΣ I0..1Reference(CareConnect-GPC-Organization-1)
otherΣ I1..1Reference(RelatedPerson | CareConnect-GPC-Patient-1)
typeΣ1..1codeBinding
Patient
DefinitionDemographics and other administrative information about an individual or animal receiving care or other health-related services.
Cardinality0...*
AliasSubjectOfCare Client Resident
Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
Mappings
  • rim:Entity. Role, or Act
  • rim:Patient[classCode=PAT]
  • cda:ClinicalDocument.recordTarget.patientRole
  • w5:administrative.individual
Patient.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
Must SupportTrue
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Patient.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
Patient.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
Patient.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.extension:registrationDetails
DefinitionAdditional registration information for the Patient resource.
Cardinality0...1
TypeExtension(Complex)
Must SupportTrue
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.

Invariants
  • 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
Patient.extension:ethnicCategory
DefinitionThe ethnicity of the subject.
Cardinality0...1
TypeExtension(CodeableConcept)
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.

Invariants
  • 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
Patient.extension:religiousAffiliation
DefinitionThe religious affiliation of the subject.
Cardinality0...1
TypeExtension(CodeableConcept)
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.

Invariants
  • 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
Patient.extension:patient-cadavericDonor
DefinitionFlag indicating whether the patient authorized the donation of body parts after death.
Cardinality0...1
TypeExtension(boolean)
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.

Invariants
  • 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
Patient.extension:residentialStatus
DefinitionThe residential status of the patient. For example if this patient is a UK resident.
Cardinality0...1
TypeExtension(CodeableConcept)
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.

Invariants
  • 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
Patient.extension:treatmentCategory
DefinitionThe treatment category for this patient. For example if this patient is entitled to free healthcare treatment.
Cardinality0...1
TypeExtension(CodeableConcept)
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.

Invariants
  • 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
Patient.extension:nhsCommunication
DefinitionCommunication preferences including a list of Languages which may be used for communication
Cardinality0...*
TypeExtension(Complex)
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.

Invariants
  • 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
Patient.extension:birthPlace
DefinitionBirth Place: The registered place of birth of the patient. A sytem may use the address.text if they don't store the birthPlace address in discrete elements.
Cardinality0...1
TypeExtension(Address)
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.

Invariants
  • 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
Patient.extension:nominatedPharmacy
DefinitionA patient's nominated pharmacy.
Cardinality0...1
TypeExtension(Reference(CareConnect-GPC-Organization-1))
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.

Invariants
  • 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
Patient.extension:deathNotificationStatus
DefinitionThis extension is constrained to represent a patient’s death notification (as held on Personal Demographics Service (PDS)).
Cardinality0...1
TypeExtension(CodeableConcept)
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.

Invariants
  • 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
Patient.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.identifier
DefinitionAn identifier for this patient.
Cardinality0...*
TypeIdentifier
SummaryTrue
Requirements

Patients are almost always assigned specific numerical identifiers.

SlicingUnordered, Open At End, by system(Value)
Invariants
  • 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
  • v2:PID-3
  • rim:id
  • cda:.id
  • w5:id
Patient.identifier:nhsNumber
DefinitionAn identifier for this patient.
Cardinality0...1
TypeIdentifier
Must SupportTrue
SummaryTrue
Requirements

Patients are almost always assigned specific numerical identifiers.

Invariants
  • 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
  • v2:PID-3
  • rim:id
  • cda:.id
  • w5:id
Patient.identifier:nhsNumber.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.identifier:nhsNumber.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.identifier:nhsNumber.extension:nhsNumberVerificationStatus
DefinitionThe verification/tracing status of the NHS number.
Cardinality1...1
TypeExtension(CodeableConcept)
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.

Invariants
  • 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
Patient.identifier:nhsNumber.use
DefinitionThe purpose of this identifier.
Cardinality0...0
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Patient.identifier:nhsNumber.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...0
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Patient.identifier:nhsNumber.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.nhs.uk/Id/nhs-number

Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Patient.identifier:nhsNumber.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


General

1234567890


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Patient.identifier:nhsNumber.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...0
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Patient.identifier:nhsNumber.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...0
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Patient.active
DefinitionWhether this patient record is in active use.
Cardinality0...1
Typeboolean
ModifierTrue
SummaryTrue
Requirements

Need to be able to mark a patient record as not to be used because it was created in error.

Comments

Default is true. If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient

This element is labeled as a modifier because when the patient record is marked as not active it is not expected to be used/referenced without being changed back to active.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:statusCode
  • cda:n/a
  • w5:status
Patient.name
DefinitionA name associated with the individual. There will only be one name with the value of 'official'.
Cardinality0...*
TypeHumanName
SummaryTrue
Requirements

Need to be able to track the patient by multiple names. Examples are your official name and a partner name.

Comments

A patient may have multiple names with different uses or applicable periods. For animals, the name is a "HumanName" in the sense that is assigned and used by humans and has the same patterns.

SlicingUnordered, Open At End, by use(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN
  • rim:EN (actually, PN)
  • servd:ProviderName
  • v2:PID-5, PID-9
  • rim:name
  • cda:.patient.name
Patient.name:official
DefinitionA name associated with the individual.
Cardinality1...1
TypeHumanName
SummaryTrue
Requirements

Need to be able to track the patient by multiple names. Examples are your official name and a partner name.

Comments

A patient may have multiple names with different uses or applicable periods. For animals, the name is a "HumanName" in the sense that is assigned and used by humans and has the same patterns.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN
  • rim:EN (actually, PN)
  • servd:ProviderName
  • v2:PID-5, PID-9
  • rim:name
  • cda:.patient.name
Patient.name:official.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.name:official.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.name:official.use
DefinitionIdentifies the purpose for this name.
Cardinality1...1
Typecode
Binding

The use of a human name

NameUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate name for a particular context of use to be selected from among a set of names.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old name etc.for a current/permanent one. Applications can assume that a name is current unless it explicitly says that it is temporary or old.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

official

Mappings
  • rim:n/a
  • v2:XPN.7, but often indicated by which field contains the name
  • rim:unique(./use)
  • servd:./NamePurpose
Patient.name:official.text
DefinitionA full text representation of the name.
Cardinality0...1
Typestring
SummaryTrue
Requirements

A renderable, unencoded form.

Comments

Can provide both a text representation and structured parts.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:implied by XPN.11
  • rim:./formatted
Patient.name:official.family
DefinitionThe part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.
Cardinality1...1
Typestring
SummaryTrue
Aliassurname
Comments

Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.1/FN.1
  • rim:./part[partType = FAM]
  • servd:./FamilyName
Patient.name:official.given
DefinitionGiven name.
Cardinality0...*
Typestring
Must SupportTrue
SummaryTrue
Aliasfirst name, middle name
Comments

If only initials are recorded, they may be used in place of the full name. Not called "first name" since given names do not always come first.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.2 + XPN.3
  • rim:./part[partType = GIV]
  • servd:./GivenNames
Patient.name:official.prefix
DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.
Cardinality0...*
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.5
  • rim:./part[partType = PFX]
  • servd:./TitleCode
Patient.name:official.suffix
DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.
Cardinality0...*
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN/4
  • rim:./part[partType = SFX]
Patient.name:official.period
DefinitionIndicates the period of time when this name was valid for the named person.
Cardinality0...1
TypePeriod
SummaryTrue
Requirements

Allows names to be placed in historical context.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:XPN.13 + XPN.14
  • rim:./usablePeriod[type="IVL<TS>"]
  • servd:./StartDate and ./EndDate
Patient.telecom
DefinitionA contact detail (e.g. a telephone number or an email address) by which the individual may be contacted.
Cardinality0...*
TypeContactPoint
SummaryTrue
Requirements

People have (primary) ways to contact them in some way such as phone, email.

Comments

A Patient may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. The address may not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • cpt-2:A system is required if a value is provided.
    value.empty() or system.exists()
Mappings
  • rim:n/a
  • v2:XTN
  • rim:TEL
  • servd:ContactPoint
  • v2:PID-13, PID-14, PID-40
  • rim:telecom
  • cda:.telecom
Patient.telecom.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.telecom.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.telecom.system
DefinitionTelecommunications form for contact point - what communications system is required to make use of the contact.
Cardinality1...1
Typecode
Binding

Telecommunications form for contact point

ContactPointSystem (required)
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XTN.3
  • rim:./scheme
  • servd:./ContactPointType
Patient.telecom.value
DefinitionThe actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to support legacy numbers that are not in a tightly controlled format.

Comments

Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XTN.1 (or XTN.12)
  • rim:./url
  • servd:./Value
Patient.telecom.use
DefinitionIdentifies the purpose for the contact point.
Cardinality0...1
Typecode
Binding

Use of contact point

ContactPointUse (required)
ModifierTrue
SummaryTrue
Requirements

Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old contact etc.for a current/permanent one. Applications can assume that a contact is current unless it explicitly says that it is temporary or old.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XTN.2 - but often indicated by field
  • rim:unique(./use)
  • servd:./ContactPointPurpose
Patient.telecom.rank
DefinitionSpecifies a preferred order in which to use a set of contacts. Contacts are ranked with lower values coming before higher values.
Cardinality0...1
TypepositiveInt
SummaryTrue
Comments

Note that rank does not necessarily follow the order in which the contacts are represented in the instance.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:n/a
Patient.telecom.period
DefinitionTime period when the contact point was/is in use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:N/A
  • rim:./usablePeriod[type="IVL<TS>"]
  • servd:./StartDate and ./EndDate
Patient.gender
DefinitionAdministrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.
Cardinality0...1
Typecode
Binding

The gender of a person used for administrative purposes.

Administrative Gender (required)
Must SupportTrue
SummaryTrue
Requirements

Needed for identification of the individual, in combination with (at least) name and birth date. Gender of individual drives many clinical processes.

Comments

The gender may not match the biological sex as determined by genetics, or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than M and F, though the vast majority of systems and contexts only support M and F. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific gender aspect of interest (anatomical, chromosonal, social, etc.) However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice. Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosonal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overrideable error, not a "hard" error.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:PID-8
  • rim:player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
  • cda:.patient.administrativeGenderCode
Patient.birthDate
DefinitionThe date of birth for the individual.
Cardinality0...1
Typedate
Must SupportTrue
SummaryTrue
Requirements

Age of the individual drives many clinical processes.

Comments

At least an estimated year should be provided as a guess if the real DOB is unknown There is a standard extension "patient-birthTime" available that should be used where Time is required (such as in maternaty/infant care systems).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:PID-7
  • rim:player[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime
  • cda:.patient.birthTime
  • loinc:21112-8
Patient.birthDate.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.birthDate.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.birthDate.extension:patient-birthTime
DefinitionThe time of day that the Patient was born. This includes the date to ensure that the timezone information can be communicated effectively.
Cardinality0...1
TypeExtension(dateTime)
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.

Invariants
  • 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
Patient.birthDate.value
DefinitionPrimitive value for date
Cardinality0...1
Type
Patient.deceasedDateTime:deceasedDateTime
DefinitionIndicates if the individual is deceased or not.
Cardinality0...1
TypedateTime
Must SupportTrue
ModifierTrue
SummaryTrue
Requirements

The fact that a patient is deceased influences the clinical process. Also, in human communication and relation management it is necessary to know whether the person is alive.

Comments

If there's no value in the instance it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive.

This element is labeled as a modifier because once a patient is marked as deceased, the actions that are appropriate to perform on the patient may be significantly different.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:PID-30 (bool) and PID-29 (datetime)
  • rim:player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime
  • cda:n/a
Patient.address
DefinitionAddresses for the individual.
Cardinality0...*
TypeAddress
SummaryTrue
Requirements

May need to keep track of patient addresses for contacting, billing or reporting requirements and also to help with identification.

Comments

Patient may have multiple addresses with different uses or applicable periods.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD
  • rim:AD
  • servd:Address
  • v2:PID-11
  • rim:addr
  • cda:.addr
Patient.address.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.address.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.address.use
DefinitionThe purpose of this address.
Cardinality0...1
Typecode
Binding

The use of an address

AddressUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows an appropriate address to be chosen from a list of many.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old address etc.for a current/permanent one. Applications can assume that an address is current unless it explicitly says that it is temporary or old.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

home


Mappings
  • rim:n/a
  • v2:XAD.7
  • rim:unique(./use)
  • servd:./AddressPurpose
Patient.address.type
DefinitionDistinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.
Cardinality0...1
Typecode
Binding

The type of an address (physical / postal)

AddressType (required)
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

both


Mappings
  • rim:n/a
  • v2:XAD.18
  • rim:unique(./use)
  • vcard:address type parameter
Patient.address.text
DefinitionA full text representation of the address.
Cardinality0...1
Typestring
SummaryTrue
Requirements

A renderable, unencoded form.

Comments

Can provide both a text representation and parts.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

137 Nowhere Street, Erewhon 9132


General

42 Grove Street, Overtown, West Yorkshire, LS21 1PF


Mappings
  • rim:n/a
  • v2:XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
  • rim:./formatted
  • vcard:address label parameter
Patient.address.line
DefinitionThis component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information.
Cardinality0...*
Typestring
SummaryTrue
Requirements

home | work | temp | old - purpose of this address.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

137 Nowhere Street


General

42 Grove Street


Mappings
  • rim:n/a
  • v2:XAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)
  • rim:AD.part[parttype = AL]
  • vcard:street
  • servd:./StreetAddress (newline delimitted)
Patient.address.city
DefinitionThe name of the city, town, village or other community or delivery center.
Cardinality0...1
Typestring
SummaryTrue
AliasMunicpality
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Erewhon


General

Overtown


Mappings
  • rim:n/a
  • v2:XAD.3
  • rim:AD.part[parttype = CTY]
  • vcard:locality
  • servd:./Jurisdiction
Patient.address.district
DefinitionThe name of the administrative area (county).
Cardinality0...1
Typestring
SummaryTrue
AliasCounty
Comments

District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Madison


General

West Yorkshire


Mappings
  • rim:n/a
  • v2:XAD.9
  • rim:AD.part[parttype = CNT | CPA]
Patient.address.state
DefinitionSub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).
Cardinality0...0
Typestring
SummaryTrue
AliasProvince, Territory
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD.4
  • rim:AD.part[parttype = STA]
  • vcard:region
  • servd:./Region
Patient.address.postalCode
DefinitionA postal code designating a region defined by the postal service.
Cardinality0...1
Typestring
SummaryTrue
AliasZip
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

9132


General

LS21 1PF


Mappings
  • rim:n/a
  • v2:XAD.5
  • rim:AD.part[parttype = ZIP]
  • vcard:code
  • servd:./PostalIdentificationCode
Patient.address.country
DefinitionCountry - a nation as commonly understood or generally accepted.
Cardinality0...1
Typestring
SummaryTrue
Comments

ISO 3166 3 letter codes can be used in place of a full country name.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

GBR


Mappings
  • rim:n/a
  • v2:XAD.6
  • rim:AD.part[parttype = CNT]
  • vcard:country
  • servd:./Country
Patient.address.period
DefinitionTime period when address was/is in use.
Cardinality0...1
TypePeriod
SummaryTrue
Requirements

Allows addresses to be placed in historical context.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Examples
General

{
  "start": "2010-03-23",
  "end": "2010-07-01"
}


Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:XAD.12 / XAD.13 + XAD.14
  • rim:./usablePeriod[type="IVL<TS>"]
  • servd:./StartDate and ./EndDate
Patient.maritalStatus
DefinitionThis field contains a patient's most recent marital (civil) status.
Cardinality0...1
TypeCodeableConcept
Binding

The domestic partnership status of a person.

Marital Status Codes (required)
Requirements

Most, if not all systems capture it.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PID-16
  • rim:player[classCode=PSN]/maritalStatusCode
  • cda:.patient.maritalStatusCode
Patient.maritalStatus.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.maritalStatus.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.maritalStatus.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality1...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Patient.maritalStatus.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.maritalStatus.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.maritalStatus.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://hl7.org/fhir/v3/MaritalStatus


Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Patient.maritalStatus.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Patient.maritalStatus.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Patient.maritalStatus.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Patient.maritalStatus.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...0
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Patient.maritalStatus.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...0
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Patient.multipleBirthBoolean:multipleBirthBoolean
DefinitionIndicates whether the patient is part of a multiple (bool) or indicates the actual birth order (integer).
Cardinality0...1
Typeboolean
Requirements

For disambiguation of multiple-birth children, especially relevant where the care provider doesn't meet the patient, such as labs.

Comments

Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in tripplets would be valueInteger=2 and the third born would have valueInteger=3 If a bool value was provided for this tripplets examle, then all 3 patient records would have valueBool=true (the ordering is not indicated).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:PID-24 (bool), PID-25 (integer)
  • rim:player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber
  • cda:n/a
Patient.photo
DefinitionImage of the patient.
Cardinality0...0
TypeAttachment
Requirements

Many EHR systems have the capability to capture an image of the patient. Fits with newer social media usage too.

Comments

When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Attachment".

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • att-1:It the Attachment has data, it SHALL have a contentType
    data.empty() or contentType.exists()
Mappings
  • rim:n/a
  • v2:ED/RP
  • rim:ED
  • v2:OBX-5 - needs a profile
  • rim:player[classCode=PSN|ANM and determinerCode=INSTANCE]/desc
  • cda:n/a
Patient.contact
DefinitionA contact party (e.g. guardian, partner, friend) for the patient.
Cardinality0...*
TypeBackboneElement
Requirements

Need to track people you can contact about the patient.

Comments

Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • pat-1:SHALL at least contain a contact's details or a reference to an organization
    name.exists() or telecom.exists() or address.exists() or organization.exists()
Mappings
  • rim:n/a
  • rim:player[classCode=PSN|ANM and determinerCode=INSTANCE]/scopedRole[classCode=CON]
  • cda:n/a
Patient.contact.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.contact.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.contact.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Patient.contact.relationship
DefinitionThe nature of the relationship between the patient and the contact person.
Cardinality0...*
TypeCodeableConcept
Binding

The nature of the relationship between a patient and a contact person for that patient.

v2 Contact Role (extensible)
Requirements

Used to determine which contact person is the most relevant to approach, depending on circumstances.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:NK1-7, NK1-3
  • rim:code
  • cda:n/a
Patient.contact.relationship.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.contact.relationship.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.contact.relationship.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Patient.contact.relationship.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.contact.relationship.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.contact.relationship.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Patient.contact.relationship.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Patient.contact.relationship.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Patient.contact.relationship.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Patient.contact.relationship.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Patient.contact.relationship.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Patient.contact.name
DefinitionA name associated with the contact person.
Cardinality1...1
TypeHumanName
Requirements

Contact persons need to be identified by name, but it is uncommon to need details about multiple other names for that contact person.

Comments

Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts may or may not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN
  • rim:EN (actually, PN)
  • servd:ProviderName
  • v2:NK1-2
  • rim:name
  • cda:n/a
Patient.contact.name.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.contact.name.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.contact.name.use
DefinitionIdentifies the purpose for this name.
Cardinality1...1
Typecode
Binding

The use of a human name

NameUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate name for a particular context of use to be selected from among a set of names.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old name etc.for a current/permanent one. Applications can assume that a name is current unless it explicitly says that it is temporary or old.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.7, but often indicated by which field contains the name
  • rim:unique(./use)
  • servd:./NamePurpose
Patient.contact.name.text
DefinitionA full text representation of the name.
Cardinality0...1
Typestring
SummaryTrue
Requirements

A renderable, unencoded form.

Comments

Can provide both a text representation and structured parts.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:implied by XPN.11
  • rim:./formatted
Patient.contact.name.family
DefinitionThe part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.
Cardinality0...1
Typestring
SummaryTrue
Aliassurname
Comments

Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.1/FN.1
  • rim:./part[partType = FAM]
  • servd:./FamilyName
Patient.contact.name.given
DefinitionGiven name.
Cardinality0...*
Typestring
SummaryTrue
Aliasfirst name, middle name
Comments

If only initials are recorded, they may be used in place of the full name. Not called "first name" since given names do not always come first.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.2 + XPN.3
  • rim:./part[partType = GIV]
  • servd:./GivenNames
Patient.contact.name.prefix
DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.
Cardinality0...*
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.5
  • rim:./part[partType = PFX]
  • servd:./TitleCode
Patient.contact.name.suffix
DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.
Cardinality0...*
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN/4
  • rim:./part[partType = SFX]
Patient.contact.name.period
DefinitionIndicates the period of time when this name was valid for the named person.
Cardinality0...1
TypePeriod
SummaryTrue
Requirements

Allows names to be placed in historical context.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:XPN.13 + XPN.14
  • rim:./usablePeriod[type="IVL<TS>"]
  • servd:./StartDate and ./EndDate
Patient.contact.telecom
DefinitionA contact detail for the person, e.g. a telephone number or an email address.
Cardinality0...*
TypeContactPoint
Requirements

People have (primary) ways to contact them in some way such as phone, email.

Comments

Contact may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • cpt-2:A system is required if a value is provided.
    value.empty() or system.exists()
Mappings
  • rim:n/a
  • v2:XTN
  • rim:TEL
  • servd:ContactPoint
  • v2:NK1-5, NK1-6, NK1-40
  • rim:telecom
  • cda:n/a
Patient.contact.address
DefinitionAddress for the contact person.
Cardinality0...1
TypeAddress
Requirements

Need to keep track where the contact person can be contacted per postal mail or visited.

Comments

Note: address is for postal addresses, not physical locations.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD
  • rim:AD
  • servd:Address
  • v2:NK1-4
  • rim:addr
  • cda:n/a
Patient.contact.address.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.contact.address.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.contact.address.use
DefinitionThe purpose of this address.
Cardinality0...1
Typecode
Binding

The use of an address

AddressUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows an appropriate address to be chosen from a list of many.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old address etc.for a current/permanent one. Applications can assume that an address is current unless it explicitly says that it is temporary or old.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

home


Mappings
  • rim:n/a
  • v2:XAD.7
  • rim:unique(./use)
  • servd:./AddressPurpose
Patient.contact.address.type
DefinitionDistinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.
Cardinality0...1
Typecode
Binding

The type of an address (physical / postal)

AddressType (required)
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

both


Mappings
  • rim:n/a
  • v2:XAD.18
  • rim:unique(./use)
  • vcard:address type parameter
Patient.contact.address.text
DefinitionA full text representation of the address.
Cardinality0...1
Typestring
SummaryTrue
Requirements

A renderable, unencoded form.

Comments

Can provide both a text representation and parts.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

137 Nowhere Street, Erewhon 9132


General

120, Grove Street, Overtown, West Yorkshire, LS21 1PT


Mappings
  • rim:n/a
  • v2:XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
  • rim:./formatted
  • vcard:address label parameter
Patient.contact.address.line
DefinitionThis component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information.
Cardinality0...*
Typestring
SummaryTrue
Requirements

home | work | temp | old - purpose of this address.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

137 Nowhere Street


General

120, Grove Street


Mappings
  • rim:n/a
  • v2:XAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)
  • rim:AD.part[parttype = AL]
  • vcard:street
  • servd:./StreetAddress (newline delimitted)
Patient.contact.address.city
DefinitionThe name of the city, town, village or other community or delivery center.
Cardinality0...1
Typestring
SummaryTrue
AliasMunicpality
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Erewhon


General

Overtown


Mappings
  • rim:n/a
  • v2:XAD.3
  • rim:AD.part[parttype = CTY]
  • vcard:locality
  • servd:./Jurisdiction
Patient.contact.address.district
DefinitionThe name of the administrative area (county).
Cardinality0...1
Typestring
SummaryTrue
AliasCounty
Comments

District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Madison


General

West Yorkshire


Mappings
  • rim:n/a
  • v2:XAD.9
  • rim:AD.part[parttype = CNT | CPA]
Patient.contact.address.state
DefinitionSub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).
Cardinality0...0
Typestring
SummaryTrue
AliasProvince, Territory
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD.4
  • rim:AD.part[parttype = STA]
  • vcard:region
  • servd:./Region
Patient.contact.address.postalCode
DefinitionA postal code designating a region defined by the postal service.
Cardinality0...1
Typestring
SummaryTrue
AliasZip
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

9132


General

LS21 1PT


Mappings
  • rim:n/a
  • v2:XAD.5
  • rim:AD.part[parttype = ZIP]
  • vcard:code
  • servd:./PostalIdentificationCode
Patient.contact.address.country
DefinitionCountry - a nation as commonly understood or generally accepted.
Cardinality0...1
Typestring
SummaryTrue
Comments

ISO 3166 3 letter codes can be used in place of a full country name.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

GBR


Mappings
  • rim:n/a
  • v2:XAD.6
  • rim:AD.part[parttype = CNT]
  • vcard:country
  • servd:./Country
Patient.contact.address.period
DefinitionTime period when address was/is in use.
Cardinality0...1
TypePeriod
SummaryTrue
Requirements

Allows addresses to be placed in historical context.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Examples
General

{
  "start": "2010-03-23",
  "end": "2010-07-01"
}


Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:XAD.12 / XAD.13 + XAD.14
  • rim:./usablePeriod[type="IVL<TS>"]
  • servd:./StartDate and ./EndDate
Patient.contact.gender
DefinitionAdministrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes.
Cardinality0...1
Typecode
Binding

The gender of a person used for administrative purposes.

Administrative Gender (required)
Requirements

Needed to address the person correctly.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:NK1-15
  • rim:player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
  • cda:n/a
Patient.contact.organization
DefinitionOrganization on behalf of which the contact is acting or for which the contact is working.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1)
Requirements

For guardians or business related contacts, the organization is relevant.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:NK1-13, NK1-30, NK1-31, NK1-32, NK1-41
  • rim:scoper
  • cda:n/a
Patient.contact.period
DefinitionThe period during which this contact person or organization is valid to be contacted relating to this patient.
Cardinality0...1
TypePeriod
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • rim:effectiveTime
  • cda:n/a
Patient.animal
DefinitionThis patient is known to be an animal.
Cardinality0...0
TypeBackboneElement
ModifierTrue
SummaryTrue
Requirements

Many clinical systems are extended to care for animal patients as well as human.

Comments

The animal element is labeled "Is Modifier" since patients may be non-human. Systems SHALL either handle patient details appropriately (e.g. inform users patient is not human) or reject declared animal records. The absense of the animal element does not imply that the patient is a human. If a system requires such a positive assertion that the patient is human, an extension will be required. (Do not use a species of homo-sapiens in animal species, as this would incorrectly infer that the patient is an animal).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:player[classCode=ANM]
  • cda:n/a
Patient.animal.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.animal.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.animal.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Patient.animal.species
DefinitionIdentifies the high level taxonomic categorization of the kind of animal.
Cardinality1...1
TypeCodeableConcept
Binding

The species of an animal.

AnimalSpecies (example)
SummaryTrue
Requirements

Need to know what kind of animal.

Comments

If the patient is non-human, at least a species SHALL be specified. Species SHALL be a widely recognised taxonomic classification. It may or may not be Linnaean taxonomy and may or may not be at the level of species. If the level is finer than species--such as a breed code--the code system used SHALL allow inference of the species. (The common example is that the word "Hereford" does not allow inference of the species Bos taurus, because there is a Hereford pig breed, but the SNOMED CT code for "Hereford Cattle Breed" does.).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PID-35
  • rim:code
  • cda:n/a
Patient.animal.breed
DefinitionIdentifies the detailed categorization of the kind of animal.
Cardinality0...1
TypeCodeableConcept
Binding

The breed of an animal.

AnimalBreeds (example)
SummaryTrue
Requirements

May need to know the specific kind within the species.

Comments

Breed MAY be used to provide further taxonomic or non-taxonomic classification. It may involve local or proprietary designation--such as commercial strain--and/or additional information such as production type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PID-37
  • rim:playedRole[classCode=GEN]/scoper[classCode=ANM, determinerCode=KIND]/code
  • cda:n/a
Patient.animal.genderStatus
DefinitionIndicates the current state of the animal's reproductive organs.
Cardinality0...1
TypeCodeableConcept
Binding

The state of the animal's reproductive organs.

GenderStatus (example)
SummaryTrue
Requirements

Gender status can affect housing and animal behavior.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:N/A
  • rim:genderStatusCode
  • cda:n/a
Patient.communication
DefinitionLanguages which may be used to communicate with the patient about his or her health.
Cardinality0...0
TypeBackboneElement
Requirements

If a patient does not speak the local language, interpreters may be required, so languages spoken and proficiency is an important things to keep track of both for patient and other persons of interest.

Comments

If no language is specified, this implies that the default local language is spoken. If you need to convey proficiency for multiple modes then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:LanguageCommunication
  • cda:patient.languageCommunication
Patient.communication.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.communication.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.communication.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Patient.communication.language
DefinitionThe ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.
Cardinality1...1
TypeCodeableConcept
Binding

A human language.

Common Languages (extensible)
Requirements

Most systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect.

Comments

The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PID-15, LAN-2
  • rim:player[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code
  • cda:.languageCode
Patient.communication.preferred
DefinitionIndicates whether or not the patient prefers this language (over other languages he masters up a certain level).
Cardinality0...1
Typeboolean
Requirements

People that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method.

Comments

This language is specifically identified for communicating healthcare information.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:PID-15
  • rim:preferenceInd
  • cda:.preferenceInd
Patient.generalPractitioner
DefinitionPatient's nominated care provider.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1 | CareConnect-GPC-Practitioner-1)
AliascareProvider
Comments

This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disablity setting, or even organization that will provide people to perform the care provider roles.

It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PD1-4
  • rim:subjectOf.CareEvent.performer.AssignedEntity
  • cda:n/a
Patient.managingOrganization
DefinitionOrganization that is the custodian of the patient record.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1)
SummaryTrue
Requirements

Need to know who recognizes this patient record, manages and updates it.

Comments

There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:scoper
  • cda:.providerOrganization
Patient.link
DefinitionLink to another patient resource that concerns the same actual patient.
Cardinality0...*
TypeBackboneElement
ModifierTrue
SummaryTrue
Requirements

There are multiple usecases:

  • Duplicate patient records due to the clerical errors associated with the difficulties of identifying humans consistently, and * Distribution of patient information across multiple servers.
Comments

There is no assumption that linked patient records have mutual links.

This element is labelled as a modifier because it may not be the main Patient resource, and the referenced patient should be used instead of this Patient record. This is when the link.type value is 'replaced-by'.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:outboundLink
  • cda:n/a
Patient.link.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Patient.link.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Patient.link.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Patient.link.other
DefinitionThe other patient resource that the link refers to.
Cardinality1...1
TypeReference(RelatedPerson | CareConnect-GPC-Patient-1)
SummaryTrue
Comments

Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PID-3, MRG-1
  • rim:id
  • cda:n/a
Patient.link.type
DefinitionThe type of link between this patient resource and another patient resource.
Cardinality1...1
Typecode
Binding

The type of link between this patient resource and another patient resource.

LinkType (required)
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:typeCode
  • cda:n/a

Profile: CareConnect-GPC-Organization-1

mainLocationI0..1Extension(Reference(CareConnect-GPC-Location-1))
organization-periodI0..1Extension(Period)
useΣ ?!0..0codeBinding
typeΣ0..0CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..0Period
assignerΣ I0..0Reference(Organization)
activeΣ ?!0..1boolean
typeΣ0..1CodeableConceptBinding
nameΣ I1..1string
alias0..*string
telecomS I0..*ContactPoint
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
lineΣ0..*string
cityΣ0..1string
districtΣ0..1string
stateΣ0..0string
postalCodeΣ0..1string
countryΣ0..1string
periodΣ I0..1Period
partOfΣ I0..1Reference(CareConnect-GPC-Organization-1)
purpose0..1CodeableConceptBinding
useΣ ?!0..1codeBinding
textΣ0..1string
familyΣ1..1string
givenΣ0..*string
prefixΣ0..*string
suffixΣ0..*string
periodΣ I0..1Period
telecomI0..*ContactPoint
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
lineΣ0..*string
cityΣ0..1string
districtΣ0..1string
stateΣ0..0string
postalCodeΣ0..1string
countryΣ0..1string
periodΣ I0..1Period
endpointI0..*Reference(Endpoint)
Organization
DefinitionA formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.
Cardinality0...*
Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
  • org-1:The organization SHALL at least have a name or an id, and possibly more than one
    (identifier.count() + name.count()) > 0
Mappings
  • rim:Entity. Role, or Act
  • v2:(also see master files messages)
  • rim:Organization(classCode=ORG, determinerCode=INST)
  • servd:Organization
  • w5:administrative.group
Organization.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Organization.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
Organization.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
Organization.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.extension:mainLocation
DefinitionThe main location of the organization.
Cardinality0...1
TypeExtension(Reference(CareConnect-Location-1))
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.

Invariants
  • 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
Organization.extension:organization-period
DefinitionThe date range that this organization should be considered available.
Cardinality0...1
TypeExtension(Period)
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.

Invariants
  • 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
Organization.extension:organization-period.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.extension:organization-period.extension
DefinitionMay 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...0
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.extension:organization-period.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://hl7.org/fhir/StructureDefinition/organization-period

Mappings
  • rim:n/a
  • rim:N/A
Organization.extension:organization-period.valuePeriod:valuePeriod
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...1
TypePeriod
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Organization.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.identifier
DefinitionIdentifier for the organization that is used to identify the organization across multiple disparate systems.
Cardinality0...*
TypeIdentifier
SummaryTrue
Requirements

Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.

SlicingUnordered, Open At End, by system(Value)
Invariants
  • 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
  • v2:XON.10 / XON.3
  • rim:.scopes[Role](classCode=IDENT)
  • servd:./Identifiers
  • w5:id
Organization.identifier:odsOrganisationCode
DefinitionIdentifier code supplier by the Organisation Data Service
Cardinality0...1
TypeIdentifier
SummaryTrue
Requirements

Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.

Invariants
  • 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
  • v2:XON.10 / XON.3
  • rim:.scopes[Role](classCode=IDENT)
  • servd:./Identifiers
  • w5:id
Organization.identifier:odsOrganisationCode.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.identifier:odsOrganisationCode.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.identifier:odsOrganisationCode.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Organization.identifier:odsOrganisationCode.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Organization.identifier:odsOrganisationCode.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.nhs.uk/Id/ods-organization-code

Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Organization.identifier:odsOrganisationCode.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Organization.identifier:odsOrganisationCode.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Organization.identifier:odsOrganisationCode.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Organization.identifier:odsSiteCode
DefinitionODS Site code to identify the organisation at site level
Cardinality0...1
TypeIdentifier
SummaryTrue
Requirements

Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.

Invariants
  • 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
  • v2:XON.10 / XON.3
  • rim:.scopes[Role](classCode=IDENT)
  • servd:./Identifiers
  • w5:id
Organization.identifier:odsSiteCode.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.identifier:odsSiteCode.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.identifier:odsSiteCode.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Organization.identifier:odsSiteCode.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Organization.identifier:odsSiteCode.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.nhs.uk/Id/ods-site-code

Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Organization.identifier:odsSiteCode.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Organization.identifier:odsSiteCode.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Organization.identifier:odsSiteCode.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Organization.active
DefinitionWhether the organization's record is still in active use.
Cardinality0...1
Typeboolean
ModifierTrue
SummaryTrue
Requirements

Need a flag to indicate a record is no longer to be used and should generally be hidden for the user in the UI.

Comments

Default is true.

This active flag is not intended to be used to mark an organizations as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used.

This element is labeled as a modifier because it may be used to mark that the resource was created in error.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:No equivalent in HL7 v2
  • rim:.status
  • servd:./Status (however this concept in ServD more covers why the organization is active or not, could be delisted, deregistered, not operational yet) this could alternatively be derived from ./StartDate and ./EndDate and given a context date.
  • w5:status
Organization.type
DefinitionThe kind(s) of organization that this is.
Cardinality0...*
TypeCodeableConcept
Binding

Used to categorize the organization

OrganizationType (example)
SummaryTrue
Requirements

Need to be able to track the kind of organization that this is - different organization types have different uses.

Comments

Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes

When considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center.

We expect that some jurisdictions will profile this optionality to be a single cardinality.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:No equivalent in v2
  • rim:.code
  • servd:n/a
  • w5:class
Organization.name
DefinitionA name associated with the organization.
Cardinality0...1
Typestring
SummaryTrue
Requirements

Need to use the name as the label of the organization.

Comments

If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XON.1
  • rim:.name
  • servd:.PreferredName/Name
Organization.alias
DefinitionA list of alternate names that the organization is known as, or was known as in the past.
Cardinality0...*
Typestring
Requirements

Over time locations and organizations go through many changes and can be known by different names.

For searching knowing previous names that the organization was known by can be very useful.

Comments

There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.name
Organization.telecom
DefinitionA contact detail for the organization.
Cardinality0...*
TypeContactPoint
Requirements

Human contact for the organization.

Comments

The use code home is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • cpt-2:A system is required if a value is provided.
    value.empty() or system.exists()
  • org-3:The telecom of an organization can never be of use 'home'
    where(use = 'home').empty()
Mappings
  • rim:n/a
  • v2:XTN
  • rim:TEL
  • servd:ContactPoint
  • v2:ORC-22?
  • rim:.telecom
  • servd:./ContactPoints
Organization.address
DefinitionAn address for the organization.
Cardinality0...*
TypeAddress
Requirements

May need to keep track of the organization's addresses for contacting, billing or reporting requirements.

Comments

Organization may have multiple addresses with different uses or applicable periods. The use code home is not to be used.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • org-2:An address of an organization can never be of use 'home'
    where(use = 'home').empty()
Mappings
  • rim:n/a
  • v2:XAD
  • rim:AD
  • servd:Address
  • v2:ORC-23?
  • rim:.address
  • servd:./PrimaryAddress and ./OtherAddresses
Organization.partOf
DefinitionThe organization of which this organization forms a part.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
SummaryTrue
Requirements

Need to be able to track the hierarchy of organizations within an organization.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:No equivalent in HL7 v2
  • rim:.playedBy[classCode=Part].scoper
  • servd:n/a
Organization.contact
DefinitionContact for the organization for a certain purpose.
Cardinality0...*
TypeBackboneElement
Requirements

Need to keep track of assigned contact points within bigger organization.

Comments

Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.contactParty
Organization.contact.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.contact.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.contact.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Organization.contact.purpose
DefinitionIndicates a purpose for which the contact can be reached.
Cardinality0...1
TypeCodeableConcept
Binding

The purpose for which you would contact a contact party

ContactEntityType (extensible)
Requirements

Need to distinguish between multiple contact persons.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:./type
Organization.contact.name
DefinitionA name associated with the contact.
Cardinality0...1
TypeHumanName
Requirements

Need to be able to track the person by name.

Comments

Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts may or may not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN
  • rim:EN (actually, PN)
  • servd:ProviderName
  • v2:PID-5, PID-9
  • rim:./name
Organization.contact.name.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Organization.contact.name.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Organization.contact.name.use
DefinitionIdentifies the purpose for this name.
Cardinality0...1
Typecode
Binding

The use of a human name

NameUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate name for a particular context of use to be selected from among a set of names.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old name etc.for a current/permanent one. Applications can assume that a name is current unless it explicitly says that it is temporary or old.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.7, but often indicated by which field contains the name
  • rim:unique(./use)
  • servd:./NamePurpose
Organization.contact.name.text
DefinitionA full text representation of the name.
Cardinality0...1
Typestring
SummaryTrue
Requirements

A renderable, unencoded form.

Comments

Can provide both a text representation and structured parts.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:implied by XPN.11
  • rim:./formatted
Organization.contact.name.family
DefinitionThe part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.
Cardinality1...1
Typestring
SummaryTrue
Aliassurname
Comments

Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.1/FN.1
  • rim:./part[partType = FAM]
  • servd:./FamilyName
Organization.contact.name.given
DefinitionGiven name.
Cardinality0...*
Typestring
SummaryTrue
Aliasfirst name, middle name
Comments

If only initials are recorded, they may be used in place of the full name. Not called "first name" since given names do not always come first.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.2 + XPN.3
  • rim:./part[partType = GIV]
  • servd:./GivenNames
Organization.contact.name.prefix
DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.
Cardinality0...*
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.5
  • rim:./part[partType = PFX]
  • servd:./TitleCode
Organization.contact.name.suffix
DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.
Cardinality0...*
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN/4
  • rim:./part[partType = SFX]
Organization.contact.name.period
DefinitionIndicates the period of time when this name was valid for the named person.
Cardinality0...1
TypePeriod
SummaryTrue
Requirements

Allows names to be placed in historical context.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:XPN.13 + XPN.14
  • rim:./usablePeriod[type="IVL<TS>"]
  • servd:./StartDate and ./EndDate
Organization.contact.telecom
DefinitionA contact detail (e.g. a telephone number or an email address) by which the party may be contacted.
Cardinality0...*
TypeContactPoint
Requirements

People have (primary) ways to contact them in some way such as phone, email.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • cpt-2:A system is required if a value is provided.
    value.empty() or system.exists()
Mappings
  • rim:n/a
  • v2:XTN
  • rim:TEL
  • servd:ContactPoint
  • v2:PID-13, PID-14
  • rim:./telecom
Organization.contact.address
DefinitionVisiting or postal addresses for the contact.
Cardinality0...1
TypeAddress
Requirements

May need to keep track of a contact party's address for contacting, billing or reporting requirements.

Comments

Note: address is for postal addresses, not physical locations.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD
  • rim:AD
  • servd:Address
  • v2:PID-11
  • rim:./addr
Organization.endpoint
DefinitionTechnical endpoints providing access to services operated for the organization.
Cardinality0...*
TypeReference(Endpoint)
Requirements

Organizations have multiple systems that provide various services and need to be able to define the technical connection details for how to connect to them, and for what purpose.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)

Profile: CareConnect-GPC-Practitioner-1

nhsCommunicationI0..*Extension(Complex)
useΣ ?!0..0codeBinding
typeΣ0..0CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..0Period
assignerΣ I0..0Reference(Organization)
useΣ ?!0..0codeBinding
typeΣ0..0CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..0Period
assignerΣ I0..0Reference(Organization)
activeΣ0..1boolean
useΣ ?!0..1codeBinding
textΣ0..1string
familyΣ1..1string
givenΣ0..*string
prefixΣ0..*string
suffixΣ0..*string
periodΣ I0..1Period
telecomΣ I0..*ContactPoint
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
lineΣ0..*string
cityΣ0..1string
districtΣ0..1string
stateΣ0..0string
postalCodeΣ0..1string
countryΣ0..1string
periodΣ I0..1Period
genderΣ0..1codeBinding
birthDateΣ0..1date
photoI0..*Attachment
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-GPC-Organization-1)
code1..1CodeableConcept
periodI0..1Period
issuerI0..1Reference(CareConnect-GPC-Organization-1)
communication0..0CodeableConceptBinding
Practitioner
DefinitionA person who is directly or indirectly involved in the provisioning of healthcare.
Cardinality0...*
Comments

Note that a cab driver no longer fits the bill. You probably would be interested in the organization rather than the individual?

Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
Mappings
  • rim:Entity. Role, or Act
  • v2:PRD (as one example)
  • rim:Role
  • servd:Provider
  • w5:administrative.individual
Practitioner.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Practitioner.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Practitioner.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Practitioner.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Practitioner.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
Practitioner.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
Practitioner.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Practitioner.extension:nhsCommunication
DefinitionCommunication preferences including a list of Languages which may be used for communication
Cardinality0...*
TypeExtension(Complex)
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.

Invariants
  • 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
Practitioner.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Practitioner.identifier
DefinitionAn identifier that applies to this person in this role.
Cardinality0...*
TypeIdentifier
SummaryTrue
Requirements

Often, specific identities are assigned for the agent.

SlicingUnordered, Open At End, by system(Value)
Invariants
  • 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
  • v2:PRD-7 (or XCN.1)
  • rim:./id
  • servd:./Identifiers
  • w5:id
Practitioner.identifier:sdsUserID
DefinitionAn identifier that applies to this person in this role.
Cardinality0...1
TypeIdentifier
SummaryTrue
Requirements

Often, specific identities are assigned for the agent.

Invariants
  • 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
  • v2:PRD-7 (or XCN.1)
  • rim:./id
  • servd:./Identifiers
  • w5:id
Practitioner.identifier:sdsUserID.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Practitioner.identifier:sdsUserID.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Practitioner.identifier:sdsUserID.use
DefinitionThe purpose of this identifier.
Cardinality0...0
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Practitioner.identifier:sdsUserID.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...0
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Practitioner.identifier:sdsUserID.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.nhs.uk/Id/sds-user-id

Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Practitioner.identifier:sdsUserID.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Practitioner.identifier:sdsUserID.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...0
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Practitioner.identifier:sdsUserID.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...0
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Practitioner.identifier:sdsRoleProfileID
DefinitionAn identifier that applies to this person in this role.
Cardinality0...*
TypeIdentifier
SummaryTrue
Requirements

Often, specific identities are assigned for the agent.

Invariants
  • 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
  • v2:PRD-7 (or XCN.1)
  • rim:./id
  • servd:./Identifiers
  • w5:id
Practitioner.identifier:sdsRoleProfileID.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Practitioner.identifier:sdsRoleProfileID.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Practitioner.identifier:sdsRoleProfileID.use
DefinitionThe purpose of this identifier.
Cardinality0...0
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Practitioner.identifier:sdsRoleProfileID.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...0
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Practitioner.identifier:sdsRoleProfileID.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.nhs.uk/Id/sds-role-profile-id

Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Practitioner.identifier:sdsRoleProfileID.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Practitioner.identifier:sdsRoleProfileID.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...0
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Practitioner.identifier:sdsRoleProfileID.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...0
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Practitioner.active
DefinitionWhether this practitioner's record is in active use.
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

Need to be able to mark a practitioner record as not to be used because it was created in error.

Comments

Default is true.

If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:./statusCode
  • w5:status
Practitioner.name
DefinitionThe name(s) associated with the practitioner.
Cardinality1...1
TypeHumanName
SummaryTrue
Requirements

The name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display.

Comments

The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate.

In general select the value to be used in the ResourceReference.display based on this:

  1. There is more than 1 name
  2. Use = usual
  3. Period is current to the date of the usage
  4. Use = official
  5. Other order as decided by internal business rules.
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN
  • rim:EN (actually, PN)
  • servd:ProviderName
  • v2:XCN Components
  • rim:./name
  • servd:./PreferredName (GivenNames, FamilyName, TitleCode)
Practitioner.name.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Practitioner.name.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Practitioner.name.use
DefinitionIdentifies the purpose for this name.
Cardinality0...1
Typecode
Binding

The use of a human name

NameUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate name for a particular context of use to be selected from among a set of names.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old name etc.for a current/permanent one. Applications can assume that a name is current unless it explicitly says that it is temporary or old.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.7, but often indicated by which field contains the name
  • rim:unique(./use)
  • servd:./NamePurpose
Practitioner.name.text
DefinitionA full text representation of the name.
Cardinality0...1
Typestring
SummaryTrue
Requirements

A renderable, unencoded form.

Comments

Can provide both a text representation and structured parts.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:implied by XPN.11
  • rim:./formatted
Practitioner.name.family
DefinitionThe part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.
Cardinality1...1
Typestring
SummaryTrue
Aliassurname
Comments

Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.1/FN.1
  • rim:./part[partType = FAM]
  • servd:./FamilyName
Practitioner.name.given
DefinitionGiven name.
Cardinality0...*
Typestring
SummaryTrue
Aliasfirst name, middle name
Comments

If only initials are recorded, they may be used in place of the full name. Not called "first name" since given names do not always come first.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.2 + XPN.3
  • rim:./part[partType = GIV]
  • servd:./GivenNames
Practitioner.name.prefix
DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.
Cardinality0...*
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN.5
  • rim:./part[partType = PFX]
  • servd:./TitleCode
Practitioner.name.suffix
DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.
Cardinality0...*
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XPN/4
  • rim:./part[partType = SFX]
Practitioner.name.period
DefinitionIndicates the period of time when this name was valid for the named person.
Cardinality0...1
TypePeriod
SummaryTrue
Requirements

Allows names to be placed in historical context.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:XPN.13 + XPN.14
  • rim:./usablePeriod[type="IVL<TS>"]
  • servd:./StartDate and ./EndDate
Practitioner.telecom
DefinitionA contact detail for the practitioner, e.g. a telephone number or an email address.
Cardinality0...*
TypeContactPoint
SummaryTrue
Requirements

Need to know how to reach a practitioner independent to any roles the practitioner may have.

Comments

Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification

These typically will have home numbers, or mobile numbers that are not role specific.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • cpt-2:A system is required if a value is provided.
    value.empty() or system.exists()
Mappings
  • rim:n/a
  • v2:XTN
  • rim:TEL
  • servd:ContactPoint
  • v2:PRT-15, STF-10, ROL-12
  • rim:./telecom
  • servd:./ContactPoints
Practitioner.address
DefinitionAddress(es) of the practitioner that are not role specific (typically home address). Work addresses are not typically entered in this property as they are usually role dependent.
Cardinality0...*
TypeAddress
SummaryTrue
Requirements

The home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations.

Comments

The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD
  • rim:AD
  • servd:Address
  • v2:ORC-24, STF-11, ROL-11, PRT-14
  • rim:./addr
  • servd:./Addresses
Practitioner.address.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Practitioner.address.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Practitioner.address.use
DefinitionThe purpose of this address.
Cardinality0...1
Typecode
Binding

The use of an address

AddressUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows an appropriate address to be chosen from a list of many.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old address etc.for a current/permanent one. Applications can assume that an address is current unless it explicitly says that it is temporary or old.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

home


Mappings
  • rim:n/a
  • v2:XAD.7
  • rim:unique(./use)
  • servd:./AddressPurpose
Practitioner.address.type
DefinitionDistinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.
Cardinality0...1
Typecode
Binding

The type of an address (physical / postal)

AddressType (required)
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

both


Mappings
  • rim:n/a
  • v2:XAD.18
  • rim:unique(./use)
  • vcard:address type parameter
Practitioner.address.text
DefinitionA full text representation of the address.
Cardinality0...1
Typestring
SummaryTrue
Requirements

A renderable, unencoded form.

Comments

Can provide both a text representation and parts.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

137 Nowhere Street, Erewhon 9132


Mappings
  • rim:n/a
  • v2:XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
  • rim:./formatted
  • vcard:address label parameter
Practitioner.address.line
DefinitionThis component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information.
Cardinality0...*
Typestring
SummaryTrue
Requirements

home | work | temp | old - purpose of this address.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

137 Nowhere Street


Mappings
  • rim:n/a
  • v2:XAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)
  • rim:AD.part[parttype = AL]
  • vcard:street
  • servd:./StreetAddress (newline delimitted)
Practitioner.address.city
DefinitionThe name of the city, town, village or other community or delivery center.
Cardinality0...1
Typestring
SummaryTrue
AliasMunicpality
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Erewhon


Mappings
  • rim:n/a
  • v2:XAD.3
  • rim:AD.part[parttype = CTY]
  • vcard:locality
  • servd:./Jurisdiction
Practitioner.address.district
DefinitionThe name of the administrative area (county).
Cardinality0...1
Typestring
SummaryTrue
AliasCounty
Comments

District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Madison


Mappings
  • rim:n/a
  • v2:XAD.9
  • rim:AD.part[parttype = CNT | CPA]
Practitioner.address.state
DefinitionSub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).
Cardinality0...0
Typestring
SummaryTrue
AliasProvince, Territory
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD.4
  • rim:AD.part[parttype = STA]
  • vcard:region
  • servd:./Region
Practitioner.address.postalCode
DefinitionA postal code designating a region defined by the postal service.
Cardinality0...1
Typestring
SummaryTrue
AliasZip
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

9132


Mappings
  • rim:n/a
  • v2:XAD.5
  • rim:AD.part[parttype = ZIP]
  • vcard:code
  • servd:./PostalIdentificationCode
Practitioner.address.country
DefinitionCountry - a nation as commonly understood or generally accepted.
Cardinality0...1
Typestring
SummaryTrue
Comments

ISO 3166 3 letter codes can be used in place of a full country name.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:XAD.6
  • rim:AD.part[parttype = CNT]
  • vcard:country
  • servd:./Country
Practitioner.address.period
DefinitionTime period when address was/is in use.
Cardinality0...1
TypePeriod
SummaryTrue
Requirements

Allows addresses to be placed in historical context.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Examples
General

{
  "start": "2010-03-23",
  "end": "2010-07-01"
}


Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:XAD.12 / XAD.13 + XAD.14
  • rim:./usablePeriod[type="IVL<TS>"]
  • servd:./StartDate and ./EndDate
Practitioner.gender
DefinitionAdministrative Gender - the gender that the person is considered to have for administration and record keeping purposes.
Cardinality0...1
Typecode
Binding

The gender of a person used for administrative purposes.

Administrative Gender (required)
SummaryTrue
Requirements

Needed to address the person correctly.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:STF-5
  • rim:./administrativeGender
  • servd:./GenderCode
Practitioner.birthDate
DefinitionThe date of birth for the practitioner.
Cardinality0...1
Typedate
SummaryTrue
Requirements

Needed for identification.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:STF-6
  • rim:./birthTime
  • servd:(not represented in ServD)
Practitioner.photo
DefinitionImage of the person.
Cardinality0...*
TypeAttachment
Requirements

Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too.

Comments

When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Attachment".

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • att-1:It the Attachment has data, it SHALL have a contentType
    data.empty() or contentType.exists()
Mappings
  • rim:n/a
  • v2:ED/RP
  • rim:ED
  • rim:./subjectOf/ObservationEvent[code="photo"]/value
  • servd:./ImageURI (only supports the URI reference)
Practitioner.qualification
DefinitionQualifications obtained by training and certification.
Cardinality0...*
TypeBackboneElement
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CER?
  • rim:.playingEntity.playingRole[classCode=QUAL].code
  • servd:./Qualifications
Practitioner.qualification.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Practitioner.qualification.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Practitioner.qualification.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Practitioner.qualification.identifier
DefinitionAn identifier that applies to this person's qualification in this role.
Cardinality0...*
TypeIdentifier
Requirements

Often, specific identities are assigned for the qualification.

Invariants
  • 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:.playingEntity.playingRole[classCode=QUAL].id
Practitioner.qualification.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Practitioner.qualification.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Practitioner.qualification.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Practitioner.qualification.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Practitioner.qualification.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality0...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Practitioner.qualification.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality0...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Practitioner.qualification.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Practitioner.qualification.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Practitioner.qualification.code
DefinitionCoded representation of the qualification.
Cardinality1...1
TypeCodeableConcept
Binding

Specific qualification the practitioner has to provide a service

v2 table 0360, Version 2.7 (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.playingEntity.playingRole[classCode=QUAL].code
  • servd:./Qualifications.Value
Practitioner.qualification.period
DefinitionPeriod during which the qualification is valid.
Cardinality0...1
TypePeriod
Requirements

Qualifications are often for a limited period of time, and can be revoked.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • rim:.playingEntity.playingRole[classCode=QUAL].effectiveTime
  • servd:./Qualifications.StartDate and ./Qualifications.EndDate
Practitioner.qualification.issuer
DefinitionOrganization that regulates and issues the qualification.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.playingEntity.playingRole[classCode=QUAL].scoper
Practitioner.communication
DefinitionA language the practitioner is able to use in patient communication.
Cardinality0...0
TypeCodeableConcept
Binding

A human language.

Common Languages (extensible)
Requirements

Knowing which language a practitioner speaks can help in facilitating communication with patients.

Comments

The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PID-15, NK1-20, LAN-2
  • rim:./languageCommunication
  • servd:./Languages.LanguageSpokenCode

Profile: CareConnect-GPC-PractitionerRole-1

useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-GPC-Organization-1)
activeΣ0..1boolean
periodΣ I0..1Period
practitionerΣ I0..1Reference(CareConnect-GPC-Practitioner-1)
organizationΣ I0..1Reference(CareConnect-GPC-Organization-1)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..0boolean
textΣ0..1string
specialtyΣ0..*CodeableConceptBinding
locationΣ I0..*Reference(CareConnect-GPC-Location-1)
healthcareServiceI0..*Reference(HealthcareService)
telecomΣ I0..*ContactPoint
daysOfWeek0..*codeBinding
allDay0..1boolean
availableStartTime0..1time
availableEndTime0..1time
description1..1string
duringI0..1Period
availabilityExceptions0..1string
endpointI0..*Reference(Endpoint)
PractitionerRole
DefinitionA specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
Cardinality0...*
Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
Mappings
  • rim:Entity. Role, or Act
  • v2:PRD (as one example)
  • rim:Role
  • servd:ServiceSiteProvider
  • w5:administrative.individual
PractitionerRole.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
PractitionerRole.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
PractitionerRole.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
PractitionerRole.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
PractitionerRole.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
PractitionerRole.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
PractitionerRole.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
PractitionerRole.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
PractitionerRole.identifier
DefinitionBusiness Identifiers that are specific to a role/location.
Cardinality0...*
TypeIdentifier
SummaryTrue
Requirements

Often, specific identities are assigned for the agent.

Invariants
  • 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
  • v2:PRD-7 (or XCN.1)
  • rim:.id
  • servd:./Identifiers
  • w5:id
PractitionerRole.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
PractitionerRole.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
PractitionerRole.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
PractitionerRole.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
PractitionerRole.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality0...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
PractitionerRole.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality0...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
PractitionerRole.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
PractitionerRole.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
PractitionerRole.active
DefinitionWhether this practitioner's record is in active use.
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

Need to be able to mark a practitioner record as not to be used because it was created in error.

Comments

Default is true.

If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:STF-7
  • rim:.statusCode
  • w5:status
PractitionerRole.period
DefinitionThe period during which the person is authorized to act as a practitioner in these role(s) for the organization.
Cardinality0...1
TypePeriod
SummaryTrue
Requirements

Even after the agencies is revoked, the fact that it existed must still be recorded.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:PRD-8/9 / PRA-5.4
  • rim:.performance[@typeCode <= 'PPRF'].ActDefinitionOrEvent.effectiveTime
  • servd:(ServD maps Practitioners and Organizations via another entity, so this concept is not available)
  • w5:when.done
PractitionerRole.practitioner
DefinitionPractitioner that is able to provide the defined services for the organation.
Cardinality0...1
TypeReference(CareConnect-GPC-Practitioner-1)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.player
PractitionerRole.organization
DefinitionThe organization where the Practitioner performs the roles associated.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.scoper
PractitionerRole.code
DefinitionRoles which this practitioner is authorized to perform for the organization.
Cardinality0...*
TypeCodeableConcept
Binding

The role a person plays representing an organization

PractitionerRole (example)
SummaryTrue
Requirements

Need to know what authority the practitioner has - what can they do?

Comments

A person may have more than one role. At least one role is required.

SlicingUnordered, Open At End, by coding.system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PRD-1 / STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17
  • rim:.code
  • servd:(ServD maps Practitioners and Organizations via another entity, so this concept is not available)
PractitionerRole.code:sdsJobRoleName
DefinitionRoles which this practitioner is authorized to perform for the organization.
Cardinality0...1
TypeCodeableConcept
Binding

The role a person plays representing an organization

Care Connect SDS Job Role Name (required)
SummaryTrue
Requirements

Need to know what authority the practitioner has - what can they do?

Comments

A person may have more than one role. At least one role is required.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PRD-1 / STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17
  • rim:.code
  • servd:(ServD maps Practitioners and Organizations via another entity, so this concept is not available)
PractitionerRole.code:sdsJobRoleName.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
PractitionerRole.code:sdsJobRoleName.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
PractitionerRole.code:sdsJobRoleName.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality1...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
PractitionerRole.code:sdsJobRoleName.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
PractitionerRole.code:sdsJobRoleName.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
PractitionerRole.code:sdsJobRoleName.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/CodeSystem/CareConnect-SDSJobRoleName-1

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
PractitionerRole.code:sdsJobRoleName.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
PractitionerRole.code:sdsJobRoleName.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
PractitionerRole.code:sdsJobRoleName.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
PractitionerRole.code:sdsJobRoleName.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...0
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
PractitionerRole.code:sdsJobRoleName.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
PractitionerRole.specialty
DefinitionSpecific specialty of the practitioner.
Cardinality0...*
TypeCodeableConcept
Binding

Specific specialty associated with the agency

Practice Setting Code Value Set (preferred)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PRA-5
  • rim:.player.HealthCareProvider[@classCode = 'PROV'].code
  • servd:./Specialty
PractitionerRole.location
DefinitionThe location(s) at which this practitioner provides care.
Cardinality0...*
TypeReference(CareConnect-GPC-Location-1)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.performance.ActDefinitionOrEvent.ServiceDeliveryLocation[@classCode = 'SDLOC']
  • servd:(ServD maps Practitioners and Organizations via another entity, so this concept is not available)<br/> However these are accessed via the Site.ServiceSite.ServiceSiteProvider record. (The Site has the location)
  • w5:where
PractitionerRole.healthcareService
DefinitionThe list of healthcare services that this worker provides for this role's Organization/Location(s).
Cardinality0...*
TypeReference(HealthcareService)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:EDU-2 / AFF-3
  • rim:.player.QualifiedEntity[@classCode = 'QUAL'].code
PractitionerRole.telecom
DefinitionContact details that are specific to the role/location/service.
Cardinality0...*
TypeContactPoint
SummaryTrue
Requirements

Often practitioners have a dedicated line for each location (or service) that they work at, and need to be able to define separate contact details for each of these.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • cpt-2:A system is required if a value is provided.
    value.empty() or system.exists()
Mappings
  • rim:n/a
  • v2:XTN
  • rim:TEL
  • servd:ContactPoint
  • rim:.telecom
PractitionerRole.availableTime
DefinitionA collection of times that the Service Site is available.
Cardinality0...*
TypeBackboneElement
Comments

More detailed availability information may be provided in associated Schedule/Slot resources.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.effectiveTime
PractitionerRole.availableTime.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
PractitionerRole.availableTime.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
PractitionerRole.availableTime.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
PractitionerRole.availableTime.daysOfWeek
DefinitionIndicates which days of the week are available between the start and end Times.
Cardinality0...*
Typecode
Binding

The days of the week.

DaysOfWeek (required)
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.effectiveTime
PractitionerRole.availableTime.allDay
DefinitionIs this always available? (hence times are irrelevant) e.g. 24 hour service.
Cardinality0...1
Typeboolean
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.effectiveTime
PractitionerRole.availableTime.availableStartTime
DefinitionThe opening time of day. Note: If the AllDay flag is set, then this time is ignored.
Cardinality0...1
Typetime
Comments

The timezone is expected to be for where this HealthcareService is provided at.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.effectiveTime
PractitionerRole.availableTime.availableEndTime
DefinitionThe closing time of day. Note: If the AllDay flag is set, then this time is ignored.
Cardinality0...1
Typetime
Comments

The timezone is expected to be for where this HealthcareService is provided at.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.effectiveTime
PractitionerRole.notAvailable
DefinitionThe HealthcareService is not available during this period of time due to the provided reason.
Cardinality0...*
TypeBackboneElement
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.effectiveTime
PractitionerRole.notAvailable.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
PractitionerRole.notAvailable.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
PractitionerRole.notAvailable.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
PractitionerRole.notAvailable.description
DefinitionThe reason that can be presented to the user as to why this time is not available.
Cardinality1...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
PractitionerRole.notAvailable.during
DefinitionService is not available (seasonally or for a public holiday) from this date.
Cardinality0...1
TypePeriod
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • rim:.effectiveTime
PractitionerRole.availabilityExceptions
DefinitionA description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.effectiveTime
PractitionerRole.endpoint
DefinitionTechnical endpoints providing access to services operated for the practitioner with this role.
Cardinality0...*
TypeReference(Endpoint)
Requirements

Organizations have multiple systems that provide various services and ,ay also be different for practitioners too.

So the endpoint satisfies the need to be able to define the technical connection details for how to connect to them, and for what purpose.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)

Profile: CareConnect-GPC-Encounter-1

versionIdΣ0..1id
lastUpdatedΣ0..1instant
profileΣ1..*uri
securityΣ0..*CodingBinding
tagΣ0..*Coding
url1..1uriFixed Value
valueCodeableConcept0..1CodeableConcept
url1..1uriFixed Value
valuePeriod0..1Period
url1..1uriFixed Value
valueString0..1string
url1..1uriFixed Value
url1..1uriFixed Value
valueCodeableConcept1..1CodeableConceptBinding
url1..1uriFixed Value
valueCodeableConcept1..1CodeableConceptBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-Organization-1)
statusΣ ?!1..1codeBinding
status1..1codeBinding
periodI1..1Period
classΣ0..1CodingBinding
class1..1CodingBinding
periodI1..1Period
url1..1uriFixed Value
valueId0..1id
url1..1uriFixed Value
valueString0..1string
url1..1uriFixed Value
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
priority0..1CodeableConcept
subjectΣ I1..1Reference(CareConnect-GPC-Patient-1)
episodeOfCareΣ I0..*Reference(EpisodeOfCare)
incomingReferralI0..*Reference(CareConnect-ReferralRequest-1)
typeS Σ0..*CodeableConceptBinding
periodI0..1Period
individualΣ I1..1Reference(RelatedPerson | CareConnect-GPC-Practitioner-1)
appointmentΣ I0..1Reference(Appointment)
startΣ I1..1dateTime
endΣ I0..1dateTime
lengthI0..1Duration
url1..1uriFixed Value
valueId0..1id
url1..1uriFixed Value
valueString0..1string
url1..1uriFixed Value
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
conditionI1..1Reference(CareConnect-Procedure-1 | CareConnect-Condition-1)
role0..1CodeableConceptBinding
rank0..1positiveInt
accountI0..*Reference(Account)
url1..1uriFixed Value
valueCodeableConcept1..1CodeableConceptBinding
url1..1uriFixed Value
valueCodeableConcept1..1CodeableConceptBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-Organization-1)
originI0..1Reference(CareConnect-Location-1)
admitSource0..1CodeableConceptBinding
url1..1uriFixed Value
valueId0..1id
url1..1uriFixed Value
valueString0..1string
url1..1uriFixed Value
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
dietPreference0..*CodeableConceptBinding
specialCourtesy0..*CodeableConceptBinding
specialArrangement0..*CodeableConceptBinding
destinationI0..1Reference(CareConnect-Location-1)
dischargeDisposition0..1CodeableConcept
locationI1..1Reference(CareConnect-Location-1)
status0..1codeBinding
periodI0..1Period
serviceProviderS I0..1Reference(CareConnect-GPC-Organization-1)
partOfI0..1Reference(CareConnect-Encounter-1)
Encounter
DefinitionAn interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.
Cardinality0...*
AliasVisit
Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
Mappings
  • rim:Entity. Role, or Act
  • rim:Encounter[@moodCode='EVN']
  • w5:workflow.encounter
Encounter.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.meta.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.meta.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.meta.versionId
DefinitionThe version specific identifier, as it appears in the version portion of the URL. This values changes when the resource is created, updated, or deleted.
Cardinality0...1
Typeid
SummaryTrue
Comments

The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.meta.lastUpdated
DefinitionWhen the resource last changed - e.g. when the version changed.
Cardinality0...1
Typeinstant
SummaryTrue
Comments

This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.meta.profile
DefinitionA list of profiles (references to [StructureDefinition](structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url]().
Cardinality1...*
Typeuri
SummaryTrue
Comments

It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.meta.security
DefinitionSecurity labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
Cardinality0...*
TypeCoding
Binding

Security Labels from the Healthcare Privacy and Security Classification System.

All Security Labels (extensible)
SummaryTrue
Comments

The security labels can be updated without changing the stated version of the resource The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
Encounter.meta.tag
DefinitionTags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
Cardinality0...*
TypeCoding
Binding

Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"

Common Tags (example)
SummaryTrue
Comments

The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
Encounter.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
Encounter.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
Encounter.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.extension:encounterTransport
DefinitionEncounter transport.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Encounter.extension:encounterTransport.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.extension:encounterTransport.extension
DefinitionMay 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.
Cardinality1...*
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.extension:encounterTransport.extension:transportType
DefinitionMay 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.
Cardinality1...1
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.

Invariants
  • 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
Encounter.extension:encounterTransport.extension:transportType.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.extension:encounterTransport.extension:transportType.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.extension:encounterTransport.extension:transportType.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

transportType

Mappings
  • rim:n/a
  • rim:N/A
Encounter.extension:encounterTransport.extension:transportType.value[x]:valueCodeableConcept
DefinitionTransport Type.
Cardinality0...1
TypeCodeableConcept
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.extension:encounterTransport.extension:transportPeriod
DefinitionMay 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...1
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.

Invariants
  • 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
Encounter.extension:encounterTransport.extension:transportPeriod.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.extension:encounterTransport.extension:transportPeriod.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.extension:encounterTransport.extension:transportPeriod.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

transportPeriod

Mappings
  • rim:n/a
  • rim:N/A
Encounter.extension:encounterTransport.extension:transportPeriod.value[x]:valuePeriod
DefinitionTransport Period.
Cardinality0...1
TypePeriod
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.extension:encounterTransport.extension:reasonForTransport
DefinitionMay 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...1
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.

Invariants
  • 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
Encounter.extension:encounterTransport.extension:reasonForTransport.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.extension:encounterTransport.extension:reasonForTransport.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.extension:encounterTransport.extension:reasonForTransport.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

reasonForTransport

Mappings
  • rim:n/a
  • rim:N/A
Encounter.extension:encounterTransport.extension:reasonForTransport.value[x]:valueString
DefinitionReason for transport.
Cardinality0...1
Typestring
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.extension:encounterTransport.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-EncounterTransport-1

Mappings
  • rim:n/a
  • rim:N/A
Encounter.extension:encounterTransport.value[x]
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...0
TypeReference(), base64Binary, boolean, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, SampledData, Signature, Timing, Meta
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.extension:outcomeOfAttendance
DefinitionOptional Extension Element - found in all resources.
Cardinality0...1
TypeExtension(CodeableConcept)
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.

Invariants
  • 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
Encounter.extension:outcomeOfAttendance.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.extension:outcomeOfAttendance.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.extension:outcomeOfAttendance.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-OutcomeOfAttendance-1

Mappings
  • rim:n/a
  • rim:N/A
Encounter.extension:outcomeOfAttendance.value[x]:valueCodeableConcept
DefinitionValue 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
TypeCodeableConcept
Binding

This records the outcome of an Out-Patient Attendance Consultant.

NHS Data Model and Dictionary Outcome Of Attendance (required)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.extension:emergencyCareDischargeStatus
DefinitionOptional Extension Element - found in all resources.
Cardinality0...1
TypeExtension(CodeableConcept)
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.

Invariants
  • 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
Encounter.extension:emergencyCareDischargeStatus.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.extension:emergencyCareDischargeStatus.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.extension:emergencyCareDischargeStatus.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-EmergencyCareDischargeStatus-1

Mappings
  • rim:n/a
  • rim:N/A
Encounter.extension:emergencyCareDischargeStatus.value[x]:valueCodeableConcept
DefinitionValue 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
TypeCodeableConcept
Binding

The status of the Patient on discharge from an Emergency Care Department.

Care Connect Emergency Care Discharge Status (required)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.identifier
DefinitionIdentifier(s) by which this encounter is known.
Cardinality1...*
TypeIdentifier
SummaryTrue
Invariants
  • 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
  • v2:PV1-19
  • rim:.id
  • w5:id
Encounter.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Encounter.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Encounter.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Encounter.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Encounter.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Encounter.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Encounter.status
Definitionplanned | arrived | triaged | in-progress | onleave | finished | cancelled +.
Cardinality1...1
Typecode
Binding

Current state of the encounter

EncounterStatus (required)
ModifierTrue
SummaryTrue
Comments

Note that internal business rules will detemine the appropraite transitions that may occur between statuses (and also classes).

This element is labeled as a modifier because the status contains codes that mark the encounter as not currently valid.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:No clear equivalent in HL7 v2; active/finished could be inferred from PV1-44, PV1-45, PV2-24; inactive could be inferred from PV2-16
  • rim:.statusCode
  • w5:status
Encounter.statusHistory
DefinitionThe status history permits the encounter resource to contain the status history without needing to read through the historical versions of the resource, or even have the server store them.
Cardinality0...1
TypeBackboneElement
Comments

The current status is always found in the current version of the resource, not the status history.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.statusHistory.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.statusHistory.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.statusHistory.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Encounter.statusHistory.status
Definitionplanned | arrived | triaged | in-progress | onleave | finished | cancelled +.
Cardinality1...1
Typecode
Binding

Current state of the encounter

EncounterStatus (required)
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.statusHistory.period
DefinitionThe time that the episode was in the specified status.
Cardinality1...1
TypePeriod
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
Encounter.class
Definitioninpatient | outpatient | ambulatory | emergency +.
Cardinality0...1
TypeCoding
Binding

Classification of the encounter

ActEncounterCode (extensible)
SummaryTrue
Comments

Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:PV1-2
  • rim:.inboundRelationship[typeCode=SUBJ].source[classCode=LIST].code
  • w5:class
Encounter.classHistory
DefinitionThe class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transisions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kindof discharge from emergency to inpatient.
Cardinality0...*
TypeBackboneElement
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.classHistory.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.classHistory.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.classHistory.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Encounter.classHistory.class
DefinitionClassification of the encounter.
Cardinality1...1
TypeCoding
Binding

Classification of the encounter

ActEncounterCode (extensible)
Comments

Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
Encounter.classHistory.period
DefinitionThe time that the episode was in the specified class.
Cardinality1...1
TypePeriod
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
Encounter.type
DefinitionSpecific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).
Cardinality1...1
TypeCodeableConcept
Binding

The type of encounter

EncounterType (example)
SummaryTrue
Comments

Since there are many ways to further classify encounters, this element is 0..*.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PV1-4 / PV1-18
  • rim:.code
  • w5:class
Encounter.type.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.type.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.type.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Encounter.type.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
Binding

A code from the SNOMED Clinical Terminology UK coding system that describes an encounter between a care professional and the patient (or patient's record).

Care Connect Encounter Type (extensible)
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Encounter.type.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.type.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.extension
DefinitionMay 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.
Cardinality1...*
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId
DefinitionMay 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.
Cardinality1...1
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.

Invariants
  • 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
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

descriptionId

Mappings
  • rim:n/a
  • rim:N/A
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId.value[x]:valueId
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...1
Typeid
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay
DefinitionMay 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...1
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.

Invariants
  • 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
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

descriptionDisplay

Mappings
  • rim:n/a
  • rim:N/A
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay.value[x]:valueString
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...1
Typestring
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-coding-sctdescid

Mappings
  • rim:n/a
  • rim:N/A
Encounter.type.coding:snomedCT.extension:snomedCTDescriptionID.value[x]
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...0
TypeReference(), base64Binary, boolean, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, SampledData, Signature, Timing
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.type.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Encounter.type.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Encounter.type.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Encounter.type.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Encounter.type.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Encounter.type.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Encounter.priority
DefinitionIndicates the urgency of the encounter.
Cardinality0...1
TypeCodeableConcept
Binding

Indicates the urgency of the encounter.

v3 Code System ActPriority (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PV2-25
  • rim:.priorityCode
  • w5:grade
Encounter.subject
DefinitionThe patient present at the encounter.
Cardinality1...1
TypeReference(CareConnect-GPC-Patient-1)
SummaryTrue
Aliaspatient
Comments

While the encounter is always about the patient, the patient may not actually be known in all contexts of use, and there may be a group of patients that could be anonymous (such as in a group therapy for Alcoholics Anonymous - where the recording of the encounter could be used for billing on the number of people/staff and not important to the context of the specific patients) or alternately in veterinary care a herd of sheep receiving treatment (where the animals are not individually tracked).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PID-3
  • rim:.participation[typeCode=SBJ]/role[classCode=PAT]
  • w5:who.focus
Encounter.episodeOfCare
DefinitionWhere a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care, and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years).
Cardinality0...*
TypeReference(EpisodeOfCare)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PV1-54, PV1-53
  • w5:context
Encounter.incomingReferral
DefinitionThe referral request this encounter satisfies (incoming referral).
Cardinality0...*
TypeReference(CareConnect-ReferralRequest-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.reason.ClinicalDocument
Encounter.participant
DefinitionThe list of people responsible for providing the service.
Cardinality1...*
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:ROL
  • rim:.participation[typeCode=PFM]
Encounter.participant.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.participant.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.participant.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Encounter.participant.type
DefinitionRole of participant in encounter.
Cardinality0...*
TypeCodeableConcept
Binding

Role of participant in encounter

GPConnect Participant Type (extensible)
Must SupportTrue
SummaryTrue
Comments

The participant type indicates how an individual partitipates in an encounter. It includes non-practitioner participants, and for practitioners this is to describe the action type in the context of this encounter (e.g. Admitting Dr, Attending Dr, Translator, Consulting Dr). This is different to the practitioner roles which are functional roles, derived from terms of employment, education, licensing, etc.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:ROL-3 (or maybe PRT-4)
  • rim:.functionCode
Encounter.participant.period
DefinitionThe period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's period.
Cardinality0...1
TypePeriod
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:ROL-5, ROL-6 (or maybe PRT-5)
  • rim:.time
Encounter.participant.individual
DefinitionPersons involved in the encounter other than the patient.
Cardinality1...1
TypeReference(RelatedPerson | CareConnect-GPC-Practitioner-1)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:ROL-4
  • rim:.role
  • w5:who
Encounter.appointment
DefinitionThe appointment that scheduled this encounter.
Cardinality0...1
TypeReference(Appointment)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:SCH-1 / SCH-2
  • rim:.outboundRelationship[typeCode=FLFS].target[classCode=ENC, moodCode=APT]
Encounter.period
DefinitionThe start and end time of the encounter.
Cardinality0...1
TypePeriod
Must SupportTrue
Comments

If not (yet) known, the end of the Period may be omitted.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:PV1-44, PV1-45
  • rim:.effectiveTime (low & high)
  • w5:when.done
Encounter.period.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.period.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.period.start
DefinitionThe start of the period. The boundary is inclusive. This should be populated with the displayed consultation date and time.
Cardinality1...1
TypedateTime
SummaryTrue
Comments

If the low element is missing, the meaning is that the low boundary is not known.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:DR.1
  • rim:./low
Encounter.period.end
DefinitionThe end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time. This should be populated where the encounter end date and time is known or calculated and populated where the duration is known.
Cardinality0...1
TypedateTime
SummaryTrue
Comments

The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:DR.2
  • rim:./high
Encounter.length
DefinitionQuantity of time the encounter lasted. This excludes the time during leaves of absence.
Cardinality0...1
TypeDuration
Comments

May differ from the time the Encounter.period lasted because of leave of absence.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • qty-3:If a code for the unit is present, the system SHALL also be present
    code.empty() or system.exists()
  • drt-1:There SHALL be a code if there is a value and it SHALL be an expression of time. If system is present, it SHALL be UCUM.
    code.exists() implies ((system = %ucum) and value.exists())
Mappings
  • rim:n/a
  • v2:SN (see also Range) or CQ
  • rim:PQ, IVL<PQ>, MO, CO, depending on the values
  • rim:PQ, IVL<PQ> depending on the values
  • v2:(PV1-45 less PV1-44) iff ( (PV1-44 not empty) and (PV1-45 not empty) ); units in minutes
  • rim:.lengthOfStayQuantity
Encounter.reason
DefinitionReason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis.
Cardinality0...*
TypeCodeableConcept
Binding

Reason why the encounter takes place.

Encounter Reason Codes (preferred)
SummaryTrue
AliasIndication, Admission diagnosis
Comments

For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:EVN-4 / PV2-3 (note: PV2-3 is nominally constrained to inpatient admissions; HL7 v2 makes no vocabulary suggestions for PV2-3; would not expect PV2 segment or PV2-3 to be in use in all implementations )
  • rim:.reasonCode
  • w5:why
Encounter.reason.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.reason.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.reason.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Encounter.reason.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Encounter.reason.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.reason.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.extension
DefinitionMay 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.
Cardinality1...*
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId
DefinitionMay 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.
Cardinality1...1
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.

Invariants
  • 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
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

descriptionId

Mappings
  • rim:n/a
  • rim:N/A
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId.value[x]:valueId
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...1
Typeid
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay
DefinitionMay 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...1
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.

Invariants
  • 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
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

descriptionDisplay

Mappings
  • rim:n/a
  • rim:N/A
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay.value[x]:valueString
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...1
Typestring
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-coding-sctdescid

Mappings
  • rim:n/a
  • rim:N/A
Encounter.reason.coding:snomedCT.extension:snomedCTDescriptionID.value[x]
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...0
TypeReference(), base64Binary, boolean, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, SampledData, Signature, Timing
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.reason.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Encounter.reason.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Encounter.reason.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Encounter.reason.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Encounter.reason.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Encounter.reason.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Encounter.diagnosis
DefinitionThe list of diagnosis relevant to this encounter.
Cardinality0...*
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.outboundRelationship[typeCode=RSON]
Encounter.diagnosis.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.diagnosis.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.diagnosis.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Encounter.diagnosis.condition
DefinitionReason the encounter takes place, as specified using information from another resource. For admissions, this is the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure.
Cardinality1...1
TypeReference(CareConnect-Procedure-1 | CareConnect-Condition-1)
AliasAdmission diagnosis, discharge diagnosis, indication
Comments

For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:Resources that would commonly referenced at Encounter.indication would be Condition and/or Procedure. These most closely align with DG1/PRB and PR1 respectively.
  • rim:.outboundRelationship[typeCode=RSON].target
  • w5:why
Encounter.diagnosis.role
DefinitionRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …).
Cardinality0...1
TypeCodeableConcept
Binding

The type of diagnosis this condition represents

DiagnosisRole (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
Encounter.diagnosis.rank
DefinitionRanking of the diagnosis (for each role type).
Cardinality0...1
TypepositiveInt
Comments

32 bit number; for values larger than this, use decimal

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.outboundRelationship[typeCode=RSON].priority
Encounter.account
DefinitionThe set of accounts that may be used for billing for this Encounter.
Cardinality0...*
TypeReference(Account)
Comments

The billing system may choose to allocate billable items associated with the Encounter to different referenced Accounts based on internal business rules.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.pertains.A_Account
Encounter.hospitalization
DefinitionDetails about the admission to a healthcare service.
Cardinality0...1
TypeBackboneElement
Comments

An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included.

The duration recorded in the period of this encounter covers the entire scope of this hospitalization record.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.outboundRelationship[typeCode=COMP].target[classCode=ENC, moodCode=EVN]
Encounter.hospitalization.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.hospitalization.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.hospitalization.extension:admissionMethod
DefinitionOptional Extension Element - found in all resources.
Cardinality0...1
TypeExtension(CodeableConcept)
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.

Invariants
  • 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
Encounter.hospitalization.extension:admissionMethod.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.hospitalization.extension:admissionMethod.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.hospitalization.extension:admissionMethod.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-AdmissionMethod-1

Mappings
  • rim:n/a
  • rim:N/A
Encounter.hospitalization.extension:admissionMethod.value[x]:valueCodeableConcept
DefinitionValue 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
TypeCodeableConcept
Binding

The method of admission to a Hospital Provider Spell.

NHS Data Model and Dictionary Admission Method (required)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.hospitalization.extension:dischargeMethod
DefinitionOptional Extension Element - found in all resources.
Cardinality0...1
TypeExtension(CodeableConcept)
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.

Invariants
  • 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
Encounter.hospitalization.extension:dischargeMethod.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.hospitalization.extension:dischargeMethod.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.hospitalization.extension:dischargeMethod.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-DischargeMethod-1

Mappings
  • rim:n/a
  • rim:N/A
Encounter.hospitalization.extension:dischargeMethod.value[x]:valueCodeableConcept
DefinitionValue 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
TypeCodeableConcept
Binding

The method of discharge from a Hospital Provider Spell.

NHS Data Model and Dictionary Discharge Method (required)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.hospitalization.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Encounter.hospitalization.preAdmissionIdentifier
DefinitionPre-admission identifier.
Cardinality0...1
TypeIdentifier
Invariants
  • 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
  • v2:PV1-5
  • rim:.id
Encounter.hospitalization.preAdmissionIdentifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.hospitalization.preAdmissionIdentifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.hospitalization.preAdmissionIdentifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Encounter.hospitalization.preAdmissionIdentifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Encounter.hospitalization.preAdmissionIdentifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Encounter.hospitalization.preAdmissionIdentifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Encounter.hospitalization.preAdmissionIdentifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Encounter.hospitalization.preAdmissionIdentifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Encounter.hospitalization.origin
DefinitionThe location from which the patient came before admission.
Cardinality0...1
TypeReference(CareConnect-Location-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.participation[typeCode=ORG].role
Encounter.hospitalization.admitSource
DefinitionFrom where patient was admitted (physician referral, transfer).
Cardinality0...1
TypeCodeableConcept
Binding

The source of admission to a Hospital Provider Spell or a Nursing Episode when the Patient is in a Hospital Site or a Care Home.

NHS Data Model and Dictionary Source Of Admission (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PV1-14
  • rim:.admissionReferralSourceCode
Encounter.hospitalization.reAdmission
DefinitionWhether this hospitalization is a readmission and why if known.
Cardinality0...1
TypeCodeableConcept
Binding

The reason for re-admission of this hospitalization encounter.

v2 Re-Admission Indicator (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PV1-13
Encounter.hospitalization.reAdmission.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.hospitalization.reAdmission.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.hospitalization.reAdmission.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Encounter.hospitalization.reAdmission.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Encounter.hospitalization.reAdmission.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.hospitalization.reAdmission.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.extension
DefinitionMay 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.
Cardinality1...*
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId
DefinitionMay 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.
Cardinality1...1
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.

Invariants
  • 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
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

descriptionId

Mappings
  • rim:n/a
  • rim:N/A
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionId.value[x]:valueId
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...1
Typeid
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay
DefinitionMay 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...1
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.

Invariants
  • 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
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

descriptionDisplay

Mappings
  • rim:n/a
  • rim:N/A
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.extension:descriptionDisplay.value[x]:valueString
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...1
Typestring
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-coding-sctdescid

Mappings
  • rim:n/a
  • rim:N/A
Encounter.hospitalization.reAdmission.coding:snomedCT.extension:snomedCTDescriptionID.value[x]
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...0
TypeReference(), base64Binary, boolean, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, SampledData, Signature, Timing
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Encounter.hospitalization.reAdmission.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Encounter.hospitalization.reAdmission.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Encounter.hospitalization.reAdmission.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Encounter.hospitalization.reAdmission.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Encounter.hospitalization.reAdmission.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Encounter.hospitalization.reAdmission.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Encounter.hospitalization.dietPreference
DefinitionDiet preferences reported by the patient.
Cardinality0...*
TypeCodeableConcept
Binding

Medical, cultural or ethical food preferences to help with catering requirements.

Diet (extensible)
Requirements

Used to track patient's diet restrictions and/or preference. For a complete description of the nutrition needs of a patient during their stay, one should use the nutritionOrder resource which links to Encounter.

Comments

For example a patient may request both a dairy-free and nut-free diet preference (not mutually exclusive).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PV1-38
  • rim:.outboundRelationship[typeCode=COMP].target[classCode=SBADM, moodCode=EVN, code="diet"]
Encounter.hospitalization.specialCourtesy
DefinitionSpecial courtesies (VIP, board member).
Cardinality0...*
TypeCodeableConcept
Binding

Special courtesies

SpecialCourtesy (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PV1-16
  • rim:.specialCourtesiesCode
Encounter.hospitalization.specialArrangement
DefinitionAny special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things.
Cardinality0...*
TypeCodeableConcept
Binding

Special arrangements

SpecialArrangements (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PV1-15 / OBR-30 / OBR-43
  • rim:.specialArrangementCode
Encounter.hospitalization.destination
DefinitionLocation to which the patient is discharged.
Cardinality0...1
TypeReference(CareConnect-Location-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PV1-37
  • rim:.participation[typeCode=DST]
Encounter.hospitalization.dischargeDisposition
DefinitionCategory or kind of location after discharge.
Cardinality0...1
TypeCodeableConcept
Binding

The destination of a Patient on completion of a Hospital Provider Spell, or a note that the Patient died or was a still birth.

NHS Data Model and Dictionary Discharge Destination (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PV1-36
  • rim:.dischargeDispositionCode
Encounter.location
DefinitionList of locations where the patient has been during this encounter.
Cardinality0...*
TypeBackboneElement
Comments

Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual".

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.participation[typeCode=LOC]
Encounter.location.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Encounter.location.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Encounter.location.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Encounter.location.location
DefinitionThe location where the encounter takes place.
Cardinality1...1
TypeReference(CareConnect-Location-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PV1-3 / PV1-6 / PV1-11 / PV1-42 / PV1-43
  • rim:.role
  • w5:where
Encounter.location.status
DefinitionThe status of the participants' presence at the specified location during the period specified. If the participant is is no longer at the location, then the period will have an end date/time.
Cardinality0...1
Typecode
Binding

The status of the location.

EncounterLocationStatus (required)
Comments

When the patient is no longer active at a location, then the period end date is entered, and the status may be changed to completed.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.role.statusCode
Encounter.location.period
DefinitionTime period during which the patient was present at the location.
Cardinality0...1
TypePeriod
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • rim:.time
Encounter.serviceProvider
DefinitionAn organization that is in charge of maintaining the information of this Encounter (e.g. who maintains the report or the master service catalog item, etc.). This MAY be the same as the organization on the Patient record, however it could be different. This MAY not be not the Service Delivery Location's Organization.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1)
Must SupportTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PV1-10 / PL.6 & PL.1 (note: HL7 v2 definition is "the treatment or type of surgery that the patient is scheduled to receive"; seems slightly out of alignment with the concept name 'hospital service'. Would not trust that implementations apply this semantic by default)
  • rim:.particiaption[typeCode=PFM].role
Encounter.partOf
DefinitionAnother Encounter of which this encounter is a part of (administratively or in time).
Cardinality0...1
TypeReference(CareConnect-Encounter-1)
Comments

This is also used for associating a child's encounter back to the mother's encounter.

Refer to the Notes section in the Patient resource for further details.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.inboundRelationship[typeCode=COMP].source[classCode=COMP, moodCode=EVN]

Profile: CareConnect-GPC-MedicationDispense-1

useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-GPC-Organization-1)
partOfI0..*Reference(Procedure)
statusS Σ ?!0..1codeBinding
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
medicationCodeableConceptCodeableConcept
medicationReferenceReference(CareConnect-GPC-Medication-1)
referenceΣ I0..1string
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
contextI0..1Reference(EpisodeOfCare | CareConnect-GPC-Encounter-1)
supportingInformationI0..*Reference(Resource)
actorI1..1Reference(Device | CareConnect-RelatedPerson-1 | CareConnect-GPC-Organization-1 | CareConnect-GPC-Patient-1 | CareConnect-GPC-Practitioner-1)
onBehalfOfI0..1Reference(Organization)
authorizingPrescriptionI0..*Reference(CareConnect-GPC-MedicationRequest-1)
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
valueΣ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ1..1string
systemΣ I1..1uri
codeΣ1..1code
daysSupplyS I0..1SimpleQuantity
whenPreparedS Σ0..1dateTime
whenHandedOverS0..1dateTime
destinationI0..1Reference(CareConnect-GPC-Location-1)
receiverI0..1Reference(CareConnect-GPC-Patient-1 | CareConnect-GPC-Practitioner-1)
authorStringstring
authorReferenceReference(RelatedPerson | CareConnect-GPC-Practitioner-1 | CareConnect-GPC-Patient-1)
timeΣ0..1dateTime
text1..1string
dosageInstructionS0..*Dosage
wasSubstituted1..1boolean
type0..1CodeableConcept
reason0..*CodeableConcept
responsiblePartyI0..*Reference(CareConnect-GPC-Practitioner-1)
detectedIssueI0..*Reference(DetectedIssue)
notDone0..1boolean
notDoneReasonCodeableConceptCodeableConcept
notDoneReasonReferenceReference(DetectedIssue)
eventHistoryI0..*Reference(Provenance)
MedicationDispense
DefinitionIndicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order.
Cardinality0...*
Comments

The WG will be updating the MedicationDispense resource to adjust each affected resource to align with the workflow pattern (see workflow.html).

Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
  • mdd-1:whenHandedOver cannot be before whenPrepared
    whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
Mappings
  • rim:Entity. Role, or Act
  • workflow:..Event
  • rim:Supply[moodCode=EVN]
  • w5:clinical.medication
MedicationDispense.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MedicationDispense.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
MedicationDispense.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
MedicationDispense.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.identifier
DefinitionIdentifier assigned by the dispensing facility - this is an identifier assigned outside FHIR.
Cardinality0...*
TypeIdentifier
Must SupportTrue
Invariants
  • 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
  • workflow:…identifier
  • rim:.id
  • w5:id
MedicationDispense.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
MedicationDispense.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
MedicationDispense.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
MedicationDispense.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
MedicationDispense.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
MedicationDispense.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
MedicationDispense.partOf
DefinitionThe procedure that the dispense is done because of.
Cardinality0...*
TypeReference(Procedure)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow:…part of
  • rim:.outboundRelationship[typeCode=COMP]/target[classCode=PROC,moodCode=EVN]
MedicationDispense.status
DefinitionA code specifying the state of the set of dispense events.
Cardinality0...1
Typecode
Binding

A coded concept specifying the state of the dispense event.

MedicationDispenseStatus (required)
Must SupportTrue
ModifierTrue
SummaryTrue
Comments

This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • workflow:…status
  • rim:.statusCode
  • w5:status
MedicationDispense.category
DefinitionIndicates type of medication dispense and where the medication is expected to be consumed or administered.
Cardinality0...1
TypeCodeableConcept
Binding

A code describing where the dispensed medication is expected to be consumed or administered

MedicationDispenseCategory (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code="type of medication dispense"].value
MedicationDispense.category.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.category.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.category.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
MedicationDispense.category.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.category.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.category.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
MedicationDispense.category.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
MedicationDispense.category.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
MedicationDispense.category.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality0...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
MedicationDispense.category.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
MedicationDispense.category.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
MedicationDispense.medication[x]
DefinitionIdentifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.
Cardinality1...1
TypeReference(CareConnect-GPC-Medication-1), CodeableConcept
Binding

A coded concept identifying which substance or product can be dispensed

SNOMED CT Medication Codes (example)
SummaryTrue
Comments

If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. .

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • workflow:…code
  • v2:RXD-2-Dispense/Give Code
  • rim:.participation[typeCode=PRD].role
  • w5:what
MedicationDispense.subject
DefinitionA link to a resource representing the person or the group to whom the medication will be given.
Cardinality1...1
TypeReference(Group | CareConnect-GPC-Patient-1)
Must SupportTrue
SummaryTrue
Comments

SubstanceAdministration->subject->Patient.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow:…subject
  • v2:PID-3-Patient ID List
  • rim:.participation[typeCode=SBJ].role[classCode=PAT]
  • w5:who.focus
MedicationDispense.subject.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.subject.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.subject.reference
DefinitionA 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MedicationDispense.subject.identifier
DefinitionAn 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.

Invariants
  • 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
MedicationDispense.subject.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.subject.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.subject.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
MedicationDispense.subject.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
MedicationDispense.subject.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.nhs.uk/Id/nhs-number

Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
MedicationDispense.subject.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
MedicationDispense.subject.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
MedicationDispense.subject.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
MedicationDispense.subject.display
DefinitionPlain 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
MedicationDispense.context
DefinitionThe encounter or episode of care that establishes the context for this event.
Cardinality0...1
TypeReference(EpisodeOfCare | CareConnect-GPC-Encounter-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow:…context
  • rim:.inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN, code="type of encounter or episode"]
MedicationDispense.supportingInformation
DefinitionAdditional information that supports the medication being dispensed.
Cardinality0...*
TypeReference(Resource)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.outboundRelationship[typeCode=PERT].target[A_SupportingClinicalStatement CMET minimal with many different choices of classCodes(ORG, ENC, PROC, SPLY, SBADM, OBS) and each of the act class codes draws from one or more of the following moodCodes (EVN, DEF, INT PRMS, RQO, PRP, APT, ARQ, GOL)]
  • w5:context
MedicationDispense.performer
DefinitionIndicates who or what performed the event. It should be assumed that the performer is the dispenser of the medication.
Cardinality1...1
TypeBackboneElement
Must SupportTrue
Comments

The performer will be reviewed as part of STU4.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • workflow:…performer
  • rim:.participation[typeCode=PRF]
MedicationDispense.performer.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.performer.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.performer.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
MedicationDispense.performer.actor
DefinitionThe device, practitioner, etc. who performed the action. It should be assumed that the actor is the dispenser of the medication.
Cardinality1...1
TypeReference(Device | CareConnect-RelatedPerson-1 | CareConnect-GPC-Organization-1 | CareConnect-GPC-Patient-1 | CareConnect-GPC-Practitioner-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow:….actor
  • rim:.role
MedicationDispense.performer.onBehalfOf
DefinitionThe organization the device or practitioner was acting on behalf of.
Cardinality0...1
TypeReference(Organization)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow:….onBehalfOf
  • rim:.role.scopingOrganization
MedicationDispense.authorizingPrescription
DefinitionIndicates the medication order that is being dispensed against.
Cardinality0...*
TypeReference(CareConnect-GPC-MedicationRequest-1)
Comments

Maps to basedOn in Event logical model.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow:…basedOn
  • v2:ORC-2 Placer Order Number
  • rim:.outboundRelationship[typeCode=FLFS].target[moodCode=RQO]
MedicationDispense.type
DefinitionIndicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.
Cardinality0...1
TypeCodeableConcept
Binding

Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.

ActPharmacySupplyType (example)
Must SupportTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:RXD-33-Dispense Type
  • rim:.code
MedicationDispense.type.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.type.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.type.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
MedicationDispense.type.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.type.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.type.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
MedicationDispense.type.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
MedicationDispense.type.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
MedicationDispense.type.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality0...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
MedicationDispense.type.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
MedicationDispense.type.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
MedicationDispense.quantity
DefinitionThe amount of medication that has been dispensed. Includes unit of measure.
Cardinality1...1
TypeSimpleQuantity
Comments

The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • qty-3:If a code for the unit is present, the system SHALL also be present
    code.empty() or system.exists()
  • sqty-1:The comparator is not used on a SimpleQuantity
    comparator.empty()
Mappings
  • rim:n/a
  • v2:SN (see also Range) or CQ
  • rim:PQ, IVL<PQ>, MO, CO, depending on the values
  • v2:RXD-4-Actual Dispense Amount / RXD-5.1-Actual Dispense Units.code / RXD-5.3-Actual Dispense Units.name of coding system
  • rim:.quantity
MedicationDispense.quantity.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.quantity.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.quantity.value
DefinitionThe value of the measured amount. The value includes an implicit precision in the presentation of the value.
Cardinality1...1
Typedecimal
SummaryTrue
Requirements

Precision is handled implicitly in almost all cases of measurement.

Comments

The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:SN.2 / CQ - N/A
  • rim:PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
MedicationDispense.quantity.comparator
DefinitionNot allowed to be used in this context
Cardinality0...0
Typecode
Binding

How the Quantity should be understood and represented.

QuantityComparator (required)
ModifierTrue
SummaryTrue
Requirements

Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

Comments

This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:SN.1 / CQ.1
  • rim:IVL properties
MedicationDispense.quantity.unit
DefinitionA human-readable form of the unit.
Cardinality1...1
Typestring
SummaryTrue
Requirements

There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:(see OBX.6 etc.) / CQ.2
  • rim:PQ.unit
MedicationDispense.quantity.system
DefinitionThe identification of the system that provides the coded form of the unit.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to know the system that defines the coded form of the unit.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:(see OBX.6 etc.) / CQ.2
  • rim:CO.codeSystem, PQ.translation.codeSystem
MedicationDispense.quantity.code
DefinitionA computer processable form of the unit in some unit representation system.
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.

Comments

The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:(see OBX.6 etc.) / CQ.2
  • rim:PQ.code, MO.currency, PQ.translation.code
MedicationDispense.daysSupply
DefinitionThe amount of medication expressed as a timing amount.
Cardinality0...1
TypeSimpleQuantity
Must SupportTrue
Comments

The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • qty-3:If a code for the unit is present, the system SHALL also be present
    code.empty() or system.exists()
  • sqty-1:The comparator is not used on a SimpleQuantity
    comparator.empty()
Mappings
  • rim:n/a
  • v2:SN (see also Range) or CQ
  • rim:PQ, IVL<PQ>, MO, CO, depending on the values
  • v2:TQ1.6 Timing/Quantity Segment Service Duration. Prior to v2.5, ORC.7.3 Common Order Segment / Quantity/Timing / Duration component. This is a formatted string, first character for the time unit (e.g., D=days), followed by the value. For example, “D14” represents “14 days supply” From v2.5 on, TQ1.6 Timing/Quantity Segment / Service Duration. This is a CQ data type (<Quantity (NM)> ^ <Units (CWE)>), thus for days supply, assuming the unit of measure is “days”, the numeric value is TQ1.6.1 (…|14^ For backwards compatibility, ORC.7 was permitted through v2.6. Both forms (field and segment) may be present in v2.5, v2.5.1, and v2.6
  • rim:effectiveUseTime
MedicationDispense.whenPrepared
DefinitionThe time when the dispensed product was packaged and reviewed.
Cardinality0...1
TypedateTime
Must SupportTrue
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:RXD-3-Date/Time Dispensed
  • rim:.effectiveTime[xmi:type=IVL_TS].low
MedicationDispense.whenHandedOver
DefinitionThe time the dispensed product was provided to the patient or their representative.
Cardinality0...1
TypedateTime
Must SupportTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • workflow:…occurrenceDateTime
  • v2:RXD-3-Date/Time Dispensed
  • rim:.effectiveTime[xmi:type=IVL_TS].high
MedicationDispense.destination
DefinitionIdentification of the facility/location where the medication was shipped to, as part of the dispense event.
Cardinality0...1
TypeReference(CareConnect-GPC-Location-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:RXD-13 Dispense-to Location; RXD-30 Dispense to Pharmacy; RXD-31 Dispense to Pharmacy Address
  • rim:.participation[typeCode=DST].role
MedicationDispense.receiver
DefinitionIdentifies the person who picked up the medication. This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional.
Cardinality0...1
TypeReference(CareConnect-GPC-Patient-1 | CareConnect-GPC-Practitioner-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.participation[typeCode=RCV].role
MedicationDispense.note
DefinitionExtra information about the dispense that could not be conveyed in the other attributes.
Cardinality0...*
TypeAnnotation
Comments

For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act
  • workflow:…note
  • v2:RXD-9 Dispense Notes
  • rim:.inboundRelationship[typeCode=SUBJ]/source[classCode=ACT,moodCode=EVN]
MedicationDispense.note.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.note.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.note.author[x]
DefinitionThe individual responsible for making the annotation.
Cardinality0...1
TypeReference(RelatedPerson | CareConnect-GPC-Practitioner-1 | CareConnect-GPC-Patient-1), string
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.participant[typeCode=AUT].role
MedicationDispense.note.time
DefinitionIndicates when this particular annotation was made.
Cardinality0...1
TypedateTime
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.effectiveTime
MedicationDispense.note.text
DefinitionThe text of the annotation.
Cardinality1...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.text
MedicationDispense.dosageInstruction
DefinitionIndicates how the medication is to be used by the patient.
Cardinality0...*
TypeDosage
Must SupportTrue
Comments

When the dose or rate is intended to change over the entire administration period (e.g. Tapering dose prescriptions), multiple instances of dosage instructions will need to be supplied to convey the different doses/rates. The pharmacist reviews the medication order prior to dispense and updates the dosageInstruction based on the actual product being dispensed.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.outboundRelationship[typeCode=COMP].target[classCode=SBADM, moodCode=INT]
MedicationDispense.substitution
DefinitionIndicates whether or not substitution was made as part of the dispense. In some cases substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. If nothing is specified, substitution was not done.
Cardinality0...1
TypeBackboneElement
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.outboundRelationship[typeCode=COMP].target[classCode=SUBST, moodCode=EVN]
MedicationDispense.substitution.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
MedicationDispense.substitution.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
MedicationDispense.substitution.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
MedicationDispense.substitution.wasSubstituted
DefinitionTrue if the dispenser dispensed a different drug or product from what was prescribed.
Cardinality1...1
Typeboolean
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.actionNegationInd
MedicationDispense.substitution.type
DefinitionA code signifying whether a different drug was dispensed from what was prescribed.
Cardinality0...1
TypeCodeableConcept
Binding

A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription

ActSubstanceAdminSubstitutionCode (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:RXO-9-Allow Substitutions / RXE-9-Substitution Status
  • rim:.code
MedicationDispense.substitution.reason
DefinitionIndicates the reason for the substitution of (or lack of substitution) from what was prescribed.
Cardinality0...*
TypeCodeableConcept
Binding

A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed

SubstanceAdminSubstitutionReason (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.reasonCode
MedicationDispense.substitution.responsibleParty
DefinitionThe person or organization that has primary responsibility for the substitution.
Cardinality0...*
TypeReference(CareConnect-GPC-Practitioner-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.participation[typeCode=PFM].role[classCode=ASSIGN]
MedicationDispense.detectedIssue
DefinitionIndicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, duplicate therapy, dosage alert etc.
Cardinality0...*
TypeReference(DetectedIssue)
AliasContraindication, Drug Utilization Review (DUR), Alert
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.inboundRelationship[typeCode=SUBJ]/source[classCode=ALRT,moodCode=EVN].value
MedicationDispense.notDone
DefinitionTrue if the dispense was not performed for some reason.
Cardinality0...1
Typeboolean
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • workflow:…notDone
  • rim:.actionNegationInd
MedicationDispense.notDoneReason[x]
DefinitionIndicates the reason why a dispense was not performed.
Cardinality0...1
TypeReference(DetectedIssue), CodeableConcept
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • workflow:…notDoneReason
  • rim:.outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code="not done reason"].value
MedicationDispense.eventHistory
DefinitionA summary of the events of interest that have occurred, such as when the dispense was verified.
Cardinality0...*
TypeReference(Provenance)
Comments

This may not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]

Profile: CareConnect-GPC-Observation-1

versionIdΣ0..1id
lastUpdatedΣ0..1instant
profileΣ1..*uri
securityΣ0..*CodingBinding
tagΣ0..*Coding
reasonS I0..*Extension(Reference(CareConnect-Condition-1), CodeableConcept)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-GPC-Organization-1)
basedOnΣ I0..*Reference(CareConnect-CarePlan-1 | DeviceRequest | ImmunizationRecommendation | NutritionOrder | CareConnect-GPC-ProcedureRequest-1 | CareConnect-GPC-ReferralRequest-1 | CareConnect-GPC-MedicationRequest-1)
statusΣ ?!1..1codeBinding
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
subjectS Σ I1..1Reference(CareConnect-GPC-Patient-1)
contextS I0..1Reference(CareConnect-GPC-Encounter-1)
effectiveDateTimedateTime
effectivePeriodPeriod
issuedS Σ1..1instant
performerS Σ I0..*Reference(CareConnect-RelatedPerson-1 | CareConnect-GPC-Patient-1 | CareConnect-GPC-Organization-1 | CareConnect-GPC-Practitioner-1)
valueQuantityCareConnect-Quantity-1
valueCodeableConceptCodeableConcept
valueStringstring
valueBooleanboolean
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueAttachmentAttachment
valueTimetime
valueDateTimedateTime
valuePeriodPeriod
dataAbsentReasonS I0..1CodeableConceptBinding
interpretationS0..1CodeableConceptBinding
commentS0..1string
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
specimenS I0..1Reference(CareConnect-GPC-Specimen-1)
deviceS I0..1Reference(DeviceMetric | GPConnect-Device-1)
lowI0..1SimpleQuantity
highI0..1SimpleQuantity
type0..1CodeableConceptBinding
appliesTo0..*CodeableConcept
ageI0..1Range
text0..1string
typeS0..1codeBinding
targetI1..1Reference(QuestionnaireResponse | Sequence | CareConnect-GPC-Observation-1)
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
valueQuantityCareConnect-Quantity-1
valueCodeableConceptCodeableConcept
valueStringstring
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueAttachmentAttachment
valueTimetime
valueDateTimedateTime
valuePeriodPeriod
dataAbsentReasonS I0..1CodeableConceptBinding
interpretation0..1CodeableConceptBinding
referenceRange0..*see (referenceRange)
Observation
DefinitionMeasurements and simple assertions made about a patient, device or other subject.
Cardinality0...*
AliasVital Signs, Measurement, Results, Tests
Comments

Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc. Other resources are used to provide context for observations such as lab reports, etc.

Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
  • obs-7:If code is the same as a component code then the value element associated with the code SHALL NOT be present
    value.empty() or component.code.where( (coding.code = %resource.code.coding.code) and (coding.system = %resource.code.coding.system)).empty()
  • obs-6:dataAbsentReason SHALL only be present if Observation.value[x] is not present
    dataAbsentReason.empty() or value.empty()
Mappings
  • rim:Entity. Role, or Act
  • workflow:Event
  • sct-concept:< 363787002 |Observable entity|
  • v2:OBX
  • rim:Observation[classCode=OBS, moodCode=EVN]
  • w5:clinical.diagnostics
Observation.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Observation.meta.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.meta.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.meta.versionId
DefinitionThe version specific identifier, as it appears in the version portion of the URL. This values changes when the resource is created, updated, or deleted.
Cardinality0...1
Typeid
SummaryTrue
Comments

The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.meta.lastUpdated
DefinitionWhen the resource last changed - e.g. when the version changed.
Cardinality0...1
Typeinstant
SummaryTrue
Comments

This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.meta.profile
DefinitionA list of profiles (references to [StructureDefinition](structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url]().
Cardinality1...*
Typeuri
SummaryTrue
Comments

It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.meta.security
DefinitionSecurity labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
Cardinality0...*
TypeCoding
Binding

Security Labels from the Healthcare Privacy and Security Classification System.

All Security Labels (extensible)
SummaryTrue
Comments

The security labels can be updated without changing the stated version of the resource The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
Observation.meta.tag
DefinitionTags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
Cardinality0...*
TypeCoding
Binding

Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"

Common Tags (example)
SummaryTrue
Comments

The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
Observation.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
Observation.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
Observation.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.extension:reason
DefinitionReason resource added/performed/given.
Cardinality0...*
TypeExtension(Reference(CareConnect-Condition-1), CodeableConcept)
Must SupportTrue
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.

Invariants
  • 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
Observation.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.identifier
DefinitionA unique identifier assigned to this observation.
Cardinality1...*
TypeIdentifier
SummaryTrue
Requirements

Allows observations to be distinguished and referenced.

Invariants
  • 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
  • workflow:Event.identifier
  • v2:OBX.21 For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4.
  • rim:id
  • w5:id
Observation.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Observation.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Observation.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Observation.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Observation.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Observation.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Observation.basedOn
DefinitionA plan, proposal or order that is fulfilled in whole or in part by this event.
Cardinality0...*
TypeReference(CareConnect-CarePlan-1 | DeviceRequest | ImmunizationRecommendation | NutritionOrder | CareConnect-GPC-ProcedureRequest-1 | CareConnect-GPC-ReferralRequest-1 | CareConnect-GPC-MedicationRequest-1)
SummaryTrue
AliasFulfills
Requirements

Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow:Event.basedOn
  • v2:ORC
  • rim:.outboundRelationship[typeCode=FLFS].target
Observation.status
DefinitionThe status of the result value. In GP systems these are most likely to be ‘final’ however ‘preliminary’ reports are possible as for example, some work can be sub-contracted to other labs. If the system is not able to determine the status of a test group header then it should default to the ‘unknown’ value.
Cardinality1...1
Typecode
Binding

Codes providing the status of an observation.

ObservationStatus (required)
ModifierTrue
SummaryTrue
Requirements

Need to track the status of individual results. Some results are finalized before the whole report is finalized.

Comments

This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • workflow:Event.status
  • sct-concept:< 445584004 |Report by finality status|
  • v2:OBX-11
  • rim:status Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of "revise"
  • w5:status
Observation.category
DefinitionA code that classifies the general type of observation being made.
Cardinality0...*
TypeCodeableConcept
Binding

Codes for high level observation categories.

Observation Category Codes (preferred)
Requirements

Used for filtering what observations are retrieved and displayed.

Comments

In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
  • w5:class
Observation.category.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.category.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.category.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Observation.category.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Observation.category.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.category.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.category.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Observation.category.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Observation.category.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Observation.category.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Observation.category.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Observation.category.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Observation.category.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Observation.code
DefinitionDescribes what was observed. Sometimes this is called the observation "name".
Cardinality1...1
TypeCodeableConcept
Binding

Codes identifying names of simple observations.

LOINC Codes (example)
SummaryTrue
AliasName
Requirements

Knowing what kind of observation is being made is essential to understanding the observation.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow:Event.code
  • sct-concept:< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
  • v2:OBX-3
  • rim:code
  • sct-attr:116680003 |Is a|
  • w5:what
Observation.code.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.code.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.code.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Observation.code.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Observation.code.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.code.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.code.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Observation.code.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Observation.code.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Observation.code.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Observation.code.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Observation.code.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Observation.code.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Observation.subject
DefinitionThe patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed. Comments: Indirect characteristics may be those of a specimen, fetus, donor, other observer (for example a relative or EMT), or any observation made about the subject.
Cardinality1...1
TypeReference(CareConnect-GPC-Patient-1)
Must SupportTrue
SummaryTrue
Requirements

Observations have no value if you don't know who or what they're about.

Comments

One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.

If the target of the observation is different than the subject, the general extension observation-focal-subject. may be used. However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow:Event.subject
  • v2:PID-3
  • rim:participation[typeCode=SBJ]
  • w5:who.focus
Observation.context
DefinitionThe healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made.
Cardinality0...1
TypeReference(CareConnect-GPC-Encounter-1)
Must SupportTrue
AliasEncounter
Requirements

For some observations it may be important to know the link between an observation and a particular encounter.

Comments

This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow:Event.context
  • v2:PV1
  • rim:inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
  • w5:context
Observation.effective[x]
DefinitionThe time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the "physiologically relevant time". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.
Cardinality0...1
TypedateTime, Period
Must SupportTrue
SummaryTrue
AliasOccurrence
Requirements

Knowing when an observation was deemed true is important to its relevance as well as determining trends.

Comments

At least a date should be present unless this observation is a historical report.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • workflow:Event.occurrence[x]
  • v2:OBX-14, and/or OBX-19 after v2.4 (depends on who observation made)
  • rim:effectiveTime
  • w5:when.done
Observation.issued
DefinitionThe date and time this observation was made available to providers, typically after the results have been reviewed and verified.
Cardinality1...1
Typeinstant
Must SupportTrue
SummaryTrue
Comments

Updated when the result is updated.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)
  • rim:participation[typeCode=AUT].time
  • w5:when.recorded
Observation.performer
DefinitionWho was responsible for asserting the observed value as "true".
Cardinality0...*
TypeReference(CareConnect-RelatedPerson-1 | CareConnect-GPC-Patient-1 | CareConnect-GPC-Organization-1 | CareConnect-GPC-Practitioner-1)
Must SupportTrue
SummaryTrue
Requirements

May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow:Event.performer
  • v2:OBX.15 / (Practitioner) OBX-16, PRT-5:PRT-4='RO' / (Device) OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization) OBX-23, PRT-8:PRT-4='PO'
  • rim:participation[typeCode=PRF]
  • w5:who.actor
Observation.value[x]
DefinitionThe information determined as a result of making the observation, if the information has a simple value.
Cardinality0...1
TypeCareConnect-Quantity-1, CodeableConcept, string, boolean, Range, Ratio, SampledData, Attachment, time, dateTime, Period
Must SupportTrue
SummaryTrue
Requirements

An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.

Comments

Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "'value' + the type name" with a capital on the first letter of the type).

If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text. A value set is bound to the ValueCodeableConcept element. For further discussion and examples see the notes section below.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • workflow:Event.notDone, Event.notDoneReason (maps to valeu[x] or dataAbsentReason)
  • sct-concept:< 441742003 |Evaluation finding|
  • v2:OBX.2, OBX.5, OBX.6
  • rim:value
  • sct-attr:363714003 |Interprets|
Observation.dataAbsentReason
DefinitionProvides a reason why the expected value in the element Observation.value[x] is missing.
Cardinality0...1
TypeCodeableConcept
Binding

Codes specifying why the result (Observation.value[x]) is missing.

Observation Value Absent Reason (extensible)
Must SupportTrue
Requirements

For many results it is necessary to handle exceptional values in measurements.

Comments

Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "specimen unsatisfactory". The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0. Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow:Event.notDone, Event.notDoneReason (maps to valeu[x] or dataAbsentReason)
  • v2:N/A
  • rim:value.nullFlavor
Observation.interpretation
DefinitionA human readable clinical summary relating to a test result and/or additional notes provided by the laboratory e.g. the specimen has haemolysed or has leaked
Cardinality0...1
TypeCodeableConcept
Binding

Codes identifying interpretations of observations.

?? (extensible)
Must SupportTrue
AliasAbnormal Flag
Requirements

For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 260245000 |Findings values|
  • v2:OBX-8
  • rim:interpretationCode
  • sct-attr:363713009 |Has interpretation|
Observation.comment
DefinitionMay include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.
Cardinality0...1
Typestring
Must SupportTrue
Requirements

Need to be able to provide free text additional information.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • workflow:Event.note
  • v2:NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)
  • rim:subjectOf.observationEvent[code="annotation"].value
Observation.bodySite
DefinitionIndicates the site on the subject's body where the observation was made (i.e. the target site).
Cardinality0...1
TypeCodeableConcept
Binding

Codes describing anatomical locations. May include laterality.

SNOMED CT Body Structures (example)
Must SupportTrue
Comments

Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension body-site-instance.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 123037004 |Body structure|
  • v2:OBX-20
  • rim:targetSiteCode
  • sct-attr:718497002 |Inherent location|
Observation.bodySite.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.bodySite.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.bodySite.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Observation.bodySite.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
Binding

A code from the SNOMED Clinical Terminology UK with the expression (<<442083009 |anatomical or acquired body structure|).

Care Connect Body Site (preferred)
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Observation.bodySite.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.bodySite.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.bodySite.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Observation.bodySite.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Observation.bodySite.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Observation.bodySite.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Observation.bodySite.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Observation.bodySite.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Observation.bodySite.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Observation.method
DefinitionIndicates the mechanism used to perform the observation.
Cardinality0...1
TypeCodeableConcept
Binding

Methods for simple observations.

Observation Methods (example)
Must SupportTrue
Requirements

In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.

Comments

Only used if not implicit in code for Observation.code.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:OBX-17
  • rim:methodCode
Observation.method.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.method.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.method.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Observation.method.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Observation.method.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.method.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.method.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Observation.method.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Observation.method.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Observation.method.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Observation.method.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Observation.method.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Observation.method.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Observation.specimen
DefinitionThe specimen that was used when this observation was made.
Cardinality0...1
TypeReference(CareConnect-GPC-Specimen-1)
Must SupportTrue
Comments

Should only be used if not implicit in code found in Observation.code. Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • sct-concept:< 123038009 |Specimen|
  • v2:SPM segment
  • rim:participation[typeCode=SPC].specimen
  • sct-attr:704319004 |Inherent in|
Observation.device
DefinitionThe device used to generate the observation data.
Cardinality0...1
TypeReference(DeviceMetric | GPConnect-Device-1)
Must SupportTrue
Comments

An extension should be used if further typing of the device is needed. Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • sct-concept:< 49062001 |Device|
  • v2:OBX-17 / PRT -10
  • rim:participation[typeCode=DEV]
  • sct-attr:424226004 |Using device|
Observation.referenceRange
DefinitionGuidance on how to interpret the value by comparison to a normal or recommended range.
Cardinality0...*
TypeBackboneElement
Must SupportTrue
Requirements

Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.

Comments

Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • obs-3:Must have at least a low or a high or text
    low.exists() or high.exists() or text.exists()
Mappings
  • rim:n/a
  • v2:OBX.7
  • rim:outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
Observation.referenceRange.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.referenceRange.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.referenceRange.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Observation.referenceRange.low
DefinitionThe value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3).
Cardinality0...1
TypeSimpleQuantity
Comments

The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • qty-3:If a code for the unit is present, the system SHALL also be present
    code.empty() or system.exists()
  • sqty-1:The comparator is not used on a SimpleQuantity
    comparator.empty()
Mappings
  • rim:n/a
  • v2:SN (see also Range) or CQ
  • rim:PQ, IVL<PQ>, MO, CO, depending on the values
  • v2:OBX-7
  • rim:value:IVL_PQ.low
Observation.referenceRange.high
DefinitionThe value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3).
Cardinality0...1
TypeSimpleQuantity
Comments

The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • qty-3:If a code for the unit is present, the system SHALL also be present
    code.empty() or system.exists()
  • sqty-1:The comparator is not used on a SimpleQuantity
    comparator.empty()
Mappings
  • rim:n/a
  • v2:SN (see also Range) or CQ
  • rim:PQ, IVL<PQ>, MO, CO, depending on the values
  • v2:OBX-7
  • rim:value:IVL_PQ.high
Observation.referenceRange.type
DefinitionCodes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.
Cardinality0...1
TypeCodeableConcept
Binding

Code for the meaning of a reference range.

Observation Reference Range Meaning Codes (extensible)
Requirements

Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc, - for proper interpretation.

Comments

This SHOULD be populated if there is more than one range. If this element is not present then the normal range is assumed.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 260245000 |Findings values| OR < 365860008 |General clinical state finding| OR < 250171008 |Clinical history or observation findings| OR < 415229000 |Racial group| OR < 365400002 |Finding of puberty stage| OR < 443938003 |Procedure carried out on subject|
  • v2:OBX-10
  • rim:interpretationCode
Observation.referenceRange.appliesTo
DefinitionCodes to indicate the target population this reference range applies to. For example, a reference range may be based on the normal population or a particular sex or race.
Cardinality0...*
TypeCodeableConcept
Binding

Codes identifying the population the reference range applies to.

Observation Reference Range Applies To Codes (example)
Requirements

Need to be able to identify the target population for proper interpretation.

Comments

This SHOULD be populated if there is more than one range. If this element is not present then the normal population is assumed.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 260245000 |Findings values| OR < 365860008 |General clinical state finding| OR < 250171008 |Clinical history or observation findings| OR < 415229000 |Racial group| OR < 365400002 |Finding of puberty stage| OR < 443938003 |Procedure carried out on subject|
  • v2:OBX-10
  • rim:interpretationCode
Observation.referenceRange.age
DefinitionThe age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.
Cardinality0...1
TypeRange
Requirements

Some analytes vary greatly over age.

Comments

The stated low and high value are assumed to have arbitrarily high precision when it comes to determining which values are in the range. I.e. 1.99 is not in the range 2 -> 3.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • rng-2:If present, low SHALL have a lower value than high
    low.empty() or high.empty() or (low <= high)
Mappings
  • rim:n/a
  • v2:NR and also possibly SN (but see also quantity)
  • rim:IVL<QTY[not(type="TS")]> [lowClosed="true" and highClosed="true"]or URG<QTY[not(type="TS")]>
  • rim:outboundRelationship[typeCode=PRCN].targetObservationCriterion[code="age"].value
Observation.referenceRange.text
DefinitionText based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of "Negative" or a list or table of 'normals'.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:OBX-7
  • rim:value:ST
Observation.related
DefinitionA reference to another resource (usually another Observation) whose relationship is defined by the relationship type code.
Cardinality0...*
TypeBackboneElement
Must SupportTrue
SummaryTrue
Requirements

Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.

Comments

For a discussion on the ways Observations can assembled in groups together see Notes below.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Relationships established by OBX-4 usage
  • rim:outBoundRelationship
Observation.related.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.related.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.related.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Observation.related.type
DefinitionA code specifying the kind of relationship that exists with the target resource.
Cardinality0...1
Typecode
Binding

Codes specifying how two observations are related.

ObservationRelationshipType (required)
Must SupportTrue
Requirements

A relationship type SHOULD be provided.

Comments

The "derived-from" type is the only logical choice when referencing the QuestionnaireAnswer resource.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:.typeCode
Observation.related.target
DefinitionA reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.
Cardinality1...1
TypeReference(QuestionnaireResponse | Sequence | CareConnect-GPC-Observation-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.targetObservation
Observation.component
DefinitionSome observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.
Cardinality0...*
TypeBackboneElement
Must SupportTrue
SummaryTrue
Requirements

Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable). However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.

Comments

For a discussion on the ways Observations can be assembled in groups together see Notes below.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:containment by OBX-4?
  • rim:outBoundRelationship[typeCode=COMP]
Observation.component.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.component.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.component.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Observation.component.code
DefinitionDescribes what was observed. Sometimes this is called the observation "code".
Cardinality1...1
TypeCodeableConcept
Binding

Codes identifying names of simple observations.

LOINC Codes (example)
SummaryTrue
Requirements

Knowing what kind of observation is being made is essential to understanding the observation.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
  • v2:OBX-3
  • rim:code
  • w5:what
Observation.component.code.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.component.code.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.component.code.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Observation.component.code.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Observation.component.code.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Observation.component.code.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Observation.component.code.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Observation.component.code.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Observation.component.code.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Observation.component.code.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Observation.component.code.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Observation.component.code.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Observation.component.code.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Observation.component.value[x]
DefinitionThe information determined as a result of making the observation, if the information has a simple value.
Cardinality0...1
TypeCareConnect-Quantity-1, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, Period
SummaryTrue
Requirements

An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.

Comments

Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For boolean values use valueCodeableConcept and select codes from http://hl7.org/fhir/ValueSet/v2-0136 (these "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed"). The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is "'value' + the type name" with a capital on the first letter of the type).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • sct-concept:363714003 |Interprets| < 441742003 |Evaluation finding|
  • v2:OBX.2, OBX.5, OBX.6
  • rim:value
  • sct-attr:363714003 |Interprets|
Observation.component.dataAbsentReason
DefinitionProvides a reason why the expected value in the element Observation.value[x] is missing.
Cardinality0...1
TypeCodeableConcept
Binding

Codes specifying why the result (Observation.value[x]) is missing.

Observation Value Absent Reason (extensible)
Must SupportTrue
Requirements

For many results it is necessary to handle exceptional values in measurements.

Comments

"Null" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "test not done". The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:N/A
  • rim:value.nullFlavor
Observation.component.interpretation
DefinitionThe assessment made based on the result of the observation. Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.
Cardinality0...1
TypeCodeableConcept
Binding

Codes identifying interpretations of observations.

Observation Interpretation Codes (extensible)
AliasAbnormal Flag
Requirements

For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.

Comments

The component interpretation applies only to the individual component value. For an overall interpretation all components together use thes Observation.interpretation element.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 260245000 |Findings values|
  • v2:OBX-8
  • rim:interpretationCode
  • sct-attr:363713009 |Has interpretation|
Observation.component.referenceRange
DefinitionGuidance on how to interpret the value by comparison to a normal or recommended range.
Cardinality0...*
Typesee (referenceRange)
Requirements

Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.

Comments

Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.

Mappings
  • v2:OBX.7
  • rim:outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]

Profile: CareConnect-GPC-ClinicalImpression-1

useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-GPC-Organization-1)
statusΣ ?!1..1codeBinding
codeΣ0..1CodeableConcept
descriptionΣ0..1string
subjectΣ I1..1Reference(Group | CareConnect-GPC-Patient-1)
contextΣ I0..1Reference(EpisodeOfCare | CareConnect-GPC-Encounter-1)
effectiveDateTimedateTime
effectivePeriodPeriod
dateΣ0..1dateTime
assessorΣ I0..1Reference(CareConnect-GPC-Practitioner-1)
previousI0..1Reference(CareConnect-GPC-ClinicalImpression-1)
problemΣ I0..*Reference(CareConnect-GPC-Condition-1 | CareConnect-GPC-AllergyIntolerance-1)
code1..1CodeableConcept
itemI0..*Reference(QuestionnaireResponse | FamilyMemberHistory | RiskAssessment | ImagingStudy | CareConnect-GPC-Observation-1 | CareConnect-GPC-DiagnosticReport-1)
protocol0..*uri
summary1..1string
itemCodeableConceptCodeableConcept
itemReferenceReference(CareConnect-GPC-ProblemHeader-Condition-1 | CareConnect-GPC-Observation-1)
basis0..1string
prognosisCodeableConcept0..*CodeableConcept
prognosisReferenceI0..*Reference(RiskAssessment)
actionI0..*Reference(Procedure | CareConnect-GPC-ReferralRequest-1 | CareConnect-GPC-ProcedureRequest-1 | CareConnect-GPC-MedicationRequest-1 | CareConnect-GPC-Appointment-1)
note0..*Annotation
ClinicalImpression
DefinitionA record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score.
Cardinality0...*
Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
Mappings
  • rim:Entity. Role, or Act
  • v2:Partial mapping for problem evaluation
  • w5:clinical.general
ClinicalImpression.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
ClinicalImpression.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
ClinicalImpression.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
ClinicalImpression.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
ClinicalImpression.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
ClinicalImpression.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
ClinicalImpression.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
ClinicalImpression.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
ClinicalImpression.identifier
DefinitionA unique identifier assigned to the clinical impression that remains consistent regardless of what server the impression is stored on.
Cardinality0...*
TypeIdentifier
SummaryTrue
Invariants
  • 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
  • v2:PID-3
  • w5:id
ClinicalImpression.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
ClinicalImpression.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
ClinicalImpression.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
ClinicalImpression.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
ClinicalImpression.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality0...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
ClinicalImpression.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality0...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
ClinicalImpression.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
ClinicalImpression.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
ClinicalImpression.status
DefinitionIdentifies the workflow status of the assessment.
Cardinality1...1
Typecode
Binding

The workflow state of a clinical impression.

ClinicalImpressionStatus (required)
ModifierTrue
SummaryTrue
Comments

This element is labeled as a modifier because the status contains the code entered-in-error that marks the clinical impression as not currently valid.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:PRB-14
  • w5:status
ClinicalImpression.code
DefinitionCategorizes the type of clinical assessment performed.
Cardinality0...1
TypeCodeableConcept
Binding

Identifies categories of clinical impressions. This is a place-holder only. It may be removed

(unbound) (example)
SummaryTrue
Aliastype
Comments

This is present as a place-holder only and may be removed based on feedback/work group opinion.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • w5:what
ClinicalImpression.description
DefinitionA summary of the context and/or cause of the assessment - why / where was it performed, and what patient events/status prompted it.
Cardinality0...1
Typestring
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
ClinicalImpression.subject
DefinitionThe patient or group of individuals assessed as part of this record.
Cardinality1...1
TypeReference(Group | CareConnect-GPC-Patient-1)
SummaryTrue
Requirements

Group is typically for veterinary and/or public health purposes.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PID-3
  • w5:who.focus
ClinicalImpression.context
DefinitionThe encounter or episode of care this impression was created as part of.
Cardinality0...1
TypeReference(EpisodeOfCare | CareConnect-GPC-Encounter-1)
SummaryTrue
Aliasencounter
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • w5:context
ClinicalImpression.effective[x]
DefinitionThe point in time or period over which the subject was assessed.
Cardinality0...1
TypedateTime, Period
SummaryTrue
Comments

This SHOULD be accurate to at least the minute, though some assessments only have a known date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:PRB-2
  • w5:when.done
ClinicalImpression.date
DefinitionIndicates when the documentation of the assessment was complete.
Cardinality0...1
TypedateTime
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • w5:when.recorded
ClinicalImpression.assessor
DefinitionThe clinician performing the assessment.
Cardinality0...1
TypeReference(CareConnect-GPC-Practitioner-1)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:ROL-4
  • w5:who.author
ClinicalImpression.previous
DefinitionA reference to the last assesment that was conducted bon this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.
Cardinality0...1
TypeReference(CareConnect-GPC-ClinicalImpression-1)
Comments

It is always likely that multiple previous assessments exist for a patient. The point of quoting a previous assessment is that this assessment is relative to it (see resolved).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
ClinicalImpression.problem
DefinitionThis a list of the relevant problems/conditions for a patient.
Cardinality0...*
TypeReference(CareConnect-GPC-Condition-1 | CareConnect-GPC-AllergyIntolerance-1)
SummaryTrue
Comments

e.g. The patient is a pregnant, and cardiac congestive failure, ‎Adenocarcinoma, and is allergic to penicillin.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PRB-3 / IAM-7
  • w5:why
ClinicalImpression.investigation
DefinitionOne or more sets of investigations (signs, symptions, etc.). The actual grouping of investigations vary greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes.
Cardinality0...*
TypeBackboneElement
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
ClinicalImpression.investigation.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
ClinicalImpression.investigation.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
ClinicalImpression.investigation.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
ClinicalImpression.investigation.code
DefinitionA name/code for the group ("set") of investigations. Typically, this will be something like "signs", "symptoms", "clinical", "diagnostic", but the list is not constrained, and others such groups such as (exposure|family|travel|nutitirional) history may be used.
Cardinality1...1
TypeCodeableConcept
Binding

A name/code for a set of investigations.

Investigation Type (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
ClinicalImpression.investigation.item
DefinitionA record of a specific investigation that was undertaken.
Cardinality0...*
TypeReference(QuestionnaireResponse | FamilyMemberHistory | RiskAssessment | ImagingStudy | CareConnect-GPC-Observation-1 | CareConnect-GPC-DiagnosticReport-1)
Comments

Most investigations are observations of one kind of or another but some other specific types of data collection resources can also be used.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:OBX-21
ClinicalImpression.protocol
DefinitionReference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis.
Cardinality0...*
Typeuri
Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
ClinicalImpression.summary
DefinitionA text summary of the investigations and the diagnosis.
Cardinality1...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:OBX
ClinicalImpression.finding
DefinitionSpecific findings or diagnoses that was considered likely or relevant to ongoing treatment.
Cardinality0...*
TypeBackboneElement
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
ClinicalImpression.finding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
ClinicalImpression.finding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
ClinicalImpression.finding.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
ClinicalImpression.finding.item[x]
DefinitionSpecific text, code or reference for finding or diagnosis, which may include ruled-out or resolved conditions.
Cardinality1...1
TypeReference(CareConnect-GPC-ProblemHeader-Condition-1 | CareConnect-GPC-Observation-1), CodeableConcept
Binding

Identification of the Condition or diagnosis.

Condition/Problem/Diagnosis Codes (example)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:OBX
ClinicalImpression.finding.basis
DefinitionWhich investigations support finding or diagnosis.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
ClinicalImpression.prognosisCodeableConcept
DefinitionEstimate of likely outcome.
Cardinality0...*
TypeCodeableConcept
Binding

Prognosis or outlook findings

Clinical Impression Prognosis (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:PRB-22
ClinicalImpression.prognosisReference
DefinitionRiskAssessment expressing likely outcome.
Cardinality0...*
TypeReference(RiskAssessment)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
ClinicalImpression.action
DefinitionAction taken as part of assessment procedure.
Cardinality0...*
TypeReference(Procedure | CareConnect-GPC-ReferralRequest-1 | CareConnect-GPC-ProcedureRequest-1 | CareConnect-GPC-MedicationRequest-1 | CareConnect-GPC-Appointment-1)
Comments

Actions recommended as a result of the impression should not be captured using the 'action' element.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
ClinicalImpression.note
DefinitionCommentary about the impression, typically recorded after the impression itself was made, though supplemental notes by the original author could also appear.
Cardinality0...*
TypeAnnotation
Comments

Don't use this element for content that should more properly appear as one of the specific elements of the impression.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act

Profile: CareConnect-GPC-Condition-1

Important: This profile is used to represent the presenting complaint or issue within the PRSB Community Pharmacy Standard. It SHOULD NOT be used to create "Problems" within the GP record at this time.
versionIdΣ0..1id
lastUpdatedΣ0..1instant
profileΣ1..*uri
securityΣ0..*CodingBinding
tagΣ0..*Coding
episodeS I0..1Extension(code)
relatedS I0..*Extension(Complex)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-GPC-Organization-1)
clinicalStatusS Σ ?! I0..1codeBinding
verificationStatusS Σ ?! I0..1codeBinding
systemΣ1..1uri
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..0boolean
textΣ0..1string
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uri
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
subjectΣ I1..1Reference(Group | CareConnect-GPC-Patient-1)
contextS Σ I0..1Reference(EpisodeOfCare | CareConnect-Encounter-1)
onsetDateTimedateTime
onsetAgeAge
onsetPeriodPeriod
onsetRangeRange
onsetStringstring
abatementDateTimedateTime
abatementAgeAge
abatementBooleanboolean
abatementPeriodPeriod
abatementRangeRange
abatementStringstring
assertedDateΣ1..1dateTime
asserterΣ I1..1Reference(RelatedPerson | CareConnect-GPC-Patient-1 | CareConnect-GPC-Practitioner-1)
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
assessmentI0..*Reference(ClinicalImpression | DiagnosticReport | CareConnect-GPC-Observation-1)
codeΣ I0..*CodeableConcept
detailΣ I0..*Reference(Resource)
authorStringstring
authorReferenceReference(RelatedPerson | CareConnect-GPC-Patient-1 | CareConnect-GPC-Practitioner-1)
timeΣ0..1dateTime
text1..1string
Condition
DefinitionA clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
Cardinality0...*
Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
  • con-4:If condition is abated, then clinicalStatus must be either inactive, resolved, or remission
    abatement.empty() or (abatement as boolean).not() or clinicalStatus='resolved' or clinicalStatus='remission' or clinicalStatus='inactive'
  • con-3:Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error
    verificationStatus='entered-in-error' or clinicalStatus.exists()
Mappings
  • rim:Entity. Role, or Act
  • sct-concept:< 243796009 |Situation with explicit context|: 246090004 |Associated finding| = ((< 404684003 |Clinical finding| MINUS << 420134006 |Propensity to adverse reactions| MINUS << 473010000 |Hypersensitivity condition| MINUS << 79899007 |Drug interaction| MINUS << 69449002 |Drug action| MINUS << 441742003 |Evaluation finding| MINUS << 307824009 |Administrative status| MINUS << 385356007 |Tumor stage finding|) OR < 272379006 |Event|)
  • v2:PPR message
  • rim:Observation[classCode=OBS, moodCode=EVN, code=ASSERTION, value<Diagnosis]
  • w5:clinical.general
Condition.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Condition.meta.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.meta.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.meta.versionId
DefinitionThe version specific identifier, as it appears in the version portion of the URL. This values changes when the resource is created, updated, or deleted.
Cardinality0...1
Typeid
SummaryTrue
Comments

The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.meta.lastUpdated
DefinitionWhen the resource last changed - e.g. when the version changed.
Cardinality0...1
Typeinstant
SummaryTrue
Comments

This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.meta.profile
DefinitionA list of profiles (references to [StructureDefinition](structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url]().
Cardinality1...*
Typeuri
SummaryTrue
Comments

It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.meta.security
DefinitionSecurity labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
Cardinality0...*
TypeCoding
Binding

Security Labels from the Healthcare Privacy and Security Classification System.

All Security Labels (extensible)
SummaryTrue
Comments

The security labels can be updated without changing the stated version of the resource The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
Condition.meta.tag
DefinitionTags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
Cardinality0...*
TypeCoding
Binding

Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"

Common Tags (example)
SummaryTrue
Comments

The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
Condition.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
Condition.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
Condition.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.extension:episode
DefinitionEpisodicity of condition.
Cardinality0...1
TypeExtension(code)
Must SupportTrue
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.

Invariants
  • 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
Condition.extension:related
DefinitionRelated condition.
Cardinality0...*
TypeExtension(Complex)
Must SupportTrue
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.

Invariants
  • 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
Condition.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.identifier
DefinitionThis records identifiers associated with this condition that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).
Cardinality0...*
TypeIdentifier
SummaryTrue
Requirements

Need to allow connection to a wider workflow.

Invariants
  • 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:.id
  • w5:id
Condition.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Condition.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Condition.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Condition.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Condition.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Condition.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Condition.clinicalStatus
DefinitionThe clinical status of the condition.
Cardinality0...1
Typecode
Binding

The clinical status of the condition or diagnosis.

Condition Clinical Status Codes (required)
Must SupportTrue
ModifierTrue
SummaryTrue
Comments

This element is labeled as a modifier because the status contains codes that mark the condition as not currently valid or of concern.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • sct-concept:< 303105007 |Disease phases|
  • v2:PRB-14 / DG1-6
  • rim:Observation ACT .inboundRelationship[typeCode=COMP].source[classCode=OBS, code="clinicalStatus", moodCode=EVN].value
  • w5:status
Condition.verificationStatus
DefinitionThe verification status to support the clinical status of the condition.
Cardinality0...1
Typecode
Binding

The verification status to support or decline the clinical status of the condition or diagnosis.

ConditionVerificationStatus (required)
Must SupportTrue
ModifierTrue
SummaryTrue
Comments

verificationStatus is not required. For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status.

This element is labeled as a modifier because the status contains the code refuted and entered-in-error that mark the Condition as not currently valid.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • sct-concept:< 410514004 |Finding context value|
  • v2:PRB-13
  • rim:Observation ACT .inboundRelationship[typeCode=COMP].source[classCode=OBS, code="verificationStatus", moodCode=EVN].value
  • sct-attr:408729009
  • w5:status
Condition.category
DefinitionA category assigned to the condition.
Cardinality0...*
TypeCodeableConcept
Binding

A category assigned to the condition.

?? (extensible)
Must SupportTrue
Comments

The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 404684003 |Clinical finding|
  • v2:'problem' if from PRB-3. 'diagnosis' if from DG1 segment in PV1 message
  • rim:.code
  • w5:class
Condition.category.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.category.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.category.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Condition.category.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.category.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.category.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Condition.category.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Condition.category.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Condition.category.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Condition.category.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...0
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Condition.category.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Condition.severity
DefinitionA subjective assessment of the severity of the condition as evaluated by the clinician.
Cardinality0...1
TypeCodeableConcept
Binding

A subjective assessment of the severity of the condition as evaluated by the clinician.

Condition/Diagnosis Severity (extensible)
Must SupportTrue
Comments

Coding of the severity with a terminology is preferred, where possible.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 272141005 |Severities|
  • v2:PRB-26 / ABS-3
  • rim:Can be pre/post-coordinated into value. Or ./inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="severity"].value
  • sct-attr:246112005
  • w5:grade
Condition.severity.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.severity.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.severity.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Condition.severity.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.severity.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.severity.coding.extension:snomedCTDescriptionID
DefinitionOptional Extension Element - found in all resources.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Condition.severity.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Condition.severity.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Condition.severity.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Condition.severity.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Condition.severity.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Condition.severity.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Condition.code
DefinitionIdentification of the condition, problem or diagnosis.
Cardinality1...1
TypeCodeableConcept
Binding

Identification of the condition or diagnosis.

Condition/Problem/Diagnosis Codes (example)
SummaryTrue
Aliastype
Requirements

0..1 to account for primarily narrative only resources.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:code 246090004 |Associated finding| (< 404684003 |Clinical finding| MINUS << 420134006 |Propensity to adverse reactions| MINUS << 473010000 |Hypersensitivity condition| MINUS << 79899007 |Drug interaction| MINUS << 69449002 |Drug action| MINUS << 441742003 |Evaluation finding| MINUS << 307824009 |Administrative status| MINUS << 385356007 |Tumor stage finding|) OR < 413350009 |Finding with explicit context| OR < 272379006 |Event|
  • v2:PRB-3
  • rim:.value
  • sct-attr:246090004
  • w5:what
Condition.code.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.code.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.code.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Condition.code.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Condition.code.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.code.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.code.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionOptional Extension Element - found in all resources.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Condition.code.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Condition.code.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Condition.code.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Condition.code.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Condition.code.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Condition.code.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Condition.bodySite
DefinitionThe anatomical location where this condition manifests itself.
Cardinality0...*
TypeCodeableConcept
Binding

Codes describing anatomical locations. May include laterality.

SNOMED CT Body Structures (example)
SummaryTrue
Comments

Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension body-site-instance. May be a summary code, or a reference to a very precise definition of the location, or both.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 442083009 |Anatomical or acquired body structure|
  • rim:.targetBodySiteCode
  • sct-attr:363698007
Condition.bodySite.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.bodySite.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.bodySite.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Condition.bodySite.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Condition.bodySite.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.bodySite.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.bodySite.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionOptional Extension Element - found in all resources.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Condition.bodySite.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Condition.bodySite.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Condition.bodySite.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Condition.bodySite.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Condition.bodySite.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Condition.bodySite.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Condition.subject
DefinitionIndicates the patient or group who the condition record is associated with.
Cardinality1...1
TypeReference(Group | CareConnect-GPC-Patient-1)
SummaryTrue
Aliaspatient
Requirements

Group is typically used for veterinary or public health use cases.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PID-3
  • rim:.participation[typeCode=SBJ].role[classCode=PAT]
  • w5:who.focus
Condition.context
DefinitionEncounter during which the condition was first asserted.
Cardinality0...1
TypeReference(EpisodeOfCare | CareConnect-Encounter-1)
Must SupportTrue
SummaryTrue
Aliasencounter
Comments

This record indicates the encounter this particular record is associated with. In the case of a "new" diagnosis reflecting ongoing/revised information about the condition, this might be distinct from the first encounter in which the underlying condition was first "known".

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PV1-19 (+PV1-54)
  • rim:.inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
  • w5:context
Condition.onset[x]
DefinitionEstimated or actual date or date-time the condition began, in the opinion of the clinician.
Cardinality0...1
TypedateTime, Age, Period, Range, string
Must SupportTrue
SummaryTrue
Comments

Age is generally used when the patient reports an age at which the Condition began to occur.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:PRB-16
  • rim:.effectiveTime.low or .inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="age at onset"].value
  • w5:when.init
Condition.abatement[x]
DefinitionThe date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.
Cardinality0...1
TypedateTime, Age, boolean, Period, Range, string
Must SupportTrue
Comments

There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.effectiveTime.high or .inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="age at remission"].value or .inboundRelationship[typeCode=SUBJ]source[classCode=CONC, moodCode=EVN].status=completed
  • w5:when.done
Condition.assertedDate
DefinitionThe date on which the existance of the Condition was first asserted or acknowledged.
Cardinality1...1
TypedateTime
SummaryTrue
Comments

The assertedDate represents the date when this particular Condition record was created in the EHR, not the date of the most recent update in terms of when severity, abatement, etc. were specified.  The date of the last record modification can be retrieved from the resource metadata.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:REL-11
  • rim:.participation[typeCode=AUT].time
  • w5:when.recorded
Condition.asserter
DefinitionIndividual who is making the condition statement.
Cardinality1...1
TypeReference(RelatedPerson | CareConnect-GPC-Patient-1 | CareConnect-GPC-Practitioner-1)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:REL-7.1 identifier + REL-7.12 type code
  • rim:.participation[typeCode=AUT].role
  • w5:who.author
Condition.stage
DefinitionClinical stage or grade of a condition. May include formal severity assessments.
Cardinality0...1
TypeBackboneElement
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • con-1:Stage SHALL have summary or assessment
    summary.exists() or assessment.exists()
Mappings
  • rim:n/a
  • rim:./inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="stage/grade"]
Condition.stage.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.stage.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.stage.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Condition.stage.summary
DefinitionA simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific.
Cardinality0...1
TypeCodeableConcept
Binding

Codes describing condition stages (e.g. Cancer stages).

Condition Stage (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 254291000 |Staging and scales|
  • v2:PRB-14
  • rim:.value
Condition.stage.summary.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.stage.summary.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.stage.summary.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Condition.stage.summary.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Condition.stage.summary.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.stage.summary.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.stage.summary.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Condition.stage.summary.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Condition.stage.summary.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Condition.stage.summary.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Condition.stage.summary.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Condition.stage.summary.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Condition.stage.summary.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Condition.stage.assessment
DefinitionReference to a formal record of the evidence on which the staging assessment is based.
Cardinality0...*
TypeReference(ClinicalImpression | DiagnosticReport | CareConnect-GPC-Observation-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.self
Condition.evidence
DefinitionSupporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed.
Cardinality0...*
TypeBackboneElement
Comments

The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • con-2:evidence SHALL have code or details
    code.exists() or detail.exists()
Mappings
  • rim:n/a
  • rim:.outboundRelationship[typeCode=SPRT].target[classCode=OBS, moodCode=EVN]
Condition.evidence.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.evidence.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.evidence.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Condition.evidence.code
DefinitionA manifestation or symptom that led to the recording of this condition.
Cardinality0...*
TypeCodeableConcept
Binding

Codes that describe the manifestation or symptoms of a condition.

Manifestation and Symptom Codes (example)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 404684003 |Clinical finding|
  • rim:[code="diagnosis"].value
  • w5:why
Condition.evidence.detail
DefinitionLinks to other relevant information, including pathology reports.
Cardinality0...*
TypeReference(Resource)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.self
  • w5:why
Condition.note
DefinitionAdditional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis.
Cardinality0...*
TypeAnnotation
Must SupportTrue
Comments

For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act
  • v2:NTE child of PRB
  • rim:.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value
Condition.note.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.note.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.note.author[x]
DefinitionThe individual responsible for making the annotation.
Cardinality0...1
TypeReference(RelatedPerson | CareConnect-GPC-Patient-1 | CareConnect-GPC-Practitioner-1), string
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.participant[typeCode=AUT].role
Condition.note.time
DefinitionIndicates when this particular annotation was made.
Cardinality0...1
TypedateTime
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.effectiveTime
Condition.note.text
DefinitionThe text of the annotation.
Cardinality1...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.text

Profile: CareConnect-Flag-1

useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-Organization-1)
statusΣ ?!1..1codeBinding
categoryΣ0..1CodeableConcept
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
subjectΣ I1..1Reference(Group | PlanDefinition | CareConnect-Procedure-1 | CareConnect-Patient-1 | CareConnect-Organization-1 | CareConnect-Practitioner-1 | CareConnect-Location-1 | CareConnect-Medication-1)
periodΣ I0..1Period
encounterΣ I0..1Reference(CareConnect-Encounter-1)
authorΣ I0..1Reference(Device | CareConnect-Patient-1 | CareConnect-Organization-1 | CareConnect-Practitioner-1)
Flag
DefinitionProspective warnings of potential issues when providing care to the patient.
Cardinality0...*
AliasBarriers to Care, Alert, Warning
Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
Mappings
  • rim:Entity. Role, or Act
  • rim:Observation[classCode=ISSUE, moodCode=EVN]
  • w5:workflow.encounter
Flag.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Flag.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Flag.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Flag.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Flag.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
Flag.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
Flag.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Flag.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Flag.identifier
DefinitionIdentifier assigned to the flag for external use (outside the FHIR environment).
Cardinality0...*
TypeIdentifier
SummaryTrue
Invariants
  • 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:.id
  • w5:id
Flag.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Flag.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Flag.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Flag.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Flag.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Flag.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Flag.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Flag.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Flag.status
DefinitionSupports basic workflow.
Cardinality1...1
Typecode
Binding

Indicates whether this flag is active and needs to be displayed to a user, or whether it is no longer needed or entered in error.

FlagStatus (required)
ModifierTrue
SummaryTrue
Comments

This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.status
  • w5:status
Flag.category
DefinitionAllows an flag to be divided into different categories like clinical, administrative etc. Intended to be used as a means of filtering which flags are displayed to particular user or in a given context.
Cardinality0...1
TypeCodeableConcept
Binding

A general category for flags for filtering/display purposes.

Flag Category (example)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.code
  • w5:class
Flag.code
DefinitionThe coded value or textual component of the flag to display to the user.
Cardinality1...1
TypeCodeableConcept
Binding

Detail codes identifying specific flagged issues.

Flag Code (example)
SummaryTrue
Comments

If non coded, use CodeableConcept.text. This element should always be included in the narrative.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.value
  • w5:what
Flag.code.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Flag.code.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Flag.code.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Flag.code.coding:snomedCT
DefinitionSNOMED CT representation identifying specific flagged issues.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Flag.code.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Flag.code.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Flag.code.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Flag.code.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Flag.code.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Flag.code.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Flag.code.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Flag.code.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Flag.code.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Flag.subject
DefinitionThe patient, location, group , organization , or practitioner, etc. this is about record this flag is associated with.
Cardinality1...1
TypeReference(Group | PlanDefinition | CareConnect-Procedure-1 | CareConnect-Patient-1 | CareConnect-Organization-1 | CareConnect-Practitioner-1 | CareConnect-Location-1 | CareConnect-Medication-1)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.participation[typeCode=SBJ].role[classCode=PAT | LOCE | ASSIGNED]
  • w5:who.focus
Flag.period
DefinitionThe period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • w5:context
Flag.encounter
DefinitionThis alert is only relevant during the encounter.
Cardinality0...1
TypeReference(CareConnect-Encounter-1)
SummaryTrue
Comments

If both Flag.encounter and Flag.period are valued, then Flag.period.start shall not be before Encounter.period.start and Flag.period.end shall not be after Encounter.period.end.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • w5:context
Flag.author
DefinitionThe person, organization or device that created the flag.
Cardinality0...1
TypeReference(Device | CareConnect-Patient-1 | CareConnect-Organization-1 | CareConnect-Practitioner-1)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.participation[typeCode=AUT].role
  • w5:who.author

Profile: CareConnect-GPC-AllergyIntolerance-1

Important: This profile is not in scope for iteration 1 and MUST NOT be sent by provider systems, nor ingested by consuming systems. Should the provider (sender) includes this profile in the payload then the consumer (receiver) MUST reject the entire ITK3 payload with the ITK3 acknowledgement response code 20009 - Payload validation failure.
url1..1uriFixed Value
valueReference0..1Reference(Encounter)
allergyEndI0..1Extension(Complex)
evidenceI0..1Extension(Reference(DiagnosticReport))
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-Organization-1)
clinicalStatusΣ ?! I0..1codeBinding
verificationStatusΣ ?! I1..1codeBinding
typeΣ0..1codeBinding
categoryΣ0..*codeBinding
criticalityΣ0..1codeBinding
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
patientΣ I1..1Reference(CareConnect-Patient-1)
onsetDateTimedateTime
onsetAgeAge
onsetPeriodPeriod
onsetRangeRange
onsetStringstring
assertedDate1..1dateTime
recorderI0..1Reference(CareConnect-Patient-1 | CareConnect-Practitioner-1)
asserterΣ I0..1Reference(RelatedPerson | CareConnect-Patient-1 | CareConnect-Practitioner-1)
lastOccurrence0..1dateTime
authorStringstring
authorReferenceReference(RelatedPerson | CareConnect-Patient-1 | CareConnect-Practitioner-1)
timeΣ0..1dateTime
text1..1string
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
description0..1string
onset0..1dateTime
severity0..1codeBinding
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
authorStringstring
authorReferenceReference(RelatedPerson | CareConnect-Patient-1 | CareConnect-Practitioner-1)
timeΣ0..1dateTime
text1..1string
AllergyIntolerance
DefinitionRisk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
Cardinality0...*
AliasAllergy, Intolerance, Adverse Reaction
Comments

Substances include, but are not limited to: a therapeutic substance administered correctly at an appropriate dosage for the individual; food; material derived from plants or animals; or venom from insect stings.

Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
  • ait-1:AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
    verificationStatus='entered-in-error' or clinicalStatus.exists()
  • ait-2:AllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
    verificationStatus!='entered-in-error' or clinicalStatus.empty()
Mappings
  • rim:Entity. Role, or Act
  • rim:Observation[classCode=OBS, moodCode=EVN]
  • w5:clinical.general
AllergyIntolerance.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
AllergyIntolerance.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
AllergyIntolerance.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
AllergyIntolerance.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.extension:encounter
DefinitionThis encounter occurs within the scope of the referenced encounter.
Cardinality0...1
TypeExtension(Reference(Encounter))
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.

Invariants
  • 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
AllergyIntolerance.extension:encounter.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.extension:encounter.extension
DefinitionMay 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...0
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.extension:encounter.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://hl7.org/fhir/StructureDefinition/encounter-associatedEncounter

Mappings
  • rim:n/a
  • rim:N/A
AllergyIntolerance.extension:encounter.valueReference:valueReference
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...1
TypeReference(Encounter)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
AllergyIntolerance.extension:allergyEnd
DefinitionSupports the date and reason that the allergy was no longer valid.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
AllergyIntolerance.extension:evidence
DefinitionA reference to results of investigations that confirmed the certainty of the diagnosis.
Cardinality0...1
TypeExtension(Reference(DiagnosticReport))
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.

Invariants
  • 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
AllergyIntolerance.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.identifier
DefinitionThis records identifiers associated with this allergy/intolerance concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).
Cardinality0...*
TypeIdentifier
SummaryTrue
Invariants
  • 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
  • v2:IAM-7
  • rim:id
  • w5:id
AllergyIntolerance.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
AllergyIntolerance.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
AllergyIntolerance.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
AllergyIntolerance.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
AllergyIntolerance.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
AllergyIntolerance.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
AllergyIntolerance.clinicalStatus
DefinitionThe clinical status of the allergy or intolerance.
Cardinality0...1
Typecode
Binding

The clinical status of the allergy or intolerance.

AllergyIntoleranceClinicalStatus (required)
ModifierTrue
SummaryTrue
Comments

This element is labeled as a modifier because the status contains the codes inactive and resolved that mark the AllergyIntolerance as not currently valid.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:Observation ACT .inboundRelationship[typeCode=COMP].source[classCode=OBS, code="clinicalStatus", moodCode=EVN].value
  • w5:status
AllergyIntolerance.verificationStatus
DefinitionAssertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product).
Cardinality1...1
Typecode
Binding

Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance.

AllergyIntoleranceVerificationStatus (required)
ModifierTrue
SummaryTrue
Comments

This element is labeled as a modifier because the status contains the codes refuted and entered-in-error that mark the AllergyIntolerance as not currently valid.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:Observation ACT .inboundRelationship[typeCode=COMP].source[classCode=OBS, code="verificationStatus", moodCode=EVN].value
  • w5:status
AllergyIntolerance.type
DefinitionIdentification of the underlying physiological mechanism for the reaction risk.
Cardinality0...1
Typecode
Binding

Identification of the underlying physiological mechanism for a Reaction Risk.

AllergyIntoleranceType (required)
SummaryTrue
AliasCategory, Class
Comments

Allergic (typically immune-mediated) reactions have been traditionally regarded as an indicator for potential escalation to significant future risk. Contemporary knowledge suggests that some reactions previously thought to be immune-mediated are, in fact, non-immune, but in some cases can still pose a life threatening risk. It is acknowledged that many clinicians may not be in a position to distinguish the mechanism of a particular reaction. Often the term "allergy" is used rather generically and may overlap with the use of "intolerance" - in practice the boundaries between these two concepts may not be well-defined or understood. This data element is included nevertheless, because many legacy systems have captured this attribute. Immunologic testing may provide supporting evidence for the basis of the reaction and the causative substance, but no tests are 100% sensitive or specific for sensitivity to a particular substance. If, as is commonly the case, it is unclear whether the reaction is due to an allergy or an intolerance, then the type element should be omitted from the resource.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:IAM-9
  • rim:code
  • w5:class
AllergyIntolerance.category
DefinitionCategory of the identified substance.
Cardinality0...*
Typecode
Binding

Category of an identified substance.

AllergyIntoleranceCategory (required)
SummaryTrue
AliasCategory, Type, Reaction Type, Class
Comments

This data element has been included because it is currently being captured in some clinical systems. This data can be derived from the substance where coding systems are used, and is effectively redundant in that situation. When searching on category, consider the implications of AllergyIntolerance resources without a category. For example, when searching on category = medication, medication allergies that don't have a category valued will not be returned. Refer to search for more information on how to search category with a :missing modifier to get allergies that don't have a category. Additionally, category should be used with caution because category can be subjective based on the sender.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:AL1-2
  • rim:value < IntoleranceValue (Agent)
  • w5:class
AllergyIntolerance.criticality
DefinitionEstimate of the potential clinical harm, or seriousness, of the reaction to the identified substance.
Cardinality0...1
Typecode
Binding

Estimate of the potential clinical harm, or seriousness, of a reaction to an identified substance.

AllergyIntoleranceCriticality (required)
SummaryTrue
AliasSeverity, Seriousness, Contra-indication, Risk
Comments

The default criticality value for any propensity to an adverse reaction should be 'Low Risk', indicating at the very least a relative contraindication to deliberate or voluntary exposure to the substance. 'High Risk' is flagged if the clinician has identified a propensity for a more serious or potentially life-threatening reaction, such as anaphylaxis, and implies an absolute contraindication to deliberate or voluntary exposure to the substance. If this element is missing, the criticality is unknown (though it may be known elsewhere).

Systems that capture a severity at the condition level are actually representing the concept of criticality whereas the severity documented at the reaction level is representing the true reaction severity. Existing systems that are capturing both condition criticality and reaction severity may use the term "severity" to represent both. Criticality is the worst it could be in the future (i.e. situation-agnostic) whereas severity is situation-dependent.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:AL1-4
  • rim:inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=SEV, value <= SeverityObservation (Severity Level)]
  • w5:grade
AllergyIntolerance.code
DefinitionCode for an allergy or intolerance statement (either a positive or a negated/excluded statement). This may be a code for a substance or pharmaceutical product that is considered to be responsible for the adverse reaction risk (e.g., "Latex"), an allergy or intolerance condition (e.g., "Latex allergy"), or a negated/excluded code for a specific substance or class (e.g., "No latex allergy") or a general or categorical negated statement (e.g., "No known allergy", "No known drug allergies").
Cardinality0...1
TypeCodeableConcept
Binding

Type of the substance/product, allergy or intolerance condition, or negation/exclusion codes for reporting no known allergies.

AllergyIntolerance Substance/Product, Condition and Negation Codes (example)
SummaryTrue
AliasCode
Comments

It is strongly recommended that this element be populated using a terminology, where possible. For example, some terminologies used include RxNorm, SNOMED CT, DM+D, NDFRT, ICD-9, IDC-10, UNI, ATC and CPT. Plain text should only be used if there is no appropriate terminology available. Additional details can be specified in the text.

When a substance or product code is specified for the 'code' element, the "default" semantic context is that this is a positive statement of an allergy or intolerance (depending on the value of the 'type' element, if present) condition to the specified substance/product. In the corresponding SNOMED CT allergy model, the specified substance/product is the target (destination) of the "Causative agent" relationship.

The 'substanceExposureRisk' extension is available as a structured and more flexible alternative to the 'code' element for making positive or negative allergy or intolerance statements. This extension provides the capability to make "no known allergy" (or "no risk of adverse reaction") statements regarding any coded substance/product (including cases when a pre-coordinated "no allergy to x" concept for that substance/product does not exist). If the 'substanceExposureRisk' extension is present, the AllergyIntolerance.code element SHALL be omitted.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:AL1-3 / IAM-3
  • rim:substance/product: .participation[typeCode=CAGNT].role[classCode=ADMM].player[classCode=MAT, determinerCode=KIND, code <= ExposureAgentEntityType] negated/excluded substance/product: .participation[typeCode=CAGNT, negationInd=true].role[classCode=ADMM].player[classCode=MAT, determinerCode=KIND, code <= ExposureAgentEntityType] positive or negated/excluded condition/situation: Observation.code=ASSERTION; Observation.value
  • w5:what
AllergyIntolerance.code.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.code.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.code.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
AllergyIntolerance.code.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
Binding

A code from the SNOMED Clinical Terminology UK or a code from the v3 Code System NullFlavor specifying why a valid value is not present.

Care Connect Allergy Code (example)
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
AllergyIntolerance.code.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.code.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.code.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
AllergyIntolerance.code.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
AllergyIntolerance.code.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
AllergyIntolerance.code.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
AllergyIntolerance.code.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
AllergyIntolerance.code.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
AllergyIntolerance.code.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
AllergyIntolerance.patient
DefinitionThe patient who has the allergy or intolerance.
Cardinality1...1
TypeReference(CareConnect-Patient-1)
SummaryTrue
AliasPatient
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:(PID-3)
  • rim:.participation[typeCode=SBJ].role[classCode=PAT]
  • w5:who.focus
AllergyIntolerance.onset[x]
DefinitionEstimated or actual date, date-time, or age when allergy or intolerance was identified.
Cardinality0...1
TypedateTime, Age, Period, Range, string
Must SupportTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:effectiveTime.low
  • w5:when.init
AllergyIntolerance.assertedDate
DefinitionThe date on which the existance of the AllergyIntolerance was first asserted or acknowledged.
Cardinality1...1
TypedateTime
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:IAM-20
  • rim:.participation[typeCode=AUT].time
  • w5:when.recorded
AllergyIntolerance.recorder
DefinitionIndividual who recorded the record and takes responsibility for its content.
Cardinality0...1
TypeReference(CareConnect-Patient-1 | CareConnect-Practitioner-1)
AliasAuthor
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.participation[typeCode=AUT].role
  • w5:who.author
AllergyIntolerance.asserter
DefinitionThe source of the information about the allergy that is recorded.
Cardinality0...1
TypeReference(RelatedPerson | CareConnect-Patient-1 | CareConnect-Practitioner-1)
SummaryTrue
AliasSource, Informant
Comments

The recorder takes repsonsibility for the content, but can reference the source from where they got it.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:IAM-14 (if patient) / IAM-18 (if practitioner)
  • rim:.participation[typeCode=INF].role
  • w5:who.source
AllergyIntolerance.lastOccurrence
DefinitionRepresents the date and/or time of the last known occurrence of a reaction event.
Cardinality0...1
TypedateTime
Comments

This date may be replicated by one of the Onset of Reaction dates. Where a textual representation of the date of last occurrence is required e.g. 'In Childhood, '10 years ago' the Comment element should be used.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:outBoundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN, code <= CommonClinicalObservationType, value <= ObservationValue (Reaction Type)].effectiveTime
AllergyIntolerance.note
DefinitionAdditional narrative about the propensity for the Adverse Reaction, not captured in other fields.
Cardinality0...*
TypeAnnotation
Comments

For example: including reason for flagging a seriousness of 'High Risk'; and instructions related to future exposure or administration of the substance, such as administration within an Intensive Care Unit or under corticosteroid cover. The notes should be related to an allergy or intolerance as a condition in general and not related to any particular episode of it. For episode notes and descriptions, use AllergyIntolerance.event.description and AllergyIntolerance.event.notes.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act
  • rim:subjectOf.observationEvent[code="annotation"].value
AllergyIntolerance.note.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.note.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.note.author[x]
DefinitionThe individual responsible for making the annotation.
Cardinality0...1
TypeReference(RelatedPerson | CareConnect-Patient-1 | CareConnect-Practitioner-1), string
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.participant[typeCode=AUT].role
AllergyIntolerance.note.time
DefinitionIndicates when this particular annotation was made.
Cardinality0...1
TypedateTime
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.effectiveTime
AllergyIntolerance.note.text
DefinitionThe text of the annotation.
Cardinality1...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.text
AllergyIntolerance.reaction
DefinitionDetails about each adverse reaction event linked to exposure to the identified substance.
Cardinality0...*
TypeBackboneElement
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:outBoundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN, code <= CommonClinicalObservationType, value <= ObservationValue (Reaction Type)]
AllergyIntolerance.reaction.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.reaction.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.reaction.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
AllergyIntolerance.reaction.substance
DefinitionIdentification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction event. Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the 'code' and ignore the 'reaction.substance'.
Cardinality0...1
TypeCodeableConcept
Binding

Codes defining the type of the substance (including pharmaceutical products).

Substance Code (example)
Comments

Coding of the specific substance (or pharmaceutical product) with a terminology capable of triggering decision support should be used wherever possible. The 'code' element allows for the use of a specific substance or pharmaceutical product, or a group or class of substances. In the case of an allergy or intolerance to a class of substances, (for example, "penicillins"), the 'reaction.substance' element could be used to code the specific substance that was identifed as having caused the reaction (for example, "amoxycillin"). Duplication of the value in the 'code' and 'reaction.substance' elements is acceptable when a specific substance has been recorded in 'code'.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:outBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].participation[typeCode=CSM].role[classCode=ADMM].player[classCode=MAT, determinerCode=KIND, code <= ExposureAgentEntityType]
AllergyIntolerance.reaction.substance.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.reaction.substance.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.reaction.substance.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
AllergyIntolerance.reaction.substance.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
AllergyIntolerance.reaction.substance.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.reaction.substance.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.reaction.substance.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
AllergyIntolerance.reaction.substance.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
AllergyIntolerance.reaction.substance.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
AllergyIntolerance.reaction.substance.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
AllergyIntolerance.reaction.substance.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
AllergyIntolerance.reaction.substance.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
AllergyIntolerance.reaction.substance.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
AllergyIntolerance.reaction.manifestation
DefinitionClinical symptoms and/or signs that are observed or associated with the adverse reaction event.
Cardinality1...*
TypeCodeableConcept
Binding

Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event.

Care Connect Allergy Manifestation (extensible)
AliasSymptoms, Signs
Comments

Manifestation can be expressed as a single word, phrase or brief description. For example: nausea, rash or no reaction. It is preferable that manifestation should be coded with a terminology, where possible. The values entered here may be used to display on an application screen as part of a list of adverse reactions, as recommended in the UK NHS CUI guidelines. Terminologies commonly used include, but are not limited to, SNOMED CT or ICD10.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:AL1-5
  • rim:code
AllergyIntolerance.reaction.manifestation.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.reaction.manifestation.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.reaction.manifestation.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
AllergyIntolerance.reaction.manifestation.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
AllergyIntolerance.reaction.manifestation.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.reaction.manifestation.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.reaction.manifestation.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
AllergyIntolerance.reaction.manifestation.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
AllergyIntolerance.reaction.manifestation.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
AllergyIntolerance.reaction.manifestation.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
AllergyIntolerance.reaction.manifestation.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
AllergyIntolerance.reaction.manifestation.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
AllergyIntolerance.reaction.manifestation.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
AllergyIntolerance.reaction.description
DefinitionText description about the reaction as a whole, including details of the manifestation if required.
Cardinality0...1
Typestring
AliasNarrative, Text
Comments

Use the description to provide any details of a particular event of the occurred reaction such as circumstances, reaction specifics, what happened before/after. Information, related to the event, but not describing a particular care should be captured in the comment field. For example: at the age of four, the patient was given penicillin for strep throat and subsequently developed severe hives.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:text
AllergyIntolerance.reaction.onset
DefinitionRecord of the date and/or time of the onset of the Reaction.
Cardinality0...1
TypedateTime
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:AL1-6
  • rim:effectiveTime.low
AllergyIntolerance.reaction.severity
DefinitionClinical assessment of the severity of the reaction event as a whole, potentially considering multiple different manifestations.
Cardinality0...1
Typecode
Binding

Clinical assessment of the severity of a reaction event as a whole, potentially considering multiple different manifestations.

AllergyIntoleranceSeverity (required)
Comments

It is acknowledged that this assessment is very subjective. There may be some some specific practice domains where objective scales have been applied. Objective scales can be included in this model as extensions.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=SEV, value <= SeverityObservation (Severity Level)]
AllergyIntolerance.reaction.exposureRoute
DefinitionIdentification of the route by which the subject was exposed to the substance.
Cardinality0...1
TypeCodeableConcept
Binding

A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

Care Connect Allergy Exposure Route (example)
Comments

Coding of the route of exposure with a terminology should be used wherever possible.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:outBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].routeCode
AllergyIntolerance.reaction.exposureRoute.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.reaction.exposureRoute.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.reaction.exposureRoute.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
AllergyIntolerance.reaction.exposureRoute.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
AllergyIntolerance.reaction.exposureRoute.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.reaction.exposureRoute.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.reaction.exposureRoute.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
AllergyIntolerance.reaction.exposureRoute.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
AllergyIntolerance.reaction.exposureRoute.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
AllergyIntolerance.reaction.exposureRoute.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
AllergyIntolerance.reaction.exposureRoute.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
AllergyIntolerance.reaction.exposureRoute.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
AllergyIntolerance.reaction.exposureRoute.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
AllergyIntolerance.reaction.note
DefinitionAdditional text about the adverse reaction event not captured in other fields.
Cardinality0...*
TypeAnnotation
Comments

Use this field to record information indirectly related to a particular event and not captured in the description. For example: Clinical records are no longer available, recorded based on information provided to the patient by her mother and her mother is deceased.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act
  • rim:subjectOf.observationEvent[code="annotation"].value
AllergyIntolerance.reaction.note.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
AllergyIntolerance.reaction.note.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
AllergyIntolerance.reaction.note.author[x]
DefinitionThe individual responsible for making the annotation.
Cardinality0...1
TypeReference(RelatedPerson | CareConnect-Patient-1 | CareConnect-Practitioner-1), string
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.participant[typeCode=AUT].role
AllergyIntolerance.reaction.note.time
DefinitionIndicates when this particular annotation was made.
Cardinality0...1
TypedateTime
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.effectiveTime
AllergyIntolerance.reaction.note.text
DefinitionThe text of the annotation.
Cardinality1...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.text

Profile: GPConnect-Appointment-1

Important: This profile is not in scope for iteration 1 and MUST NOT be sent by provider systems, nor ingested by consuming systems. Should the provider (sender) includes this profile in the payload then the consumer (receiver) MUST reject the entire ITK3 payload with the ITK3 acknowledgement response code 20009 - Payload validation failure.
appointmentCancellationReasonI0..1Extension(string)
bookingOrganisationS I0..1Extension(Reference(CareConnect-GPC-Organization-1))
practitionerRoleS I0..*Extension(CodeableConcept)
deliveryChannelS I0..1Extension(code)
useΣ ?!0..0codeBinding
typeΣ0..0CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..0Period
assignerΣ I0..0Reference(Organization)
statusΣ ?!1..1codeBinding
serviceCategoryΣ0..1CodeableConcept
serviceTypeΣ0..*CodeableConcept
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
appointmentTypeΣ0..0CodeableConceptBinding
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..0boolean
textΣ0..1string
indicationI0..0Reference(Condition | Procedure)
priority0..1unsignedInt
description1..1string
supportingInformationI0..0Reference(Resource)
startΣ1..1instant
endΣ1..1instant
minutesDuration0..1positiveInt
referenceΣ I0..1string
identifierΣ0..1Identifier
displayΣ0..1string
created0..1dateTime
comment0..1string
incomingReferralI0..0Reference(ReferralRequest)
typeΣ0..*CodeableConceptBinding
actorΣ I1..1Reference(RelatedPerson | HealthcareService | CareConnect-GPC-Practitioner-1 | CareConnect-GPC-Location-1 | GPConnect-Device-1 | CareConnect-GPC-Patient-1)
requiredΣ0..1codeBinding
status1..1codeBinding
requestedPeriodI0..0Period
Appointment
DefinitionA booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).
Cardinality0...*
Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
  • app-3:Only proposed or cancelled appointments can be missing start/end dates
    (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled'))
  • app-2:Either start and end are specified, or neither
    start.empty() xor end.exists()
Mappings
  • rim:Entity. Role, or Act
  • rim:Act[@moodCode <= 'INT']
  • ical:VEVENT
  • w5:workflow.scheduling
Appointment.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Appointment.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Appointment.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Appointment.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Appointment.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
Appointment.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
Appointment.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Appointment.extension:appointmentCancellationReason
DefinitionThe reason the appointment was cancelled.
Cardinality0...1
TypeExtension(string)
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.

Invariants
  • 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
Appointment.extension:bookingOrganisation
DefinitionAn extension to record the organisation booking the appointment.
Cardinality0...1
TypeExtension(Reference(CareConnect-GPC-Organization-1))
Must SupportTrue
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.

Invariants
  • 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
Appointment.extension:practitionerRole
DefinitionAn extension to record the role of the Practitioner of a scheduled Appointment.
Cardinality0...*
TypeExtension(CodeableConcept)
Must SupportTrue
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.

Invariants
  • 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
Appointment.extension:deliveryChannel
DefinitionAn extension to record the delivery channel of a scheduled Appointment.
Cardinality0...1
TypeExtension(code)
Must SupportTrue
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.

Invariants
  • 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
Appointment.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Appointment.identifier
DefinitionThis records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).
Cardinality0...*
TypeIdentifier
SummaryTrue
Invariants
  • 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
  • v2:SCH-1, SCH-2, ARQ-1, ARQ-2
  • rim:.id
  • ical:UID
  • w5:id
Appointment.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Appointment.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Appointment.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...0
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Appointment.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...0
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Appointment.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


General

https://fhir.nhs.uk/Id/gpconnect-appointment-identifier


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Appointment.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


General

898976578


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Appointment.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...0
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Appointment.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...0
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Appointment.status
DefinitionThe overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status.
Cardinality1...1
Typecode
Binding

The free/busy status of an appointment.

AppointmentStatus (required)
ModifierTrue
SummaryTrue
Comments

If the Appointment's status is "cancelled" then all participants are expected to have their calendars released for the appointment period, and as such any Slots that were marked as BUSY can be re-set to FREE.

This element is labeled as a modifier because the status contains the code entered-in-error that mark the Appointment as not currently valid.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

booked


Mappings
  • rim:n/a
  • v2:SCH-25
  • rim:.statusCode
  • w5:status
Appointment.serviceCategory
DefinitionA broad categorisation of the service that is to be performed during this appointment.
Cardinality0...1
TypeCodeableConcept
BindingServiceCategory (example)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:n/a, might be inferred from the ServiceDeliveryLocation
Appointment.serviceType
DefinitionThe specific service that is to be performed during this appointment.
Cardinality0...*
TypeCodeableConcept
BindingServiceType (example)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:n/a, might be inferred from the ServiceDeliveryLocation
Appointment.specialty
DefinitionThe specialty of a practitioner that would be required to perform the service requested in this appointment.
Cardinality0...1
TypeCodeableConcept
BindingPractice Setting Code Value Set (preferred)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.performer.AssignedPerson.code
  • w5:class
Appointment.specialty.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Appointment.specialty.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Appointment.specialty.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Appointment.specialty.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Appointment.specialty.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Appointment.specialty.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality0...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Appointment.specialty.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Appointment.specialty.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality0...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

394733009


Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Appointment.specialty.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality0...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Medical specialty--OTHER--NOT LISTED


Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Appointment.specialty.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Appointment.specialty.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Appointment.appointmentType
DefinitionThe style of appointment or patient that has been booked in the slot (not service type).
Cardinality0...0
TypeCodeableConcept
Bindingv2 Appointment reason codes (preferred)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:ARQ-7
  • rim:.code
Appointment.reason
DefinitionThe reason that this appointment is being scheduled. This is more clinical than administrative.
Cardinality0...1
TypeCodeableConcept
Binding

The Reason for the appointment to take place.

Encounter Reason Codes (required)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:AIS-3, SCH-7
  • rim:.reasonCode
Appointment.reason.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Appointment.reason.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Appointment.reason.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Appointment.reason.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Appointment.reason.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Appointment.reason.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Appointment.reason.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Appointment.reason.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

17436001


Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Appointment.reason.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Medical consultation with outpatient


Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Appointment.reason.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...0
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Appointment.reason.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Appointment.indication
DefinitionReason the appointment has been scheduled to take place, as specified using information from another resource. When the patient arrives and the encounter begins it may be used as the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure.
Cardinality0...0
TypeReference(Condition | Procedure)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.inboundRelationship[@typeCode = 'RSON'].observation
Appointment.priority
DefinitionThe priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority).
Cardinality0...1
TypeunsignedInt
Comments

Seeking implementer feedback on this property and how interoperable it is.

Using an extension to record a codeableconcept for named values may be tested at a future connectathon.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:ARQ-12, SCH-11.6 / TQ1-9
  • rim:.priorityCode
  • ical:PRIORITY
  • w5:class
Appointment.description
DefinitionThe brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field.
Cardinality1...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:NTE-3
  • rim:.text
  • ical:DESCRIPTION
Appointment.supportingInformation
DefinitionAdditional information to support the appointment provided when making the appointment.
Cardinality0...0
TypeReference(Resource)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.inboundRelationship[@typeCode = 'SPRT'].observation
  • w5:context
Appointment.start
DefinitionDate/Time that the appointment is to take place.
Cardinality1...1
Typeinstant
SummaryTrue
Comments

Note: This is intended for precisely observed times, typically system logs etc., and not human-reported times - for them, see date and dateTime below. Time zone is always required

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:ARQ-11.1, SCH-11.4 / TQ1-7
  • rim:.effectiveTime.low
  • w5:when.init
Appointment.end
DefinitionDate/Time that the appointment is to conclude.
Cardinality1...1
Typeinstant
SummaryTrue
Comments

Note: This is intended for precisely observed times, typically system logs etc., and not human-reported times - for them, see date and dateTime below. Time zone is always required

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:SCH-11.5 / TQ1-8/ calculated based on the start and the duration which is in ARQ-9
  • rim:.effectiveTime.high
  • w5:when.done
Appointment.minutesDuration
DefinitionNumber of minutes that the appointment is to take. This can be less than the duration between the start and end times (where actual time of appointment is only an estimate or is a planned appointment request).
Cardinality0...1
TypepositiveInt
Comments

32 bit number; for values larger than this, use decimal

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')].width
Appointment.slot
DefinitionThe slots from the participants' schedules that will be filled by the appointment.
Cardinality1...*
TypeReference(GPConnect-Slot-1)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT']
Appointment.slot.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Appointment.slot.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Appointment.slot.reference
DefinitionA 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Slot/79a37bc3-8d22-4805-b1a7-8cf8ceca9217


Mappings
  • rim:n/a
  • rim:N/A
Appointment.slot.identifier
DefinitionAn 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.

Invariants
  • 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
Appointment.slot.display
DefinitionPlain 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Appointment Slot - Out of Hours GP Clinic - 19:30 - 19:45


Mappings
  • rim:n/a
  • rim:N/A
Appointment.created
DefinitionThe date that this appointment was initially created. This could be different to the meta.lastModified value on the initial entry, as this could have been before the resource was created on the FHIR server, and should remain unchanged over the lifespan of the appointment.
Cardinality0...1
TypedateTime
Comments

This property is required for many use cases where the age of an appointment is considered in processing workflows for scheduling and billing of appointments.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.author.time
Appointment.comment
DefinitionAdditional comments about the appointment.
Cardinality0...1
Typestring
Comments

Additional text to aid in facilitating the appointment. For instance, a comment might be, "patient should proceed immediately to infusion room upon arrival"

Where this is a planned appointment and the start/end dates are not set then this field can be used to provide additional guidance on the details of the appointment request, including any restrictions on when to book it.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

Discussion on problem 'Increased pain in right arm.'


Mappings
  • rim:n/a
  • v2:NTE-3
  • rim:.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
  • ical:COMMENT
Appointment.incomingReferral
DefinitionThe referral request this appointment is allocated to assess (incoming referral).
Cardinality0...0
TypeReference(ReferralRequest)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO']
Appointment.participant
DefinitionList of participants involved in the appointment.
Cardinality1...*
TypeBackboneElement
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • app-1:Either the type or actor on the participant SHALL be specified
    type.exists() or actor.exists()
Mappings
  • rim:n/a
  • v2:PID, AIP, AIG, AIL
  • rim:performer | reusableDevice | subject | location
  • ical:ATTENDEE component to be created
Appointment.participant.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Appointment.participant.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Appointment.participant.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Appointment.participant.type
DefinitionRole of participant in the appointment.
Cardinality0...*
TypeCodeableConcept
Binding

Role of participant in encounter.

ParticipantType (extensible)
SummaryTrue
Comments

The role of the participant can be used to declare what the actor will be doing in the scope of this appointment.

If the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning.

This value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:AIP-4, AIG-4
  • rim:(performer | reusableDevice | subject | location).@typeCode
  • ical:n/a
Appointment.participant.actor
DefinitionA Person, Location/HealthcareService or Device that is participating in the appointment.
Cardinality1...1
TypeReference(RelatedPerson | HealthcareService | CareConnect-GPC-Practitioner-1 | CareConnect-GPC-Location-1 | GPConnect-Device-1 | CareConnect-GPC-Patient-1)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
  • rim:performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
  • ical:ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"
  • w5:who
Appointment.participant.required
DefinitionIs this participant required to be present at the meeting. This covers a use-case where 2 doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present.
Cardinality0...1
Typecode
Binding

Is the Participant required to attend the appointment.

ParticipantRequired (required)
SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:(performer | reusableDevice | subject | location).@performInd
  • ical:ROLE=REQ-PARTICIPANT (roleparam)
Appointment.participant.status
DefinitionParticipation status of the actor.
Cardinality1...1
Typecode
Binding

The Participation status of an appointment.

ParticipationStatus (required)
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:AIP-12, AIG-14
  • rim:(performer | reusableDevice | subject | location).statusCode
  • ical:ATTENDEE;CN="Brian Postlethwaite";RSVP=TRUE:mailto:BPostlethwaite@data.com (rsvpparam | partstatparam)
Appointment.requestedPeriod
DefinitionA set of date ranges (potentially including times) that the appointment is preferred to be scheduled within. When using these values, the minutes duration should be provided to indicate the length of the appointment to fill and populate the start/end times for the actual allocated time.
Cardinality0...0
TypePeriod
Comments

This does not introduce a capacity for recurring appointments.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:ARQ-11
  • rim:.activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')]

Profile: CareConnect-Procedure-1

Important: This profile is not in scope for iteration 1 and MUST NOT be sent by provider systems, nor ingested by consuming systems. Should the provider (sender) includes this profile in the payload then the consumer (receiver) MUST reject the entire ITK3 payload with the ITK3 acknowledgement response code 20009 - Payload validation failure.
anaestheticIssuesI0..1Extension(Reference(CareConnect-Condition-1), CodeableConcept)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-Organization-1)
definitionΣ I0..*Reference(PlanDefinition | ActivityDefinition | HealthcareService)
basedOnΣ I0..*Reference(CarePlan | ProcedureRequest | ReferralRequest)
partOfΣ I0..*Reference(MedicationAdministration | CareConnect-Procedure-1 | CareConnect-Observation-1)
statusΣ ?!1..1codeBinding
notDoneΣ ?!0..1boolean
notDoneReasonΣ I0..1CodeableConcept
categoryΣ0..1CodeableConcept
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
subjectΣ I1..1Reference(Group | CareConnect-Patient-1)
contextΣ I0..1Reference(EpisodeOfCare | CareConnect-Encounter-1)
performedDateTimedateTime
performedPeriodPeriod
roleΣ0..1CodeableConcept
actorΣ I1..1Reference(RelatedPerson | Device | CareConnect-Organization-1 | CareConnect-Patient-1 | CareConnect-Practitioner-1)
onBehalfOfI0..1Reference(CareConnect-Organization-1)
locationΣ I0..1Reference(CareConnect-Location-1)
reasonCodeΣ0..*CodeableConcept
reasonReferenceΣ I0..*Reference(CareConnect-Observation-1 | CareConnect-Condition-1)
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
outcomeΣ0..1CodeableConcept
reportI0..*Reference(DiagnosticReport)
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
complicationDetailI0..*Reference(CareConnect-Condition-1)
followUp0..*CodeableConcept
authorStringstring
authorReferenceReference(RelatedPerson | CareConnect-Patient-1 | CareConnect-Practitioner-1)
timeΣ0..1dateTime
text1..1string
action0..1CodeableConceptBinding
manipulatedI1..1Reference(Device)
usedReferenceI0..*Reference(Device | Substance | CareConnect-Medication-1)
usedCode0..*CodeableConcept
Procedure
DefinitionAn action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy.
Cardinality0...*
Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
  • pro-1:Reason not done is only permitted if notDone indicator is true
    notDoneReason.empty() or notDone = true
Mappings
  • rim:Entity. Role, or Act
  • rim:Procedure[moodCode=EVN]
  • w5:clinical.general
Procedure.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Procedure.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
Procedure.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
Procedure.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Procedure.extension:anaestheticIssues
DefinitionDetails of any adverse reaction to any anaesthetic agents.
Cardinality0...1
TypeExtension(Reference(CareConnect-Condition-1), CodeableConcept)
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.

Invariants
  • 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
Procedure.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Procedure.identifier
DefinitionThis records identifiers associated with this procedure that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).
Cardinality0...*
TypeIdentifier
SummaryTrue
Requirements

Need to allow connection to a wider workflow.

Invariants
  • 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
  • v2:Some combination of ORC-2 / ORC-3 / OBR-2 / OBR-3 / IPC-1 / IPC-2 / IPC-3 / IPC-4
  • rim:.id
  • w5:id
Procedure.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Procedure.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Procedure.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Procedure.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Procedure.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Procedure.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Procedure.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Procedure.definition
DefinitionA protocol, guideline, orderset or other definition that was adhered to in whole or in part by this procedure.
Cardinality0...*
TypeReference(PlanDefinition | ActivityDefinition | HealthcareService)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.outboundRelationship[typeCode=DEFN].target
Procedure.basedOn
DefinitionA reference to a resource that contains details of the request for this procedure.
Cardinality0...*
TypeReference(CarePlan | ProcedureRequest | ReferralRequest)
SummaryTrue
Aliasfulfills
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.outboundRelationship[typeCode=FLFS].target[classCode=(various e.g. PROC, OBS, PCPR, ACT, moodCode=RQO].code
Procedure.partOf
DefinitionA larger event of which this particular procedure is a component or step.
Cardinality0...*
TypeReference(MedicationAdministration | CareConnect-Procedure-1 | CareConnect-Observation-1)
SummaryTrue
Aliascontainer
Comments

The MedicationAdministration has a partOf reference to Procedure, but this is not a circular reference. For a surgical procedure, the anesthesia related medicationAdministration is part of the procedure. For an IV medication administration, the procedure to insert the IV port is part of the medication administration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.inboundRelationship[typeCode=COMP].source[classCode=SBADM or PROC or OBS, moodCode=EVN]
Procedure.status
DefinitionA code specifying the state of the procedure. Generally this will be in-progress or completed state.
Cardinality1...1
Typecode
Binding

A code specifying the state of the procedure.

EventStatus (required)
ModifierTrue
SummaryTrue
Comments

The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the procedure.

This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:statusCode
  • w5:status
Procedure.notDone
DefinitionSet this to true if the record is saying that the procedure was NOT performed.
Cardinality0...1
Typeboolean
ModifierTrue
SummaryTrue
Comments

If true, it means the procedure did not occur as described. Typically it would be accompanied by attributes describing the type of activity. It might also be accompanied by body site information or time information (i.e. no procedure was done to the left arm or no procedure was done in this 2-year period). Specifying additional information such as performer, outcome, etc. is generally inappropriate. For example, it's not that useful to say "There was no appendectomy done at 12:03pm June 6th by Dr. Smith with a successful outcome" as it implies that there could have been an appendectomy done at any other time, by any other clinician or with any other outcome.

This element is labeled as a modifier because it indicates that a procedure didn't happen.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.actionNegationInd
Procedure.notDoneReason
DefinitionA code indicating why the procedure was not performed.
Cardinality0...1
TypeCodeableConcept
Binding

A code that identifies the reason a procedure was not performed.

Procedure Not Performed Reason (SNOMED-CT) (example)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.reason.Observation.value
Procedure.category
DefinitionA code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure").
Cardinality0...1
TypeCodeableConcept
Binding

A code that classifies a procedure for searching, sorting and display purposes.

Procedure Category Codes (SNOMED CT) (example)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
  • w5:class
Procedure.code
DefinitionThe specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy").
Cardinality0...1
TypeCodeableConcept
Binding

A code to identify a specific procedure.

Procedure Codes (SNOMED CT) (preferred)
SummaryTrue
Aliastype
Requirements

0..1 to account for primarily narrative only resources.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:OBR-44/OBR-45
  • rim:.code
  • w5:what
Procedure.code.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.code.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Procedure.code.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Procedure.code.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
Binding

A code from the SNOMED Clinical Terminology UK.

Care Connect Procedure Code (extensible)
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Procedure.code.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.code.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Procedure.code.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Procedure.code.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Procedure.code.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Procedure.code.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Procedure.code.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Procedure.code.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Procedure.code.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Procedure.subject
DefinitionThe person, animal or group on which the procedure was performed.
Cardinality1...1
TypeReference(Group | CareConnect-Patient-1)
SummaryTrue
Aliaspatient
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PID-3
  • rim:.participation[typeCode=SBJ].role
  • w5:who.focus
Procedure.context
DefinitionThe encounter during which the procedure was performed.
Cardinality0...1
TypeReference(EpisodeOfCare | CareConnect-Encounter-1)
SummaryTrue
Aliasencounter
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PV1-19
  • rim:.inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
  • w5:context
Procedure.performed[x]
DefinitionThe date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.
Cardinality0...1
TypedateTime, Period
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:OBR-7
  • rim:.effectiveTime
  • w5:when.done
Procedure.performer
DefinitionLimited to 'real' people rather than equipment.
Cardinality0...*
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.participation[typeCode=PRF]
Procedure.performer.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.performer.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Procedure.performer.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Procedure.performer.role
DefinitionFor example: surgeon, anaethetist, endoscopist.
Cardinality0...1
TypeCodeableConcept
Binding

A code that identifies the role of a performer of the procedure.

Procedure Performer Role Codes (example)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:Some combination of STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17 / OBX-25
  • rim:.functionCode
Procedure.performer.actor
DefinitionThe practitioner who was involved in the procedure.
Cardinality1...1
TypeReference(RelatedPerson | Device | CareConnect-Organization-1 | CareConnect-Patient-1 | CareConnect-Practitioner-1)
SummaryTrue
Requirements

A reference to Device supports use cases, such as pacemakers.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:ORC-19/PRT-5
  • rim:.role
  • w5:who.actor
Procedure.performer.onBehalfOf
DefinitionThe organization the device or practitioner was acting on behalf of.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
Requirements

Practitioners and Devices can be associated with multiple organizations. This element indicates which organization they were acting on behalf of when performing the action.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.scoper
Procedure.location
DefinitionThe location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant.
Cardinality0...1
TypeReference(CareConnect-Location-1)
SummaryTrue
Requirements

Ties a procedure to where the records are likely kept.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.participation[typeCode=LOC].role[classCode=SDLOC]
  • w5:where
Procedure.reasonCode
DefinitionThe coded reason why the procedure was performed. This may be coded entity of some type, or may simply be present as text.
Cardinality0...*
TypeCodeableConcept
Binding

A code that identifies the reason a procedure is required.

Procedure Reason Codes (example)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.reasonCode
  • w5:why
Procedure.reasonReference
DefinitionThe condition that is the reason why the procedure was performed.
Cardinality0...*
TypeReference(CareConnect-Observation-1 | CareConnect-Condition-1)
SummaryTrue
Comments

e.g. endoscopy for dilatation and biopsy, combination diagnosis and therapeutic.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.reasonCode
  • w5:why
Procedure.bodySite
DefinitionDetailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion.
Cardinality0...*
TypeCodeableConcept
Binding

Codes describing anatomical locations. May include laterality.

SNOMED CT Body Structures (example)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:OBX-20
  • rim:.targetSiteCode
Procedure.bodySite.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.bodySite.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Procedure.bodySite.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Procedure.bodySite.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
Binding

A code from the SNOMED Clinical Terminology UK.

Care Connect Body Site (extensible)
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Procedure.bodySite.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.bodySite.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Procedure.bodySite.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Procedure.bodySite.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Procedure.bodySite.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Procedure.bodySite.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Procedure.bodySite.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Procedure.bodySite.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Procedure.bodySite.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Procedure.outcome
DefinitionThe outcome of the procedure - did it resolve reasons for the procedure being performed?
Cardinality0...1
TypeCodeableConcept
Binding

An outcome of a procedure - whether it was resolved or otherwise.

Procedure Outcome Codes (SNOMED CT) (example)
SummaryTrue
Comments

If outcome contains narrative text only, it can be captured using the CodeableConcept.text.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.outboundRelationship[typeCode=OUT].target.text
Procedure.report
DefinitionThis could be a histology result, pathology report, surgical report, etc..
Cardinality0...*
TypeReference(DiagnosticReport)
Comments

There could potentially be multiple reports - e.g. if this was a procedure which took multiple biopsies resulting in a number of anatomical pathology reports.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN]
Procedure.complication
DefinitionAny complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues.
Cardinality0...*
TypeCodeableConcept
Binding

Codes describing complications that resulted from a procedure.

Condition/Problem/Diagnosis Codes (example)
Comments

If complications are only expressed by the narrative text, they can be captured using the CodeableConcept.text.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.outboundRelationship[typeCode=OUTC].target[classCode=OBS, code="complication", moodCode=EVN].value
Procedure.complication.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.complication.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Procedure.complication.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Procedure.complication.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
Binding

A code from the SNOMED Clinical Terminology UK.

Care Connect Condition Code (required)
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Procedure.complication.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.complication.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Procedure.complication.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Procedure.complication.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Procedure.complication.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Procedure.complication.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Procedure.complication.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Procedure.complication.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Procedure.complication.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Procedure.complicationDetail
DefinitionAny complications that occurred during the procedure, or in the immediate post-performance period.
Cardinality0...*
TypeReference(CareConnect-Condition-1)
Requirements

This is used to document a condition that is a result of the procedure, not the condition that was the reason for the procedure.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.outboundRelationship[typeCode=OUTC].target[classCode=OBS, code="complication", moodCode=EVN].value
Procedure.followUp
DefinitionIf the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used.
Cardinality0...*
TypeCodeableConcept
Binding

Specific follow up required for a procedure e.g. removal of sutures.

Procedure Follow up Codes (SNOMED CT) (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.outboundRelationship[typeCode=COMP].target[classCode=ACT, moodCode=INT].code
Procedure.note
DefinitionAny other notes about the procedure. E.g. the operative notes.
Cardinality0...*
TypeAnnotation
Comments

For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act
  • v2:NTE
  • rim:.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value
Procedure.note.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.note.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Procedure.note.author[x]
DefinitionThe individual responsible for making the annotation.
Cardinality0...1
TypeReference(RelatedPerson | CareConnect-Patient-1 | CareConnect-Practitioner-1), string
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.participant[typeCode=AUT].role
Procedure.note.time
DefinitionIndicates when this particular annotation was made.
Cardinality0...1
TypedateTime
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.effectiveTime
Procedure.note.text
DefinitionThe text of the annotation.
Cardinality1...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.text
Procedure.focalDevice
DefinitionA device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure.
Cardinality0...*
TypeBackboneElement
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.participation[typeCode=DEV].role[classCode=MANU]
Procedure.focalDevice.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Procedure.focalDevice.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Procedure.focalDevice.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Procedure.focalDevice.action
DefinitionThe kind of change that happened to the device during the procedure.
Cardinality0...1
TypeCodeableConcept
Binding

A kind of change that happened to the device during the procedure.

Procedure Device Action Codes (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="procedure device action"].value=:procedure device action codes
Procedure.focalDevice.manipulated
DefinitionThe device that was manipulated (changed) during the procedure.
Cardinality1...1
TypeReference(Device)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.participation[typeCode=DEV].role[classCode=SDLOC]
Procedure.usedReference
DefinitionIdentifies medications, devices and any other substance used as part of the procedure.
Cardinality0...*
TypeReference(Device | Substance | CareConnect-Medication-1)
Requirements

Used for tracking contamination, etc.

Comments

For devices actually implanted or removed, use Procedure.device.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.participation[typeCode=DEV].role[classCode=MANU] or .participation[typeCode=CSM].role[classCode=ADMM] (for Medication or Substance)
Procedure.usedCode
DefinitionIdentifies coded items that were used as part of the procedure.
Cardinality0...*
TypeCodeableConcept
Binding

Codes describing items used during a procedure

FHIR Device Types (example)
Comments

For devices actually implanted or removed, use Procedure.device.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim:participation[typeCode=Dev].role[classCode=MANU]

Profile: CareConnect-GPC-ReferralRequest-1

Important: This profile is not in scope for iteration 1 and MUST NOT be sent by provider systems, nor ingested by consuming systems. Should the provider (sender) includes this profile in the payload then the consumer (receiver) MUST reject the entire ITK3 payload with the ITK3 acknowledgement response code 20009 - Payload validation failure.
versionIdΣ0..1id
lastUpdatedΣ0..1instant
profileΣ1..*uri
securityΣ0..*CodingBinding
tagΣ0..*Coding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
definitionΣ I0..*Reference(ActivityDefinition | PlanDefinition)
basedOnΣ I0..*Reference(CareConnect-GPC-ReferralRequest-1 | CareConnect-CarePlan-1 | CareConnect-GPC-ProcedureRequest-1)
replacesΣ I0..*Reference(CareConnect-GPC-ReferralRequest-1)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(CareConnect-GPC-Organization-1)
statusΣ ?!1..1codeBindingFixed Value
intentΣ ?!1..1codeBindingFixed Value
typeΣ0..1CodeableConcept
priorityΣ0..1codeBinding
serviceRequestedΣ0..*CodeableConcept
subjectΣ I1..1Reference(CareConnect-GPC-Patient-1)
contextS Σ I0..1Reference(CareConnect-EpisodeOfCare-1 | CareConnect-GPC-Encounter-1)
occurrenceDateTimedateTime
occurrencePeriodPeriod
authoredOnS Σ0..1dateTime
agentΣ I1..1Reference(Device | CareConnect-RelatedPerson-1 | CareConnect-GPC-Organization-1 | CareConnect-GPC-Patient-1 | CareConnect-GPC-Practitioner-1)
onBehalfOfΣ I0..1Reference(CareConnect-GPC-Organization-1)
specialty0..1CodeableConcept
recipientS Σ I0..*Reference(CareConnect-HealthcareService-1 | CareConnect-GPC-Organization-1 | CareConnect-GPC-Practitioner-1)
reasonCodeS Σ0..*CodeableConceptBinding
reasonReferenceΣ I0..*Reference(CareConnect-GPC-Condition-1 | CareConnect-GPC-Observation-1 | CareConnect-GPC-ProblemHeader-Condition-1)
descriptionS0..1string
supportingInfoS I0..*Reference(Resource)
authorStringstring
authorReferenceReference(CareConnect-RelatedPerson-1 | CareConnect-GPC-Patient-1 | CareConnect-GPC-Practitioner-1)
timeΣ0..1dateTime
text1..1string
relevantHistoryI0..*Reference(Provenance)
Condition
DefinitionA clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
Cardinality0...*
Invariants
  • dom-2:If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1:If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4:If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3:If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
  • con-4:If condition is abated, then clinicalStatus must be either inactive, resolved, or remission
    abatement.empty() or (abatement as boolean).not() or clinicalStatus='resolved' or clinicalStatus='remission' or clinicalStatus='inactive'
  • con-3:Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error
    verificationStatus='entered-in-error' or clinicalStatus.exists()
Mappings
  • rim:Entity. Role, or Act
  • sct-concept:< 243796009 |Situation with explicit context|: 246090004 |Associated finding| = ((< 404684003 |Clinical finding| MINUS << 420134006 |Propensity to adverse reactions| MINUS << 473010000 |Hypersensitivity condition| MINUS << 79899007 |Drug interaction| MINUS << 69449002 |Drug action| MINUS << 441742003 |Evaluation finding| MINUS << 307824009 |Administrative status| MINUS << 385356007 |Tumor stage finding|) OR < 272379006 |Event|)
  • v2:PPR message
  • rim:Observation[classCode=OBS, moodCode=EVN, code=ASSERTION, value<Diagnosis]
  • w5:clinical.general
Condition.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Condition.meta.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.meta.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.meta.versionId
DefinitionThe version specific identifier, as it appears in the version portion of the URL. This values changes when the resource is created, updated, or deleted.
Cardinality0...1
Typeid
SummaryTrue
Comments

The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.meta.lastUpdated
DefinitionWhen the resource last changed - e.g. when the version changed.
Cardinality0...1
Typeinstant
SummaryTrue
Comments

This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.meta.profile
DefinitionA list of profiles (references to [StructureDefinition](structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url]().
Cardinality1...*
Typeuri
SummaryTrue
Comments

It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.meta.security
DefinitionSecurity labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
Cardinality0...*
TypeCoding
Binding

Security Labels from the Healthcare Privacy and Security Classification System.

All Security Labels (extensible)
SummaryTrue
Comments

The security labels can be updated without changing the stated version of the resource The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
Condition.meta.tag
DefinitionTags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
Cardinality0...*
TypeCoding
Binding

Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"

Common Tags (example)
SummaryTrue
Comments

The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
Condition.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

Common Languages (extensible)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.text
DefinitionA human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
  • rim:Act.text?
Condition.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.

Mappings
  • rim:Entity. Role, or Act
  • rim:N/A
Condition.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.extension:actualProblem
DefinitionA reference to a Condition, Observation, Immunization, DiagnosticReport, MedicationStatement, ReferralRequest, FamilyMemberHistory or AllergyIntolerance that is the actual problem.
Cardinality0...1
TypeExtension(Reference(CareConnect-GPC-AllergyIntolerance-1 | CareConnect-GPC-Condition-1 | CareConnect-GPC-Observation-1 | CareConnect-GPC-Immunization-1 | CareConnect-GPC-DiagnosticReport-1 | CareConnect GPC MedicationStatement1 | CareConnect-GPC-ReferralRequest-1 | CareConnect-FamilyMemberHistory-1))
Must SupportTrue
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.

Invariants
  • 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
Condition.extension:relatedProblemHeader
DefinitionRelated problem header condition (target).
Cardinality0...*
TypeExtension(Complex)
Must SupportTrue
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.

Invariants
  • 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
Condition.extension:relatedProblemHeader.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.extension:relatedProblemHeader.extension
DefinitionMay 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.
Cardinality1...*
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.extension:relatedProblemHeader.extension:type
DefinitionMay 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.

Invariants
  • 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
Condition.extension:relatedProblemHeader.extension:type.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.extension:relatedProblemHeader.extension:type.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.extension:relatedProblemHeader.extension:type.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

type

Mappings
  • rim:n/a
  • rim:N/A
Condition.extension:relatedProblemHeader.extension:type.value[x]:valueCode
DefinitionCondition relationship type.
Cardinality0...1
Typecode
Binding

A set of codes specifying the kind of relationship that exists with a target problem header condition.

Care Connect Condition Relationship (required)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Condition.extension:relatedProblemHeader.extension:target
DefinitionMay 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.
Cardinality1...1
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.

Invariants
  • 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
Condition.extension:relatedProblemHeader.extension:target.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.extension:relatedProblemHeader.extension:target.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.extension:relatedProblemHeader.extension:target.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

target

Mappings
  • rim:n/a
  • rim:N/A
Condition.extension:relatedProblemHeader.extension:target.value[x]:valueReference
DefinitionTarget problem header condition.
Cardinality0...1
TypeReference(CareConnect-ProblemHeader-Condition-1)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Condition.extension:relatedProblemHeader.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-RelatedProblemHeader-1

Mappings
  • rim:n/a
  • rim:N/A
Condition.extension:relatedProblemHeader.value[x]
DefinitionValue of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
Cardinality0...0
TypeReference( | CareConnect-GPC-Immunization-1 | CareConnect-GPC-Observation-1 | CareConnect-GPC-Specimen-1 | CareConnect-GPC-AllergyIntolerance-1 | CareConnect-GPC-Organization-1 | CareConnect-GPC-ProcedureRequest-1 | CareConnect-GPC-List-1 | CareConnect-GPC-Encounter-1), base64Binary, boolean, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, SampledData, Signature, Timing, Meta
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Condition.extension:problemSignificance
DefinitionAn extension to record the significance of the problem header condition.
Cardinality0...1
TypeExtension(code)
Must SupportTrue
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.

Invariants
  • 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
Condition.extension:relatedClinicalContent
DefinitionA reference to any resource that provides related clinical content to the Condition.
Cardinality0...*
TypeExtension(Reference())
Must SupportTrue
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.

Invariants
  • 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
Condition.extension:relatedClinicalContent.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.extension:relatedClinicalContent.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.extension:relatedClinicalContent.url
DefinitionSource 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.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-RelatedClinicalContent-1

Mappings
  • rim:n/a
  • rim:N/A
Condition.extension:relatedClinicalContent.value[x]:valueReference
DefinitionA reference to any resource that provides related clinical content to the Condition.
Cardinality0...1
TypeReference()
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:N/A
Condition.extension:relatedClinicalContent.value[x]
DefinitionBase definition for all elements in a resource.
Cardinality0...*
TypeReference( | CareConnect-GPC-Immunization-1 | CareConnect-GPC-Observation-1 | CareConnect-GPC-Specimen-1 | CareConnect-GPC-AllergyIntolerance-1 | CareConnect-GPC-Organization-1 | CareConnect-GPC-ProcedureRequest-1 | CareConnect-GPC-List-1 | CareConnect-GPC-Encounter-1), base64Binary, boolean, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, SampledData, Signature, Timing, Meta
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.identifier
DefinitionThis records identifiers associated with this condition that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).
Cardinality1...*
TypeIdentifier
SummaryTrue
Requirements

Need to allow connection to a wider workflow.

Invariants
  • 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:.id
  • w5:id
Condition.identifier.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.identifier.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Role.code or implied by context
Condition.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.

Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2:CX.5
  • rim:Role.code or implied by context
Condition.identifier.system
DefinitionEstablishes the namespace for the value - that is, a URL that describes a set values that are unique.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim:n/a
  • v2:CX.4 / EI-2-4
  • rim:II.root or Role.id.root
  • servd:./IdentifierType
Condition.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality1...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Examples
General

123456


Mappings
  • rim:n/a
  • v2:CX.1 / EI.1
  • rim:II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd:./Value
Condition.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • per-1:If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim:n/a
  • v2:DR
  • rim:IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2:CX.7 + CX.8
  • rim:Role.effectiveTime or implied by context
  • servd:./StartDate and ./EndDate
Condition.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(CareConnect-Organization-1)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:CX.4 / (CX.4,CX.9,CX.10)
  • rim:II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd:./IdentifierIssuingAuthority
Condition.clinicalStatus
DefinitionThe clinical status of the condition.
Cardinality1...1
Typecode
Binding

The clinical status of the condition or diagnosis.

Condition Clinical Status Codes (required)
ModifierTrue
SummaryTrue
Comments

This element is labeled as a modifier because the status contains codes that mark the condition as not currently valid or of concern.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • sct-concept:< 303105007 |Disease phases|
  • v2:PRB-14 / DG1-6
  • rim:Observation ACT .inboundRelationship[typeCode=COMP].source[classCode=OBS, code="clinicalStatus", moodCode=EVN].value
  • w5:status
Condition.verificationStatus
DefinitionThe verification status to support the clinical status of the condition.
Cardinality0...1
Typecode
Binding

The verification status to support or decline the clinical status of the condition or diagnosis.

ConditionVerificationStatus (required)
ModifierTrue
SummaryTrue
Comments

verificationStatus is not required. For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status.

This element is labeled as a modifier because the status contains the code refuted and entered-in-error that mark the Condition as not currently valid.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • sct-concept:< 410514004 |Finding context value|
  • v2:PRB-13
  • rim:Observation ACT .inboundRelationship[typeCode=COMP].source[classCode=OBS, code="verificationStatus", moodCode=EVN].value
  • sct-attr:408729009
  • w5:status
Condition.category
DefinitionA category assigned to the condition.
Cardinality1...1
TypeCodeableConcept
Binding

A category assigned to the condition.

Care Connect Condition Category (required)
Comments

The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 404684003 |Clinical finding|
  • v2:'problem' if from PRB-3. 'diagnosis' if from DG1 segment in PV1 message
  • rim:.code
  • w5:class
Condition.category.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.category.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.category.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Condition.category.coding.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.category.coding.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.category.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

https://fhir.hl7.org.uk/STU3/CodeSystem/CareConnect-ConditionCategory-1

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Condition.category.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Condition.category.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

problem-list-item

Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Condition.category.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

Problem List Item

Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Condition.category.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Condition.category.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Condition.severity
DefinitionA subjective assessment of the severity of the condition as evaluated by the clinician.
Cardinality0...1
TypeCodeableConcept
Binding

A subjective assessment of the severity of the condition as evaluated by the clinician.

Condition/Diagnosis Severity (preferred)
Comments

Coding of the severity with a terminology is preferred, where possible.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 272141005 |Severities|
  • v2:PRB-26 / ABS-3
  • rim:Can be pre/post-coordinated into value. Or ./inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="severity"].value
  • sct-attr:246112005
  • w5:grade
Condition.code
DefinitionIdentification of the condition, problem or diagnosis.
Cardinality1...1
TypeCodeableConcept
Binding

Identification of the condition or diagnosis.

Condition/Problem/Diagnosis Codes (example)
SummaryTrue
Aliastype
Requirements

0..1 to account for primarily narrative only resources.

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:code 246090004 |Associated finding| (< 404684003 |Clinical finding| MINUS << 420134006 |Propensity to adverse reactions| MINUS << 473010000 |Hypersensitivity condition| MINUS << 79899007 |Drug interaction| MINUS << 69449002 |Drug action| MINUS << 441742003 |Evaluation finding| MINUS << 307824009 |Administrative status| MINUS << 385356007 |Tumor stage finding|) OR < 413350009 |Finding with explicit context| OR < 272379006 |Event|
  • v2:PRB-3
  • rim:.value
  • sct-attr:246090004
  • w5:what
Condition.code.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.code.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.code.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

SlicingUnordered, Open, by system(Value)
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Condition.code.coding:snomedCT
DefinitionA reference to a code defined by a terminology system.
Cardinality0...1
TypeCoding
Binding

A code from the SNOMED Clinical Terminology UK

Care Connect Condition Code (required)
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim:CV
  • orim:fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2:C*E.1-8, C*E.10-22
  • rim:union(., ./translation)
  • orim:fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Condition.code.coding:snomedCT.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.code.coding:snomedCT.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.code.coding:snomedCT.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
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.

Invariants
  • 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
Condition.code.coding:snomedCT.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Fixed Value

http://snomed.info/sct

Mappings
  • rim:n/a
  • v2:C*E.3
  • rim:./codeSystem
  • orim:fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Condition.code.coding:snomedCT.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.7
  • rim:./codeSystemVersion
  • orim:fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Condition.code.coding:snomedCT.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.1
  • rim:./code
  • orim:fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Condition.code.coding:snomedCT.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality1...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.2 - but note this is not well followed
  • rim:CV.displayName
  • orim:fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Condition.code.coding:snomedCT.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:Sometimes implied by being first
  • rim:CD.codingRationale
  • orim:fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Condition.code.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:C*E.9. But note many systems use C*E.2 for this
  • rim:./originalText[mediaType/code="text/plain"]/data
  • orim:fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Condition.bodySite
DefinitionThe anatomical location where this condition manifests itself.
Cardinality0...*
TypeCodeableConcept
Binding

Codes describing anatomical locations. May include laterality.

SNOMED CT Body Structures (example)
SummaryTrue
Comments

Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension body-site-instance. May be a summary code, or a reference to a very precise definition of the location, or both.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 442083009 |Anatomical or acquired body structure|
  • rim:.targetBodySiteCode
  • sct-attr:363698007
Condition.subject
DefinitionIndicates the patient or group who the condition record is associated with.
Cardinality1...1
TypeReference(CareConnect-GPC-Patient-1)
SummaryTrue
Aliaspatient
Requirements

Group is typically used for veterinary or public health use cases.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PID-3
  • rim:.participation[typeCode=SBJ].role[classCode=PAT]
  • w5:who.focus
Condition.context
DefinitionEncounter during which the condition was first asserted.
Cardinality0...1
TypeReference(CareConnect-Encounter-1)
Must SupportTrue
SummaryTrue
Aliasencounter
Comments

This record indicates the encounter this particular record is associated with. In the case of a "new" diagnosis reflecting ongoing/revised information about the condition, this might be distinct from the first encounter in which the underlying condition was first "known".

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:PV1-19 (+PV1-54)
  • rim:.inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
  • w5:context
Condition.onset[x]
DefinitionEstimated or actual date or date-time the condition began, in the opinion of the clinician.
Cardinality0...1
TypedateTime, Age, Period, Range, string
Must SupportTrue
SummaryTrue
Comments

Age is generally used when the patient reports an age at which the Condition began to occur.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:PRB-16
  • rim:.effectiveTime.low or .inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="age at onset"].value
  • w5:when.init
Condition.abatement[x]
DefinitionThe date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.
Cardinality0...1
TypedateTime, Age, boolean, Period, Range, string
Must SupportTrue
Comments

There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • rim:.effectiveTime.high or .inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="age at remission"].value or .inboundRelationship[typeCode=SUBJ]source[classCode=CONC, moodCode=EVN].status=completed
  • w5:when.done
Condition.assertedDate
DefinitionThe date on which the existance of the Condition was first asserted or acknowledged.
Cardinality1...1
TypedateTime
SummaryTrue
Comments

The assertedDate represents the date when this particular Condition record was created in the EHR, not the date of the most recent update in terms of when severity, abatement, etc. were specified.  The date of the last record modification can be retrieved from the resource metadata.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:REL-11
  • rim:.participation[typeCode=AUT].time
  • w5:when.recorded
Condition.asserter
DefinitionIndividual who is making the condition statement.
Cardinality1...1
TypeReference(CareConnect-Practitioner-1)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2:REL-7.1 identifier + REL-7.12 type code
  • rim:.participation[typeCode=AUT].role
  • w5:who.author
Condition.stage
DefinitionClinical stage or grade of a condition. May include formal severity assessments.
Cardinality0...1
TypeBackboneElement
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • con-1:Stage SHALL have summary or assessment
    summary.exists() or assessment.exists()
Mappings
  • rim:n/a
  • rim:./inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="stage/grade"]
Condition.stage.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.stage.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.stage.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Condition.stage.summary
DefinitionA simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific.
Cardinality0...1
TypeCodeableConcept
Binding

Codes describing condition stages (e.g. Cancer stages).

Condition Stage (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 254291000 |Staging and scales|
  • v2:PRB-14
  • rim:.value
Condition.stage.assessment
DefinitionReference to a formal record of the evidence on which the staging assessment is based.
Cardinality0...*
TypeReference(ClinicalImpression | DiagnosticReport | Observation)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.self
Condition.evidence
DefinitionSupporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed.
Cardinality0...*
TypeBackboneElement
Comments

The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • con-2:evidence SHALL have code or details
    code.exists() or detail.exists()
Mappings
  • rim:n/a
  • rim:.outboundRelationship[typeCode=SPRT].target[classCode=OBS, moodCode=EVN]
Condition.evidence.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.evidence.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.evidence.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

Invariants
  • 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
Condition.evidence.code
DefinitionA manifestation or symptom that led to the recording of this condition.
Cardinality0...*
TypeCodeableConcept
Binding

Codes that describe the manifestation or symptoms of a condition.

Manifestation and Symptom Codes (example)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:CE/CNE/CWE
  • rim:CD
  • orim:fhir:CodeableConcept rdfs:subClassOf dt:CD
  • sct-concept:< 404684003 |Clinical finding|
  • rim:[code="diagnosis"].value
  • w5:why
Condition.evidence.detail
DefinitionLinks to other relevant information, including pathology reports.
Cardinality0...*
TypeReference(Resource)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1:SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim:n/a
  • rim:The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim:.self
  • w5:why
Condition.note
DefinitionAdditional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis.
Cardinality0...*
TypeAnnotation
Must SupportTrue
Comments

For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act
  • v2:NTE child of PRB
  • rim:.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value
Condition.note.id
Definitionunique 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

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
Condition.note.extension
DefinitionMay 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.

SlicingUnordered, Open, by url(Value)
Invariants
  • 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
Condition.note.author[x]
DefinitionThe individual responsible for making the annotation.
Cardinality0...1
TypeReference(RelatedPerson | CareConnect-Practitioner-1 | CareConnect-Patient-1), string
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.participant[typeCode=AUT].role
Condition.note.time
DefinitionIndicates when this particular annotation was made.
Cardinality0...1
TypedateTime
SummaryTrue
Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.effectiveTime
Condition.note.text
DefinitionThe text of the annotation.
Cardinality1...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1:All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim:n/a
  • v2:N/A
  • rim:Act.text

back to top