OpenEHR Base package
0.1.0 - First Draft
OpenEHR Base package, published by openEHR + HL7. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/openehr-fhir/base-spec/ and changes regularly. See the Directory of published versions
Official URL: http://openehr.org/fhir/StructureDefinition/DV-DURATION | Version: 0.1.0 | |||
Standards status: Informative | Maturity Level: 3 | Computable Name: DV_DURATION |
Represents a period of time with respect to a notional point in time, which is not specified. A sign may be used to indicate the duration is backwards in time rather than forwards.
NOTE: two deviations from ISO 8601 are supported, the first, to allow a negative sign, and the second allowing the 'W' designator to be mixed with other designators. See time types section in the Foundation Types model.
Used for recording the duration of something in the real world, particularly when there is a need a) to represent the duration in customary format, i.e. days, hours, minutes etc, and b) if it will be used in computational operations with date/time quantities, i.e. additions, subtractions etc.
Misuse: Durations cannot be used to represent points in time, or intervals of time.
Original Source: specifications.openehr.org
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | DV_AMOUNT | Represents a period of time with respect to a notional point in time, which is not specified. Elements defined in Ancestors:CR, LF, Local_terminology_id, normal_status, normal_range, other_reference_ranges, magnitude_status, accuracy, accuracy_is_percent, accuracy Constraints: Other_reference_ranges_validity, Is_simple_validity, Normal_range_and_status_consistency, Magnitude_status_valid, Accuracy_is_percent_validity, Accuracy_validity, Value_valid |
![]() ![]() ![]() |
1..1 | string | Carriage return character. | |
![]() ![]() ![]() |
1..1 | string | Line feed character. | |
![]() ![]() ![]() |
1..1 | string | Predefined terminology identifier | |
![]() ![]() ![]() |
0..1 | CODE_PHRASE | Optional normal status indicator of value with respect to normal range for this value. | |
![]() ![]() ![]() |
0..1 | DV_INTERVAL | Optional normal range. | |
![]() ![]() ![]() |
0..* | REFERENCE_RANGE<DV_ORDERED> | Optional tagged other reference ranges for this value in its particular measurement context. | |
![]() ![]() ![]() |
0..1 | string | Optional status of magnitude with values: * `"="` : magnitude is a point value * `"<"` : value is < magnitude * `">"` : value is > magnitude * `"<="` : value is <= magnitude * `">="` : value is >= magnitude * `"~"` : value is approximately magnitude If not present, assumed meaning is `"="` . | |
![]() ![]() ![]() |
0..1 | decimal | Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity. | |
![]() ![]() ![]() |
0..1 | boolean | If `True`, indicates that when this object was created, `_accuracy_` was recorded as a percent value; if `False`, as an absolute quantity value. | |
![]() ![]() ![]() |
1..1 | string | ISO8601 duration string, including described deviations to support negative values and weeks. | |
![]() |
Id | Grade | Path(s) | Description | Expression |
Accuracy_is_percent_validity | error | DV_DURATION | Accuracy is percent validity must satisfy conditional constraints |
accuracy = 0 implies accuracy_is_percent.not()
|
Accuracy_validity | error | DV_DURATION | Accuracy validity must satisfy conditional constraints |
accuracy_is_percent implies valid_percentage() (accuracy)
|
Is_simple_validity | error | DV_DURATION | Is simple validity must satisfy conditional constraints |
(normal_range .empty() and other_reference_ranges .empty()) implies is_simple()
|
Magnitude_status_valid | error | DV_DURATION | Magnitude status valid must be present |
magnitude_status.exists() implies valid_magnitude_status() (magnitude_status)
|
Normal_range_and_status_consistency | error | DV_DURATION | Normal range and status consistency must be present |
(normal_range.exists() and normal_status.exists()) implies (normal_status.code_string.is_equal (“N”) xor normal_range.not().has (self))
|
Other_reference_ranges_validity | error | DV_DURATION | Other reference ranges validity must be present |
other_reference_ranges.exists() implies other_reference_ranges.empty().not()
|
Value_valid | error | DV_DURATION | Value valid |
null # TODO: manual translation needed
|
This structure is derived from DV_AMOUNT
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | DV_AMOUNT | Represents a period of time with respect to a notional point in time, which is not specified. Elements defined in Ancestors:CR, LF, Local_terminology_id, normal_status, normal_range, other_reference_ranges, magnitude_status, accuracy, accuracy_is_percent, accuracy Constraints: Value_valid |
![]() ![]() ![]() |
1..1 | string | ISO8601 duration string, including described deviations to support negative values and weeks. | |
![]() |
Id | Grade | Path(s) | Description | Expression |
Value_valid | error | DV_DURATION | Value valid |
null # TODO: manual translation needed
|
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | DV_AMOUNT | Represents a period of time with respect to a notional point in time, which is not specified. Elements defined in Ancestors:CR, LF, Local_terminology_id, normal_status, normal_range, other_reference_ranges, magnitude_status, accuracy, accuracy_is_percent, accuracy Constraints: Other_reference_ranges_validity, Is_simple_validity, Normal_range_and_status_consistency, Magnitude_status_valid, Accuracy_is_percent_validity, Accuracy_validity, Value_valid |
![]() ![]() ![]() |
1..1 | string | Carriage return character. | |
![]() ![]() ![]() |
1..1 | string | Line feed character. | |
![]() ![]() ![]() |
1..1 | string | Predefined terminology identifier | |
![]() ![]() ![]() |
0..1 | CODE_PHRASE | Optional normal status indicator of value with respect to normal range for this value. | |
![]() ![]() ![]() |
0..1 | DV_INTERVAL | Optional normal range. | |
![]() ![]() ![]() |
0..* | REFERENCE_RANGE<DV_ORDERED> | Optional tagged other reference ranges for this value in its particular measurement context. | |
![]() ![]() ![]() |
0..1 | string | Optional status of magnitude with values: * `"="` : magnitude is a point value * `"<"` : value is < magnitude * `">"` : value is > magnitude * `"<="` : value is <= magnitude * `">="` : value is >= magnitude * `"~"` : value is approximately magnitude If not present, assumed meaning is `"="` . | |
![]() ![]() ![]() |
0..1 | decimal | Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity. | |
![]() ![]() ![]() |
0..1 | boolean | If `True`, indicates that when this object was created, `_accuracy_` was recorded as a percent value; if `False`, as an absolute quantity value. | |
![]() ![]() ![]() |
1..1 | string | ISO8601 duration string, including described deviations to support negative values and weeks. | |
![]() |
Id | Grade | Path(s) | Description | Expression |
Accuracy_is_percent_validity | error | DV_DURATION | Accuracy is percent validity must satisfy conditional constraints |
accuracy = 0 implies accuracy_is_percent.not()
|
Accuracy_validity | error | DV_DURATION | Accuracy validity must satisfy conditional constraints |
accuracy_is_percent implies valid_percentage() (accuracy)
|
Is_simple_validity | error | DV_DURATION | Is simple validity must satisfy conditional constraints |
(normal_range .empty() and other_reference_ranges .empty()) implies is_simple()
|
Magnitude_status_valid | error | DV_DURATION | Magnitude status valid must be present |
magnitude_status.exists() implies valid_magnitude_status() (magnitude_status)
|
Normal_range_and_status_consistency | error | DV_DURATION | Normal range and status consistency must be present |
(normal_range.exists() and normal_status.exists()) implies (normal_status.code_string.is_equal (“N”) xor normal_range.not().has (self))
|
Other_reference_ranges_validity | error | DV_DURATION | Other reference ranges validity must be present |
other_reference_ranges.exists() implies other_reference_ranges.empty().not()
|
Value_valid | error | DV_DURATION | Value valid |
null # TODO: manual translation needed
|
Key Elements View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | DV_AMOUNT | Represents a period of time with respect to a notional point in time, which is not specified. Elements defined in Ancestors:CR, LF, Local_terminology_id, normal_status, normal_range, other_reference_ranges, magnitude_status, accuracy, accuracy_is_percent, accuracy Constraints: Other_reference_ranges_validity, Is_simple_validity, Normal_range_and_status_consistency, Magnitude_status_valid, Accuracy_is_percent_validity, Accuracy_validity, Value_valid |
![]() ![]() ![]() |
1..1 | string | Carriage return character. | |
![]() ![]() ![]() |
1..1 | string | Line feed character. | |
![]() ![]() ![]() |
1..1 | string | Predefined terminology identifier | |
![]() ![]() ![]() |
0..1 | CODE_PHRASE | Optional normal status indicator of value with respect to normal range for this value. | |
![]() ![]() ![]() |
0..1 | DV_INTERVAL | Optional normal range. | |
![]() ![]() ![]() |
0..* | REFERENCE_RANGE<DV_ORDERED> | Optional tagged other reference ranges for this value in its particular measurement context. | |
![]() ![]() ![]() |
0..1 | string | Optional status of magnitude with values: * `"="` : magnitude is a point value * `"<"` : value is < magnitude * `">"` : value is > magnitude * `"<="` : value is <= magnitude * `">="` : value is >= magnitude * `"~"` : value is approximately magnitude If not present, assumed meaning is `"="` . | |
![]() ![]() ![]() |
0..1 | decimal | Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity. | |
![]() ![]() ![]() |
0..1 | boolean | If `True`, indicates that when this object was created, `_accuracy_` was recorded as a percent value; if `False`, as an absolute quantity value. | |
![]() ![]() ![]() |
1..1 | string | ISO8601 duration string, including described deviations to support negative values and weeks. | |
![]() |
Id | Grade | Path(s) | Description | Expression |
Accuracy_is_percent_validity | error | DV_DURATION | Accuracy is percent validity must satisfy conditional constraints |
accuracy = 0 implies accuracy_is_percent.not()
|
Accuracy_validity | error | DV_DURATION | Accuracy validity must satisfy conditional constraints |
accuracy_is_percent implies valid_percentage() (accuracy)
|
Is_simple_validity | error | DV_DURATION | Is simple validity must satisfy conditional constraints |
(normal_range .empty() and other_reference_ranges .empty()) implies is_simple()
|
Magnitude_status_valid | error | DV_DURATION | Magnitude status valid must be present |
magnitude_status.exists() implies valid_magnitude_status() (magnitude_status)
|
Normal_range_and_status_consistency | error | DV_DURATION | Normal range and status consistency must be present |
(normal_range.exists() and normal_status.exists()) implies (normal_status.code_string.is_equal (“N”) xor normal_range.not().has (self))
|
Other_reference_ranges_validity | error | DV_DURATION | Other reference ranges validity must be present |
other_reference_ranges.exists() implies other_reference_ranges.empty().not()
|
Value_valid | error | DV_DURATION | Value valid |
null # TODO: manual translation needed
|
Differential View
This structure is derived from DV_AMOUNT
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | DV_AMOUNT | Represents a period of time with respect to a notional point in time, which is not specified. Elements defined in Ancestors:CR, LF, Local_terminology_id, normal_status, normal_range, other_reference_ranges, magnitude_status, accuracy, accuracy_is_percent, accuracy Constraints: Value_valid |
![]() ![]() ![]() |
1..1 | string | ISO8601 duration string, including described deviations to support negative values and weeks. | |
![]() |
Id | Grade | Path(s) | Description | Expression |
Value_valid | error | DV_DURATION | Value valid |
null # TODO: manual translation needed
|
Snapshot View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | DV_AMOUNT | Represents a period of time with respect to a notional point in time, which is not specified. Elements defined in Ancestors:CR, LF, Local_terminology_id, normal_status, normal_range, other_reference_ranges, magnitude_status, accuracy, accuracy_is_percent, accuracy Constraints: Other_reference_ranges_validity, Is_simple_validity, Normal_range_and_status_consistency, Magnitude_status_valid, Accuracy_is_percent_validity, Accuracy_validity, Value_valid |
![]() ![]() ![]() |
1..1 | string | Carriage return character. | |
![]() ![]() ![]() |
1..1 | string | Line feed character. | |
![]() ![]() ![]() |
1..1 | string | Predefined terminology identifier | |
![]() ![]() ![]() |
0..1 | CODE_PHRASE | Optional normal status indicator of value with respect to normal range for this value. | |
![]() ![]() ![]() |
0..1 | DV_INTERVAL | Optional normal range. | |
![]() ![]() ![]() |
0..* | REFERENCE_RANGE<DV_ORDERED> | Optional tagged other reference ranges for this value in its particular measurement context. | |
![]() ![]() ![]() |
0..1 | string | Optional status of magnitude with values: * `"="` : magnitude is a point value * `"<"` : value is < magnitude * `">"` : value is > magnitude * `"<="` : value is <= magnitude * `">="` : value is >= magnitude * `"~"` : value is approximately magnitude If not present, assumed meaning is `"="` . | |
![]() ![]() ![]() |
0..1 | decimal | Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity. | |
![]() ![]() ![]() |
0..1 | boolean | If `True`, indicates that when this object was created, `_accuracy_` was recorded as a percent value; if `False`, as an absolute quantity value. | |
![]() ![]() ![]() |
1..1 | string | ISO8601 duration string, including described deviations to support negative values and weeks. | |
![]() |
Id | Grade | Path(s) | Description | Expression |
Accuracy_is_percent_validity | error | DV_DURATION | Accuracy is percent validity must satisfy conditional constraints |
accuracy = 0 implies accuracy_is_percent.not()
|
Accuracy_validity | error | DV_DURATION | Accuracy validity must satisfy conditional constraints |
accuracy_is_percent implies valid_percentage() (accuracy)
|
Is_simple_validity | error | DV_DURATION | Is simple validity must satisfy conditional constraints |
(normal_range .empty() and other_reference_ranges .empty()) implies is_simple()
|
Magnitude_status_valid | error | DV_DURATION | Magnitude status valid must be present |
magnitude_status.exists() implies valid_magnitude_status() (magnitude_status)
|
Normal_range_and_status_consistency | error | DV_DURATION | Normal range and status consistency must be present |
(normal_range.exists() and normal_status.exists()) implies (normal_status.code_string.is_equal (“N”) xor normal_range.not().has (self))
|
Other_reference_ranges_validity | error | DV_DURATION | Other reference ranges validity must be present |
other_reference_ranges.exists() implies other_reference_ranges.empty().not()
|
Value_valid | error | DV_DURATION | Value valid |
null # TODO: manual translation needed
|
Other representations of profile: CSV, Excel