OpenEHR Base package
0.1.0 - First Draft International flag

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

Logical Model: DV_DURATION

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

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DV_DURATION 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
... CR 1..1 string Carriage return character.
... LF 1..1 string Line feed character.
... Local_terminology_id 1..1 string Predefined terminology identifier
... normal_range 0..1 DV_INTERVAL Optional normal range.
... other_reference_ranges 0..* REFERENCE_RANGE<DV_ORDERED> Optional tagged other reference ranges for this value in its particular measurement context.
... magnitude_status 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 `"="` .
... accuracy 0..1 decimal Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity.
... accuracy_is_percent 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.
... value 1..1 string ISO8601 duration string, including described deviations to support negative values and weeks.

doco Documentation for this format

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DV_DURATION 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
... value 1..1 string ISO8601 duration string, including described deviations to support negative values and weeks.

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
Value_valid error DV_DURATION Value valid null # TODO: manual translation needed
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DV_DURATION 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
... CR 1..1 string Carriage return character.
... LF 1..1 string Line feed character.
... Local_terminology_id 1..1 string Predefined terminology identifier
... normal_range 0..1 DV_INTERVAL Optional normal range.
... other_reference_ranges 0..* REFERENCE_RANGE<DV_ORDERED> Optional tagged other reference ranges for this value in its particular measurement context.
... magnitude_status 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 `"="` .
... accuracy 0..1 decimal Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity.
... accuracy_is_percent 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.
... value 1..1 string ISO8601 duration string, including described deviations to support negative values and weeks.

doco Documentation for this format

Constraints

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

Summary

Mandatory: 0 element(1 nested mandatory element)

Maturity: 3

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DV_DURATION 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
... CR 1..1 string Carriage return character.
... LF 1..1 string Line feed character.
... Local_terminology_id 1..1 string Predefined terminology identifier
... normal_range 0..1 DV_INTERVAL Optional normal range.
... other_reference_ranges 0..* REFERENCE_RANGE<DV_ORDERED> Optional tagged other reference ranges for this value in its particular measurement context.
... magnitude_status 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 `"="` .
... accuracy 0..1 decimal Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity.
... accuracy_is_percent 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.
... value 1..1 string ISO8601 duration string, including described deviations to support negative values and weeks.

doco Documentation for this format

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DV_DURATION 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
... value 1..1 string ISO8601 duration string, including described deviations to support negative values and weeks.

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
Value_valid error DV_DURATION Value valid null # TODO: manual translation needed

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DV_DURATION 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
... CR 1..1 string Carriage return character.
... LF 1..1 string Line feed character.
... Local_terminology_id 1..1 string Predefined terminology identifier
... normal_range 0..1 DV_INTERVAL Optional normal range.
... other_reference_ranges 0..* REFERENCE_RANGE<DV_ORDERED> Optional tagged other reference ranges for this value in its particular measurement context.
... magnitude_status 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 `"="` .
... accuracy 0..1 decimal Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity.
... accuracy_is_percent 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.
... value 1..1 string ISO8601 duration string, including described deviations to support negative values and weeks.

doco Documentation for this format

Constraints

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

Summary

Mandatory: 0 element(1 nested mandatory element)

Maturity: 3

 

Other representations of profile: CSV, Excel

Contained resources