EHDS openEHR data exchange
0.1.0 - ci-build

EHDS openEHR data exchange, published by Ian. 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/freshehr/EHDS-openEHR-FHIR-IG/ and changes regularly. See the Directory of published versions

Logical Model: DvDuration

Official URL: https://ianbennett.github.io/ExampleIG_Ian/StructureDefinition/DvDuration Version: 0.1.0
Draft as of 2026-03-25 Computable Name: DvDuration

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
.. DvDuration C 0..* DV_DURATION Duration

Elements defined in Ancestors:CR, LF, Local_terminology_id, normal_status, normal_range, other_reference_ranges, magnitude_status, accuracy, accuracy_is_percent, accuracy, value
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 DvDuration Accuracy is percent validity must satisfy conditional constraints accuracy = 0 implies accuracy_is_percent.not()
Accuracy_validity error DvDuration Accuracy validity must satisfy conditional constraints accuracy_is_percent implies valid_percentage() (accuracy)
Is_simple_validity error DvDuration Is simple validity must satisfy conditional constraints (normal_range .empty() and other_reference_ranges .empty()) implies is_simple()
Magnitude_status_valid error DvDuration Magnitude status valid must be present magnitude_status.exists() implies valid_magnitude_status() (magnitude_status)
Normal_range_and_status_consistency error DvDuration 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 DvDuration Other reference ranges validity must be present other_reference_ranges.exists() implies other_reference_ranges.empty().not()
Value_valid error DvDuration Value valid null # TODO: manual translation needed

This structure is derived from DV_DURATION

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DvDuration 0..* DV_DURATION Duration

Elements defined in Ancestors:CR, LF, Local_terminology_id, normal_status, normal_range, other_reference_ranges, magnitude_status, accuracy, accuracy_is_percent, accuracy, value

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DvDuration C 0..* DV_DURATION Duration

Elements defined in Ancestors:CR, LF, Local_terminology_id, normal_status, normal_range, other_reference_ranges, magnitude_status, accuracy, accuracy_is_percent, accuracy, value
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 DvDuration Accuracy is percent validity must satisfy conditional constraints accuracy = 0 implies accuracy_is_percent.not()
Accuracy_validity error DvDuration Accuracy validity must satisfy conditional constraints accuracy_is_percent implies valid_percentage() (accuracy)
Is_simple_validity error DvDuration Is simple validity must satisfy conditional constraints (normal_range .empty() and other_reference_ranges .empty()) implies is_simple()
Magnitude_status_valid error DvDuration Magnitude status valid must be present magnitude_status.exists() implies valid_magnitude_status() (magnitude_status)
Normal_range_and_status_consistency error DvDuration 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 DvDuration Other reference ranges validity must be present other_reference_ranges.exists() implies other_reference_ranges.empty().not()
Value_valid error DvDuration Value valid null # TODO: manual translation needed

This structure is derived from DV_DURATION

Summary

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DvDuration C 0..* DV_DURATION Duration

Elements defined in Ancestors:CR, LF, Local_terminology_id, normal_status, normal_range, other_reference_ranges, magnitude_status, accuracy, accuracy_is_percent, accuracy, value
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 DvDuration Accuracy is percent validity must satisfy conditional constraints accuracy = 0 implies accuracy_is_percent.not()
Accuracy_validity error DvDuration Accuracy validity must satisfy conditional constraints accuracy_is_percent implies valid_percentage() (accuracy)
Is_simple_validity error DvDuration Is simple validity must satisfy conditional constraints (normal_range .empty() and other_reference_ranges .empty()) implies is_simple()
Magnitude_status_valid error DvDuration Magnitude status valid must be present magnitude_status.exists() implies valid_magnitude_status() (magnitude_status)
Normal_range_and_status_consistency error DvDuration 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 DvDuration Other reference ranges validity must be present other_reference_ranges.exists() implies other_reference_ranges.empty().not()
Value_valid error DvDuration Value valid null # TODO: manual translation needed

Differential View

This structure is derived from DV_DURATION

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DvDuration 0..* DV_DURATION Duration

Elements defined in Ancestors:CR, LF, Local_terminology_id, normal_status, normal_range, other_reference_ranges, magnitude_status, accuracy, accuracy_is_percent, accuracy, value

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DvDuration C 0..* DV_DURATION Duration

Elements defined in Ancestors:CR, LF, Local_terminology_id, normal_status, normal_range, other_reference_ranges, magnitude_status, accuracy, accuracy_is_percent, accuracy, value
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 DvDuration Accuracy is percent validity must satisfy conditional constraints accuracy = 0 implies accuracy_is_percent.not()
Accuracy_validity error DvDuration Accuracy validity must satisfy conditional constraints accuracy_is_percent implies valid_percentage() (accuracy)
Is_simple_validity error DvDuration Is simple validity must satisfy conditional constraints (normal_range .empty() and other_reference_ranges .empty()) implies is_simple()
Magnitude_status_valid error DvDuration Magnitude status valid must be present magnitude_status.exists() implies valid_magnitude_status() (magnitude_status)
Normal_range_and_status_consistency error DvDuration 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 DvDuration Other reference ranges validity must be present other_reference_ranges.exists() implies other_reference_ranges.empty().not()
Value_valid error DvDuration Value valid null # TODO: manual translation needed

This structure is derived from DV_DURATION

Summary

 

Other representations of profile: CSV, Excel