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
| Official URL: https://ianbennett.github.io/ExampleIG_Ian/StructureDefinition/DvProportion | Version: 0.1.0 | |||
| Draft as of 2026-03-25 | Computable Name: DvProportion | |||
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_PROPORTION | Proportion Elements defined in Ancestors:@id, extension, @value, @value, numerator, denominator, type, precision, normal_range, other_reference_ranges Instances of this logical model are not marked to be the target of a Reference Constraints: Type_validity, Precision_validity, Is_integral_validity, Fraction_validity, Unitary_validity, Percent_validity, Valid_denominator |
![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() |
0..1 | code | Primitive value for code | |
![]() ![]() |
1..1 | decimal | Numerator of ratio | |
![]() ![]() |
1..1 | decimal | Denominator of ratio. | |
![]() ![]() |
1..1 | integer | Indicates semantic type of proportion, including percent, unitary etc. | |
![]() ![]() |
0..1 | integer | Precision to which the `_numerator_` and `_denominator_` values of the proportion are expressed, in terms of number of decimal places. | |
![]() ![]() |
0..1 | DV_INTERVAL<DV_PROPORTION> | Optional normal range. | |
![]() ![]() |
0..* | REFERENCE_RANGE<DV_PROPORTION> | Optional tagged other reference ranges for this value in its particular measurement context. | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| Fraction_validity | error | DvProportion | Fraction validity must satisfy conditional constraints |
(type = pk_fraction or type = pk_integer_fraction) implies is_integral()
|
| Is_integral_validity | error | DvProportion | Is integral validity must satisfy conditional constraints |
is_integral() implies (numerator.floor = numerator and denominator.floor = denominator)
|
| Percent_validity | error | DvProportion | Percent validity must satisfy conditional constraints |
null # TODO: manual translation needed
|
| Precision_validity | error | DvProportion | Precision validity must satisfy conditional constraints |
precision = 0 implies is_integral()
|
| Type_validity | error | DvProportion | Type validity |
null # TODO: manual translation needed
|
| Unitary_validity | error | DvProportion | Unitary validity must satisfy conditional constraints |
null # TODO: manual translation needed
|
| Valid_denominator | error | DvProportion | Valid denominator |
null # TODO: manual translation needed
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from DV_PROPORTION
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | DV_PROPORTION | Proportion Elements defined in Ancestors:@id, extension, @value, @value, numerator, denominator, type, precision, normal_range, other_reference_ranges Instances of this logical model are not marked to be the target of a Reference | |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | DV_PROPORTION | Proportion Elements defined in Ancestors:@id, extension, @value, @value, numerator, denominator, type, precision, normal_range, other_reference_ranges Instances of this logical model are not marked to be the target of a Reference Constraints: Type_validity, Precision_validity, Is_integral_validity, Fraction_validity, Unitary_validity, Percent_validity, Valid_denominator |
![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() |
0..1 | code | Primitive value for code | |
![]() ![]() |
1..1 | decimal | Numerator of ratio | |
![]() ![]() |
1..1 | decimal | Denominator of ratio. | |
![]() ![]() |
1..1 | integer | Indicates semantic type of proportion, including percent, unitary etc. | |
![]() ![]() |
0..1 | integer | Precision to which the `_numerator_` and `_denominator_` values of the proportion are expressed, in terms of number of decimal places. | |
![]() ![]() |
0..1 | DV_INTERVAL<DV_PROPORTION> | Optional normal range. | |
![]() ![]() |
0..* | REFERENCE_RANGE<DV_PROPORTION> | Optional tagged other reference ranges for this value in its particular measurement context. | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| Fraction_validity | error | DvProportion | Fraction validity must satisfy conditional constraints |
(type = pk_fraction or type = pk_integer_fraction) implies is_integral()
|
| Is_integral_validity | error | DvProportion | Is integral validity must satisfy conditional constraints |
is_integral() implies (numerator.floor = numerator and denominator.floor = denominator)
|
| Percent_validity | error | DvProportion | Percent validity must satisfy conditional constraints |
null # TODO: manual translation needed
|
| Precision_validity | error | DvProportion | Precision validity must satisfy conditional constraints |
precision = 0 implies is_integral()
|
| Type_validity | error | DvProportion | Type validity |
null # TODO: manual translation needed
|
| Unitary_validity | error | DvProportion | Unitary validity must satisfy conditional constraints |
null # TODO: manual translation needed
|
| Valid_denominator | error | DvProportion | Valid denominator |
null # TODO: manual translation needed
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from DV_PROPORTION
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | DV_PROPORTION | Proportion Elements defined in Ancestors:@id, extension, @value, @value, numerator, denominator, type, precision, normal_range, other_reference_ranges Instances of this logical model are not marked to be the target of a Reference Constraints: Type_validity, Precision_validity, Is_integral_validity, Fraction_validity, Unitary_validity, Percent_validity, Valid_denominator |
![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() |
0..1 | code | Primitive value for code | |
![]() ![]() |
1..1 | decimal | Numerator of ratio | |
![]() ![]() |
1..1 | decimal | Denominator of ratio. | |
![]() ![]() |
1..1 | integer | Indicates semantic type of proportion, including percent, unitary etc. | |
![]() ![]() |
0..1 | integer | Precision to which the `_numerator_` and `_denominator_` values of the proportion are expressed, in terms of number of decimal places. | |
![]() ![]() |
0..1 | DV_INTERVAL<DV_PROPORTION> | Optional normal range. | |
![]() ![]() |
0..* | REFERENCE_RANGE<DV_PROPORTION> | Optional tagged other reference ranges for this value in its particular measurement context. | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| Fraction_validity | error | DvProportion | Fraction validity must satisfy conditional constraints |
(type = pk_fraction or type = pk_integer_fraction) implies is_integral()
|
| Is_integral_validity | error | DvProportion | Is integral validity must satisfy conditional constraints |
is_integral() implies (numerator.floor = numerator and denominator.floor = denominator)
|
| Percent_validity | error | DvProportion | Percent validity must satisfy conditional constraints |
null # TODO: manual translation needed
|
| Precision_validity | error | DvProportion | Precision validity must satisfy conditional constraints |
precision = 0 implies is_integral()
|
| Type_validity | error | DvProportion | Type validity |
null # TODO: manual translation needed
|
| Unitary_validity | error | DvProportion | Unitary validity must satisfy conditional constraints |
null # TODO: manual translation needed
|
| Valid_denominator | error | DvProportion | Valid denominator |
null # TODO: manual translation needed
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Differential View
This structure is derived from DV_PROPORTION
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | DV_PROPORTION | Proportion Elements defined in Ancestors:@id, extension, @value, @value, numerator, denominator, type, precision, normal_range, other_reference_ranges Instances of this logical model are not marked to be the target of a Reference | |
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | DV_PROPORTION | Proportion Elements defined in Ancestors:@id, extension, @value, @value, numerator, denominator, type, precision, normal_range, other_reference_ranges Instances of this logical model are not marked to be the target of a Reference Constraints: Type_validity, Precision_validity, Is_integral_validity, Fraction_validity, Unitary_validity, Percent_validity, Valid_denominator |
![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() |
0..1 | code | Primitive value for code | |
![]() ![]() |
1..1 | decimal | Numerator of ratio | |
![]() ![]() |
1..1 | decimal | Denominator of ratio. | |
![]() ![]() |
1..1 | integer | Indicates semantic type of proportion, including percent, unitary etc. | |
![]() ![]() |
0..1 | integer | Precision to which the `_numerator_` and `_denominator_` values of the proportion are expressed, in terms of number of decimal places. | |
![]() ![]() |
0..1 | DV_INTERVAL<DV_PROPORTION> | Optional normal range. | |
![]() ![]() |
0..* | REFERENCE_RANGE<DV_PROPORTION> | Optional tagged other reference ranges for this value in its particular measurement context. | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| Fraction_validity | error | DvProportion | Fraction validity must satisfy conditional constraints |
(type = pk_fraction or type = pk_integer_fraction) implies is_integral()
|
| Is_integral_validity | error | DvProportion | Is integral validity must satisfy conditional constraints |
is_integral() implies (numerator.floor = numerator and denominator.floor = denominator)
|
| Percent_validity | error | DvProportion | Percent validity must satisfy conditional constraints |
null # TODO: manual translation needed
|
| Precision_validity | error | DvProportion | Precision validity must satisfy conditional constraints |
precision = 0 implies is_integral()
|
| Type_validity | error | DvProportion | Type validity |
null # TODO: manual translation needed
|
| Unitary_validity | error | DvProportion | Unitary validity must satisfy conditional constraints |
null # TODO: manual translation needed
|
| Valid_denominator | error | DvProportion | Valid denominator |
null # TODO: manual translation needed
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from DV_PROPORTION