Blood Glucose Observation
Profile (bg-observation)
Measurement informing about a patient’s glucose level. These are clinical observations that can be measured by the patient or the device.
Below is the category
used for this Observation:
System | Code | Display |
---|---|---|
http://roche.com/fhir/rdc/cs | clinical-observation | Clinical Observation |
The code of blood glucose observations is mentioned below:
System | Code | Display |
---|---|---|
http://loinc.org | 41653-7 | Glucose [Mass/volume] in Capillary blood by Glucometer |
http://snomed.info/sct | 362943005 | Manual method (qualifier value) |
BG observation resource subject
element will be mapped to Patient because this observation is about and into who record the observation is placed.
device
element will be mapped to DeviceMetric resource.
Blood glucose measurements are captured in the valueQuantity
element. effectiveDateTime
element shows the time the observation has been taken place, at the current time zone.
The related
element is used to capture related Observations, such as Carbs Intake Observations, Carbs Advice Observations, Health Events Observations, EWM Observations. It has defined the relation type, with value has-member
, and also has a reference to the related Observation.
Note : For edited use case, If there is any update on any entry, application shall send the updated resource. use shall see the updated details through history. In case of deleted use case the status shall be updated from 'final' to 'cancelled'
Overview
Observation.title: code.text
This is the tree for the bg-observation resource in the RDC EMR Implementation project. You can find the resource on https://simplifier.net/rdcemrintegrations/bg-observation (common profile). Notice that the path in the URL is exactly the same as the placeholder.
bg-observation (Observation) | I | Observation | |
id | Σ | 0..1 | id |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | I | 0..1 | Narrative |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
observationEventTiming | I | 0..* | Extension(CodeableConcept) |
observationReference | I | 0..* | Extension(Complex) |
observationBgmRating | I | 0..* | Extension(CodeableConcept) |
medicationAdministrationTarget | I | 0..* | Extension(Reference(medication-administration)) |
medicationRequestTarget | I | 0..* | Extension(Reference(http://roche.com/fhir/rdc/StructureDefinition/medication-request)) |
registeredTimeStamp | I | 0..* | Extension(dateTime) |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | Σ | 0..1 | uriBinding |
value | Σ | 0..1 | string |
period | Σ I | 0..1 | Period |
assigner | Σ I | 0..1 | Reference(Organization) |
basedOn | Σ I | 0..* | Reference(http://roche.com/fhir/rdc/StructureDefinition/dm-careplan) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | Σ I | 0..1 | string |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
status | Σ ?! | 1..1 | codeBinding |
category | 0..1 | CodeableConceptBinding | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
coding | Σ | 0..* | Coding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ | 0..1 | uri |
version | Σ | 0..1 | string |
code | Σ | 0..1 | code |
display | Σ | 0..1 | string |
userSelected | Σ | 0..1 | boolean |
text | Σ | 0..1 | string |
code | Σ | 1..1 | CodeableConceptBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
coding | Σ | 0..* | Coding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ | 1..1 | uri |
version | Σ | 0..1 | string |
code | Σ | 1..1 | code |
display | Σ | 1..1 | string |
userSelected | Σ | 0..1 | boolean |
text | Σ | 0..1 | string |
subject | Σ I | 1..1 | Reference(http://roche.com/fhir/rdc/StructureDefinition/patient) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | Σ I | 0..1 | string |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
context | I | 0..0 | Reference(Encounter | EpisodeOfCare) |
effective[x] | Σ | 1..1 | |
effectiveDateTime | dateTime | ||
effectivePeriod | Period | ||
issued | Σ | 0..0 | instant |
performer | Σ I | 0..* | Reference(http://roche.com/fhir/rdc/StructureDefinition/patient) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | Σ I | 0..1 | string |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
valueQuantity | Σ I | 0..1 | QuantityBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
value | Σ | 0..1 | decimal |
comparator | Σ ?! | 0..1 | codeBinding |
unit | Σ | 0..1 | string |
system | Σ I | 0..1 | uri |
code | Σ | 0..1 | code |
dataAbsentReason | I | 0..1 | CodeableConceptBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
coding | Σ | 0..* | Coding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ | 0..1 | uri |
version | Σ | 0..1 | string |
code | Σ | 0..1 | code |
display | Σ | 0..1 | string |
userSelected | Σ | 0..1 | boolean |
text | Σ | 0..1 | string |
interpretation | 0..1 | CodeableConceptBinding | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
coding | Σ | 0..* | Coding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ | 0..1 | uri |
version | Σ | 0..1 | string |
code | Σ | 0..1 | code |
display | Σ | 0..1 | string |
userSelected | Σ | 0..1 | boolean |
text | Σ | 0..1 | string |
comment | 0..1 | string | |
bodySite | 0..1 | CodeableConceptBinding | |
method | 0..0 | CodeableConcept | |
specimen | I | 0..0 | Reference(Specimen) |
device | I | 1..1 | Reference(dm-device-metric) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | Σ I | 0..1 | string |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
referenceRange | I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
low | I | 0..1 | SimpleQuantity |
high | I | 0..1 | SimpleQuantity |
type | 0..1 | CodeableConceptBinding | |
appliesTo | 0..* | CodeableConcept | |
age | I | 0..1 | Range |
text | 0..1 | string | |
related | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | 1..1 | codeBinding | |
target | I | 1..1 | Reference(http://roche.com/fhir/rdc/StructureDefinition/observation | http://roche.com/fhir/rdc/StructureDefinition/health-event-observation | bg-observation | EWM-observation) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | Σ I | 0..1 | string |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
component | Σ | 0..0 | BackboneElement |
Fixed values:
Field name | Value |
---|---|
status | final |
Used Roche Custom ValueSets:
- "category" field:
System | Code | Display |
---|---|---|
http://roche.com/fhir/rdc/cs | clinical-observation | Clinical Observation |
- "code" field:
System | Code | Display |
---|---|---|
http://loinc.org | 41653-7 | Glucose [Mass/volume] in Capillary blood by Glucometer |
- "observation-event-timing" extension:
Quantity value bindings:
- "valueQuantity" field:
System | Code | Unit |
---|---|---|
http://roche.com/fhir/rdc/cs | mg/dL | milligram per deciliter |
Details
The below section shows a detailed view of the resource
Observation | |
Definition | Measurements and simple assertions made about a patient, device or other subject. |
Cardinality | 0...* |
Alias | Vital 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 |
|
Mappings |
|
Observation.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | id |
Summary | True |
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 |
|
Mappings |
|
Observation.meta | |
Definition | The 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. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Observation.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
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 |
|
Mappings |
|
Observation.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
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 |
|
Mappings |
|
Observation.text | |
Definition | A 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. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, 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 |
|
Mappings |
|
Observation.contained | |
Definition | These 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. |
Cardinality | 0...* |
Type | Resource |
Alias | inline 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 |
|
Observation.extension | |
Definition | May 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. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.extension:observationEventTiming | |
Definition | Optional Extension Element - found in all resources. |
Cardinality | 0...* |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that 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 |
|
Mappings |
|
Observation.extension:observationReference | |
Definition | Optional Extension Element - found in all resources. |
Cardinality | 0...* |
Type | Extension(Complex) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that 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 |
|
Mappings |
|
Observation.extension:observationBgmRating | |
Definition | Optional Extension Element - found in all resources. |
Cardinality | 0...* |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that 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 |
|
Mappings |
|
Observation.extension:medicationAdministrationTarget | |
Definition | Optional Extension Element - found in all resources. |
Cardinality | 0...* |
Type | Extension(Reference(medication-administration)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that 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 |
|
Mappings |
|
Observation.extension:medicationRequestTarget | |
Definition | Optional Extension Element - found in all resources. |
Cardinality | 0...* |
Type | Extension(Reference(http://roche.com/fhir/rdc/StructureDefinition/medication-request)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that 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 |
|
Mappings |
|
Observation.extension:registeredTimeStamp | |
Definition | Optional Extension Element - found in all resources. |
Cardinality | 0...* |
Type | Extension(dateTime) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that 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 |
|
Mappings |
|
Observation.modifierExtension | |
Definition | May 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. |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.identifier | |
Definition | A unique identifier assigned to this observation. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Requirements | Allows observations to be distinguished and referenced. |
Invariants |
|
Mappings |
|
Observation.identifier.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.identifier.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.identifier.use | |
Definition | The purpose of this identifier. |
Cardinality | 0...1 |
Type | code |
Binding | Identifies the purpose for this identifier, if known . IdentifierUse (required) |
Modifier | True |
Summary | True |
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 |
|
Mappings |
|
Observation.identifier.type | |
Definition | A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. |
Cardinality | 0...1 |
Type | CodeableConcept |
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) |
Summary | True |
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 |
|
Mappings |
|
Observation.identifier.system | |
Definition | Establishes the namespace for the value - that is, a URL that describes a set values that are unique. |
Cardinality | 0...1 |
Type | uri |
Binding | ?? (required) |
Summary | True |
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 |
|
Examples | General http://www.acme.com/identifiers/patient |
Mappings |
|
Observation.identifier.value | |
Definition | The portion of the identifier typically relevant to the user and which is unique within the context of the system. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Examples | General 123456 |
Mappings |
|
Observation.identifier.period | |
Definition | Time period during which identifier is/was valid for use. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
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 |
|
Mappings |
|
Observation.identifier.assigner | |
Definition | Organization that issued/manages the identifier. |
Cardinality | 0...1 |
Type | Reference(Organization) |
Summary | True |
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 |
|
Mappings |
|
Observation.basedOn | |
Definition | A plan, proposal or order that is fulfilled in whole or in part by this event. |
Cardinality | 0...* |
Type | Reference(http://roche.com/fhir/rdc/StructureDefinition/dm-careplan) |
Summary | True |
Alias | Fulfills |
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 |
|
Mappings |
|
Observation.basedOn.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.basedOn.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.basedOn.reference | |
Definition | A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.basedOn.identifier | |
Definition | An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
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 |
|
Mappings |
|
Observation.basedOn.display | |
Definition | Plain text narrative that identifies the resource in addition to the resource reference. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.status | |
Definition | The status of the result value. |
Cardinality | 1...1 |
Type | code |
Binding | Codes providing the status of an observation. ObservationStatus (required) |
Modifier | True |
Summary | True |
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 |
|
Mappings |
|
Observation.category | |
Definition | A code that classifies the general type of observation being made. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes for high level observation categories. observation-category-type (required) |
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 |
|
Mappings |
|
Observation.category.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.category.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.category.coding | |
Definition | A reference to a code defined by a terminology system. |
Cardinality | 0...* |
Type | Coding |
Summary | True |
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 |
|
Mappings |
|
Observation.category.coding.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.category.coding.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.category.coding.system | |
Definition | The identification of the code system that defines the meaning of the symbol in the code. |
Cardinality | 0...1 |
Type | uri |
Summary | True |
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 |
|
Mappings |
|
Observation.category.coding.version | |
Definition | The 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. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.category.coding.code | |
Definition | A 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). |
Cardinality | 0...1 |
Type | code |
Summary | True |
Requirements | Need to refer to a particular code in the system. |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.category.coding.display | |
Definition | A representation of the meaning of the code in the system, following the rules of the system. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.category.coding.userSelected | |
Definition | Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays). |
Cardinality | 0...1 |
Type | boolean |
Summary | True |
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 |
|
Mappings |
|
Observation.category.text | |
Definition | A 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. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.code | |
Definition | Describes what was observed. Sometimes this is called the observation "name". |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | Codes identifying names of simple observations. ObservationCodes (required) |
Summary | True |
Alias | Name |
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 |
|
Mappings |
|
Observation.code.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.code.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.code.coding | |
Definition | A reference to a code defined by a terminology system. |
Cardinality | 0...* |
Type | Coding |
Summary | True |
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 |
|
Mappings |
|
Observation.code.coding.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.code.coding.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.code.coding.system | |
Definition | The identification of the code system that defines the meaning of the symbol in the code. |
Cardinality | 1...1 |
Type | uri |
Summary | True |
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 |
|
Mappings |
|
Observation.code.coding.version | |
Definition | The 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. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.code.coding.code | |
Definition | A 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). |
Cardinality | 1...1 |
Type | code |
Summary | True |
Requirements | Need to refer to a particular code in the system. |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.code.coding.display | |
Definition | A representation of the meaning of the code in the system, following the rules of the system. |
Cardinality | 1...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.code.coding.userSelected | |
Definition | Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays). |
Cardinality | 0...1 |
Type | boolean |
Summary | True |
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 |
|
Mappings |
|
Observation.code.text | |
Definition | A 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. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.subject | |
Definition | The 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. |
Cardinality | 1...1 |
Type | Reference(http://roche.com/fhir/rdc/StructureDefinition/patient) |
Summary | True |
Requirements | Observations have no value if you don't know who or what they're about. |
Comments | BG Observation -> subject element will be mapped to Patient. Manual Entry Observation -> subject element will be mapped to Patient. |
Invariants |
|
Mappings |
|
Observation.subject.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.subject.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.subject.reference | |
Definition | A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.subject.identifier | |
Definition | An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
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 |
|
Mappings |
|
Observation.subject.display | |
Definition | Plain text narrative that identifies the resource in addition to the resource reference. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.context | |
Definition | The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made. |
Cardinality | 0...0 |
Type | Reference(Encounter | EpisodeOfCare) |
Alias | Encounter |
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 |
|
Mappings |
|
Observation.effective[x] | |
Definition | The 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. |
Cardinality | 1...1 |
Type | dateTime, Period |
Summary | True |
Alias | Occurrence |
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 |
|
Mappings |
|
Observation.issued | |
Definition | The date and time this observation was made available to providers, typically after the results have been reviewed and verified. |
Cardinality | 0...0 |
Type | instant |
Summary | True |
Comments | Updated when the result is updated. |
Invariants |
|
Mappings |
|
Observation.performer | |
Definition | Who was responsible for asserting the observed value as "true". |
Cardinality | 0...* |
Type | Reference(http://roche.com/fhir/rdc/StructureDefinition/patient) |
Summary | True |
Requirements | May give a degree of confidence in the observation and also indicates where follow-up questions should be directed. |
Comments | performer element will be mapped to Patient. |
Invariants |
|
Mappings |
|
Observation.performer.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.performer.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.performer.reference | |
Definition | A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.performer.identifier | |
Definition | An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
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 |
|
Mappings |
|
Observation.performer.display | |
Definition | Plain text narrative that identifies the resource in addition to the resource reference. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.value[x]:valueQuantity | |
Definition | The information determined as a result of making the observation, if the information has a simple value. |
Cardinality | 0...1 |
Type | Quantity |
Binding | MetricUnits (required) |
Summary | True |
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 |
|
Mappings |
|
Observation.value[x]:valueQuantity.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.value[x]:valueQuantity.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.value[x]:valueQuantity.value | |
Definition | The value of the measured amount. The value includes an implicit precision in the presentation of the value. |
Cardinality | 0...1 |
Type | decimal |
Summary | True |
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 |
|
Mappings |
|
Observation.value[x]:valueQuantity.comparator | |
Definition | How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value. |
Cardinality | 0...1 |
Type | code |
Binding | How the Quantity should be understood and represented. QuantityComparator (required) |
Modifier | True |
Summary | True |
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 |
|
Mappings |
|
Observation.value[x]:valueQuantity.unit | |
Definition | A human-readable form of the unit. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.value[x]:valueQuantity.system | |
Definition | The identification of the system that provides the coded form of the unit. |
Cardinality | 0...1 |
Type | uri |
Summary | True |
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 |
|
Mappings |
|
Observation.value[x]:valueQuantity.code | |
Definition | A computer processable form of the unit in some unit representation system. |
Cardinality | 0...1 |
Type | code |
Summary | True |
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 |
|
Mappings |
|
Observation.dataAbsentReason | |
Definition | Provides a reason why the expected value in the element Observation.value[x] is missing. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes specifying why the result (Observation.value[x]) is missing. ?? (required) |
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 |
|
Mappings |
|
Observation.dataAbsentReason.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.dataAbsentReason.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.dataAbsentReason.coding | |
Definition | A reference to a code defined by a terminology system. |
Cardinality | 0...* |
Type | Coding |
Summary | True |
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 |
|
Mappings |
|
Observation.dataAbsentReason.coding.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.dataAbsentReason.coding.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.dataAbsentReason.coding.system | |
Definition | The identification of the code system that defines the meaning of the symbol in the code. |
Cardinality | 0...1 |
Type | uri |
Summary | True |
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 |
|
Mappings |
|
Observation.dataAbsentReason.coding.version | |
Definition | The 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. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.dataAbsentReason.coding.code | |
Definition | A 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). |
Cardinality | 0...1 |
Type | code |
Summary | True |
Requirements | Need to refer to a particular code in the system. |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.dataAbsentReason.coding.display | |
Definition | A representation of the meaning of the code in the system, following the rules of the system. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.dataAbsentReason.coding.userSelected | |
Definition | Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays). |
Cardinality | 0...1 |
Type | boolean |
Summary | True |
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 |
|
Mappings |
|
Observation.dataAbsentReason.text | |
Definition | A 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. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.interpretation | |
Definition | The 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. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes identifying interpretations of observations. Observation Interpretation Codes (extensible) |
Alias | Abnormal 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 |
|
Mappings |
|
Observation.interpretation.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.interpretation.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.interpretation.coding | |
Definition | A reference to a code defined by a terminology system. |
Cardinality | 0...* |
Type | Coding |
Summary | True |
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 |
|
Mappings |
|
Observation.interpretation.coding.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.interpretation.coding.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.interpretation.coding.system | |
Definition | The identification of the code system that defines the meaning of the symbol in the code. |
Cardinality | 0...1 |
Type | uri |
Summary | True |
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 |
|
Mappings |
|
Observation.interpretation.coding.version | |
Definition | The 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. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.interpretation.coding.code | |
Definition | A 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). |
Cardinality | 0...1 |
Type | code |
Summary | True |
Requirements | Need to refer to a particular code in the system. |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.interpretation.coding.display | |
Definition | A representation of the meaning of the code in the system, following the rules of the system. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.interpretation.coding.userSelected | |
Definition | Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays). |
Cardinality | 0...1 |
Type | boolean |
Summary | True |
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 |
|
Mappings |
|
Observation.interpretation.text | |
Definition | A 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. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.comment | |
Definition | May 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. |
Cardinality | 0...1 |
Type | string |
Requirements | Need to be able to provide free text additional information. |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.bodySite | |
Definition | Indicates the site on the subject's body where the observation was made (i.e. the target site). |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes describing anatomical locations. May include laterality. ?? (required) |
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 |
|
Mappings |
|
Observation.method | |
Definition | Indicates the mechanism used to perform the observation. |
Cardinality | 0...0 |
Type | CodeableConcept |
Binding | Methods for simple observations. Observation Methods (example) |
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 |
|
Mappings |
|
Observation.specimen | |
Definition | The specimen that was used when this observation was made. |
Cardinality | 0...0 |
Type | Reference(Specimen) |
Comments | Should only be used if not implicit in code found in |
Invariants |
|
Mappings |
|
Observation.device | |
Definition | The device used to generate the observation data. |
Cardinality | 1...1 |
Type | Reference(dm-device-metric) |
Comments | BG Observation -> device element will be mapped to DeviceMetric Manual Entry Observation -> device element will be mapped to DeviceMetric |
Invariants |
|
Mappings |
|
Observation.device.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.device.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.device.reference | |
Definition | A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.device.identifier | |
Definition | An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
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 |
|
Mappings |
|
Observation.device.display | |
Definition | Plain text narrative that identifies the resource in addition to the resource reference. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.referenceRange | |
Definition | Guidance on how to interpret the value by comparison to a normal or recommended range. |
Cardinality | 0...1 |
Type | BackboneElement |
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 |
|
Mappings |
|
Observation.referenceRange.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.referenceRange.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.referenceRange.modifierExtension | |
Definition | May 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. |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, 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 |
|
Mappings |
|
Observation.referenceRange.low | |
Definition | The 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). |
Cardinality | 0...1 |
Type | SimpleQuantity |
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 |
|
Mappings |
|
Observation.referenceRange.high | |
Definition | The 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). |
Cardinality | 0...1 |
Type | SimpleQuantity |
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 |
|
Mappings |
|
Observation.referenceRange.type | |
Definition | Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range. |
Cardinality | 0...1 |
Type | CodeableConcept |
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 |
|
Mappings |
|
Observation.referenceRange.appliesTo | |
Definition | Codes 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. |
Cardinality | 0...* |
Type | CodeableConcept |
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 |
|
Mappings |
|
Observation.referenceRange.age | |
Definition | The 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. |
Cardinality | 0...1 |
Type | Range |
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 |
|
Mappings |
|
Observation.referenceRange.text | |
Definition | Text 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'. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.related | |
Definition | A reference to another resource (usually another Observation) whose relationship is defined by the relationship type code. |
Cardinality | 0...* |
Type | BackboneElement |
Summary | True |
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 |
|
Mappings |
|
Observation.related.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.related.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.related.modifierExtension | |
Definition | May 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. |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, 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 |
|
Mappings |
|
Observation.related.type | |
Definition | A code specifying the kind of relationship that exists with the target resource. |
Cardinality | 1...1 |
Type | code |
Binding | Codes specifying how two observations are related. ObservationRelationshipType (required) |
Requirements | A relationship type SHOULD be provided. |
Comments | The "derived-from" type is the only logical choice when referencing the QuestionnaireAnswer resource. |
Invariants |
|
Mappings |
|
Observation.related.target | |
Definition | A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation. |
Cardinality | 1...1 |
Type | Reference(http://roche.com/fhir/rdc/StructureDefinition/observation | http://roche.com/fhir/rdc/StructureDefinition/health-event-observation | bg-observation | EWM-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 |
|
Mappings |
|
Observation.related.target.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.related.target.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.related.target.reference | |
Definition | A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.related.target.identifier | |
Definition | An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
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 |
|
Mappings |
|
Observation.related.target.display | |
Definition | Plain text narrative that identifies the resource in addition to the resource reference. |
Cardinality | 0...1 |
Type | string |
Summary | True |
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 |
|
Mappings |
|
Observation.component | |
Definition | Some 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. |
Cardinality | 0...0 |
Type | BackboneElement |
Summary | True |
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 |
|
Mappings |
|
Observation.component.id | |
Definition | unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings may not exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.component.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.component.modifierExtension | |
Definition | May 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. |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, 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 |
|
Mappings |
|
Observation.component.code | |
Definition | Describes what was observed. Sometimes this is called the observation "code". |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | Codes identifying names of simple observations. LOINC Codes (example) |
Summary | True |
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 |
|
Mappings |
|
Observation.component.value[x]:valueQuantity | |
Definition | The information determined as a result of making the observation, if the information has a simple value. |
Cardinality | 0...1 |
Type | Quantity |
Summary | True |
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 |
|
Mappings |
|
Observation.component.dataAbsentReason | |
Definition | Provides a reason why the expected value in the element Observation.value[x] is missing. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes specifying why the result (Observation.value[x]) is missing. Observation Value Absent Reason (extensible) |
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 |
|
Mappings |
|
Observation.component.interpretation | |
Definition | The 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. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes identifying interpretations of observations. Observation Interpretation Codes (extensible) |
Alias | Abnormal 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 |
|
Mappings |
|
Observation.component.referenceRange | |
Definition | Guidance on how to interpret the value by comparison to a normal or recommended range. |
Cardinality | 0...* |
Type | see (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 |
|
Table
The below section shows a table view of the resource
Observation | 0..* | |
Observation.id | id | 0..1 |
Observation.meta | Meta | 0..1 |
Observation.implicitRules | uri | 0..1 |
Observation.language | code | 0..1 |
Observation.text | Narrative | 0..1 |
Observation.contained | Resource | 0..* |
Observation.extension | Extension | 0..* |
Observation.extension | Extension | 0..* |
Observation.extension | Extension | 0..* |
Observation.extension | Extension | 0..* |
Observation.extension | Extension | 0..* |
Observation.extension | Extension | 0..* |
Observation.extension | Extension | 0..* |
Observation.modifierExtension | Extension | 0..* |
Observation.identifier | Identifier | 0..1 |
Observation.identifier.id | string | 0..1 |
Observation.identifier.extension | Extension | 0..* |
Observation.identifier.use | code | 0..1 |
Observation.identifier.type | CodeableConcept | 0..1 |
Observation.identifier.system | uri | 0..1 |
Observation.identifier.value | string | 0..1 |
Observation.identifier.period | Period | 0..1 |
Observation.identifier.assigner | Reference(Organization) | 0..1 |
Observation.basedOn | Reference(http://roche.com/fhir/rdc/StructureDefinition/dm-careplan) | 0..* |
Observation.basedOn.id | string | 0..1 |
Observation.basedOn.extension | Extension | 0..* |
Observation.basedOn.reference | string | 0..1 |
Observation.basedOn.identifier | Identifier | 0..1 |
Observation.basedOn.display | string | 0..1 |
Observation.status | code | 1..1 |
Observation.category | CodeableConcept | 0..1 |
Observation.category.id | string | 0..1 |
Observation.category.extension | Extension | 0..* |
Observation.category.coding | Coding | 0..* |
Observation.category.coding.id | string | 0..1 |
Observation.category.coding.extension | Extension | 0..* |
Observation.category.coding.system | uri | 0..1 |
Observation.category.coding.version | string | 0..1 |
Observation.category.coding.code | code | 0..1 |
Observation.category.coding.display | string | 0..1 |
Observation.category.coding.userSelected | boolean | 0..1 |
Observation.category.text | string | 0..1 |
Observation.code | CodeableConcept | 1..1 |
Observation.code.id | string | 0..1 |
Observation.code.extension | Extension | 0..* |
Observation.code.coding | Coding | 0..* |
Observation.code.coding.id | string | 0..1 |
Observation.code.coding.extension | Extension | 0..* |
Observation.code.coding.system | uri | 1..1 |
Observation.code.coding.version | string | 0..1 |
Observation.code.coding.code | code | 1..1 |
Observation.code.coding.display | string | 1..1 |
Observation.code.coding.userSelected | boolean | 0..1 |
Observation.code.text | string | 0..1 |
Observation.subject | Reference(http://roche.com/fhir/rdc/StructureDefinition/patient) | 1..1 |
Observation.subject.id | string | 0..1 |
Observation.subject.extension | Extension | 0..* |
Observation.subject.reference | string | 0..1 |
Observation.subject.identifier | Identifier | 0..1 |
Observation.subject.display | string | 0..1 |
Observation.context | Reference(Encounter | EpisodeOfCare) | 0..0 |
Observation.effective[x] | dateTime, Period | 1..1 |
Observation.issued | instant | 0..0 |
Observation.performer | Reference(http://roche.com/fhir/rdc/StructureDefinition/patient) | 0..* |
Observation.performer.id | string | 0..1 |
Observation.performer.extension | Extension | 0..* |
Observation.performer.reference | string | 0..1 |
Observation.performer.identifier | Identifier | 0..1 |
Observation.performer.display | string | 0..1 |
Observation.valueQuantity | Quantity | 0..1 |
Observation.valueQuantity.id | string | 0..1 |
Observation.valueQuantity.extension | Extension | 0..* |
Observation.valueQuantity.value | decimal | 0..1 |
Observation.valueQuantity.comparator | code | 0..1 |
Observation.valueQuantity.unit | string | 0..1 |
Observation.valueQuantity.system | uri | 0..1 |
Observation.valueQuantity.code | code | 0..1 |
Observation.dataAbsentReason | CodeableConcept | 0..1 |
Observation.dataAbsentReason.id | string | 0..1 |
Observation.dataAbsentReason.extension | Extension | 0..* |
Observation.dataAbsentReason.coding | Coding | 0..* |
Observation.dataAbsentReason.coding.id | string | 0..1 |
Observation.dataAbsentReason.coding.extension | Extension | 0..* |
Observation.dataAbsentReason.coding.system | uri | 0..1 |
Observation.dataAbsentReason.coding.version | string | 0..1 |
Observation.dataAbsentReason.coding.code | code | 0..1 |
Observation.dataAbsentReason.coding.display | string | 0..1 |
Observation.dataAbsentReason.coding.userSelected | boolean | 0..1 |
Observation.dataAbsentReason.text | string | 0..1 |
Observation.interpretation | CodeableConcept | 0..1 |
Observation.interpretation.id | string | 0..1 |
Observation.interpretation.extension | Extension | 0..* |
Observation.interpretation.coding | Coding | 0..* |
Observation.interpretation.coding.id | string | 0..1 |
Observation.interpretation.coding.extension | Extension | 0..* |
Observation.interpretation.coding.system | uri | 0..1 |
Observation.interpretation.coding.version | string | 0..1 |
Observation.interpretation.coding.code | code | 0..1 |
Observation.interpretation.coding.display | string | 0..1 |
Observation.interpretation.coding.userSelected | boolean | 0..1 |
Observation.interpretation.text | string | 0..1 |
Observation.comment | string | 0..1 |
Observation.bodySite | CodeableConcept | 0..1 |
Observation.method | CodeableConcept | 0..0 |
Observation.specimen | Reference(Specimen) | 0..0 |
Observation.device | Reference(dm-device-metric) | 1..1 |
Observation.device.id | string | 0..1 |
Observation.device.extension | Extension | 0..* |
Observation.device.reference | string | 0..1 |
Observation.device.identifier | Identifier | 0..1 |
Observation.device.display | string | 0..1 |
Observation.referenceRange | BackboneElement | 0..1 |
Observation.referenceRange.id | string | 0..1 |
Observation.referenceRange.extension | Extension | 0..* |
Observation.referenceRange.modifierExtension | Extension | 0..* |
Observation.referenceRange.low | SimpleQuantity | 0..1 |
Observation.referenceRange.high | SimpleQuantity | 0..1 |
Observation.referenceRange.type | CodeableConcept | 0..1 |
Observation.referenceRange.appliesTo | CodeableConcept | 0..* |
Observation.referenceRange.age | Range | 0..1 |
Observation.referenceRange.text | string | 0..1 |
Observation.related | BackboneElement | 0..* |
Observation.related.id | string | 0..1 |
Observation.related.extension | Extension | 0..* |
Observation.related.modifierExtension | Extension | 0..* |
Observation.related.type | code | 1..1 |
Observation.related.target | Reference(http://roche.com/fhir/rdc/StructureDefinition/observation | http://roche.com/fhir/rdc/StructureDefinition/health-event-observation | bg-observation | EWM-observation) | 1..1 |
Observation.related.target.id | string | 0..1 |
Observation.related.target.extension | Extension | 0..* |
Observation.related.target.reference | string | 0..1 |
Observation.related.target.identifier | Identifier | 0..1 |
Observation.related.target.display | string | 0..1 |
Observation.component | BackboneElement | 0..0 |
Observation.component.id | string | 0..1 |
Observation.component.extension | Extension | 0..* |
Observation.component.modifierExtension | Extension | 0..* |
Observation.component.code | CodeableConcept | 1..1 |
Observation.component.valueQuantity | Quantity | 0..1 |
Observation.component.dataAbsentReason | CodeableConcept | 0..1 |
Observation.component.interpretation | CodeableConcept | 0..1 |
Observation.component.referenceRange | 0..* |
XML
The below section has the structure definition in XML format
<StructureDefinition xmlns="http://hl7.org/fhir"> <id value="842f9a8a-84fd-4180-83ed-0062334cb990" /> <meta> <versionId value="27" /> <lastUpdated value="2019-03-29T15:24:33.361123+00:00" /> </meta> <url value="http://roche.com/fhir/rdc/StructureDefinition/bg-observation" /> <version value="1" /> <name value="bg-observation" /> <status value="active" /> <date value="2019-03-29T15:06:10.6569793Z" /> <fhirVersion value="3.0.1" /> <mapping> <identity value="ACSPIX2FHIR" /> <name value="ACSPIX" /> </mapping> <mapping> <identity value="GREENDOT" /> <name value="Greendot" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <name value="FHIR2ACSPIX" /> </mapping> <kind value="resource" /> <abstract value="false" /> <type value="Observation" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Observation" /> <derivation value="constraint" /> <snapshot> <element id="Observation"> <path value="Observation" /> <short value="Measurements and simple assertions" /> <definition value="Measurements and simple assertions made about a patient, device or other subject." /> <comment value="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." /> <alias value="Vital Signs" /> <alias value="Measurement" /> <alias value="Results" /> <alias value="Tests" /> <min value="0" /> <max value="*" /> <base> <path value="Resource" /> <min value="0" /> <max value="*" /> </base> <constraint> <key value="dom-2" /> <severity value="error" /> <human value="If the resource is contained in another resource, it SHALL NOT contain nested Resources" /> <expression value="contained.contained.empty()" /> <xpath value="not(parent::f:contained and f:contained)" /> </constraint> <constraint> <key value="dom-1" /> <severity value="error" /> <human value="If the resource is contained in another resource, it SHALL NOT contain any narrative" /> <expression value="contained.text.empty()" /> <xpath value="not(parent::f:contained and f:text)" /> </constraint> <constraint> <key value="dom-4" /> <severity value="error" /> <human value="If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated" /> <expression value="contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()" /> <xpath value="not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))" /> </constraint> <constraint> <key value="dom-3" /> <severity value="error" /> <human value="If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource" /> <expression value="contained.where(('#'+id in %resource.descendants().reference).not()).empty()" /> <xpath value="not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))" /> </constraint> <constraint> <key value="obs-7" /> <severity value="error" /> <human value="If code is the same as a component code then the value element associated with the code SHALL NOT be present" /> <expression value="value.empty() or code!=component.code" /> <xpath value="not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)" /> </constraint> <constraint> <key value="obs-6" /> <severity value="error" /> <human value="dataAbsentReason SHALL only be present if Observation.value[x] is not present" /> <expression value="dataAbsentReason.empty() or value.empty()" /> <xpath value="not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))" /> </constraint> <mapping> <identity value="rim" /> <map value="Entity. Role, or Act" /> </mapping> <mapping> <identity value="workflow" /> <map value="Event" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="< 363787002 |Observable entity|" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX" /> </mapping> <mapping> <identity value="rim" /> <map value="Observation[classCode=OBS, moodCode=EVN]" /> </mapping> <mapping> <identity value="w5" /> <map value="clinical.diagnostics" /> </mapping> </element> <element id="Observation.id"> <path value="Observation.id" /> <short value="Logical id of this artifact" /> <definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes." /> <comment value="The only time that a resource does not have an id is when it is being submitted to the server using a create operation." /> <min value="0" /> <max value="1" /> <base> <path value="Resource.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="id" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.meta"> <path value="Observation.meta" /> <short value="Metadata about the resource" /> <definition value="The 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." /> <min value="0" /> <max value="1" /> <base> <path value="Resource.meta" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Meta" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.implicitRules"> <path value="Observation.implicitRules" /> <short value="A set of rules under which this content was created" /> <definition value="A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content." /> <comment value="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. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation." /> <min value="0" /> <max value="1" /> <base> <path value="Resource.implicitRules" /> <min value="0" /> <max value="1" /> </base> <type> <code value="uri" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isModifier value="true" /> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.language"> <path value="Observation.language" /> <short value="Language of the resource content" /> <definition value="The base language in which the resource is written." /> <comment value="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)." /> <min value="0" /> <max value="1" /> <base> <path value="Resource.language" /> <min value="0" /> <max value="1" /> </base> <type> <code value="code" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"> <valueReference> <reference value="http://hl7.org/fhir/ValueSet/all-languages" /> </valueReference> </extension> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="Language" /> </extension> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding"> <valueBoolean value="true" /> </extension> <strength value="extensible" /> <description value="A human language." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/languages" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.text"> <path value="Observation.text" /> <short value="Text summary of the resource, for human interpretation" /> <definition value="A 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." /> <comment value="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." /> <alias value="narrative" /> <alias value="html" /> <alias value="xhtml" /> <alias value="display" /> <min value="0" /> <max value="1" /> <base> <path value="DomainResource.text" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Narrative" /> </type> <condition value="ele-1" /> <condition value="dom-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> <mapping> <identity value="rim" /> <map value="Act.text?" /> </mapping> </element> <element id="Observation.contained"> <path value="Observation.contained" /> <short value="Contained, inline Resources" /> <definition value="These 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." /> <comment value="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." /> <alias value="inline resources" /> <alias value="anonymous resources" /> <alias value="contained resources" /> <min value="0" /> <max value="*" /> <base> <path value="DomainResource.contained" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Resource" /> </type> <mapping> <identity value="rim" /> <map value="Entity. Role, or Act" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.extension"> <path value="Observation.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the 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." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="DomainResource.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.extension:observationEventTiming"> <path value="Observation.extension" /> <sliceName value="observationEventTiming" /> <short value="Optional Extensions Element" /> <definition value="Optional Extension Element - found in all resources." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="DomainResource.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.extension:observationReference"> <path value="Observation.extension" /> <sliceName value="observationReference" /> <short value="Optional Extensions Element" /> <definition value="Optional Extension Element - found in all resources." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="DomainResource.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.extension:observationBgmRating"> <path value="Observation.extension" /> <sliceName value="observationBgmRating" /> <short value="Optional Extensions Element" /> <definition value="Optional Extension Element - found in all resources." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="DomainResource.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.extension:medicationAdministrationTarget"> <path value="Observation.extension" /> <sliceName value="medicationAdministrationTarget" /> <short value="Optional Extensions Element" /> <definition value="Optional Extension Element - found in all resources." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="DomainResource.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.extension:medicationRequestTarget"> <path value="Observation.extension" /> <sliceName value="medicationRequestTarget" /> <short value="Optional Extensions Element" /> <definition value="Optional Extension Element - found in all resources." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="DomainResource.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.extension:registeredTimeStamp"> <path value="Observation.extension" /> <sliceName value="registeredTimeStamp" /> <short value="Optional Extensions Element" /> <definition value="Optional Extension Element - found in all resources." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="DomainResource.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.modifierExtension"> <path value="Observation.modifierExtension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Extensions that cannot be ignored" /> <definition value="May 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." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="DomainResource.modifierExtension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <isModifier value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.identifier"> <path value="Observation.identifier" /> <short value="Business Identifier for observation" /> <definition value="A unique identifier assigned to this observation." /> <requirements value="Allows observations to be distinguished and referenced." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.identifier" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Identifier" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" /> </mapping> <mapping> <identity value="rim" /> <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" /> </mapping> <mapping> <identity value="servd" /> <map value="Identifier" /> </mapping> <mapping> <identity value="workflow" /> <map value="Event.identifier" /> </mapping> <mapping> <identity value="v2" /> <map value="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." /> </mapping> <mapping> <identity value="rim" /> <map value="id" /> </mapping> <mapping> <identity value="w5" /> <map value="id" /> </mapping> </element> <element id="Observation.identifier.id"> <path value="Observation.identifier.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.identifier.extension"> <path value="Observation.identifier.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.identifier.use"> <path value="Observation.identifier.use" /> <short value="usual | official | temp | secondary (If known)" /> <definition value="The purpose of this identifier." /> <comment value="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." /> <requirements value="Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers." /> <min value="0" /> <max value="1" /> <base> <path value="Identifier.use" /> <min value="0" /> <max value="1" /> </base> <type> <code value="code" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isModifier value="true" /> <isSummary value="true" /> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="IdentifierUse" /> </extension> <strength value="required" /> <description value="Identifies the purpose for this identifier, if known ." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/identifier-use" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="N/A" /> </mapping> <mapping> <identity value="rim" /> <map value="Role.code or implied by context" /> </mapping> </element> <element id="Observation.identifier.type"> <path value="Observation.identifier.type" /> <short value="Description of identifier" /> <definition value="A coded type for the identifier that can be used to determine which identifier to use for a specific purpose." /> <comment value="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. \n\nWhere 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." /> <requirements value="Allows users to make use of identifiers when the identifier system is not known." /> <min value="0" /> <max value="1" /> <base> <path value="Identifier.type" /> <min value="0" /> <max value="1" /> </base> <type> <code value="CodeableConcept" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="IdentifierType" /> </extension> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding"> <valueBoolean value="true" /> </extension> <strength value="extensible" /> <description value="A coded type for an identifier that can be used to determine which identifier to use for a specific purpose." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/identifier-type" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE" /> </mapping> <mapping> <identity value="rim" /> <map value="CD" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" /> </mapping> <mapping> <identity value="v2" /> <map value="CX.5" /> </mapping> <mapping> <identity value="rim" /> <map value="Role.code or implied by context" /> </mapping> </element> <element id="Observation.identifier.system"> <path value="Observation.identifier.system" /> <short value="The namespace for the identifier value" /> <definition value="Establishes the namespace for the value - that is, a URL that describes a set values that are unique." /> <comment value="see http://en.wikipedia.org/wiki/Uniform_resource_identifier" /> <requirements value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Identifier.system" /> <min value="0" /> <max value="1" /> </base> <type> <code value="uri" /> </type> <example> <label value="General" /> <valueUri value="http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri" /> </example> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <binding> <strength value="required" /> <valueSetUri value="http://roche.com/fhir/rdc/ValueSet/identifiers" /> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CX.4 / EI-2-4" /> </mapping> <mapping> <identity value="rim" /> <map value="II.root or Role.id.root" /> </mapping> <mapping> <identity value="servd" /> <map value="./IdentifierType" /> </mapping> </element> <element id="Observation.identifier.value"> <path value="Observation.identifier.value" /> <short value="The value that is unique" /> <definition value="The portion of the identifier typically relevant to the user and which is unique within the context of the system." /> <comment value="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](extension-rendered-value.html)." /> <min value="0" /> <max value="1" /> <base> <path value="Identifier.value" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <example> <label value="General" /> <valueString value="123456" /> </example> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CX.1 / EI.1" /> </mapping> <mapping> <identity value="rim" /> <map value="II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)" /> </mapping> <mapping> <identity value="servd" /> <map value="./Value" /> </mapping> </element> <element id="Observation.identifier.period"> <path value="Observation.identifier.period" /> <short value="Time period when id is/was valid for use" /> <definition value="Time period during which identifier is/was valid for use." /> <comment value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Identifier.period" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Period" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="per-1" /> <severity value="error" /> <human value="If present, start SHALL have a lower value than end" /> <expression value="start.empty() or end.empty() or (start <= end)" /> <xpath value="not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value)" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="DR" /> </mapping> <mapping> <identity value="rim" /> <map value="IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]" /> </mapping> <mapping> <identity value="v2" /> <map value="CX.7 + CX.8" /> </mapping> <mapping> <identity value="rim" /> <map value="Role.effectiveTime or implied by context" /> </mapping> <mapping> <identity value="servd" /> <map value="./StartDate and ./EndDate" /> </mapping> </element> <element id="Observation.identifier.assigner"> <path value="Observation.identifier.assigner" /> <short value="Organization that issued id (may be just text)" /> <definition value="Organization that issued/manages the identifier." /> <comment value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Identifier.assigner" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Reference" /> <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ref-1" /> <severity value="error" /> <human value="SHALL have a contained resource if a local reference is provided" /> <expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))" /> <xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" /> </mapping> <mapping> <identity value="v2" /> <map value="CX.4 / (CX.4,CX.9,CX.10)" /> </mapping> <mapping> <identity value="rim" /> <map value="II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper" /> </mapping> <mapping> <identity value="servd" /> <map value="./IdentifierIssuingAuthority" /> </mapping> </element> <element id="Observation.basedOn"> <path value="Observation.basedOn" /> <short value="Fulfills plan, proposal or order" /> <definition value="A plan, proposal or order that is fulfilled in whole or in part by this event." /> <comment value="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." /> <requirements value="Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon." /> <alias value="Fulfills" /> <min value="0" /> <max value="*" /> <base> <path value="Observation.basedOn" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/dm-careplan" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ref-1" /> <severity value="error" /> <human value="SHALL have a contained resource if a local reference is provided" /> <expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))" /> <xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" /> </mapping> <mapping> <identity value="workflow" /> <map value="Event.basedOn" /> </mapping> <mapping> <identity value="v2" /> <map value="ORC" /> </mapping> <mapping> <identity value="rim" /> <map value=".outboundRelationship[typeCode=FLFS].target" /> </mapping> </element> <element id="Observation.basedOn.id"> <path value="Observation.basedOn.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.basedOn.extension"> <path value="Observation.basedOn.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.basedOn.reference"> <path value="Observation.basedOn.reference" /> <short value="Literal reference, Relative, internal or absolute URL" /> <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources." /> <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.reference" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <condition value="ref-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="Ref-error" /> <severity value="error" /> <human value="'basedOn.reference' element must point to a CarePlan resource" /> <expression value="startsWith('CarePlan/')" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="CarePlan/${input.careplanId}" /> <comment value="bolus-management-careplan" /> </mapping> </element> <element id="Observation.basedOn.identifier"> <path value="Observation.basedOn.identifier" /> <short value="Logical reference, when literal reference is not known" /> <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." /> <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.identifier" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Identifier" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" /> </mapping> <mapping> <identity value="rim" /> <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" /> </mapping> <mapping> <identity value="servd" /> <map value="Identifier" /> </mapping> <mapping> <identity value="rim" /> <map value=".identifier" /> </mapping> </element> <element id="Observation.basedOn.display"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.basedOn.display" /> <short value="Text alternative for the resource" /> <definition value="Plain text narrative that identifies the resource in addition to the resource reference." /> <comment value="This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.display" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.status"> <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint"> <valueString value="default: final" /> </extension> <path value="Observation.status" /> <short value="registered | preliminary | final | amended +" /> <definition value="The status of the result value." /> <comment value="This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid." /> <requirements value="Need to track the status of individual results. Some results are finalized before the whole report is finalized." /> <min value="1" /> <max value="1" /> <base> <path value="Observation.status" /> <min value="1" /> <max value="1" /> </base> <type> <code value="code" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isModifier value="true" /> <isSummary value="true" /> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="ObservationStatus" /> </extension> <strength value="required" /> <description value="Codes providing the status of an observation." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/observation-status" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="workflow" /> <map value="Event.status" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="< 445584004 |Report by finality status|" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-11" /> </mapping> <mapping> <identity value="rim" /> <map value="status Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of "revise"" /> </mapping> <mapping> <identity value="w5" /> <map value="status" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="final" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="final" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.category"> <path value="Observation.category" /> <short value="Classification of type of observation" /> <definition value="A code that classifies the general type of observation being made." /> <comment value="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." /> <requirements value="Used for filtering what observations are retrieved and displayed." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.category" /> <min value="0" /> <max value="*" /> </base> <type> <code value="CodeableConcept" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <binding> <strength value="required" /> <description value="Codes for high level observation categories." /> <valueSetReference> <reference value="http://roche.com/fhir/rdc/ValueSet/observation-category-type" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE" /> </mapping> <mapping> <identity value="rim" /> <map value="CD" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" /> </mapping> <mapping> <identity value="rim" /> <map value=".outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code" /> </mapping> <mapping> <identity value="w5" /> <map value="class" /> </mapping> </element> <element id="Observation.category.id"> <path value="Observation.category.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.category.extension"> <path value="Observation.category.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.category.coding"> <path value="Observation.category.coding" /> <short value="Code defined by a terminology system" /> <definition value="A reference to a code defined by a terminology system." /> <comment value="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." /> <requirements value="Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings." /> <min value="0" /> <max value="*" /> <base> <path value="CodeableConcept.coding" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Coding" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" /> </mapping> <mapping> <identity value="rim" /> <map value="CV" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.1-8, C*E.10-22" /> </mapping> <mapping> <identity value="rim" /> <map value="union(., ./translation)" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" /> </mapping> </element> <element id="Observation.category.coding.id"> <path value="Observation.category.coding.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.category.coding.extension"> <path value="Observation.category.coding.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.category.coding.system"> <path value="Observation.category.coding.system" /> <short value="Identity of the terminology system" /> <definition value="The identification of the code system that defines the meaning of the symbol in the code." /> <comment value="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." /> <requirements value="Need to be unambiguous about the source of the definition of the symbol." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.system" /> <min value="0" /> <max value="1" /> </base> <type> <code value="uri" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.3" /> </mapping> <mapping> <identity value="rim" /> <map value="./codeSystem" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="http://roche.com/fhir/rdc/cs" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="http://roche.com/fhir/rdc/cs" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.category.coding.version"> <path value="Observation.category.coding.version" /> <short value="Version of the system - if relevant" /> <definition value="The 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." /> <comment value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.version" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.7" /> </mapping> <mapping> <identity value="rim" /> <map value="./codeSystemVersion" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" /> </mapping> </element> <element id="Observation.category.coding.code"> <path value="Observation.category.coding.code" /> <short value="Symbol in syntax defined by the system" /> <definition value="A 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)." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <requirements value="Need to refer to a particular code in the system." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.code" /> <min value="0" /> <max value="1" /> </base> <type> <code value="code" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.1" /> </mapping> <mapping> <identity value="rim" /> <map value="./code" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="ObservationCategoryCodes.code" /> <comment value="CLINICAL(BG.val) : CARB (BG.Carb) : CONTROL(BG.Ctrl) : HEALTH(BG.Evt) : INSULIN_TDD (IPDATA.BOLUS.remark=Bolus Total)" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="clinical-observation" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.category.coding.display"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.category.coding.display" /> <short value="Representation defined by the system" /> <definition value="A representation of the meaning of the code in the system, following the rules of the system." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know the system." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.display" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.2 - but note this is not well followed" /> </mapping> <mapping> <identity value="rim" /> <map value="CV.displayName" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="ObservationCategoryCodes.display" /> <comment value="Please refer valueset for display value" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="Clinical Observation" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.category.coding.userSelected"> <path value="Observation.category.coding.userSelected" /> <short value="If this coding was chosen directly by the user" /> <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." /> <comment value="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." /> <requirements value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.userSelected" /> <min value="0" /> <max value="1" /> </base> <type> <code value="boolean" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="Sometimes implied by being first" /> </mapping> <mapping> <identity value="rim" /> <map value="CD.codingRationale" /> </mapping> <mapping> <identity value="orim" /> <map value="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 ]" /> </mapping> </element> <element id="Observation.category.text"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.category.text" /> <short value="Plain text representation of the concept" /> <definition value="A 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." /> <comment value="Very often the text is the same as a displayName of one of the codings." /> <requirements value="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." /> <min value="0" /> <max value="1" /> <base> <path value="CodeableConcept.text" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.9. But note many systems use C*E.2 for this" /> </mapping> <mapping> <identity value="rim" /> <map value="./originalText[mediaType/code="text/plain"]/data" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" /> </mapping> </element> <element id="Observation.code"> <path value="Observation.code" /> <short value="Type of observation (code / type)" /> <definition value="Describes what was observed. Sometimes this is called the observation "name"." /> <comment value="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." /> <requirements value="Knowing what kind of observation is being made is essential to understanding the observation." /> <alias value="Name" /> <min value="1" /> <max value="1" /> <base> <path value="Observation.code" /> <min value="1" /> <max value="1" /> </base> <type> <code value="CodeableConcept" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <binding> <strength value="required" /> <description value="Codes identifying names of simple observations." /> <valueSetReference> <reference value="http://roche.com/fhir/rdc/ValueSet/observation-codes" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE" /> </mapping> <mapping> <identity value="rim" /> <map value="CD" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" /> </mapping> <mapping> <identity value="workflow" /> <map value="Event.code" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-3" /> </mapping> <mapping> <identity value="rim" /> <map value="code" /> </mapping> <mapping> <identity value="sct-attr" /> <map value="116680003 |Is a|" /> </mapping> <mapping> <identity value="w5" /> <map value="what" /> </mapping> </element> <element id="Observation.code.id"> <path value="Observation.code.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.code.extension"> <path value="Observation.code.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.code.coding"> <path value="Observation.code.coding" /> <short value="Code defined by a terminology system" /> <definition value="A reference to a code defined by a terminology system." /> <comment value="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." /> <requirements value="Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings." /> <min value="0" /> <max value="*" /> <base> <path value="CodeableConcept.coding" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Coding" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" /> </mapping> <mapping> <identity value="rim" /> <map value="CV" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.1-8, C*E.10-22" /> </mapping> <mapping> <identity value="rim" /> <map value="union(., ./translation)" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" /> </mapping> </element> <element id="Observation.code.coding.id"> <path value="Observation.code.coding.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.code.coding.extension"> <path value="Observation.code.coding.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.code.coding.system"> <path value="Observation.code.coding.system" /> <short value="Identity of the terminology system" /> <definition value="The identification of the code system that defines the meaning of the symbol in the code." /> <comment value="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." /> <requirements value="Need to be unambiguous about the source of the definition of the symbol." /> <min value="1" /> <max value="1" /> <base> <path value="Coding.system" /> <min value="0" /> <max value="1" /> </base> <type> <code value="uri" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.3" /> </mapping> <mapping> <identity value="rim" /> <map value="./codeSystem" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="ObservationCodes.system" /> <comment value="Refer ValueSet for system value" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="http://loinc.org" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.code.coding.version"> <path value="Observation.code.coding.version" /> <short value="Version of the system - if relevant" /> <definition value="The 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." /> <comment value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.version" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.7" /> </mapping> <mapping> <identity value="rim" /> <map value="./codeSystemVersion" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" /> </mapping> </element> <element id="Observation.code.coding.code"> <path value="Observation.code.coding.code" /> <short value="Symbol in syntax defined by the system" /> <definition value="A 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)." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <requirements value="Need to refer to a particular code in the system." /> <min value="1" /> <max value="1" /> <base> <path value="Coding.code" /> <min value="0" /> <max value="1" /> </base> <type> <code value="code" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.1" /> </mapping> <mapping> <identity value="rim" /> <map value="./code" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="ObservationCodes.code" /> <comment value="BG.Val, BG.Evt(20)->(41604-0), BG.Ctrl, BG.Carb, ADVICED_CARBS.Carb, GluciCheckApp(Manual method) || IPDATA.BOLUS..remark(remark="Bolus Total","Bolus+Basal Total")" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="32016-8" /> <comment value="Fixed value" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="Set Evt=20 if code = 41604-0" /> </mapping> </element> <element id="Observation.code.coding.display"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.code.coding.display" /> <short value="Representation defined by the system" /> <definition value="A representation of the meaning of the code in the system, following the rules of the system." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know the system." /> <min value="1" /> <max value="1" /> <base> <path value="Coding.display" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.2 - but note this is not well followed" /> </mapping> <mapping> <identity value="rim" /> <map value="CV.displayName" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="ObservationCodes.display" /> <comment value="Refer ValueSet for display value" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="Glucose [Mass/volume] in Capillary blood" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.code.coding.userSelected"> <path value="Observation.code.coding.userSelected" /> <short value="If this coding was chosen directly by the user" /> <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." /> <comment value="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." /> <requirements value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.userSelected" /> <min value="0" /> <max value="1" /> </base> <type> <code value="boolean" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="Sometimes implied by being first" /> </mapping> <mapping> <identity value="rim" /> <map value="CD.codingRationale" /> </mapping> <mapping> <identity value="orim" /> <map value="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 ]" /> </mapping> </element> <element id="Observation.code.text"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.code.text" /> <short value="Plain text representation of the concept" /> <definition value="A 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." /> <comment value="Very often the text is the same as a displayName of one of the codings." /> <requirements value="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." /> <min value="0" /> <max value="1" /> <base> <path value="CodeableConcept.text" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.9. But note many systems use C*E.2 for this" /> </mapping> <mapping> <identity value="rim" /> <map value="./originalText[mediaType/code="text/plain"]/data" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" /> </mapping> </element> <element id="Observation.subject"> <path value="Observation.subject" /> <short value="Who and/or what this is about" /> <definition value="The 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." /> <comment value="BG Observation -> subject element will be mapped to Patient.\n\nManual Entry Observation -> subject element will be mapped to Patient." /> <requirements value="Observations have no value if you don't know who or what they're about." /> <min value="1" /> <max value="1" /> <base> <path value="Observation.subject" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/patient" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ref-1" /> <severity value="error" /> <human value="SHALL have a contained resource if a local reference is provided" /> <expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))" /> <xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" /> </mapping> <mapping> <identity value="workflow" /> <map value="Event.subject" /> </mapping> <mapping> <identity value="v2" /> <map value="PID-3" /> </mapping> <mapping> <identity value="rim" /> <map value="participation[typeCode=SBJ]" /> </mapping> <mapping> <identity value="w5" /> <map value="who.focus" /> </mapping> </element> <element id="Observation.subject.id"> <path value="Observation.subject.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.subject.extension"> <path value="Observation.subject.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.subject.reference"> <path value="Observation.subject.reference" /> <short value="Literal reference, Relative, internal or absolute URL" /> <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources." /> <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.reference" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <condition value="ref-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="Ref-error" /> <severity value="error" /> <human value="'subject.reference' element must point to a Patient resource" /> <expression value="startsWith('Patient/')" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.subject.identifier"> <path value="Observation.subject.identifier" /> <short value="Logical reference, when literal reference is not known" /> <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." /> <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.identifier" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Identifier" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" /> </mapping> <mapping> <identity value="rim" /> <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" /> </mapping> <mapping> <identity value="servd" /> <map value="Identifier" /> </mapping> <mapping> <identity value="rim" /> <map value=".identifier" /> </mapping> </element> <element id="Observation.subject.display"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.subject.display" /> <short value="Text alternative for the resource" /> <definition value="Plain text narrative that identifies the resource in addition to the resource reference." /> <comment value="This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.display" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.context"> <path value="Observation.context" /> <short value="Healthcare event during which this observation is made" /> <definition value="The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made." /> <comment value="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)." /> <requirements value="For some observations it may be important to know the link between an observation and a particular encounter." /> <alias value="Encounter" /> <min value="0" /> <max value="0" /> <base> <path value="Observation.context" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Reference" /> <targetProfile value="http://hl7.org/fhir/StructureDefinition/Encounter" /> </type> <type> <code value="Reference" /> <targetProfile value="http://hl7.org/fhir/StructureDefinition/EpisodeOfCare" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ref-1" /> <severity value="error" /> <human value="SHALL have a contained resource if a local reference is provided" /> <expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))" /> <xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" /> </mapping> <mapping> <identity value="workflow" /> <map value="Event.context" /> </mapping> <mapping> <identity value="v2" /> <map value="PV1" /> </mapping> <mapping> <identity value="rim" /> <map value="inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]" /> </mapping> <mapping> <identity value="w5" /> <map value="context" /> </mapping> </element> <element id="Observation.effective[x]"> <path value="Observation.effective[x]" /> <short value="Clinically relevant time/time-period for observation" /> <definition value="The 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." /> <comment value="At least a date should be present unless this observation is a historical report." /> <requirements value="Knowing when an observation was deemed true is important to its relevance as well as determining trends." /> <alias value="Occurrence" /> <min value="1" /> <max value="1" /> <base> <path value="Observation.effective[x]" /> <min value="0" /> <max value="1" /> </base> <type> <code value="dateTime" /> </type> <type> <code value="Period" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="workflow" /> <map value="Event.occurrence[x]" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-14, and/or OBX-19 after v2.4 (depends on who observation made)" /> </mapping> <mapping> <identity value="rim" /> <map value="effectiveTime" /> </mapping> <mapping> <identity value="w5" /> <map value="when.done" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="${BGDate}${Timestamp}:00+02:00" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Dt" /> <comment value="Map date from effectiveDateTime" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Tm" /> <comment value="Map time from effectiveDateTime (hh:mm)" /> </mapping> </element> <element id="Observation.issued"> <path value="Observation.issued" /> <short value="Date/Time this was made available" /> <definition value="The date and time this observation was made available to providers, typically after the results have been reviewed and verified." /> <comment value="Updated when the result is updated." /> <min value="0" /> <max value="0" /> <base> <path value="Observation.issued" /> <min value="0" /> <max value="1" /> </base> <type> <code value="instant" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)" /> </mapping> <mapping> <identity value="rim" /> <map value="participation[typeCode=AUT].time" /> </mapping> <mapping> <identity value="w5" /> <map value="when.recorded" /> </mapping> </element> <element id="Observation.performer"> <path value="Observation.performer" /> <short value="Who is responsible for the observation" /> <definition value="Who was responsible for asserting the observed value as "true"." /> <comment value="performer element will be mapped to Patient." /> <requirements value="May give a degree of confidence in the observation and also indicates where follow-up questions should be directed." /> <min value="0" /> <max value="*" /> <base> <path value="Observation.performer" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/patient" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ref-1" /> <severity value="error" /> <human value="SHALL have a contained resource if a local reference is provided" /> <expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))" /> <xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" /> </mapping> <mapping> <identity value="workflow" /> <map value="Event.performer" /> </mapping> <mapping> <identity value="v2" /> <map value="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'" /> </mapping> <mapping> <identity value="rim" /> <map value="participation[typeCode=PRF]" /> </mapping> <mapping> <identity value="w5" /> <map value="who.actor" /> </mapping> </element> <element id="Observation.performer.id"> <path value="Observation.performer.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.performer.extension"> <path value="Observation.performer.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.performer.reference"> <path value="Observation.performer.reference" /> <short value="Literal reference, Relative, internal or absolute URL" /> <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources." /> <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.reference" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <condition value="ref-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="Ref-error" /> <severity value="error" /> <human value="'performer.reference' element must point to a Patient resource" /> <expression value="startsWith('Patient/')" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.performer.identifier"> <path value="Observation.performer.identifier" /> <short value="Logical reference, when literal reference is not known" /> <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." /> <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.identifier" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Identifier" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" /> </mapping> <mapping> <identity value="rim" /> <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" /> </mapping> <mapping> <identity value="servd" /> <map value="Identifier" /> </mapping> <mapping> <identity value="rim" /> <map value=".identifier" /> </mapping> </element> <element id="Observation.performer.display"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.performer.display" /> <short value="Text alternative for the resource" /> <definition value="Plain text narrative that identifies the resource in addition to the resource reference." /> <comment value="This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.display" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.value[x]:valueQuantity"> <path value="Observation.valueQuantity" /> <sliceName value="valueQuantity" /> <short value="Actual result" /> <definition value="The information determined as a result of making the observation, if the information has a simple value." /> <comment value="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).\n\n\nIf 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](observation.html#notes) below." /> <requirements value="An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.value[x]" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Quantity" /> </type> <condition value="ele-1" /> <condition value="obs-7" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="qty-3" /> <severity value="error" /> <human value="If a code for the unit is present, the system SHALL also be present" /> <expression value="code.empty() or system.exists()" /> <xpath value="not(exists(f:code)) or exists(f:system)" /> </constraint> <isSummary value="true" /> <binding> <strength value="required" /> <valueSetUri value="http://roche.com/fhir/rdc/ValueSet/devicemetric-metric-unit" /> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="SN (see also Range) or CQ" /> </mapping> <mapping> <identity value="rim" /> <map value="PQ, IVL<PQ>, MO, CO, depending on the values" /> </mapping> <mapping> <identity value="workflow" /> <map value="Event.notDone, Event.notDoneReason (maps to valeu[x] or dataAbsentReason)" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="< 441742003 |Evaluation finding|" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX.2, OBX.5, OBX.6" /> </mapping> <mapping> <identity value="rim" /> <map value="value" /> </mapping> <mapping> <identity value="sct-attr" /> <map value="363714003 |Interprets|" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="delete obs.valueQuantity" /> <comment value="when Val =?" /> </mapping> </element> <element id="Observation.value[x]:valueQuantity.id"> <path value="Observation.valueQuantity.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.value[x]:valueQuantity.extension"> <path value="Observation.valueQuantity.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.value[x]:valueQuantity.value"> <path value="Observation.valueQuantity.value" /> <short value="Numerical value (with implicit precision)" /> <definition value="The value of the measured amount. The value includes an implicit precision in the presentation of the value." /> <comment value="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)." /> <requirements value="Precision is handled implicitly in almost all cases of measurement." /> <min value="0" /> <max value="1" /> <base> <path value="Quantity.value" /> <min value="0" /> <max value="1" /> </base> <type> <code value="decimal" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="SN.2 / CQ - N/A" /> </mapping> <mapping> <identity value="rim" /> <map value="PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="BG.Val" /> <comment value="Map If Val !="HI" or Val !="LO" or Val !="-"" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="com.roche.greendot.engine.finalValueDetected.getMeasurement().getValue()" /> <comment value="blood glucose measurement value" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Val" /> <comment value="Map BG Value from FHIR Bundle Clinical Observation" /> </mapping> </element> <element id="Observation.value[x]:valueQuantity.comparator"> <path value="Observation.valueQuantity.comparator" /> <short value="< | <= | >= | > - how to understand the value" /> <definition value="How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value." /> <comment value="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." /> <requirements value="Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology." /> <min value="0" /> <max value="1" /> <base> <path value="Quantity.comparator" /> <min value="0" /> <max value="1" /> </base> <type> <code value="code" /> </type> <meaningWhenMissing value="If there is no comparator, then there is no modification of the value" /> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isModifier value="true" /> <isSummary value="true" /> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="QuantityComparator" /> </extension> <strength value="required" /> <description value="How the Quantity should be understood and represented." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/quantity-comparator" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="SN.1 / CQ.1" /> </mapping> <mapping> <identity value="rim" /> <map value="IVL properties" /> </mapping> </element> <element id="Observation.value[x]:valueQuantity.unit"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.valueQuantity.unit" /> <short value="Unit representation" /> <definition value="A human-readable form of the unit." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <requirements value="There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms." /> <min value="0" /> <max value="1" /> <base> <path value="Quantity.unit" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="(see OBX.6 etc.) / CQ.2" /> </mapping> <mapping> <identity value="rim" /> <map value="PQ.unit" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="${deviceBGUnit}" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="type of metric" /> <comment value="DEVICE_METRIC_UNIT.MG_DL" /> </mapping> </element> <element id="Observation.value[x]:valueQuantity.system"> <path value="Observation.valueQuantity.system" /> <short value="System that defines coded unit form" /> <definition value="The identification of the system that provides the coded form of the unit." /> <comment value="see http://en.wikipedia.org/wiki/Uniform_resource_identifier" /> <requirements value="Need to know the system that defines the coded form of the unit." /> <min value="0" /> <max value="1" /> <base> <path value="Quantity.system" /> <min value="0" /> <max value="1" /> </base> <type> <code value="uri" /> </type> <condition value="ele-1" /> <condition value="qty-3" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="(see OBX.6 etc.) / CQ.2" /> </mapping> <mapping> <identity value="rim" /> <map value="CO.codeSystem, PQ.translation.codeSystem" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="http://unitsofmeasure.org" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="http://unitsofmeasure.org" /> </mapping> </element> <element id="Observation.value[x]:valueQuantity.code"> <path value="Observation.valueQuantity.code" /> <short value="Coded form of the unit" /> <definition value="A computer processable form of the unit in some unit representation system." /> <comment value="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." /> <requirements value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Quantity.code" /> <min value="0" /> <max value="1" /> </base> <type> <code value="code" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="(see OBX.6 etc.) / CQ.2" /> </mapping> <mapping> <identity value="rim" /> <map value="PQ.code, MO.currency, PQ.translation.code" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="${deviceBGUnit}" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="type of metric display" /> <comment value="DEVICE_METRIC_UNIT.MG_DL" /> </mapping> </element> <element id="Observation.dataAbsentReason"> <path value="Observation.dataAbsentReason" /> <short value="Why the result is missing" /> <definition value="Provides a reason why the expected value in the element Observation.value[x] is missing." /> <comment value="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." /> <requirements value="For many results it is necessary to handle exceptional values in measurements." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.dataAbsentReason" /> <min value="0" /> <max value="1" /> </base> <type> <code value="CodeableConcept" /> </type> <condition value="ele-1" /> <condition value="obs-6" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <binding> <strength value="required" /> <description value="Codes specifying why the result (Observation.value[x]) is missing." /> <valueSetReference> <reference value="http://roche.com/fhir/rdc/ValueSet/nullFlavor" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE" /> </mapping> <mapping> <identity value="rim" /> <map value="CD" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" /> </mapping> <mapping> <identity value="workflow" /> <map value="Event.notDone, Event.notDoneReason (maps to valeu[x] or dataAbsentReason)" /> </mapping> <mapping> <identity value="v2" /> <map value="N/A" /> </mapping> <mapping> <identity value="rim" /> <map value="value.nullFlavor" /> </mapping> </element> <element id="Observation.dataAbsentReason.id"> <path value="Observation.dataAbsentReason.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.dataAbsentReason.extension"> <path value="Observation.dataAbsentReason.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.dataAbsentReason.coding"> <path value="Observation.dataAbsentReason.coding" /> <short value="Code defined by a terminology system" /> <definition value="A reference to a code defined by a terminology system." /> <comment value="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." /> <requirements value="Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings." /> <min value="0" /> <max value="*" /> <base> <path value="CodeableConcept.coding" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Coding" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" /> </mapping> <mapping> <identity value="rim" /> <map value="CV" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.1-8, C*E.10-22" /> </mapping> <mapping> <identity value="rim" /> <map value="union(., ./translation)" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" /> </mapping> </element> <element id="Observation.dataAbsentReason.coding.id"> <path value="Observation.dataAbsentReason.coding.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.dataAbsentReason.coding.extension"> <path value="Observation.dataAbsentReason.coding.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.dataAbsentReason.coding.system"> <path value="Observation.dataAbsentReason.coding.system" /> <short value="Identity of the terminology system" /> <definition value="The identification of the code system that defines the meaning of the symbol in the code." /> <comment value="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." /> <requirements value="Need to be unambiguous about the source of the definition of the symbol." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.system" /> <min value="0" /> <max value="1" /> </base> <type> <code value="uri" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.3" /> </mapping> <mapping> <identity value="rim" /> <map value="./codeSystem" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="input.Val="HI" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf "LO" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf "-" then 'http://hl7.org/fhir/data-absent-reason'" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="input.Val="HI" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf "LO" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf "-" then 'http://hl7.org/fhir/data-absent-reason'" /> </mapping> </element> <element id="Observation.dataAbsentReason.coding.version"> <path value="Observation.dataAbsentReason.coding.version" /> <short value="Version of the system - if relevant" /> <definition value="The 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." /> <comment value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.version" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.7" /> </mapping> <mapping> <identity value="rim" /> <map value="./codeSystemVersion" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" /> </mapping> </element> <element id="Observation.dataAbsentReason.coding.code"> <path value="Observation.dataAbsentReason.coding.code" /> <short value="Symbol in syntax defined by the system" /> <definition value="A 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)." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <requirements value="Need to refer to a particular code in the system." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.code" /> <min value="0" /> <max value="1" /> </base> <type> <code value="code" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.1" /> </mapping> <mapping> <identity value="rim" /> <map value="./code" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="input.Val="HI" then 'PINF' elseIf "LO" then 'NINF' elseIf "-" then 'unknown'" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="input.Val="HI" then 'PINF' elseIf "LO" then 'NINF' elseIf "-" then 'unknown'" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Val" /> <comment value="FHIR Bundle -> If code":"PINF" then Set BG.Val ="HI" elseIf "code": "NINF" then BG.Val ="LO"" /> </mapping> </element> <element id="Observation.dataAbsentReason.coding.display"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.dataAbsentReason.coding.display" /> <short value="Representation defined by the system" /> <definition value="A representation of the meaning of the code in the system, following the rules of the system." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know the system." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.display" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.2 - but note this is not well followed" /> </mapping> <mapping> <identity value="rim" /> <map value="CV.displayName" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="input.Val="HI" then 'positive infinity' elseIf "LO" then 'negative infinity' elseIf "-" then 'Unknown'" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="input.Val="HI" then 'positive infinity' elseIf "LO" then 'negative infinity' elseIf "-" then 'Unknown'" /> </mapping> </element> <element id="Observation.dataAbsentReason.coding.userSelected"> <path value="Observation.dataAbsentReason.coding.userSelected" /> <short value="If this coding was chosen directly by the user" /> <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." /> <comment value="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." /> <requirements value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.userSelected" /> <min value="0" /> <max value="1" /> </base> <type> <code value="boolean" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="Sometimes implied by being first" /> </mapping> <mapping> <identity value="rim" /> <map value="CD.codingRationale" /> </mapping> <mapping> <identity value="orim" /> <map value="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 ]" /> </mapping> </element> <element id="Observation.dataAbsentReason.text"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.dataAbsentReason.text" /> <short value="Plain text representation of the concept" /> <definition value="A 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." /> <comment value="Very often the text is the same as a displayName of one of the codings." /> <requirements value="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." /> <min value="0" /> <max value="1" /> <base> <path value="CodeableConcept.text" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.9. But note many systems use C*E.2 for this" /> </mapping> <mapping> <identity value="rim" /> <map value="./originalText[mediaType/code="text/plain"]/data" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="'Above sensor range' : 'Below sensor range'" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="'Above sensor range' : 'Below sensor range'" /> <comment value="BG value is HI : LO" /> </mapping> </element> <element id="Observation.interpretation"> <path value="Observation.interpretation" /> <short value="High, low, normal, etc." /> <definition value="The 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." /> <comment value="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." /> <requirements value="For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result." /> <alias value="Abnormal Flag" /> <min value="0" /> <max value="1" /> <base> <path value="Observation.interpretation" /> <min value="0" /> <max value="1" /> </base> <type> <code value="CodeableConcept" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="ObservationInterpretation" /> </extension> <strength value="extensible" /> <description value="Codes identifying interpretations of observations." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/observation-interpretation" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE" /> </mapping> <mapping> <identity value="rim" /> <map value="CD" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="< 260245000 |Findings values|" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-8" /> </mapping> <mapping> <identity value="rim" /> <map value="interpretationCode" /> </mapping> <mapping> <identity value="sct-attr" /> <map value="363713009 |Has interpretation|" /> </mapping> </element> <element id="Observation.interpretation.id"> <path value="Observation.interpretation.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.interpretation.extension"> <path value="Observation.interpretation.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.interpretation.coding"> <path value="Observation.interpretation.coding" /> <short value="Code defined by a terminology system" /> <definition value="A reference to a code defined by a terminology system." /> <comment value="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." /> <requirements value="Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings." /> <min value="0" /> <max value="*" /> <base> <path value="CodeableConcept.coding" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Coding" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" /> </mapping> <mapping> <identity value="rim" /> <map value="CV" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.1-8, C*E.10-22" /> </mapping> <mapping> <identity value="rim" /> <map value="union(., ./translation)" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" /> </mapping> </element> <element id="Observation.interpretation.coding.id"> <path value="Observation.interpretation.coding.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.interpretation.coding.extension"> <path value="Observation.interpretation.coding.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.interpretation.coding.system"> <path value="Observation.interpretation.coding.system" /> <short value="Identity of the terminology system" /> <definition value="The identification of the code system that defines the meaning of the symbol in the code." /> <comment value="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." /> <requirements value="Need to be unambiguous about the source of the definition of the symbol." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.system" /> <min value="0" /> <max value="1" /> </base> <type> <code value="uri" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.3" /> </mapping> <mapping> <identity value="rim" /> <map value="./codeSystem" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="http://hl7.org/fhir/v2/0078" /> </mapping> </element> <element id="Observation.interpretation.coding.version"> <path value="Observation.interpretation.coding.version" /> <short value="Version of the system - if relevant" /> <definition value="The 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." /> <comment value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.version" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.7" /> </mapping> <mapping> <identity value="rim" /> <map value="./codeSystemVersion" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" /> </mapping> </element> <element id="Observation.interpretation.coding.code"> <path value="Observation.interpretation.coding.code" /> <short value="Symbol in syntax defined by the system" /> <definition value="A 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)." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <requirements value="Need to refer to a particular code in the system." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.code" /> <min value="0" /> <max value="1" /> </base> <type> <code value="code" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.1" /> </mapping> <mapping> <identity value="rim" /> <map value="./code" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="'L' or 'H'" /> <comment value="If Evt=71 then map to L elseIf Evt=72 then map to 'H'" /> </mapping> </element> <element id="Observation.interpretation.coding.display"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.interpretation.coding.display" /> <short value="Representation defined by the system" /> <definition value="A representation of the meaning of the code in the system, following the rules of the system." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know the system." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.display" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.2 - but note this is not well followed" /> </mapping> <mapping> <identity value="rim" /> <map value="CV.displayName" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" /> </mapping> </element> <element id="Observation.interpretation.coding.userSelected"> <path value="Observation.interpretation.coding.userSelected" /> <short value="If this coding was chosen directly by the user" /> <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." /> <comment value="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." /> <requirements value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Coding.userSelected" /> <min value="0" /> <max value="1" /> </base> <type> <code value="boolean" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="Sometimes implied by being first" /> </mapping> <mapping> <identity value="rim" /> <map value="CD.codingRationale" /> </mapping> <mapping> <identity value="orim" /> <map value="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 ]" /> </mapping> </element> <element id="Observation.interpretation.text"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.interpretation.text" /> <short value="Plain text representation of the concept" /> <definition value="A 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." /> <comment value="Very often the text is the same as a displayName of one of the codings." /> <requirements value="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." /> <min value="0" /> <max value="1" /> <base> <path value="CodeableConcept.text" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="C*E.9. But note many systems use C*E.2 for this" /> </mapping> <mapping> <identity value="rim" /> <map value="./originalText[mediaType/code="text/plain"]/data" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" /> </mapping> </element> <element id="Observation.comment"> <path value="Observation.comment" /> <short value="Comments about result" /> <definition value="May 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." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <requirements value="Need to be able to provide free text additional information." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.comment" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="workflow" /> <map value="Event.note" /> </mapping> <mapping> <identity value="v2" /> <map value="NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)" /> </mapping> <mapping> <identity value="rim" /> <map value="subjectOf.observationEvent[code="annotation"].value" /> </mapping> </element> <element id="Observation.bodySite"> <path value="Observation.bodySite" /> <short value="Observed body part" /> <definition value="Indicates the site on the subject's body where the observation was made (i.e. the target site)." /> <comment value="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](extension-body-site-instance.html)." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.bodySite" /> <min value="0" /> <max value="1" /> </base> <type> <code value="CodeableConcept" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <binding> <strength value="required" /> <description value="Codes describing anatomical locations. May include laterality." /> <valueSetReference> <reference value="http://roche.com/fhir/rdc/ValueSet/body-site" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE" /> </mapping> <mapping> <identity value="rim" /> <map value="CD" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="< 123037004 |Body structure|" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-20" /> </mapping> <mapping> <identity value="rim" /> <map value="targetSiteCode" /> </mapping> <mapping> <identity value="sct-attr" /> <map value="718497002 |Inherent location|" /> </mapping> </element> <element id="Observation.method"> <path value="Observation.method" /> <short value="How it was done" /> <definition value="Indicates the mechanism used to perform the observation." /> <comment value="Only used if not implicit in code for Observation.code." /> <requirements value="In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results." /> <min value="0" /> <max value="0" /> <base> <path value="Observation.method" /> <min value="0" /> <max value="1" /> </base> <type> <code value="CodeableConcept" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="ObservationMethod" /> </extension> <strength value="example" /> <description value="Methods for simple observations." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/observation-methods" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE" /> </mapping> <mapping> <identity value="rim" /> <map value="CD" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-17" /> </mapping> <mapping> <identity value="rim" /> <map value="methodCode" /> </mapping> </element> <element id="Observation.specimen"> <path value="Observation.specimen" /> <short value="Specimen used for this observation" /> <definition value="The specimen that was used when this observation was made." /> <comment value="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)." /> <min value="0" /> <max value="0" /> <base> <path value="Observation.specimen" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Reference" /> <targetProfile value="http://hl7.org/fhir/StructureDefinition/Specimen" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ref-1" /> <severity value="error" /> <human value="SHALL have a contained resource if a local reference is provided" /> <expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))" /> <xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="< 123038009 |Specimen|" /> </mapping> <mapping> <identity value="v2" /> <map value="SPM segment" /> </mapping> <mapping> <identity value="rim" /> <map value="participation[typeCode=SPC].specimen" /> </mapping> <mapping> <identity value="sct-attr" /> <map value="704319004 |Inherent in|" /> </mapping> </element> <element id="Observation.device"> <path value="Observation.device" /> <short value="(Measurement) Device" /> <definition value="The device used to generate the observation data." /> <comment value="BG Observation -> device element will be mapped to DeviceMetric\n\nManual Entry Observation -> device element will be mapped to DeviceMetric" /> <min value="1" /> <max value="1" /> <base> <path value="Observation.device" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/dm-device-metric" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ref-1" /> <severity value="error" /> <human value="SHALL have a contained resource if a local reference is provided" /> <expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))" /> <xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="< 49062001 |Device|" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-17 / PRT -10" /> </mapping> <mapping> <identity value="rim" /> <map value="participation[typeCode=DEV]" /> </mapping> <mapping> <identity value="sct-attr" /> <map value="424226004 |Using device|" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.D" /> <comment value="Specifies from which device this record is loaded (n=1..3). n referes to the nth <DEVICE> element" /> </mapping> </element> <element id="Observation.device.id"> <path value="Observation.device.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.device.extension"> <path value="Observation.device.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.device.reference"> <path value="Observation.device.reference" /> <short value="Literal reference, Relative, internal or absolute URL" /> <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources." /> <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.reference" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <condition value="ref-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="Ref-error" /> <severity value="error" /> <human value="'device.reference' element must point to a Device resource" /> <expression value="startsWith('DeviceMetric/')" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="DeviceMetric/${input.deviceMetricId}" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="DeviceMetric/${DeviceMetricId}" /> <comment value="<UID of the DeviceMetric resource of this bundle>" /> </mapping> </element> <element id="Observation.device.identifier"> <path value="Observation.device.identifier" /> <short value="Logical reference, when literal reference is not known" /> <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." /> <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.identifier" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Identifier" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" /> </mapping> <mapping> <identity value="rim" /> <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" /> </mapping> <mapping> <identity value="servd" /> <map value="Identifier" /> </mapping> <mapping> <identity value="rim" /> <map value=".identifier" /> </mapping> </element> <element id="Observation.device.display"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.device.display" /> <short value="Text alternative for the resource" /> <definition value="Plain text narrative that identifies the resource in addition to the resource reference." /> <comment value="This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.display" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.referenceRange"> <path value="Observation.referenceRange" /> <short value="Provides guide for interpretation" /> <definition value="Guidance on how to interpret the value by comparison to a normal or recommended range." /> <comment value="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." /> <requirements value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.referenceRange" /> <min value="0" /> <max value="*" /> </base> <type> <code value="BackboneElement" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="obs-3" /> <severity value="error" /> <human value="Must have at least a low or a high or text" /> <expression value="low.exists() or high.exists() or text.exists()" /> <xpath value="(exists(f:low) or exists(f:high)or exists(f:text))" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX.7" /> </mapping> <mapping> <identity value="rim" /> <map value="outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]" /> </mapping> </element> <element id="Observation.referenceRange.id"> <path value="Observation.referenceRange.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.referenceRange.extension"> <path value="Observation.referenceRange.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.referenceRange.modifierExtension"> <path value="Observation.referenceRange.modifierExtension" /> <short value="Extensions that cannot be ignored" /> <definition value="May 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." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <alias value="modifiers" /> <min value="0" /> <max value="*" /> <base> <path value="BackboneElement.modifierExtension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <isModifier value="true" /> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.referenceRange.low"> <path value="Observation.referenceRange.low" /> <short value="Low Range, if relevant" /> <definition value="The 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)." /> <comment value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.referenceRange.low" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Quantity" /> <profile value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity" /> </type> <condition value="ele-1" /> <condition value="obs-3" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="qty-3" /> <severity value="error" /> <human value="If a code for the unit is present, the system SHALL also be present" /> <expression value="code.empty() or system.exists()" /> <xpath value="not(exists(f:code)) or exists(f:system)" /> </constraint> <constraint> <key value="sqty-1" /> <severity value="error" /> <human value="The comparator is not used on a SimpleQuantity" /> <expression value="comparator.empty()" /> <xpath value="not(exists(f:comparator))" /> </constraint> <isModifier value="false" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="SN (see also Range) or CQ" /> </mapping> <mapping> <identity value="rim" /> <map value="PQ, IVL<PQ>, MO, CO, depending on the values" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-7" /> </mapping> <mapping> <identity value="rim" /> <map value="value:IVL_PQ.low" /> </mapping> </element> <element id="Observation.referenceRange.high"> <path value="Observation.referenceRange.high" /> <short value="High Range, if relevant" /> <definition value="The 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)." /> <comment value="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." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.referenceRange.high" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Quantity" /> <profile value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity" /> </type> <condition value="ele-1" /> <condition value="obs-3" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="qty-3" /> <severity value="error" /> <human value="If a code for the unit is present, the system SHALL also be present" /> <expression value="code.empty() or system.exists()" /> <xpath value="not(exists(f:code)) or exists(f:system)" /> </constraint> <constraint> <key value="sqty-1" /> <severity value="error" /> <human value="The comparator is not used on a SimpleQuantity" /> <expression value="comparator.empty()" /> <xpath value="not(exists(f:comparator))" /> </constraint> <isModifier value="false" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="SN (see also Range) or CQ" /> </mapping> <mapping> <identity value="rim" /> <map value="PQ, IVL<PQ>, MO, CO, depending on the values" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-7" /> </mapping> <mapping> <identity value="rim" /> <map value="value:IVL_PQ.high" /> </mapping> </element> <element id="Observation.referenceRange.type"> <path value="Observation.referenceRange.type" /> <short value="Reference range qualifier" /> <definition value="Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range." /> <comment value="This SHOULD be populated if there is more than one range. If this element is not present then the normal range is assumed." /> <requirements value="Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc, - for proper interpretation." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.referenceRange.type" /> <min value="0" /> <max value="1" /> </base> <type> <code value="CodeableConcept" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="ObservationRangeMeaning" /> </extension> <strength value="extensible" /> <description value="Code for the meaning of a reference range." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/referencerange-meaning" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE" /> </mapping> <mapping> <identity value="rim" /> <map value="CD" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="< 260245000 |Findings values| OR \n< 365860008 |General clinical state finding| \nOR \n< 250171008 |Clinical history or observation findings| OR \n< 415229000 |Racial group| OR \n< 365400002 |Finding of puberty stage| OR\n< 443938003 |Procedure carried out on subject|" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-10" /> </mapping> <mapping> <identity value="rim" /> <map value="interpretationCode" /> </mapping> </element> <element id="Observation.referenceRange.appliesTo"> <path value="Observation.referenceRange.appliesTo" /> <short value="Reference range population" /> <definition value="Codes 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." /> <comment value="This SHOULD be populated if there is more than one range. If this element is not present then the normal population is assumed." /> <requirements value="Need to be able to identify the target population for proper interpretation." /> <min value="0" /> <max value="*" /> <base> <path value="Observation.referenceRange.appliesTo" /> <min value="0" /> <max value="*" /> </base> <type> <code value="CodeableConcept" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="ObservationRangeType" /> </extension> <strength value="example" /> <description value="Codes identifying the population the reference range applies to." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/referencerange-appliesto" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE" /> </mapping> <mapping> <identity value="rim" /> <map value="CD" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="< 260245000 |Findings values| OR \n< 365860008 |General clinical state finding| \nOR \n< 250171008 |Clinical history or observation findings| OR \n< 415229000 |Racial group| OR \n< 365400002 |Finding of puberty stage| OR\n< 443938003 |Procedure carried out on subject|" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-10" /> </mapping> <mapping> <identity value="rim" /> <map value="interpretationCode" /> </mapping> </element> <element id="Observation.referenceRange.age"> <path value="Observation.referenceRange.age" /> <short value="Applicable age range, if relevant" /> <definition value="The 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." /> <comment value="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." /> <requirements value="Some analytes vary greatly over age." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.referenceRange.age" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Range" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="rng-2" /> <severity value="error" /> <human value="If present, low SHALL have a lower value than high" /> <expression value="low.empty() or high.empty() or (low <= high)" /> <xpath value="not(exists(f:low/f:value/@value)) or not(exists(f:high/f:value/@value)) or (number(f:low/f:value/@value) <= number(f:high/f:value/@value))" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="NR and also possibly SN (but see also quantity)" /> </mapping> <mapping> <identity value="rim" /> <map value="IVL<QTY[not(type="TS")]> [lowClosed="true" and highClosed="true"]or URG<QTY[not(type="TS")]>" /> </mapping> <mapping> <identity value="rim" /> <map value="outboundRelationship[typeCode=PRCN].targetObservationCriterion[code="age"].value" /> </mapping> </element> <element id="Observation.referenceRange.text"> <path value="Observation.referenceRange.text" /> <short value="Text based reference range in an observation" /> <definition value="Text 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'." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Observation.referenceRange.text" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-7" /> </mapping> <mapping> <identity value="rim" /> <map value="value:ST" /> </mapping> </element> <element id="Observation.related"> <path value="Observation.related" /> <short value="Resource related to this observation" /> <definition value="A reference to another resource (usually another Observation) whose relationship is defined by the relationship type code." /> <comment value="For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4)." /> <requirements value="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." /> <min value="0" /> <max value="*" /> <base> <path value="Observation.related" /> <min value="0" /> <max value="*" /> </base> <type> <code value="BackboneElement" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="Relationships established by OBX-4 usage" /> </mapping> <mapping> <identity value="rim" /> <map value="outBoundRelationship" /> </mapping> </element> <element id="Observation.related.id"> <path value="Observation.related.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.related.extension"> <path value="Observation.related.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.related.modifierExtension"> <path value="Observation.related.modifierExtension" /> <short value="Extensions that cannot be ignored" /> <definition value="May 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." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <alias value="modifiers" /> <min value="0" /> <max value="*" /> <base> <path value="BackboneElement.modifierExtension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <isModifier value="true" /> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.related.type"> <path value="Observation.related.type" /> <short value="has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by" /> <definition value="A code specifying the kind of relationship that exists with the target resource." /> <comment value="The "derived-from" type is the only logical choice when referencing the QuestionnaireAnswer resource." /> <requirements value="A relationship type SHOULD be provided." /> <min value="1" /> <max value="1" /> <base> <path value="Observation.related.type" /> <min value="0" /> <max value="1" /> </base> <type> <code value="code" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="ObservationRelationshipType" /> </extension> <strength value="required" /> <description value="Codes specifying how two observations are related." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/observation-relationshiptypes" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="N/A" /> </mapping> <mapping> <identity value="rim" /> <map value=".typeCode" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="has-member" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.related.target"> <path value="Observation.related.target" /> <short value="Resource that is related to this one" /> <definition value="A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation." /> <comment value="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." /> <min value="1" /> <max value="1" /> <base> <path value="Observation.related.target" /> <min value="1" /> <max value="1" /> </base> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/observation" /> </type> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/health-event-observation" /> </type> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/bg-observation" /> </type> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/observation-EWM" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ref-1" /> <severity value="error" /> <human value="SHALL have a contained resource if a local reference is provided" /> <expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))" /> <xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" /> </mapping> <mapping> <identity value="rim" /> <map value=".targetObservation" /> </mapping> </element> <element id="Observation.related.target.id"> <path value="Observation.related.target.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.related.target.extension"> <path value="Observation.related.target.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.related.target.reference"> <path value="Observation.related.target.reference" /> <short value="Literal reference, Relative, internal or absolute URL" /> <definition value="A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources." /> <comment value="Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.reference" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <condition value="ref-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="Ref-error" /> <severity value="error" /> <human value="'related.target.reference' element must point to an Observation resource" /> <expression value="startsWith('Observation/')" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> <mapping> <identity value="ACSPIX2FHIR" /> <map value="Observation/${relatedObservationId}" /> <comment value="process relatedIds-> input.carbId,input.carbAdviceId,input.ctrlId,input.ewmIds,input.healthEventIds" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="Oral Medication observation mapped to Evt=35" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Ctrl" /> <comment value="Control solution observation mapped to 1,2,3,?" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="Stress observation mapped to Evt=29" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="illness observation mapped to Evt=31" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="Premenstrual observation mapped to Evt=73" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="Exercise1 observation mapped to Evt=75" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="Exercise2 observation mapped to Evt=76" /> </mapping> </element> <element id="Observation.related.target.identifier"> <path value="Observation.related.target.identifier" /> <short value="Logical reference, when literal reference is not known" /> <definition value="An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." /> <comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.identifier" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Identifier" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" /> </mapping> <mapping> <identity value="rim" /> <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" /> </mapping> <mapping> <identity value="servd" /> <map value="Identifier" /> </mapping> <mapping> <identity value="rim" /> <map value=".identifier" /> </mapping> </element> <element id="Observation.related.target.display"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.related.target.display" /> <short value="Text alternative for the resource" /> <definition value="Plain text narrative that identifies the resource in addition to the resource reference." /> <comment value="This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it." /> <min value="0" /> <max value="1" /> <base> <path value="Reference.display" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.component"> <path value="Observation.component" /> <short value="Component results" /> <definition value="Some 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." /> <comment value="For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below." /> <requirements value="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." /> <min value="0" /> <max value="0" /> <base> <path value="Observation.component" /> <min value="0" /> <max value="*" /> </base> <type> <code value="BackboneElement" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="containment by OBX-4?" /> </mapping> <mapping> <identity value="rim" /> <map value="outBoundRelationship[typeCode=COMP]" /> </mapping> </element> <element id="Observation.component.id"> <path value="Observation.component.id" /> <representation value="xmlAttr" /> <short value="xml:id (or equivalent in JSON)" /> <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> <comment value="Note that FHIR strings may not exceed 1MB in size" /> <min value="0" /> <max value="1" /> <base> <path value="Element.id" /> <min value="0" /> <max value="1" /> </base> <type> <code value="string" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> </element> <element id="Observation.component.extension"> <path value="Observation.component.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <description value="Extensions are always sliced by (at least) url" /> <rules value="open" /> </slicing> <short value="Additional Content defined by implementations" /> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <min value="0" /> <max value="*" /> <base> <path value="Element.extension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.component.modifierExtension"> <path value="Observation.component.modifierExtension" /> <short value="Extensions that cannot be ignored" /> <definition value="May 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." /> <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> <alias value="extensions" /> <alias value="user content" /> <alias value="modifiers" /> <min value="0" /> <max value="*" /> <base> <path value="BackboneElement.modifierExtension" /> <min value="0" /> <max value="*" /> </base> <type> <code value="Extension" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="ext-1" /> <severity value="error" /> <human value="Must have either extensions or value[x], not both" /> <expression value="extension.exists() != value.exists()" /> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> </constraint> <isModifier value="true" /> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="rim" /> <map value="N/A" /> </mapping> </element> <element id="Observation.component.code"> <path value="Observation.component.code" /> <short value="Type of component observation (code / type)" /> <definition value="Describes what was observed. Sometimes this is called the observation "code"." /> <comment value="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." /> <requirements value="Knowing what kind of observation is being made is essential to understanding the observation." /> <min value="1" /> <max value="1" /> <base> <path value="Observation.component.code" /> <min value="1" /> <max value="1" /> </base> <type> <code value="CodeableConcept" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <isSummary value="true" /> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="ObservationCode" /> </extension> <strength value="example" /> <description value="Codes identifying names of simple observations." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/observation-codes" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE" /> </mapping> <mapping> <identity value="rim" /> <map value="CD" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="< 363787002 |Observable entity| OR \n< 386053000 |Evaluation procedure|" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-3" /> </mapping> <mapping> <identity value="rim" /> <map value="code" /> </mapping> <mapping> <identity value="w5" /> <map value="what" /> </mapping> </element> <element id="Observation.component.value[x]:valueQuantity"> <path value="Observation.component.valueQuantity" /> <sliceName value="valueQuantity" /> <short value="Actual component result" /> <definition value="The information determined as a result of making the observation, if the information has a simple value." /> <comment value="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)." /> <requirements value="An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.component.value[x]" /> <min value="0" /> <max value="1" /> </base> <type> <code value="Quantity" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <constraint> <key value="qty-3" /> <severity value="error" /> <human value="If a code for the unit is present, the system SHALL also be present" /> <expression value="code.empty() or system.exists()" /> <xpath value="not(exists(f:code)) or exists(f:system)" /> </constraint> <isSummary value="true" /> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="SN (see also Range) or CQ" /> </mapping> <mapping> <identity value="rim" /> <map value="PQ, IVL<PQ>, MO, CO, depending on the values" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="363714003 |Interprets| < 441742003 |Evaluation finding|" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX.2, OBX.5, OBX.6" /> </mapping> <mapping> <identity value="rim" /> <map value="value" /> </mapping> <mapping> <identity value="sct-attr" /> <map value="363714003 |Interprets|" /> </mapping> </element> <element id="Observation.component.dataAbsentReason"> <path value="Observation.component.dataAbsentReason" /> <short value="Why the component result is missing" /> <definition value="Provides a reason why the expected value in the element Observation.value[x] is missing." /> <comment value=""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." /> <requirements value="For many results it is necessary to handle exceptional values in measurements." /> <min value="0" /> <max value="1" /> <base> <path value="Observation.component.dataAbsentReason" /> <min value="0" /> <max value="1" /> </base> <type> <code value="CodeableConcept" /> </type> <condition value="ele-1" /> <condition value="obs-6" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="ObservationValueAbsentReason" /> </extension> <strength value="extensible" /> <description value="Codes specifying why the result (Observation.value[x]) is missing." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/observation-valueabsentreason" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE" /> </mapping> <mapping> <identity value="rim" /> <map value="CD" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" /> </mapping> <mapping> <identity value="v2" /> <map value="N/A" /> </mapping> <mapping> <identity value="rim" /> <map value="value.nullFlavor" /> </mapping> </element> <element id="Observation.component.interpretation"> <path value="Observation.component.interpretation" /> <short value="High, low, normal, etc." /> <definition value="The 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." /> <comment value="The component interpretation applies only to the individual component value. For an overall interpretation all components together use thes Observation.interpretation element." /> <requirements value="For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result." /> <alias value="Abnormal Flag" /> <min value="0" /> <max value="1" /> <base> <path value="Observation.component.interpretation" /> <min value="0" /> <max value="1" /> </base> <type> <code value="CodeableConcept" /> </type> <condition value="ele-1" /> <constraint> <key value="ele-1" /> <severity value="error" /> <human value="All FHIR elements must have a @value or children" /> <expression value="hasValue() or (children().count() > id.count())" /> <xpath value="@value|f:*|h:div" /> </constraint> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="ObservationInterpretation" /> </extension> <strength value="extensible" /> <description value="Codes identifying interpretations of observations." /> <valueSetReference> <reference value="http://hl7.org/fhir/ValueSet/observation-interpretation" /> </valueSetReference> </binding> <mapping> <identity value="rim" /> <map value="n/a" /> </mapping> <mapping> <identity value="v2" /> <map value="CE/CNE/CWE" /> </mapping> <mapping> <identity value="rim" /> <map value="CD" /> </mapping> <mapping> <identity value="orim" /> <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" /> </mapping> <mapping> <identity value="sct-concept" /> <map value="< 260245000 |Findings values|" /> </mapping> <mapping> <identity value="v2" /> <map value="OBX-8" /> </mapping> <mapping> <identity value="rim" /> <map value="interpretationCode" /> </mapping> <mapping> <identity value="sct-attr" /> <map value="363713009 |Has interpretation|" /> </mapping> </element> <element id="Observation.component.referenceRange"> <path value="Observation.component.referenceRange" /> <short value="Provides guide for interpretation of component result" /> <definition value="Guidance on how to interpret the value by comparison to a normal or recommended range." /> <comment value="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." /> <requirements value="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." /> <min value="0" /> <max value="*" /> <base> <path value="Observation.component.referenceRange" /> <min value="0" /> <max value="*" /> </base> <contentReference value="#Observation.referenceRange" /> <mapping> <identity value="v2" /> <map value="OBX.7" /> </mapping> <mapping> <identity value="rim" /> <map value="outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]" /> </mapping> </element> </snapshot> <differential> <element id="Observation.extension"> <path value="Observation.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <rules value="open" /> </slicing> </element> <element id="Observation.extension:observationEventTiming"> <path value="Observation.extension" /> <sliceName value="observationEventTiming" /> <type> <code value="Extension" /> <profile value="http://roche.com/fhir/rdc/StructureDefinition/observation-event-timing" /> </type> </element> <element id="Observation.extension:observationReference"> <path value="Observation.extension" /> <sliceName value="observationReference" /> <type> <code value="Extension" /> <profile value="http://roche.com/fhir/rdc/StructureDefinition/observation-reference" /> </type> </element> <element id="Observation.extension:observationBgmRating"> <path value="Observation.extension" /> <sliceName value="observationBgmRating" /> <type> <code value="Extension" /> <profile value="http://roche.com/fhir/rdc/StructureDefinition/observation-bgmRating" /> </type> </element> <element id="Observation.extension:medicationAdministrationTarget"> <path value="Observation.extension" /> <sliceName value="medicationAdministrationTarget" /> <type> <code value="Extension" /> <profile value="http://roche.com/fhir/rdc/StructureDefinition/medication-administration-target" /> </type> </element> <element id="Observation.extension:medicationRequestTarget"> <path value="Observation.extension" /> <sliceName value="medicationRequestTarget" /> <type> <code value="Extension" /> <profile value="http://roche.com/fhir/rdc/StructureDefinition/medication-request-target" /> </type> </element> <element id="Observation.extension:registeredTimeStamp"> <path value="Observation.extension" /> <sliceName value="registeredTimeStamp" /> <type> <code value="Extension" /> <profile value="http://roche.com/fhir/rdc/StructureDefinition/registered-timestamp" /> </type> </element> <element id="Observation.identifier"> <path value="Observation.identifier" /> <max value="1" /> </element> <element id="Observation.identifier.system"> <path value="Observation.identifier.system" /> <binding> <strength value="required" /> <valueSetUri value="http://roche.com/fhir/rdc/ValueSet/identifiers" /> </binding> </element> <element id="Observation.basedOn"> <path value="Observation.basedOn" /> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/dm-careplan" /> </type> </element> <element id="Observation.basedOn.reference"> <path value="Observation.basedOn.reference" /> <constraint> <key value="Ref-error" /> <severity value="error" /> <human value="'basedOn.reference' element must point to a CarePlan resource" /> <expression value="startsWith('CarePlan/')" /> </constraint> <mapping> <identity value="ACSPIX2FHIR" /> <map value="CarePlan/${input.careplanId}" /> <comment value="bolus-management-careplan" /> </mapping> </element> <element id="Observation.status"> <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint"> <valueString value="default: final" /> </extension> <path value="Observation.status" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="final" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="final" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.category"> <path value="Observation.category" /> <max value="1" /> <binding> <strength value="required" /> <valueSetReference> <reference value="http://roche.com/fhir/rdc/ValueSet/observation-category-type" /> </valueSetReference> </binding> </element> <element id="Observation.category.coding.system"> <path value="Observation.category.coding.system" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="http://roche.com/fhir/rdc/cs" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="http://roche.com/fhir/rdc/cs" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.category.coding.code"> <path value="Observation.category.coding.code" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="ObservationCategoryCodes.code" /> <comment value="CLINICAL(BG.val) : CARB (BG.Carb) : CONTROL(BG.Ctrl) : HEALTH(BG.Evt) : INSULIN_TDD (IPDATA.BOLUS.remark=Bolus Total)" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="clinical-observation" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.category.coding.display"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.category.coding.display" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="ObservationCategoryCodes.display" /> <comment value="Please refer valueset for display value" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="Clinical Observation" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.code"> <path value="Observation.code" /> <binding> <strength value="required" /> <valueSetReference> <reference value="http://roche.com/fhir/rdc/ValueSet/observation-codes" /> </valueSetReference> </binding> </element> <element id="Observation.code.coding.system"> <path value="Observation.code.coding.system" /> <min value="1" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="ObservationCodes.system" /> <comment value="Refer ValueSet for system value" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="http://loinc.org" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.code.coding.code"> <path value="Observation.code.coding.code" /> <min value="1" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="ObservationCodes.code" /> <comment value="BG.Val, BG.Evt(20)->(41604-0), BG.Ctrl, BG.Carb, ADVICED_CARBS.Carb, GluciCheckApp(Manual method) || IPDATA.BOLUS..remark(remark="Bolus Total","Bolus+Basal Total")" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="32016-8" /> <comment value="Fixed value" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="Set Evt=20 if code = 41604-0" /> </mapping> </element> <element id="Observation.code.coding.display"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.code.coding.display" /> <min value="1" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="ObservationCodes.display" /> <comment value="Refer ValueSet for display value" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="Glucose [Mass/volume] in Capillary blood" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.subject"> <path value="Observation.subject" /> <comment value="BG Observation -> subject element will be mapped to Patient.\n\nManual Entry Observation -> subject element will be mapped to Patient." /> <min value="1" /> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/patient" /> </type> </element> <element id="Observation.subject.reference"> <path value="Observation.subject.reference" /> <constraint> <key value="Ref-error" /> <severity value="error" /> <human value="'subject.reference' element must point to a Patient resource" /> <expression value="startsWith('Patient/')" /> </constraint> </element> <element id="Observation.context"> <path value="Observation.context" /> <max value="0" /> </element> <element id="Observation.effective[x]"> <path value="Observation.effective[x]" /> <min value="1" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="${BGDate}${Timestamp}:00+02:00" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Dt" /> <comment value="Map date from effectiveDateTime" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Tm" /> <comment value="Map time from effectiveDateTime (hh:mm)" /> </mapping> </element> <element id="Observation.issued"> <path value="Observation.issued" /> <max value="0" /> </element> <element id="Observation.performer"> <path value="Observation.performer" /> <comment value="performer element will be mapped to Patient." /> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/patient" /> </type> </element> <element id="Observation.performer.reference"> <path value="Observation.performer.reference" /> <constraint> <key value="Ref-error" /> <severity value="error" /> <human value="'performer.reference' element must point to a Patient resource" /> <expression value="startsWith('Patient/')" /> </constraint> </element> <element id="Observation.value[x]:valueQuantity"> <path value="Observation.valueQuantity" /> <sliceName value="valueQuantity" /> <type> <code value="Quantity" /> </type> <binding> <strength value="required" /> <valueSetUri value="http://roche.com/fhir/rdc/ValueSet/devicemetric-metric-unit" /> </binding> <mapping> <identity value="ACSPIX2FHIR" /> <map value="delete obs.valueQuantity" /> <comment value="when Val =?" /> </mapping> </element> <element id="Observation.value[x]:valueQuantity.value"> <path value="Observation.valueQuantity.value" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="BG.Val" /> <comment value="Map If Val !="HI" or Val !="LO" or Val !="-"" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="com.roche.greendot.engine.finalValueDetected.getMeasurement().getValue()" /> <comment value="blood glucose measurement value" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Val" /> <comment value="Map BG Value from FHIR Bundle Clinical Observation" /> </mapping> </element> <element id="Observation.value[x]:valueQuantity.unit"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.valueQuantity.unit" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="${deviceBGUnit}" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="type of metric" /> <comment value="DEVICE_METRIC_UNIT.MG_DL" /> </mapping> </element> <element id="Observation.value[x]:valueQuantity.system"> <path value="Observation.valueQuantity.system" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="http://unitsofmeasure.org" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="http://unitsofmeasure.org" /> </mapping> </element> <element id="Observation.value[x]:valueQuantity.code"> <path value="Observation.valueQuantity.code" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="${deviceBGUnit}" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="type of metric display" /> <comment value="DEVICE_METRIC_UNIT.MG_DL" /> </mapping> </element> <element id="Observation.dataAbsentReason"> <path value="Observation.dataAbsentReason" /> <binding> <strength value="required" /> <valueSetReference> <reference value="http://roche.com/fhir/rdc/ValueSet/nullFlavor" /> </valueSetReference> </binding> </element> <element id="Observation.dataAbsentReason.coding.system"> <path value="Observation.dataAbsentReason.coding.system" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="input.Val="HI" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf "LO" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf "-" then 'http://hl7.org/fhir/data-absent-reason'" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="input.Val="HI" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf "LO" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf "-" then 'http://hl7.org/fhir/data-absent-reason'" /> </mapping> </element> <element id="Observation.dataAbsentReason.coding.code"> <path value="Observation.dataAbsentReason.coding.code" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="input.Val="HI" then 'PINF' elseIf "LO" then 'NINF' elseIf "-" then 'unknown'" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="input.Val="HI" then 'PINF' elseIf "LO" then 'NINF' elseIf "-" then 'unknown'" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Val" /> <comment value="FHIR Bundle -> If code":"PINF" then Set BG.Val ="HI" elseIf "code": "NINF" then BG.Val ="LO"" /> </mapping> </element> <element id="Observation.dataAbsentReason.coding.display"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.dataAbsentReason.coding.display" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="input.Val="HI" then 'positive infinity' elseIf "LO" then 'negative infinity' elseIf "-" then 'Unknown'" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="input.Val="HI" then 'positive infinity' elseIf "LO" then 'negative infinity' elseIf "-" then 'Unknown'" /> </mapping> </element> <element id="Observation.dataAbsentReason.text"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"> <valueBoolean value="true" /> </extension> <path value="Observation.dataAbsentReason.text" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="'Above sensor range' : 'Below sensor range'" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="'Above sensor range' : 'Below sensor range'" /> <comment value="BG value is HI : LO" /> </mapping> </element> <element id="Observation.interpretation.coding.system"> <path value="Observation.interpretation.coding.system" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="http://hl7.org/fhir/v2/0078" /> </mapping> </element> <element id="Observation.interpretation.coding.code"> <path value="Observation.interpretation.coding.code" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="'L' or 'H'" /> <comment value="If Evt=71 then map to L elseIf Evt=72 then map to 'H'" /> </mapping> </element> <element id="Observation.bodySite"> <path value="Observation.bodySite" /> <binding> <strength value="required" /> <valueSetReference> <reference value="http://roche.com/fhir/rdc/ValueSet/body-site" /> </valueSetReference> </binding> </element> <element id="Observation.method"> <path value="Observation.method" /> <max value="0" /> </element> <element id="Observation.specimen"> <path value="Observation.specimen" /> <max value="0" /> </element> <element id="Observation.device"> <path value="Observation.device" /> <comment value="BG Observation -> device element will be mapped to DeviceMetric\n\nManual Entry Observation -> device element will be mapped to DeviceMetric" /> <min value="1" /> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/dm-device-metric" /> </type> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.D" /> <comment value="Specifies from which device this record is loaded (n=1..3). n referes to the nth <DEVICE> element" /> </mapping> </element> <element id="Observation.device.reference"> <path value="Observation.device.reference" /> <constraint> <key value="Ref-error" /> <severity value="error" /> <human value="'device.reference' element must point to a Device resource" /> <expression value="startsWith('DeviceMetric/')" /> </constraint> <mapping> <identity value="ACSPIX2FHIR" /> <map value="DeviceMetric/${input.deviceMetricId}" /> </mapping> <mapping> <identity value="GREENDOT" /> <map value="DeviceMetric/${DeviceMetricId}" /> <comment value="<UID of the DeviceMetric resource of this bundle>" /> </mapping> </element> <element id="Observation.referenceRange"> <path value="Observation.referenceRange" /> <max value="1" /> </element> <element id="Observation.related.type"> <path value="Observation.related.type" /> <min value="1" /> <mapping> <identity value="ACSPIX2FHIR" /> <map value="has-member" /> <comment value="Fixed value" /> </mapping> </element> <element id="Observation.related.target"> <path value="Observation.related.target" /> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/observation" /> </type> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/health-event-observation" /> </type> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/bg-observation" /> </type> <type> <code value="Reference" /> <targetProfile value="http://roche.com/fhir/rdc/StructureDefinition/observation-EWM" /> </type> </element> <element id="Observation.related.target.reference"> <path value="Observation.related.target.reference" /> <constraint> <key value="Ref-error" /> <severity value="error" /> <human value="'related.target.reference' element must point to an Observation resource" /> <expression value="startsWith('Observation/')" /> </constraint> <mapping> <identity value="ACSPIX2FHIR" /> <map value="Observation/${relatedObservationId}" /> <comment value="process relatedIds-> input.carbId,input.carbAdviceId,input.ctrlId,input.ewmIds,input.healthEventIds" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="Oral Medication observation mapped to Evt=35" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Ctrl" /> <comment value="Control solution observation mapped to 1,2,3,?" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="Stress observation mapped to Evt=29" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="illness observation mapped to Evt=31" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="Premenstrual observation mapped to Evt=73" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="Exercise1 observation mapped to Evt=75" /> </mapping> <mapping> <identity value="GLUCI-CHEK" /> <map value="BG.Evt" /> <comment value="Exercise2 observation mapped to Evt=76" /> </mapping> </element> <element id="Observation.component"> <path value="Observation.component" /> <max value="0" /> </element> <element id="Observation.component.value[x]:valueQuantity"> <path value="Observation.component.valueQuantity" /> <sliceName value="valueQuantity" /> <type> <code value="Quantity" /> </type> </element> </differential> </StructureDefinition>
JSON
The below section has the structure definition in JSON format
{ "resourceType": "StructureDefinition", "id": "842f9a8a-84fd-4180-83ed-0062334cb990", "meta": { "versionId": "27", "lastUpdated": "2019-03-29T15:24:33.361123+00:00" }, "url": "http://roche.com/fhir/rdc/StructureDefinition/bg-observation", "version": "1", "name": "bg-observation", "status": "active", "date": "2019-03-29T15:06:10.6569793Z", "fhirVersion": "3.0.1", "mapping": [ { "identity": "ACSPIX2FHIR", "name": "ACSPIX" }, { "identity": "GREENDOT", "name": "Greendot" }, { "identity": "GLUCI-CHEK", "name": "FHIR2ACSPIX" } ], "kind": "resource", "abstract": false, "type": "Observation", "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation", "derivation": "constraint", "snapshot": { "element": [ { "id": "Observation", "path": "Observation", "short": "Measurements and simple assertions", "definition": "Measurements and simple assertions made about a patient, device or other subject.", "comment": "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.", "alias": [ "Vital Signs", "Measurement", "Results", "Tests" ], "min": 0, "max": "*", "base": { "path": "Resource", "min": 0, "max": "*" }, "constraint": [ { "key": "dom-2", "severity": "error", "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources", "expression": "contained.contained.empty()", "xpath": "not(parent::f:contained and f:contained)" }, { "key": "dom-1", "severity": "error", "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative", "expression": "contained.text.empty()", "xpath": "not(parent::f:contained and f:text)" }, { "key": "dom-4", "severity": "error", "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated", "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()", "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))" }, { "key": "dom-3", "severity": "error", "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource", "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()", "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))" }, { "key": "obs-7", "severity": "error", "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present", "expression": "value.empty() or code!=component.code", "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)" }, { "key": "obs-6", "severity": "error", "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present", "expression": "dataAbsentReason.empty() or value.empty()", "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))" } ], "mapping": [ { "identity": "rim", "map": "Entity. Role, or Act" }, { "identity": "workflow", "map": "Event" }, { "identity": "sct-concept", "map": "< 363787002 |Observable entity|" }, { "identity": "v2", "map": "OBX" }, { "identity": "rim", "map": "Observation[classCode=OBS, moodCode=EVN]" }, { "identity": "w5", "map": "clinical.diagnostics" } ] }, { "id": "Observation.id", "path": "Observation.id", "short": "Logical id of this artifact", "definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.", "min": 0, "max": "1", "base": { "path": "Resource.id", "min": 0, "max": "1" }, "type": [ { "code": "id" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.meta", "path": "Observation.meta", "short": "Metadata about the resource", "definition": "The 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.", "min": 0, "max": "1", "base": { "path": "Resource.meta", "min": 0, "max": "1" }, "type": [ { "code": "Meta" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.implicitRules", "path": "Observation.implicitRules", "short": "A set of rules under which this content was created", "definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.", "comment": "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. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.", "min": 0, "max": "1", "base": { "path": "Resource.implicitRules", "min": 0, "max": "1" }, "type": [ { "code": "uri" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isModifier": true, "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.language", "path": "Observation.language", "short": "Language of the resource content", "definition": "The base language in which the resource is written.", "comment": "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).", "min": 0, "max": "1", "base": { "path": "Resource.language", "min": 0, "max": "1" }, "type": [ { "code": "code" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", "valueReference": { "reference": "http://hl7.org/fhir/ValueSet/all-languages" } }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "Language" }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", "valueBoolean": true } ], "strength": "extensible", "description": "A human language.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/languages" } }, "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.text", "path": "Observation.text", "short": "Text summary of the resource, for human interpretation", "definition": "A 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.", "comment": "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.", "alias": [ "narrative", "html", "xhtml", "display" ], "min": 0, "max": "1", "base": { "path": "DomainResource.text", "min": 0, "max": "1" }, "type": [ { "code": "Narrative" } ], "condition": [ "ele-1", "dom-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" }, { "identity": "rim", "map": "Act.text?" } ] }, { "id": "Observation.contained", "path": "Observation.contained", "short": "Contained, inline Resources", "definition": "These 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.", "comment": "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.", "alias": [ "inline resources", "anonymous resources", "contained resources" ], "min": 0, "max": "*", "base": { "path": "DomainResource.contained", "min": 0, "max": "*" }, "type": [ { "code": "Resource" } ], "mapping": [ { "identity": "rim", "map": "Entity. Role, or Act" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.extension", "path": "Observation.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the 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.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "DomainResource.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.extension:observationEventTiming", "path": "Observation.extension", "sliceName": "observationEventTiming", "short": "Optional Extensions Element", "definition": "Optional Extension Element - found in all resources.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "DomainResource.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.extension:observationReference", "path": "Observation.extension", "sliceName": "observationReference", "short": "Optional Extensions Element", "definition": "Optional Extension Element - found in all resources.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "DomainResource.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.extension:observationBgmRating", "path": "Observation.extension", "sliceName": "observationBgmRating", "short": "Optional Extensions Element", "definition": "Optional Extension Element - found in all resources.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "DomainResource.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.extension:medicationAdministrationTarget", "path": "Observation.extension", "sliceName": "medicationAdministrationTarget", "short": "Optional Extensions Element", "definition": "Optional Extension Element - found in all resources.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "DomainResource.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.extension:medicationRequestTarget", "path": "Observation.extension", "sliceName": "medicationRequestTarget", "short": "Optional Extensions Element", "definition": "Optional Extension Element - found in all resources.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "DomainResource.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.extension:registeredTimeStamp", "path": "Observation.extension", "sliceName": "registeredTimeStamp", "short": "Optional Extensions Element", "definition": "Optional Extension Element - found in all resources.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "DomainResource.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.modifierExtension", "path": "Observation.modifierExtension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Extensions that cannot be ignored", "definition": "May 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.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "DomainResource.modifierExtension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "isModifier": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.identifier", "path": "Observation.identifier", "short": "Business Identifier for observation", "definition": "A unique identifier assigned to this observation.", "requirements": "Allows observations to be distinguished and referenced.", "min": 0, "max": "1", "base": { "path": "Observation.identifier", "min": 0, "max": "*" }, "type": [ { "code": "Identifier" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)" }, { "identity": "rim", "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" }, { "identity": "servd", "map": "Identifier" }, { "identity": "workflow", "map": "Event.identifier" }, { "identity": "v2", "map": "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." }, { "identity": "rim", "map": "id" }, { "identity": "w5", "map": "id" } ] }, { "id": "Observation.identifier.id", "path": "Observation.identifier.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.identifier.extension", "path": "Observation.identifier.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.identifier.use", "path": "Observation.identifier.use", "short": "usual | official | temp | secondary (If known)", "definition": "The purpose of this identifier.", "comment": "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.", "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.", "min": 0, "max": "1", "base": { "path": "Identifier.use", "min": 0, "max": "1" }, "type": [ { "code": "code" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isModifier": true, "isSummary": true, "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "IdentifierUse" } ], "strength": "required", "description": "Identifies the purpose for this identifier, if known .", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/identifier-use" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "N/A" }, { "identity": "rim", "map": "Role.code or implied by context" } ] }, { "id": "Observation.identifier.type", "path": "Observation.identifier.type", "short": "Description of identifier", "definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.", "comment": "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. \n\nWhere 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.", "requirements": "Allows users to make use of identifiers when the identifier system is not known.", "min": 0, "max": "1", "base": { "path": "Identifier.type", "min": 0, "max": "1" }, "type": [ { "code": "CodeableConcept" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "IdentifierType" }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", "valueBoolean": true } ], "strength": "extensible", "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/identifier-type" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE" }, { "identity": "rim", "map": "CD" }, { "identity": "orim", "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" }, { "identity": "v2", "map": "CX.5" }, { "identity": "rim", "map": "Role.code or implied by context" } ] }, { "id": "Observation.identifier.system", "path": "Observation.identifier.system", "short": "The namespace for the identifier value", "definition": "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.", "comment": "see http://en.wikipedia.org/wiki/Uniform_resource_identifier", "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.", "min": 0, "max": "1", "base": { "path": "Identifier.system", "min": 0, "max": "1" }, "type": [ { "code": "uri" } ], "example": [ { "label": "General", "valueUri": "http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "binding": { "strength": "required", "valueSetUri": "http://roche.com/fhir/rdc/ValueSet/identifiers" }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CX.4 / EI-2-4" }, { "identity": "rim", "map": "II.root or Role.id.root" }, { "identity": "servd", "map": "./IdentifierType" } ] }, { "id": "Observation.identifier.value", "path": "Observation.identifier.value", "short": "The value that is unique", "definition": "The portion of the identifier typically relevant to the user and which is unique within the context of the system.", "comment": "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](extension-rendered-value.html).", "min": 0, "max": "1", "base": { "path": "Identifier.value", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "example": [ { "label": "General", "valueString": "123456" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CX.1 / EI.1" }, { "identity": "rim", "map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)" }, { "identity": "servd", "map": "./Value" } ] }, { "id": "Observation.identifier.period", "path": "Observation.identifier.period", "short": "Time period when id is/was valid for use", "definition": "Time period during which identifier is/was valid for use.", "comment": "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.", "min": 0, "max": "1", "base": { "path": "Identifier.period", "min": 0, "max": "1" }, "type": [ { "code": "Period" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "per-1", "severity": "error", "human": "If present, start SHALL have a lower value than end", "expression": "start.empty() or end.empty() or (start <= end)", "xpath": "not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value)" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "DR" }, { "identity": "rim", "map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]" }, { "identity": "v2", "map": "CX.7 + CX.8" }, { "identity": "rim", "map": "Role.effectiveTime or implied by context" }, { "identity": "servd", "map": "./StartDate and ./EndDate" } ] }, { "id": "Observation.identifier.assigner", "path": "Observation.identifier.assigner", "short": "Organization that issued id (may be just text)", "definition": "Organization that issued/manages the identifier.", "comment": "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.", "min": 0, "max": "1", "base": { "path": "Identifier.assigner", "min": 0, "max": "1" }, "type": [ { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ref-1", "severity": "error", "human": "SHALL have a contained resource if a local reference is provided", "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))", "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)" }, { "identity": "v2", "map": "CX.4 / (CX.4,CX.9,CX.10)" }, { "identity": "rim", "map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper" }, { "identity": "servd", "map": "./IdentifierIssuingAuthority" } ] }, { "id": "Observation.basedOn", "path": "Observation.basedOn", "short": "Fulfills plan, proposal or order", "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.", "comment": "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.", "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.", "alias": [ "Fulfills" ], "min": 0, "max": "*", "base": { "path": "Observation.basedOn", "min": 0, "max": "*" }, "type": [ { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/dm-careplan" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ref-1", "severity": "error", "human": "SHALL have a contained resource if a local reference is provided", "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))", "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)" }, { "identity": "workflow", "map": "Event.basedOn" }, { "identity": "v2", "map": "ORC" }, { "identity": "rim", "map": ".outboundRelationship[typeCode=FLFS].target" } ] }, { "id": "Observation.basedOn.id", "path": "Observation.basedOn.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.basedOn.extension", "path": "Observation.basedOn.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.basedOn.reference", "path": "Observation.basedOn.reference", "short": "Literal reference, Relative, internal or absolute URL", "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.", "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.", "min": 0, "max": "1", "base": { "path": "Reference.reference", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1", "ref-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "Ref-error", "severity": "error", "human": "'basedOn.reference' element must point to a CarePlan resource", "expression": "startsWith('CarePlan/')" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" }, { "identity": "ACSPIX2FHIR", "map": "CarePlan/${input.careplanId}", "comment": "bolus-management-careplan" } ] }, { "id": "Observation.basedOn.identifier", "path": "Observation.basedOn.identifier", "short": "Logical reference, when literal reference is not known", "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.", "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.", "min": 0, "max": "1", "base": { "path": "Reference.identifier", "min": 0, "max": "1" }, "type": [ { "code": "Identifier" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)" }, { "identity": "rim", "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" }, { "identity": "servd", "map": "Identifier" }, { "identity": "rim", "map": ".identifier" } ] }, { "id": "Observation.basedOn.display", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.basedOn.display", "short": "Text alternative for the resource", "definition": "Plain text narrative that identifies the resource in addition to the resource reference.", "comment": "This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.", "min": 0, "max": "1", "base": { "path": "Reference.display", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.status", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", "valueString": "default: final" } ], "path": "Observation.status", "short": "registered | preliminary | final | amended +", "definition": "The status of the result value.", "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.", "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.", "min": 1, "max": "1", "base": { "path": "Observation.status", "min": 1, "max": "1" }, "type": [ { "code": "code" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isModifier": true, "isSummary": true, "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ObservationStatus" } ], "strength": "required", "description": "Codes providing the status of an observation.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/observation-status" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "workflow", "map": "Event.status" }, { "identity": "sct-concept", "map": "< 445584004 |Report by finality status|" }, { "identity": "v2", "map": "OBX-11" }, { "identity": "rim", "map": "status Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\"" }, { "identity": "w5", "map": "status" }, { "identity": "ACSPIX2FHIR", "map": "final" }, { "identity": "GREENDOT", "map": "final", "comment": "Fixed value" } ] }, { "id": "Observation.category", "path": "Observation.category", "short": "Classification of type of observation", "definition": "A code that classifies the general type of observation being made.", "comment": "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.", "requirements": "Used for filtering what observations are retrieved and displayed.", "min": 0, "max": "1", "base": { "path": "Observation.category", "min": 0, "max": "*" }, "type": [ { "code": "CodeableConcept" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "binding": { "strength": "required", "description": "Codes for high level observation categories.", "valueSetReference": { "reference": "http://roche.com/fhir/rdc/ValueSet/observation-category-type" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE" }, { "identity": "rim", "map": "CD" }, { "identity": "orim", "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" }, { "identity": "rim", "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code" }, { "identity": "w5", "map": "class" } ] }, { "id": "Observation.category.id", "path": "Observation.category.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.category.extension", "path": "Observation.category.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.category.coding", "path": "Observation.category.coding", "short": "Code defined by a terminology system", "definition": "A reference to a code defined by a terminology system.", "comment": "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.", "requirements": "Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.", "min": 0, "max": "*", "base": { "path": "CodeableConcept.coding", "min": 0, "max": "*" }, "type": [ { "code": "Coding" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" }, { "identity": "rim", "map": "CV" }, { "identity": "orim", "map": "fhir:Coding rdfs:subClassOf dt:CDCoding" }, { "identity": "v2", "map": "C*E.1-8, C*E.10-22" }, { "identity": "rim", "map": "union(., ./translation)" }, { "identity": "orim", "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" } ] }, { "id": "Observation.category.coding.id", "path": "Observation.category.coding.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.category.coding.extension", "path": "Observation.category.coding.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.category.coding.system", "path": "Observation.category.coding.system", "short": "Identity of the terminology system", "definition": "The identification of the code system that defines the meaning of the symbol in the code.", "comment": "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.", "requirements": "Need to be unambiguous about the source of the definition of the symbol.", "min": 0, "max": "1", "base": { "path": "Coding.system", "min": 0, "max": "1" }, "type": [ { "code": "uri" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.3" }, { "identity": "rim", "map": "./codeSystem" }, { "identity": "orim", "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" }, { "identity": "ACSPIX2FHIR", "map": "http://roche.com/fhir/rdc/cs" }, { "identity": "GREENDOT", "map": "http://roche.com/fhir/rdc/cs", "comment": "Fixed value" } ] }, { "id": "Observation.category.coding.version", "path": "Observation.category.coding.version", "short": "Version of the system - if relevant", "definition": "The 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.", "comment": "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.", "min": 0, "max": "1", "base": { "path": "Coding.version", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.7" }, { "identity": "rim", "map": "./codeSystemVersion" }, { "identity": "orim", "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" } ] }, { "id": "Observation.category.coding.code", "path": "Observation.category.coding.code", "short": "Symbol in syntax defined by the system", "definition": "A 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).", "comment": "Note that FHIR strings may not exceed 1MB in size", "requirements": "Need to refer to a particular code in the system.", "min": 0, "max": "1", "base": { "path": "Coding.code", "min": 0, "max": "1" }, "type": [ { "code": "code" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.1" }, { "identity": "rim", "map": "./code" }, { "identity": "orim", "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" }, { "identity": "ACSPIX2FHIR", "map": "ObservationCategoryCodes.code", "comment": "CLINICAL(BG.val) : CARB (BG.Carb) : CONTROL(BG.Ctrl) : HEALTH(BG.Evt) : INSULIN_TDD (IPDATA.BOLUS.remark=Bolus Total)" }, { "identity": "GREENDOT", "map": "clinical-observation", "comment": "Fixed value" } ] }, { "id": "Observation.category.coding.display", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.category.coding.display", "short": "Representation defined by the system", "definition": "A representation of the meaning of the code in the system, following the rules of the system.", "comment": "Note that FHIR strings may not exceed 1MB in size", "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", "min": 0, "max": "1", "base": { "path": "Coding.display", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.2 - but note this is not well followed" }, { "identity": "rim", "map": "CV.displayName" }, { "identity": "orim", "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" }, { "identity": "ACSPIX2FHIR", "map": "ObservationCategoryCodes.display", "comment": "Please refer valueset for display value" }, { "identity": "GREENDOT", "map": "Clinical Observation", "comment": "Fixed value" } ] }, { "id": "Observation.category.coding.userSelected", "path": "Observation.category.coding.userSelected", "short": "If this coding was chosen directly by the user", "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).", "comment": "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.", "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.", "min": 0, "max": "1", "base": { "path": "Coding.userSelected", "min": 0, "max": "1" }, "type": [ { "code": "boolean" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "Sometimes implied by being first" }, { "identity": "rim", "map": "CD.codingRationale" }, { "identity": "orim", "map": "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 ]" } ] }, { "id": "Observation.category.text", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.category.text", "short": "Plain text representation of the concept", "definition": "A 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.", "comment": "Very often the text is the same as a displayName of one of the codings.", "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.", "min": 0, "max": "1", "base": { "path": "CodeableConcept.text", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.9. But note many systems use C*E.2 for this" }, { "identity": "rim", "map": "./originalText[mediaType/code=\"text/plain\"]/data" }, { "identity": "orim", "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" } ] }, { "id": "Observation.code", "path": "Observation.code", "short": "Type of observation (code / type)", "definition": "Describes what was observed. Sometimes this is called the observation \"name\".", "comment": "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.", "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.", "alias": [ "Name" ], "min": 1, "max": "1", "base": { "path": "Observation.code", "min": 1, "max": "1" }, "type": [ { "code": "CodeableConcept" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "binding": { "strength": "required", "description": "Codes identifying names of simple observations.", "valueSetReference": { "reference": "http://roche.com/fhir/rdc/ValueSet/observation-codes" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE" }, { "identity": "rim", "map": "CD" }, { "identity": "orim", "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" }, { "identity": "workflow", "map": "Event.code" }, { "identity": "sct-concept", "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|" }, { "identity": "v2", "map": "OBX-3" }, { "identity": "rim", "map": "code" }, { "identity": "sct-attr", "map": "116680003 |Is a|" }, { "identity": "w5", "map": "what" } ] }, { "id": "Observation.code.id", "path": "Observation.code.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.code.extension", "path": "Observation.code.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.code.coding", "path": "Observation.code.coding", "short": "Code defined by a terminology system", "definition": "A reference to a code defined by a terminology system.", "comment": "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.", "requirements": "Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.", "min": 0, "max": "*", "base": { "path": "CodeableConcept.coding", "min": 0, "max": "*" }, "type": [ { "code": "Coding" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" }, { "identity": "rim", "map": "CV" }, { "identity": "orim", "map": "fhir:Coding rdfs:subClassOf dt:CDCoding" }, { "identity": "v2", "map": "C*E.1-8, C*E.10-22" }, { "identity": "rim", "map": "union(., ./translation)" }, { "identity": "orim", "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" } ] }, { "id": "Observation.code.coding.id", "path": "Observation.code.coding.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.code.coding.extension", "path": "Observation.code.coding.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.code.coding.system", "path": "Observation.code.coding.system", "short": "Identity of the terminology system", "definition": "The identification of the code system that defines the meaning of the symbol in the code.", "comment": "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.", "requirements": "Need to be unambiguous about the source of the definition of the symbol.", "min": 1, "max": "1", "base": { "path": "Coding.system", "min": 0, "max": "1" }, "type": [ { "code": "uri" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.3" }, { "identity": "rim", "map": "./codeSystem" }, { "identity": "orim", "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" }, { "identity": "ACSPIX2FHIR", "map": "ObservationCodes.system", "comment": "Refer ValueSet for system value" }, { "identity": "GREENDOT", "map": "http://loinc.org", "comment": "Fixed value" } ] }, { "id": "Observation.code.coding.version", "path": "Observation.code.coding.version", "short": "Version of the system - if relevant", "definition": "The 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.", "comment": "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.", "min": 0, "max": "1", "base": { "path": "Coding.version", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.7" }, { "identity": "rim", "map": "./codeSystemVersion" }, { "identity": "orim", "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" } ] }, { "id": "Observation.code.coding.code", "path": "Observation.code.coding.code", "short": "Symbol in syntax defined by the system", "definition": "A 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).", "comment": "Note that FHIR strings may not exceed 1MB in size", "requirements": "Need to refer to a particular code in the system.", "min": 1, "max": "1", "base": { "path": "Coding.code", "min": 0, "max": "1" }, "type": [ { "code": "code" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.1" }, { "identity": "rim", "map": "./code" }, { "identity": "orim", "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" }, { "identity": "ACSPIX2FHIR", "map": "ObservationCodes.code", "comment": "BG.Val, BG.Evt(20)->(41604-0), BG.Ctrl, BG.Carb, ADVICED_CARBS.Carb, GluciCheckApp(Manual method) || IPDATA.BOLUS..remark(remark=\"Bolus Total\",\"Bolus+Basal Total\")" }, { "identity": "GREENDOT", "map": "32016-8", "comment": "Fixed value" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "Set Evt=20 if code = 41604-0" } ] }, { "id": "Observation.code.coding.display", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.code.coding.display", "short": "Representation defined by the system", "definition": "A representation of the meaning of the code in the system, following the rules of the system.", "comment": "Note that FHIR strings may not exceed 1MB in size", "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", "min": 1, "max": "1", "base": { "path": "Coding.display", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.2 - but note this is not well followed" }, { "identity": "rim", "map": "CV.displayName" }, { "identity": "orim", "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" }, { "identity": "ACSPIX2FHIR", "map": "ObservationCodes.display", "comment": "Refer ValueSet for display value" }, { "identity": "GREENDOT", "map": "Glucose [Mass/volume] in Capillary blood", "comment": "Fixed value" } ] }, { "id": "Observation.code.coding.userSelected", "path": "Observation.code.coding.userSelected", "short": "If this coding was chosen directly by the user", "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).", "comment": "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.", "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.", "min": 0, "max": "1", "base": { "path": "Coding.userSelected", "min": 0, "max": "1" }, "type": [ { "code": "boolean" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "Sometimes implied by being first" }, { "identity": "rim", "map": "CD.codingRationale" }, { "identity": "orim", "map": "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 ]" } ] }, { "id": "Observation.code.text", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.code.text", "short": "Plain text representation of the concept", "definition": "A 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.", "comment": "Very often the text is the same as a displayName of one of the codings.", "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.", "min": 0, "max": "1", "base": { "path": "CodeableConcept.text", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.9. But note many systems use C*E.2 for this" }, { "identity": "rim", "map": "./originalText[mediaType/code=\"text/plain\"]/data" }, { "identity": "orim", "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" } ] }, { "id": "Observation.subject", "path": "Observation.subject", "short": "Who and/or what this is about", "definition": "The 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.", "comment": "BG Observation -> subject element will be mapped to Patient.\n\nManual Entry Observation -> subject element will be mapped to Patient.", "requirements": "Observations have no value if you don't know who or what they're about.", "min": 1, "max": "1", "base": { "path": "Observation.subject", "min": 0, "max": "1" }, "type": [ { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/patient" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ref-1", "severity": "error", "human": "SHALL have a contained resource if a local reference is provided", "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))", "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)" }, { "identity": "workflow", "map": "Event.subject" }, { "identity": "v2", "map": "PID-3" }, { "identity": "rim", "map": "participation[typeCode=SBJ]" }, { "identity": "w5", "map": "who.focus" } ] }, { "id": "Observation.subject.id", "path": "Observation.subject.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.subject.extension", "path": "Observation.subject.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.subject.reference", "path": "Observation.subject.reference", "short": "Literal reference, Relative, internal or absolute URL", "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.", "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.", "min": 0, "max": "1", "base": { "path": "Reference.reference", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1", "ref-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "Ref-error", "severity": "error", "human": "'subject.reference' element must point to a Patient resource", "expression": "startsWith('Patient/')" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.subject.identifier", "path": "Observation.subject.identifier", "short": "Logical reference, when literal reference is not known", "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.", "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.", "min": 0, "max": "1", "base": { "path": "Reference.identifier", "min": 0, "max": "1" }, "type": [ { "code": "Identifier" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)" }, { "identity": "rim", "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" }, { "identity": "servd", "map": "Identifier" }, { "identity": "rim", "map": ".identifier" } ] }, { "id": "Observation.subject.display", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.subject.display", "short": "Text alternative for the resource", "definition": "Plain text narrative that identifies the resource in addition to the resource reference.", "comment": "This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.", "min": 0, "max": "1", "base": { "path": "Reference.display", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.context", "path": "Observation.context", "short": "Healthcare event during which this observation is made", "definition": "The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made.", "comment": "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).", "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.", "alias": [ "Encounter" ], "min": 0, "max": "0", "base": { "path": "Observation.context", "min": 0, "max": "1" }, "type": [ { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ref-1", "severity": "error", "human": "SHALL have a contained resource if a local reference is provided", "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))", "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)" }, { "identity": "workflow", "map": "Event.context" }, { "identity": "v2", "map": "PV1" }, { "identity": "rim", "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]" }, { "identity": "w5", "map": "context" } ] }, { "id": "Observation.effective[x]", "path": "Observation.effective[x]", "short": "Clinically relevant time/time-period for observation", "definition": "The 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.", "comment": "At least a date should be present unless this observation is a historical report.", "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.", "alias": [ "Occurrence" ], "min": 1, "max": "1", "base": { "path": "Observation.effective[x]", "min": 0, "max": "1" }, "type": [ { "code": "dateTime" }, { "code": "Period" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "workflow", "map": "Event.occurrence[x]" }, { "identity": "v2", "map": "OBX-14, and/or OBX-19 after v2.4 (depends on who observation made)" }, { "identity": "rim", "map": "effectiveTime" }, { "identity": "w5", "map": "when.done" }, { "identity": "ACSPIX2FHIR", "map": "${BGDate}${Timestamp}:00+02:00" }, { "identity": "GLUCI-CHEK", "map": "BG.Dt", "comment": "Map date from effectiveDateTime" }, { "identity": "GLUCI-CHEK", "map": "BG.Tm", "comment": "Map time from effectiveDateTime (hh:mm)" } ] }, { "id": "Observation.issued", "path": "Observation.issued", "short": "Date/Time this was made available", "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.", "comment": "Updated when the result is updated.", "min": 0, "max": "0", "base": { "path": "Observation.issued", "min": 0, "max": "1" }, "type": [ { "code": "instant" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)" }, { "identity": "rim", "map": "participation[typeCode=AUT].time" }, { "identity": "w5", "map": "when.recorded" } ] }, { "id": "Observation.performer", "path": "Observation.performer", "short": "Who is responsible for the observation", "definition": "Who was responsible for asserting the observed value as \"true\".", "comment": "performer element will be mapped to Patient.", "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.", "min": 0, "max": "*", "base": { "path": "Observation.performer", "min": 0, "max": "*" }, "type": [ { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/patient" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ref-1", "severity": "error", "human": "SHALL have a contained resource if a local reference is provided", "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))", "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)" }, { "identity": "workflow", "map": "Event.performer" }, { "identity": "v2", "map": "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'" }, { "identity": "rim", "map": "participation[typeCode=PRF]" }, { "identity": "w5", "map": "who.actor" } ] }, { "id": "Observation.performer.id", "path": "Observation.performer.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.performer.extension", "path": "Observation.performer.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.performer.reference", "path": "Observation.performer.reference", "short": "Literal reference, Relative, internal or absolute URL", "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.", "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.", "min": 0, "max": "1", "base": { "path": "Reference.reference", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1", "ref-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "Ref-error", "severity": "error", "human": "'performer.reference' element must point to a Patient resource", "expression": "startsWith('Patient/')" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.performer.identifier", "path": "Observation.performer.identifier", "short": "Logical reference, when literal reference is not known", "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.", "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.", "min": 0, "max": "1", "base": { "path": "Reference.identifier", "min": 0, "max": "1" }, "type": [ { "code": "Identifier" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)" }, { "identity": "rim", "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" }, { "identity": "servd", "map": "Identifier" }, { "identity": "rim", "map": ".identifier" } ] }, { "id": "Observation.performer.display", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.performer.display", "short": "Text alternative for the resource", "definition": "Plain text narrative that identifies the resource in addition to the resource reference.", "comment": "This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.", "min": 0, "max": "1", "base": { "path": "Reference.display", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.value[x]:valueQuantity", "path": "Observation.valueQuantity", "sliceName": "valueQuantity", "short": "Actual result", "definition": "The information determined as a result of making the observation, if the information has a simple value.", "comment": "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).\n\n\nIf 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](observation.html#notes) below.", "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.", "min": 0, "max": "1", "base": { "path": "Observation.value[x]", "min": 0, "max": "1" }, "type": [ { "code": "Quantity" } ], "condition": [ "ele-1", "obs-7" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "qty-3", "severity": "error", "human": "If a code for the unit is present, the system SHALL also be present", "expression": "code.empty() or system.exists()", "xpath": "not(exists(f:code)) or exists(f:system)" } ], "isSummary": true, "binding": { "strength": "required", "valueSetUri": "http://roche.com/fhir/rdc/ValueSet/devicemetric-metric-unit" }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "SN (see also Range) or CQ" }, { "identity": "rim", "map": "PQ, IVL<PQ>, MO, CO, depending on the values" }, { "identity": "workflow", "map": "Event.notDone, Event.notDoneReason (maps to valeu[x] or dataAbsentReason)" }, { "identity": "sct-concept", "map": "< 441742003 |Evaluation finding|" }, { "identity": "v2", "map": "OBX.2, OBX.5, OBX.6" }, { "identity": "rim", "map": "value" }, { "identity": "sct-attr", "map": "363714003 |Interprets|" }, { "identity": "ACSPIX2FHIR", "map": "delete obs.valueQuantity", "comment": "when Val =?" } ] }, { "id": "Observation.value[x]:valueQuantity.id", "path": "Observation.valueQuantity.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.value[x]:valueQuantity.extension", "path": "Observation.valueQuantity.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.value[x]:valueQuantity.value", "path": "Observation.valueQuantity.value", "short": "Numerical value (with implicit precision)", "definition": "The value of the measured amount. The value includes an implicit precision in the presentation of the value.", "comment": "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).", "requirements": "Precision is handled implicitly in almost all cases of measurement.", "min": 0, "max": "1", "base": { "path": "Quantity.value", "min": 0, "max": "1" }, "type": [ { "code": "decimal" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "SN.2 / CQ - N/A" }, { "identity": "rim", "map": "PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value" }, { "identity": "ACSPIX2FHIR", "map": "BG.Val", "comment": "Map If Val !=\"HI\" or Val !=\"LO\" or Val !=\"-\"" }, { "identity": "GREENDOT", "map": "com.roche.greendot.engine.finalValueDetected.getMeasurement().getValue()", "comment": "blood glucose measurement value" }, { "identity": "GLUCI-CHEK", "map": "BG.Val", "comment": "Map BG Value from FHIR Bundle Clinical Observation" } ] }, { "id": "Observation.value[x]:valueQuantity.comparator", "path": "Observation.valueQuantity.comparator", "short": "< | <= | >= | > - how to understand the value", "definition": "How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is \"<\" , then the real value is < stated value.", "comment": "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.", "requirements": "Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.", "min": 0, "max": "1", "base": { "path": "Quantity.comparator", "min": 0, "max": "1" }, "type": [ { "code": "code" } ], "meaningWhenMissing": "If there is no comparator, then there is no modification of the value", "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isModifier": true, "isSummary": true, "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "QuantityComparator" } ], "strength": "required", "description": "How the Quantity should be understood and represented.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/quantity-comparator" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "SN.1 / CQ.1" }, { "identity": "rim", "map": "IVL properties" } ] }, { "id": "Observation.value[x]:valueQuantity.unit", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.valueQuantity.unit", "short": "Unit representation", "definition": "A human-readable form of the unit.", "comment": "Note that FHIR strings may not exceed 1MB in size", "requirements": "There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.", "min": 0, "max": "1", "base": { "path": "Quantity.unit", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "(see OBX.6 etc.) / CQ.2" }, { "identity": "rim", "map": "PQ.unit" }, { "identity": "ACSPIX2FHIR", "map": "${deviceBGUnit}" }, { "identity": "GREENDOT", "map": "type of metric", "comment": "DEVICE_METRIC_UNIT.MG_DL" } ] }, { "id": "Observation.value[x]:valueQuantity.system", "path": "Observation.valueQuantity.system", "short": "System that defines coded unit form", "definition": "The identification of the system that provides the coded form of the unit.", "comment": "see http://en.wikipedia.org/wiki/Uniform_resource_identifier", "requirements": "Need to know the system that defines the coded form of the unit.", "min": 0, "max": "1", "base": { "path": "Quantity.system", "min": 0, "max": "1" }, "type": [ { "code": "uri" } ], "condition": [ "ele-1", "qty-3" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "(see OBX.6 etc.) / CQ.2" }, { "identity": "rim", "map": "CO.codeSystem, PQ.translation.codeSystem" }, { "identity": "ACSPIX2FHIR", "map": "http://unitsofmeasure.org" }, { "identity": "GREENDOT", "map": "http://unitsofmeasure.org" } ] }, { "id": "Observation.value[x]:valueQuantity.code", "path": "Observation.valueQuantity.code", "short": "Coded form of the unit", "definition": "A computer processable form of the unit in some unit representation system.", "comment": "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.", "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.", "min": 0, "max": "1", "base": { "path": "Quantity.code", "min": 0, "max": "1" }, "type": [ { "code": "code" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "(see OBX.6 etc.) / CQ.2" }, { "identity": "rim", "map": "PQ.code, MO.currency, PQ.translation.code" }, { "identity": "ACSPIX2FHIR", "map": "${deviceBGUnit}" }, { "identity": "GREENDOT", "map": "type of metric display", "comment": "DEVICE_METRIC_UNIT.MG_DL" } ] }, { "id": "Observation.dataAbsentReason", "path": "Observation.dataAbsentReason", "short": "Why the result is missing", "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.", "comment": "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.", "requirements": "For many results it is necessary to handle exceptional values in measurements.", "min": 0, "max": "1", "base": { "path": "Observation.dataAbsentReason", "min": 0, "max": "1" }, "type": [ { "code": "CodeableConcept" } ], "condition": [ "ele-1", "obs-6" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "binding": { "strength": "required", "description": "Codes specifying why the result (Observation.value[x]) is missing.", "valueSetReference": { "reference": "http://roche.com/fhir/rdc/ValueSet/nullFlavor" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE" }, { "identity": "rim", "map": "CD" }, { "identity": "orim", "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" }, { "identity": "workflow", "map": "Event.notDone, Event.notDoneReason (maps to valeu[x] or dataAbsentReason)" }, { "identity": "v2", "map": "N/A" }, { "identity": "rim", "map": "value.nullFlavor" } ] }, { "id": "Observation.dataAbsentReason.id", "path": "Observation.dataAbsentReason.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.dataAbsentReason.extension", "path": "Observation.dataAbsentReason.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.dataAbsentReason.coding", "path": "Observation.dataAbsentReason.coding", "short": "Code defined by a terminology system", "definition": "A reference to a code defined by a terminology system.", "comment": "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.", "requirements": "Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.", "min": 0, "max": "*", "base": { "path": "CodeableConcept.coding", "min": 0, "max": "*" }, "type": [ { "code": "Coding" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" }, { "identity": "rim", "map": "CV" }, { "identity": "orim", "map": "fhir:Coding rdfs:subClassOf dt:CDCoding" }, { "identity": "v2", "map": "C*E.1-8, C*E.10-22" }, { "identity": "rim", "map": "union(., ./translation)" }, { "identity": "orim", "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" } ] }, { "id": "Observation.dataAbsentReason.coding.id", "path": "Observation.dataAbsentReason.coding.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.dataAbsentReason.coding.extension", "path": "Observation.dataAbsentReason.coding.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.dataAbsentReason.coding.system", "path": "Observation.dataAbsentReason.coding.system", "short": "Identity of the terminology system", "definition": "The identification of the code system that defines the meaning of the symbol in the code.", "comment": "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.", "requirements": "Need to be unambiguous about the source of the definition of the symbol.", "min": 0, "max": "1", "base": { "path": "Coding.system", "min": 0, "max": "1" }, "type": [ { "code": "uri" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.3" }, { "identity": "rim", "map": "./codeSystem" }, { "identity": "orim", "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" }, { "identity": "ACSPIX2FHIR", "map": "input.Val=\"HI\" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf \"LO\" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf \"-\" then 'http://hl7.org/fhir/data-absent-reason'" }, { "identity": "GREENDOT", "map": "input.Val=\"HI\" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf \"LO\" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf \"-\" then 'http://hl7.org/fhir/data-absent-reason'" } ] }, { "id": "Observation.dataAbsentReason.coding.version", "path": "Observation.dataAbsentReason.coding.version", "short": "Version of the system - if relevant", "definition": "The 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.", "comment": "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.", "min": 0, "max": "1", "base": { "path": "Coding.version", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.7" }, { "identity": "rim", "map": "./codeSystemVersion" }, { "identity": "orim", "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" } ] }, { "id": "Observation.dataAbsentReason.coding.code", "path": "Observation.dataAbsentReason.coding.code", "short": "Symbol in syntax defined by the system", "definition": "A 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).", "comment": "Note that FHIR strings may not exceed 1MB in size", "requirements": "Need to refer to a particular code in the system.", "min": 0, "max": "1", "base": { "path": "Coding.code", "min": 0, "max": "1" }, "type": [ { "code": "code" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.1" }, { "identity": "rim", "map": "./code" }, { "identity": "orim", "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" }, { "identity": "ACSPIX2FHIR", "map": "input.Val=\"HI\" then 'PINF' elseIf \"LO\" then 'NINF' elseIf \"-\" then 'unknown'" }, { "identity": "GREENDOT", "map": "input.Val=\"HI\" then 'PINF' elseIf \"LO\" then 'NINF' elseIf \"-\" then 'unknown'" }, { "identity": "GLUCI-CHEK", "map": "BG.Val", "comment": "FHIR Bundle -> If code\":\"PINF\" then Set BG.Val =\"HI\" elseIf \"code\": \"NINF\" then BG.Val =\"LO\"" } ] }, { "id": "Observation.dataAbsentReason.coding.display", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.dataAbsentReason.coding.display", "short": "Representation defined by the system", "definition": "A representation of the meaning of the code in the system, following the rules of the system.", "comment": "Note that FHIR strings may not exceed 1MB in size", "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", "min": 0, "max": "1", "base": { "path": "Coding.display", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.2 - but note this is not well followed" }, { "identity": "rim", "map": "CV.displayName" }, { "identity": "orim", "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" }, { "identity": "ACSPIX2FHIR", "map": "input.Val=\"HI\" then 'positive infinity' elseIf \"LO\" then 'negative infinity' elseIf \"-\" then 'Unknown'" }, { "identity": "GREENDOT", "map": "input.Val=\"HI\" then 'positive infinity' elseIf \"LO\" then 'negative infinity' elseIf \"-\" then 'Unknown'" } ] }, { "id": "Observation.dataAbsentReason.coding.userSelected", "path": "Observation.dataAbsentReason.coding.userSelected", "short": "If this coding was chosen directly by the user", "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).", "comment": "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.", "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.", "min": 0, "max": "1", "base": { "path": "Coding.userSelected", "min": 0, "max": "1" }, "type": [ { "code": "boolean" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "Sometimes implied by being first" }, { "identity": "rim", "map": "CD.codingRationale" }, { "identity": "orim", "map": "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 ]" } ] }, { "id": "Observation.dataAbsentReason.text", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.dataAbsentReason.text", "short": "Plain text representation of the concept", "definition": "A 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.", "comment": "Very often the text is the same as a displayName of one of the codings.", "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.", "min": 0, "max": "1", "base": { "path": "CodeableConcept.text", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.9. But note many systems use C*E.2 for this" }, { "identity": "rim", "map": "./originalText[mediaType/code=\"text/plain\"]/data" }, { "identity": "orim", "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" }, { "identity": "ACSPIX2FHIR", "map": "'Above sensor range' : 'Below sensor range'" }, { "identity": "GREENDOT", "map": "'Above sensor range' : 'Below sensor range'", "comment": "BG value is HI : LO" } ] }, { "id": "Observation.interpretation", "path": "Observation.interpretation", "short": "High, low, normal, etc.", "definition": "The 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.", "comment": "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.", "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.", "alias": [ "Abnormal Flag" ], "min": 0, "max": "1", "base": { "path": "Observation.interpretation", "min": 0, "max": "1" }, "type": [ { "code": "CodeableConcept" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ObservationInterpretation" } ], "strength": "extensible", "description": "Codes identifying interpretations of observations.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE" }, { "identity": "rim", "map": "CD" }, { "identity": "orim", "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" }, { "identity": "sct-concept", "map": "< 260245000 |Findings values|" }, { "identity": "v2", "map": "OBX-8" }, { "identity": "rim", "map": "interpretationCode" }, { "identity": "sct-attr", "map": "363713009 |Has interpretation|" } ] }, { "id": "Observation.interpretation.id", "path": "Observation.interpretation.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.interpretation.extension", "path": "Observation.interpretation.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.interpretation.coding", "path": "Observation.interpretation.coding", "short": "Code defined by a terminology system", "definition": "A reference to a code defined by a terminology system.", "comment": "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.", "requirements": "Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.", "min": 0, "max": "*", "base": { "path": "CodeableConcept.coding", "min": 0, "max": "*" }, "type": [ { "code": "Coding" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" }, { "identity": "rim", "map": "CV" }, { "identity": "orim", "map": "fhir:Coding rdfs:subClassOf dt:CDCoding" }, { "identity": "v2", "map": "C*E.1-8, C*E.10-22" }, { "identity": "rim", "map": "union(., ./translation)" }, { "identity": "orim", "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" } ] }, { "id": "Observation.interpretation.coding.id", "path": "Observation.interpretation.coding.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.interpretation.coding.extension", "path": "Observation.interpretation.coding.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.interpretation.coding.system", "path": "Observation.interpretation.coding.system", "short": "Identity of the terminology system", "definition": "The identification of the code system that defines the meaning of the symbol in the code.", "comment": "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.", "requirements": "Need to be unambiguous about the source of the definition of the symbol.", "min": 0, "max": "1", "base": { "path": "Coding.system", "min": 0, "max": "1" }, "type": [ { "code": "uri" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.3" }, { "identity": "rim", "map": "./codeSystem" }, { "identity": "orim", "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" }, { "identity": "ACSPIX2FHIR", "map": "http://hl7.org/fhir/v2/0078" } ] }, { "id": "Observation.interpretation.coding.version", "path": "Observation.interpretation.coding.version", "short": "Version of the system - if relevant", "definition": "The 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.", "comment": "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.", "min": 0, "max": "1", "base": { "path": "Coding.version", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.7" }, { "identity": "rim", "map": "./codeSystemVersion" }, { "identity": "orim", "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" } ] }, { "id": "Observation.interpretation.coding.code", "path": "Observation.interpretation.coding.code", "short": "Symbol in syntax defined by the system", "definition": "A 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).", "comment": "Note that FHIR strings may not exceed 1MB in size", "requirements": "Need to refer to a particular code in the system.", "min": 0, "max": "1", "base": { "path": "Coding.code", "min": 0, "max": "1" }, "type": [ { "code": "code" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.1" }, { "identity": "rim", "map": "./code" }, { "identity": "orim", "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" }, { "identity": "ACSPIX2FHIR", "map": "'L' or 'H'", "comment": "If Evt=71 then map to L elseIf Evt=72 then map to 'H'" } ] }, { "id": "Observation.interpretation.coding.display", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.interpretation.coding.display", "short": "Representation defined by the system", "definition": "A representation of the meaning of the code in the system, following the rules of the system.", "comment": "Note that FHIR strings may not exceed 1MB in size", "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", "min": 0, "max": "1", "base": { "path": "Coding.display", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.2 - but note this is not well followed" }, { "identity": "rim", "map": "CV.displayName" }, { "identity": "orim", "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" } ] }, { "id": "Observation.interpretation.coding.userSelected", "path": "Observation.interpretation.coding.userSelected", "short": "If this coding was chosen directly by the user", "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).", "comment": "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.", "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.", "min": 0, "max": "1", "base": { "path": "Coding.userSelected", "min": 0, "max": "1" }, "type": [ { "code": "boolean" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "Sometimes implied by being first" }, { "identity": "rim", "map": "CD.codingRationale" }, { "identity": "orim", "map": "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 ]" } ] }, { "id": "Observation.interpretation.text", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.interpretation.text", "short": "Plain text representation of the concept", "definition": "A 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.", "comment": "Very often the text is the same as a displayName of one of the codings.", "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.", "min": 0, "max": "1", "base": { "path": "CodeableConcept.text", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "C*E.9. But note many systems use C*E.2 for this" }, { "identity": "rim", "map": "./originalText[mediaType/code=\"text/plain\"]/data" }, { "identity": "orim", "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" } ] }, { "id": "Observation.comment", "path": "Observation.comment", "short": "Comments about result", "definition": "May 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.", "comment": "Note that FHIR strings may not exceed 1MB in size", "requirements": "Need to be able to provide free text additional information.", "min": 0, "max": "1", "base": { "path": "Observation.comment", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "workflow", "map": "Event.note" }, { "identity": "v2", "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)" }, { "identity": "rim", "map": "subjectOf.observationEvent[code=\"annotation\"].value" } ] }, { "id": "Observation.bodySite", "path": "Observation.bodySite", "short": "Observed body part", "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).", "comment": "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](extension-body-site-instance.html).", "min": 0, "max": "1", "base": { "path": "Observation.bodySite", "min": 0, "max": "1" }, "type": [ { "code": "CodeableConcept" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "binding": { "strength": "required", "description": "Codes describing anatomical locations. May include laterality.", "valueSetReference": { "reference": "http://roche.com/fhir/rdc/ValueSet/body-site" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE" }, { "identity": "rim", "map": "CD" }, { "identity": "orim", "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" }, { "identity": "sct-concept", "map": "< 123037004 |Body structure|" }, { "identity": "v2", "map": "OBX-20" }, { "identity": "rim", "map": "targetSiteCode" }, { "identity": "sct-attr", "map": "718497002 |Inherent location|" } ] }, { "id": "Observation.method", "path": "Observation.method", "short": "How it was done", "definition": "Indicates the mechanism used to perform the observation.", "comment": "Only used if not implicit in code for Observation.code.", "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.", "min": 0, "max": "0", "base": { "path": "Observation.method", "min": 0, "max": "1" }, "type": [ { "code": "CodeableConcept" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ObservationMethod" } ], "strength": "example", "description": "Methods for simple observations.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/observation-methods" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE" }, { "identity": "rim", "map": "CD" }, { "identity": "orim", "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" }, { "identity": "v2", "map": "OBX-17" }, { "identity": "rim", "map": "methodCode" } ] }, { "id": "Observation.specimen", "path": "Observation.specimen", "short": "Specimen used for this observation", "definition": "The specimen that was used when this observation was made.", "comment": "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).", "min": 0, "max": "0", "base": { "path": "Observation.specimen", "min": 0, "max": "1" }, "type": [ { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ref-1", "severity": "error", "human": "SHALL have a contained resource if a local reference is provided", "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))", "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)" }, { "identity": "sct-concept", "map": "< 123038009 |Specimen|" }, { "identity": "v2", "map": "SPM segment" }, { "identity": "rim", "map": "participation[typeCode=SPC].specimen" }, { "identity": "sct-attr", "map": "704319004 |Inherent in|" } ] }, { "id": "Observation.device", "path": "Observation.device", "short": "(Measurement) Device", "definition": "The device used to generate the observation data.", "comment": "BG Observation -> device element will be mapped to DeviceMetric\n\nManual Entry Observation -> device element will be mapped to DeviceMetric", "min": 1, "max": "1", "base": { "path": "Observation.device", "min": 0, "max": "1" }, "type": [ { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/dm-device-metric" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ref-1", "severity": "error", "human": "SHALL have a contained resource if a local reference is provided", "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))", "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)" }, { "identity": "sct-concept", "map": "< 49062001 |Device|" }, { "identity": "v2", "map": "OBX-17 / PRT -10" }, { "identity": "rim", "map": "participation[typeCode=DEV]" }, { "identity": "sct-attr", "map": "424226004 |Using device|" }, { "identity": "GLUCI-CHEK", "map": "BG.D", "comment": "Specifies from which device this record is loaded (n=1..3). n referes to the nth <DEVICE> element" } ] }, { "id": "Observation.device.id", "path": "Observation.device.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.device.extension", "path": "Observation.device.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.device.reference", "path": "Observation.device.reference", "short": "Literal reference, Relative, internal or absolute URL", "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.", "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.", "min": 0, "max": "1", "base": { "path": "Reference.reference", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1", "ref-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "Ref-error", "severity": "error", "human": "'device.reference' element must point to a Device resource", "expression": "startsWith('DeviceMetric/')" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" }, { "identity": "ACSPIX2FHIR", "map": "DeviceMetric/${input.deviceMetricId}" }, { "identity": "GREENDOT", "map": "DeviceMetric/${DeviceMetricId}", "comment": "<UID of the DeviceMetric resource of this bundle>" } ] }, { "id": "Observation.device.identifier", "path": "Observation.device.identifier", "short": "Logical reference, when literal reference is not known", "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.", "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.", "min": 0, "max": "1", "base": { "path": "Reference.identifier", "min": 0, "max": "1" }, "type": [ { "code": "Identifier" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)" }, { "identity": "rim", "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" }, { "identity": "servd", "map": "Identifier" }, { "identity": "rim", "map": ".identifier" } ] }, { "id": "Observation.device.display", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.device.display", "short": "Text alternative for the resource", "definition": "Plain text narrative that identifies the resource in addition to the resource reference.", "comment": "This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.", "min": 0, "max": "1", "base": { "path": "Reference.display", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.referenceRange", "path": "Observation.referenceRange", "short": "Provides guide for interpretation", "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.", "comment": "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.", "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.", "min": 0, "max": "1", "base": { "path": "Observation.referenceRange", "min": 0, "max": "*" }, "type": [ { "code": "BackboneElement" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "obs-3", "severity": "error", "human": "Must have at least a low or a high or text", "expression": "low.exists() or high.exists() or text.exists()", "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "OBX.7" }, { "identity": "rim", "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]" } ] }, { "id": "Observation.referenceRange.id", "path": "Observation.referenceRange.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.referenceRange.extension", "path": "Observation.referenceRange.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.referenceRange.modifierExtension", "path": "Observation.referenceRange.modifierExtension", "short": "Extensions that cannot be ignored", "definition": "May 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.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content", "modifiers" ], "min": 0, "max": "*", "base": { "path": "BackboneElement.modifierExtension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "isModifier": true, "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.referenceRange.low", "path": "Observation.referenceRange.low", "short": "Low Range, if relevant", "definition": "The 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).", "comment": "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.", "min": 0, "max": "1", "base": { "path": "Observation.referenceRange.low", "min": 0, "max": "1" }, "type": [ { "code": "Quantity", "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity" } ], "condition": [ "ele-1", "obs-3" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "qty-3", "severity": "error", "human": "If a code for the unit is present, the system SHALL also be present", "expression": "code.empty() or system.exists()", "xpath": "not(exists(f:code)) or exists(f:system)" }, { "key": "sqty-1", "severity": "error", "human": "The comparator is not used on a SimpleQuantity", "expression": "comparator.empty()", "xpath": "not(exists(f:comparator))" } ], "isModifier": false, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "SN (see also Range) or CQ" }, { "identity": "rim", "map": "PQ, IVL<PQ>, MO, CO, depending on the values" }, { "identity": "v2", "map": "OBX-7" }, { "identity": "rim", "map": "value:IVL_PQ.low" } ] }, { "id": "Observation.referenceRange.high", "path": "Observation.referenceRange.high", "short": "High Range, if relevant", "definition": "The 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).", "comment": "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.", "min": 0, "max": "1", "base": { "path": "Observation.referenceRange.high", "min": 0, "max": "1" }, "type": [ { "code": "Quantity", "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity" } ], "condition": [ "ele-1", "obs-3" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "qty-3", "severity": "error", "human": "If a code for the unit is present, the system SHALL also be present", "expression": "code.empty() or system.exists()", "xpath": "not(exists(f:code)) or exists(f:system)" }, { "key": "sqty-1", "severity": "error", "human": "The comparator is not used on a SimpleQuantity", "expression": "comparator.empty()", "xpath": "not(exists(f:comparator))" } ], "isModifier": false, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "SN (see also Range) or CQ" }, { "identity": "rim", "map": "PQ, IVL<PQ>, MO, CO, depending on the values" }, { "identity": "v2", "map": "OBX-7" }, { "identity": "rim", "map": "value:IVL_PQ.high" } ] }, { "id": "Observation.referenceRange.type", "path": "Observation.referenceRange.type", "short": "Reference range qualifier", "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.", "comment": "This SHOULD be populated if there is more than one range. If this element is not present then the normal range is assumed.", "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc, - for proper interpretation.", "min": 0, "max": "1", "base": { "path": "Observation.referenceRange.type", "min": 0, "max": "1" }, "type": [ { "code": "CodeableConcept" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ObservationRangeMeaning" } ], "strength": "extensible", "description": "Code for the meaning of a reference range.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE" }, { "identity": "rim", "map": "CD" }, { "identity": "orim", "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" }, { "identity": "sct-concept", "map": "< 260245000 |Findings values| OR \n< 365860008 |General clinical state finding| \nOR \n< 250171008 |Clinical history or observation findings| OR \n< 415229000 |Racial group| OR \n< 365400002 |Finding of puberty stage| OR\n< 443938003 |Procedure carried out on subject|" }, { "identity": "v2", "map": "OBX-10" }, { "identity": "rim", "map": "interpretationCode" } ] }, { "id": "Observation.referenceRange.appliesTo", "path": "Observation.referenceRange.appliesTo", "short": "Reference range population", "definition": "Codes 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.", "comment": "This SHOULD be populated if there is more than one range. If this element is not present then the normal population is assumed.", "requirements": "Need to be able to identify the target population for proper interpretation.", "min": 0, "max": "*", "base": { "path": "Observation.referenceRange.appliesTo", "min": 0, "max": "*" }, "type": [ { "code": "CodeableConcept" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ObservationRangeType" } ], "strength": "example", "description": "Codes identifying the population the reference range applies to.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE" }, { "identity": "rim", "map": "CD" }, { "identity": "orim", "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" }, { "identity": "sct-concept", "map": "< 260245000 |Findings values| OR \n< 365860008 |General clinical state finding| \nOR \n< 250171008 |Clinical history or observation findings| OR \n< 415229000 |Racial group| OR \n< 365400002 |Finding of puberty stage| OR\n< 443938003 |Procedure carried out on subject|" }, { "identity": "v2", "map": "OBX-10" }, { "identity": "rim", "map": "interpretationCode" } ] }, { "id": "Observation.referenceRange.age", "path": "Observation.referenceRange.age", "short": "Applicable age range, if relevant", "definition": "The 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.", "comment": "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.", "requirements": "Some analytes vary greatly over age.", "min": 0, "max": "1", "base": { "path": "Observation.referenceRange.age", "min": 0, "max": "1" }, "type": [ { "code": "Range" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "rng-2", "severity": "error", "human": "If present, low SHALL have a lower value than high", "expression": "low.empty() or high.empty() or (low <= high)", "xpath": "not(exists(f:low/f:value/@value)) or not(exists(f:high/f:value/@value)) or (number(f:low/f:value/@value) <= number(f:high/f:value/@value))" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "NR and also possibly SN (but see also quantity)" }, { "identity": "rim", "map": "IVL<QTY[not(type=\"TS\")]> [lowClosed=\"true\" and highClosed=\"true\"]or URG<QTY[not(type=\"TS\")]>" }, { "identity": "rim", "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value" } ] }, { "id": "Observation.referenceRange.text", "path": "Observation.referenceRange.text", "short": "Text based reference range in an observation", "definition": "Text 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'.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Observation.referenceRange.text", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "OBX-7" }, { "identity": "rim", "map": "value:ST" } ] }, { "id": "Observation.related", "path": "Observation.related", "short": "Resource related to this observation", "definition": "A reference to another resource (usually another Observation) whose relationship is defined by the relationship type code.", "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).", "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.", "min": 0, "max": "*", "base": { "path": "Observation.related", "min": 0, "max": "*" }, "type": [ { "code": "BackboneElement" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "Relationships established by OBX-4 usage" }, { "identity": "rim", "map": "outBoundRelationship" } ] }, { "id": "Observation.related.id", "path": "Observation.related.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.related.extension", "path": "Observation.related.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.related.modifierExtension", "path": "Observation.related.modifierExtension", "short": "Extensions that cannot be ignored", "definition": "May 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.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content", "modifiers" ], "min": 0, "max": "*", "base": { "path": "BackboneElement.modifierExtension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "isModifier": true, "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.related.type", "path": "Observation.related.type", "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by", "definition": "A code specifying the kind of relationship that exists with the target resource.", "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.", "requirements": "A relationship type SHOULD be provided.", "min": 1, "max": "1", "base": { "path": "Observation.related.type", "min": 0, "max": "1" }, "type": [ { "code": "code" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ObservationRelationshipType" } ], "strength": "required", "description": "Codes specifying how two observations are related.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "N/A" }, { "identity": "rim", "map": ".typeCode" }, { "identity": "ACSPIX2FHIR", "map": "has-member", "comment": "Fixed value" } ] }, { "id": "Observation.related.target", "path": "Observation.related.target", "short": "Resource that is related to this one", "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.", "comment": "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.", "min": 1, "max": "1", "base": { "path": "Observation.related.target", "min": 1, "max": "1" }, "type": [ { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/observation" }, { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/health-event-observation" }, { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/bg-observation" }, { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/observation-EWM" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ref-1", "severity": "error", "human": "SHALL have a contained resource if a local reference is provided", "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))", "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)" }, { "identity": "rim", "map": ".targetObservation" } ] }, { "id": "Observation.related.target.id", "path": "Observation.related.target.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.related.target.extension", "path": "Observation.related.target.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.related.target.reference", "path": "Observation.related.target.reference", "short": "Literal reference, Relative, internal or absolute URL", "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.", "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.", "min": 0, "max": "1", "base": { "path": "Reference.reference", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1", "ref-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "Ref-error", "severity": "error", "human": "'related.target.reference' element must point to an Observation resource", "expression": "startsWith('Observation/')" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" }, { "identity": "ACSPIX2FHIR", "map": "Observation/${relatedObservationId}", "comment": "process relatedIds-> input.carbId,input.carbAdviceId,input.ctrlId,input.ewmIds,input.healthEventIds" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "Oral Medication observation mapped to Evt=35" }, { "identity": "GLUCI-CHEK", "map": "BG.Ctrl", "comment": "Control solution observation mapped to 1,2,3,?" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "Stress observation mapped to Evt=29" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "illness observation mapped to Evt=31" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "Premenstrual observation mapped to Evt=73" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "Exercise1 observation mapped to Evt=75" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "Exercise2 observation mapped to Evt=76" } ] }, { "id": "Observation.related.target.identifier", "path": "Observation.related.target.identifier", "short": "Logical reference, when literal reference is not known", "definition": "An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.", "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.", "min": 0, "max": "1", "base": { "path": "Reference.identifier", "min": 0, "max": "1" }, "type": [ { "code": "Identifier" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)" }, { "identity": "rim", "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" }, { "identity": "servd", "map": "Identifier" }, { "identity": "rim", "map": ".identifier" } ] }, { "id": "Observation.related.target.display", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.related.target.display", "short": "Text alternative for the resource", "definition": "Plain text narrative that identifies the resource in addition to the resource reference.", "comment": "This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.", "min": 0, "max": "1", "base": { "path": "Reference.display", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.component", "path": "Observation.component", "short": "Component results", "definition": "Some 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.", "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.", "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.", "min": 0, "max": "0", "base": { "path": "Observation.component", "min": 0, "max": "*" }, "type": [ { "code": "BackboneElement" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "containment by OBX-4?" }, { "identity": "rim", "map": "outBoundRelationship[typeCode=COMP]" } ] }, { "id": "Observation.component.id", "path": "Observation.component.id", "representation": [ "xmlAttr" ], "short": "xml:id (or equivalent in JSON)", "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "comment": "Note that FHIR strings may not exceed 1MB in size", "min": 0, "max": "1", "base": { "path": "Element.id", "min": 0, "max": "1" }, "type": [ { "code": "string" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "mapping": [ { "identity": "rim", "map": "n/a" } ] }, { "id": "Observation.component.extension", "path": "Observation.component.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "description": "Extensions are always sliced by (at least) url", "rules": "open" }, "short": "Additional Content defined by implementations", "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content" ], "min": 0, "max": "*", "base": { "path": "Element.extension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.component.modifierExtension", "path": "Observation.component.modifierExtension", "short": "Extensions that cannot be ignored", "definition": "May 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.", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "alias": [ "extensions", "user content", "modifiers" ], "min": 0, "max": "*", "base": { "path": "BackboneElement.modifierExtension", "min": 0, "max": "*" }, "type": [ { "code": "Extension" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "ext-1", "severity": "error", "human": "Must have either extensions or value[x], not both", "expression": "extension.exists() != value.exists()", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" } ], "isModifier": true, "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "rim", "map": "N/A" } ] }, { "id": "Observation.component.code", "path": "Observation.component.code", "short": "Type of component observation (code / type)", "definition": "Describes what was observed. Sometimes this is called the observation \"code\".", "comment": "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.", "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.", "min": 1, "max": "1", "base": { "path": "Observation.component.code", "min": 1, "max": "1" }, "type": [ { "code": "CodeableConcept" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "isSummary": true, "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ObservationCode" } ], "strength": "example", "description": "Codes identifying names of simple observations.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/observation-codes" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE" }, { "identity": "rim", "map": "CD" }, { "identity": "orim", "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" }, { "identity": "sct-concept", "map": "< 363787002 |Observable entity| OR \n< 386053000 |Evaluation procedure|" }, { "identity": "v2", "map": "OBX-3" }, { "identity": "rim", "map": "code" }, { "identity": "w5", "map": "what" } ] }, { "id": "Observation.component.value[x]:valueQuantity", "path": "Observation.component.valueQuantity", "sliceName": "valueQuantity", "short": "Actual component result", "definition": "The information determined as a result of making the observation, if the information has a simple value.", "comment": "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).", "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.", "min": 0, "max": "1", "base": { "path": "Observation.component.value[x]", "min": 0, "max": "1" }, "type": [ { "code": "Quantity" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" }, { "key": "qty-3", "severity": "error", "human": "If a code for the unit is present, the system SHALL also be present", "expression": "code.empty() or system.exists()", "xpath": "not(exists(f:code)) or exists(f:system)" } ], "isSummary": true, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "SN (see also Range) or CQ" }, { "identity": "rim", "map": "PQ, IVL<PQ>, MO, CO, depending on the values" }, { "identity": "sct-concept", "map": "363714003 |Interprets| < 441742003 |Evaluation finding|" }, { "identity": "v2", "map": "OBX.2, OBX.5, OBX.6" }, { "identity": "rim", "map": "value" }, { "identity": "sct-attr", "map": "363714003 |Interprets|" } ] }, { "id": "Observation.component.dataAbsentReason", "path": "Observation.component.dataAbsentReason", "short": "Why the component result is missing", "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.", "comment": "\"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.", "requirements": "For many results it is necessary to handle exceptional values in measurements.", "min": 0, "max": "1", "base": { "path": "Observation.component.dataAbsentReason", "min": 0, "max": "1" }, "type": [ { "code": "CodeableConcept" } ], "condition": [ "ele-1", "obs-6" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ObservationValueAbsentReason" } ], "strength": "extensible", "description": "Codes specifying why the result (Observation.value[x]) is missing.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE" }, { "identity": "rim", "map": "CD" }, { "identity": "orim", "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" }, { "identity": "v2", "map": "N/A" }, { "identity": "rim", "map": "value.nullFlavor" } ] }, { "id": "Observation.component.interpretation", "path": "Observation.component.interpretation", "short": "High, low, normal, etc.", "definition": "The 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.", "comment": "The component interpretation applies only to the individual component value. For an overall interpretation all components together use thes Observation.interpretation element.", "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.", "alias": [ "Abnormal Flag" ], "min": 0, "max": "1", "base": { "path": "Observation.component.interpretation", "min": 0, "max": "1" }, "type": [ { "code": "CodeableConcept" } ], "condition": [ "ele-1" ], "constraint": [ { "key": "ele-1", "severity": "error", "human": "All FHIR elements must have a @value or children", "expression": "hasValue() or (children().count() > id.count())", "xpath": "@value|f:*|h:div" } ], "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ObservationInterpretation" } ], "strength": "extensible", "description": "Codes identifying interpretations of observations.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation" } }, "mapping": [ { "identity": "rim", "map": "n/a" }, { "identity": "v2", "map": "CE/CNE/CWE" }, { "identity": "rim", "map": "CD" }, { "identity": "orim", "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" }, { "identity": "sct-concept", "map": "< 260245000 |Findings values|" }, { "identity": "v2", "map": "OBX-8" }, { "identity": "rim", "map": "interpretationCode" }, { "identity": "sct-attr", "map": "363713009 |Has interpretation|" } ] }, { "id": "Observation.component.referenceRange", "path": "Observation.component.referenceRange", "short": "Provides guide for interpretation of component result", "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.", "comment": "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.", "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.", "min": 0, "max": "*", "base": { "path": "Observation.component.referenceRange", "min": 0, "max": "*" }, "contentReference": "#Observation.referenceRange", "mapping": [ { "identity": "v2", "map": "OBX.7" }, { "identity": "rim", "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]" } ] } ] }, "differential": { "element": [ { "id": "Observation.extension", "path": "Observation.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "rules": "open" } }, { "id": "Observation.extension:observationEventTiming", "path": "Observation.extension", "sliceName": "observationEventTiming", "type": [ { "code": "Extension", "profile": "http://roche.com/fhir/rdc/StructureDefinition/observation-event-timing" } ] }, { "id": "Observation.extension:observationReference", "path": "Observation.extension", "sliceName": "observationReference", "type": [ { "code": "Extension", "profile": "http://roche.com/fhir/rdc/StructureDefinition/observation-reference" } ] }, { "id": "Observation.extension:observationBgmRating", "path": "Observation.extension", "sliceName": "observationBgmRating", "type": [ { "code": "Extension", "profile": "http://roche.com/fhir/rdc/StructureDefinition/observation-bgmRating" } ] }, { "id": "Observation.extension:medicationAdministrationTarget", "path": "Observation.extension", "sliceName": "medicationAdministrationTarget", "type": [ { "code": "Extension", "profile": "http://roche.com/fhir/rdc/StructureDefinition/medication-administration-target" } ] }, { "id": "Observation.extension:medicationRequestTarget", "path": "Observation.extension", "sliceName": "medicationRequestTarget", "type": [ { "code": "Extension", "profile": "http://roche.com/fhir/rdc/StructureDefinition/medication-request-target" } ] }, { "id": "Observation.extension:registeredTimeStamp", "path": "Observation.extension", "sliceName": "registeredTimeStamp", "type": [ { "code": "Extension", "profile": "http://roche.com/fhir/rdc/StructureDefinition/registered-timestamp" } ] }, { "id": "Observation.identifier", "path": "Observation.identifier", "max": "1" }, { "id": "Observation.identifier.system", "path": "Observation.identifier.system", "binding": { "strength": "required", "valueSetUri": "http://roche.com/fhir/rdc/ValueSet/identifiers" } }, { "id": "Observation.basedOn", "path": "Observation.basedOn", "type": [ { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/dm-careplan" } ] }, { "id": "Observation.basedOn.reference", "path": "Observation.basedOn.reference", "constraint": [ { "key": "Ref-error", "severity": "error", "human": "'basedOn.reference' element must point to a CarePlan resource", "expression": "startsWith('CarePlan/')" } ], "mapping": [ { "identity": "ACSPIX2FHIR", "map": "CarePlan/${input.careplanId}", "comment": "bolus-management-careplan" } ] }, { "id": "Observation.status", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", "valueString": "default: final" } ], "path": "Observation.status", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "final" }, { "identity": "GREENDOT", "map": "final", "comment": "Fixed value" } ] }, { "id": "Observation.category", "path": "Observation.category", "max": "1", "binding": { "strength": "required", "valueSetReference": { "reference": "http://roche.com/fhir/rdc/ValueSet/observation-category-type" } } }, { "id": "Observation.category.coding.system", "path": "Observation.category.coding.system", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "http://roche.com/fhir/rdc/cs" }, { "identity": "GREENDOT", "map": "http://roche.com/fhir/rdc/cs", "comment": "Fixed value" } ] }, { "id": "Observation.category.coding.code", "path": "Observation.category.coding.code", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "ObservationCategoryCodes.code", "comment": "CLINICAL(BG.val) : CARB (BG.Carb) : CONTROL(BG.Ctrl) : HEALTH(BG.Evt) : INSULIN_TDD (IPDATA.BOLUS.remark=Bolus Total)" }, { "identity": "GREENDOT", "map": "clinical-observation", "comment": "Fixed value" } ] }, { "id": "Observation.category.coding.display", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.category.coding.display", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "ObservationCategoryCodes.display", "comment": "Please refer valueset for display value" }, { "identity": "GREENDOT", "map": "Clinical Observation", "comment": "Fixed value" } ] }, { "id": "Observation.code", "path": "Observation.code", "binding": { "strength": "required", "valueSetReference": { "reference": "http://roche.com/fhir/rdc/ValueSet/observation-codes" } } }, { "id": "Observation.code.coding.system", "path": "Observation.code.coding.system", "min": 1, "mapping": [ { "identity": "ACSPIX2FHIR", "map": "ObservationCodes.system", "comment": "Refer ValueSet for system value" }, { "identity": "GREENDOT", "map": "http://loinc.org", "comment": "Fixed value" } ] }, { "id": "Observation.code.coding.code", "path": "Observation.code.coding.code", "min": 1, "mapping": [ { "identity": "ACSPIX2FHIR", "map": "ObservationCodes.code", "comment": "BG.Val, BG.Evt(20)->(41604-0), BG.Ctrl, BG.Carb, ADVICED_CARBS.Carb, GluciCheckApp(Manual method) || IPDATA.BOLUS..remark(remark=\"Bolus Total\",\"Bolus+Basal Total\")" }, { "identity": "GREENDOT", "map": "32016-8", "comment": "Fixed value" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "Set Evt=20 if code = 41604-0" } ] }, { "id": "Observation.code.coding.display", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.code.coding.display", "min": 1, "mapping": [ { "identity": "ACSPIX2FHIR", "map": "ObservationCodes.display", "comment": "Refer ValueSet for display value" }, { "identity": "GREENDOT", "map": "Glucose [Mass/volume] in Capillary blood", "comment": "Fixed value" } ] }, { "id": "Observation.subject", "path": "Observation.subject", "comment": "BG Observation -> subject element will be mapped to Patient.\n\nManual Entry Observation -> subject element will be mapped to Patient.", "min": 1, "type": [ { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/patient" } ] }, { "id": "Observation.subject.reference", "path": "Observation.subject.reference", "constraint": [ { "key": "Ref-error", "severity": "error", "human": "'subject.reference' element must point to a Patient resource", "expression": "startsWith('Patient/')" } ] }, { "id": "Observation.context", "path": "Observation.context", "max": "0" }, { "id": "Observation.effective[x]", "path": "Observation.effective[x]", "min": 1, "mapping": [ { "identity": "ACSPIX2FHIR", "map": "${BGDate}${Timestamp}:00+02:00" }, { "identity": "GLUCI-CHEK", "map": "BG.Dt", "comment": "Map date from effectiveDateTime" }, { "identity": "GLUCI-CHEK", "map": "BG.Tm", "comment": "Map time from effectiveDateTime (hh:mm)" } ] }, { "id": "Observation.issued", "path": "Observation.issued", "max": "0" }, { "id": "Observation.performer", "path": "Observation.performer", "comment": "performer element will be mapped to Patient.", "type": [ { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/patient" } ] }, { "id": "Observation.performer.reference", "path": "Observation.performer.reference", "constraint": [ { "key": "Ref-error", "severity": "error", "human": "'performer.reference' element must point to a Patient resource", "expression": "startsWith('Patient/')" } ] }, { "id": "Observation.value[x]:valueQuantity", "path": "Observation.valueQuantity", "sliceName": "valueQuantity", "type": [ { "code": "Quantity" } ], "binding": { "strength": "required", "valueSetUri": "http://roche.com/fhir/rdc/ValueSet/devicemetric-metric-unit" }, "mapping": [ { "identity": "ACSPIX2FHIR", "map": "delete obs.valueQuantity", "comment": "when Val =?" } ] }, { "id": "Observation.value[x]:valueQuantity.value", "path": "Observation.valueQuantity.value", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "BG.Val", "comment": "Map If Val !=\"HI\" or Val !=\"LO\" or Val !=\"-\"" }, { "identity": "GREENDOT", "map": "com.roche.greendot.engine.finalValueDetected.getMeasurement().getValue()", "comment": "blood glucose measurement value" }, { "identity": "GLUCI-CHEK", "map": "BG.Val", "comment": "Map BG Value from FHIR Bundle Clinical Observation" } ] }, { "id": "Observation.value[x]:valueQuantity.unit", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.valueQuantity.unit", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "${deviceBGUnit}" }, { "identity": "GREENDOT", "map": "type of metric", "comment": "DEVICE_METRIC_UNIT.MG_DL" } ] }, { "id": "Observation.value[x]:valueQuantity.system", "path": "Observation.valueQuantity.system", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "http://unitsofmeasure.org" }, { "identity": "GREENDOT", "map": "http://unitsofmeasure.org" } ] }, { "id": "Observation.value[x]:valueQuantity.code", "path": "Observation.valueQuantity.code", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "${deviceBGUnit}" }, { "identity": "GREENDOT", "map": "type of metric display", "comment": "DEVICE_METRIC_UNIT.MG_DL" } ] }, { "id": "Observation.dataAbsentReason", "path": "Observation.dataAbsentReason", "binding": { "strength": "required", "valueSetReference": { "reference": "http://roche.com/fhir/rdc/ValueSet/nullFlavor" } } }, { "id": "Observation.dataAbsentReason.coding.system", "path": "Observation.dataAbsentReason.coding.system", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "input.Val=\"HI\" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf \"LO\" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf \"-\" then 'http://hl7.org/fhir/data-absent-reason'" }, { "identity": "GREENDOT", "map": "input.Val=\"HI\" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf \"LO\" then 'http://hl7.org/fhir/v3/nullFlavor' elseIf \"-\" then 'http://hl7.org/fhir/data-absent-reason'" } ] }, { "id": "Observation.dataAbsentReason.coding.code", "path": "Observation.dataAbsentReason.coding.code", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "input.Val=\"HI\" then 'PINF' elseIf \"LO\" then 'NINF' elseIf \"-\" then 'unknown'" }, { "identity": "GREENDOT", "map": "input.Val=\"HI\" then 'PINF' elseIf \"LO\" then 'NINF' elseIf \"-\" then 'unknown'" }, { "identity": "GLUCI-CHEK", "map": "BG.Val", "comment": "FHIR Bundle -> If code\":\"PINF\" then Set BG.Val =\"HI\" elseIf \"code\": \"NINF\" then BG.Val =\"LO\"" } ] }, { "id": "Observation.dataAbsentReason.coding.display", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.dataAbsentReason.coding.display", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "input.Val=\"HI\" then 'positive infinity' elseIf \"LO\" then 'negative infinity' elseIf \"-\" then 'Unknown'" }, { "identity": "GREENDOT", "map": "input.Val=\"HI\" then 'positive infinity' elseIf \"LO\" then 'negative infinity' elseIf \"-\" then 'Unknown'" } ] }, { "id": "Observation.dataAbsentReason.text", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "path": "Observation.dataAbsentReason.text", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "'Above sensor range' : 'Below sensor range'" }, { "identity": "GREENDOT", "map": "'Above sensor range' : 'Below sensor range'", "comment": "BG value is HI : LO" } ] }, { "id": "Observation.interpretation.coding.system", "path": "Observation.interpretation.coding.system", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "http://hl7.org/fhir/v2/0078" } ] }, { "id": "Observation.interpretation.coding.code", "path": "Observation.interpretation.coding.code", "mapping": [ { "identity": "ACSPIX2FHIR", "map": "'L' or 'H'", "comment": "If Evt=71 then map to L elseIf Evt=72 then map to 'H'" } ] }, { "id": "Observation.bodySite", "path": "Observation.bodySite", "binding": { "strength": "required", "valueSetReference": { "reference": "http://roche.com/fhir/rdc/ValueSet/body-site" } } }, { "id": "Observation.method", "path": "Observation.method", "max": "0" }, { "id": "Observation.specimen", "path": "Observation.specimen", "max": "0" }, { "id": "Observation.device", "path": "Observation.device", "comment": "BG Observation -> device element will be mapped to DeviceMetric\n\nManual Entry Observation -> device element will be mapped to DeviceMetric", "min": 1, "type": [ { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/dm-device-metric" } ], "mapping": [ { "identity": "GLUCI-CHEK", "map": "BG.D", "comment": "Specifies from which device this record is loaded (n=1..3). n referes to the nth <DEVICE> element" } ] }, { "id": "Observation.device.reference", "path": "Observation.device.reference", "constraint": [ { "key": "Ref-error", "severity": "error", "human": "'device.reference' element must point to a Device resource", "expression": "startsWith('DeviceMetric/')" } ], "mapping": [ { "identity": "ACSPIX2FHIR", "map": "DeviceMetric/${input.deviceMetricId}" }, { "identity": "GREENDOT", "map": "DeviceMetric/${DeviceMetricId}", "comment": "<UID of the DeviceMetric resource of this bundle>" } ] }, { "id": "Observation.referenceRange", "path": "Observation.referenceRange", "max": "1" }, { "id": "Observation.related.type", "path": "Observation.related.type", "min": 1, "mapping": [ { "identity": "ACSPIX2FHIR", "map": "has-member", "comment": "Fixed value" } ] }, { "id": "Observation.related.target", "path": "Observation.related.target", "type": [ { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/observation" }, { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/health-event-observation" }, { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/bg-observation" }, { "code": "Reference", "targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/observation-EWM" } ] }, { "id": "Observation.related.target.reference", "path": "Observation.related.target.reference", "constraint": [ { "key": "Ref-error", "severity": "error", "human": "'related.target.reference' element must point to an Observation resource", "expression": "startsWith('Observation/')" } ], "mapping": [ { "identity": "ACSPIX2FHIR", "map": "Observation/${relatedObservationId}", "comment": "process relatedIds-> input.carbId,input.carbAdviceId,input.ctrlId,input.ewmIds,input.healthEventIds" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "Oral Medication observation mapped to Evt=35" }, { "identity": "GLUCI-CHEK", "map": "BG.Ctrl", "comment": "Control solution observation mapped to 1,2,3,?" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "Stress observation mapped to Evt=29" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "illness observation mapped to Evt=31" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "Premenstrual observation mapped to Evt=73" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "Exercise1 observation mapped to Evt=75" }, { "identity": "GLUCI-CHEK", "map": "BG.Evt", "comment": "Exercise2 observation mapped to Evt=76" } ] }, { "id": "Observation.component", "path": "Observation.component", "max": "0" }, { "id": "Observation.component.value[x]:valueQuantity", "path": "Observation.component.valueQuantity", "sliceName": "valueQuantity", "type": [ { "code": "Quantity" } ] } ] } }
Example
Below is an example JSON for the resource