...
Then the table declaration:
--
...
Table
...
Declaration
Let
...
FLToGestationalAgeTable:
...
...
...
...
FLToGestationalAgeTableType
...
=
...
...
...
...
...
...
Sequence{
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
1.0,
...
AgeinWeeks
...
=
...
12.8},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
1.1,
...
AgeinWeeks
...
=
...
13.1},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
1.2,
...
AgeinWeeks
...
=
...
13.4},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
1.3,
...
AgeinWeeks
...
=
...
13.6},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
1.4,
...
AgeinWeeks
...
=
...
13.9},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
1.5,
...
AgeinWeeks
...
=
...
14.2},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
1.6,
...
AgeinWeeks
...
=
...
14.5},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
1.7,
...
AgeinWeeks
...
=
...
14.8},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
1.8,
...
AgeinWeeks
...
=
...
15.1},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
1.9,
...
AgeinWeeks
...
=
...
15.4},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
2.0,
...
AgeinWeeks
...
=
...
15.7},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
2.1,
...
AgeinWeeks
...
=
...
16.0},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
2.2,
...
AgeinWeeks
...
=
...
16.3},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
2.3,
...
AgeinWeeks
...
=
...
16.6},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
2.4,
...
AgeinWeeks
...
=
...
16.9},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
2.5,
...
AgeinWeeks
...
=
...
17.2},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
2.6,
...
AgeinWeeks
...
=
...
17.6},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
2.7,
...
AgeinWeeks
...
=
...
17.9},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
2.8,
...
AgeinWeeks
...
=
...
18.2},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
2.9,
...
AgeinWeeks
...
=
...
18.6},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
3.0,
...
AgeinWeeks
...
=
...
18.9},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
3.1,
...
AgeinWeeks
...
=
...
19.2},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
3.2,
...
AgeinWeeks
...
=
...
19.6},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
3.3,
...
AgeinWeeks
...
=
...
19.9},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
3.4,
...
AgeinWeeks
...
=
...
20.3},
...
...
...
...
...
...
FLToGestationalAgeMap{FLMeasurement
...
=
...
3.5,
...
AgeinWeeks
...
=
...
20.7}
...
...
...
...
...
...
...
}
And
...
finally
...
the
...
code.
...
In
...
this
...
example,
...
the
...
input
...
could
...
have
...
come
...
from
...
an
...
archetype
...
and
...
this
...
section
...
is
...
commented
...
out.
imports iso_21090_datatypes
/*
Let femurLength: Real = If template.Third_Trimester_Growth_Scan
.Findings
.Fetal_Biometry
.Femur_Length_FL
.Measurement
.oclIsDefined() then
template.Third_Trimester_Growth_Scan
.Findings
.Fetal_Biometry
.Femur_Length_FL
.Measurement
.value.oclAsType(PQ)
.value
else null
endif
*/
Let femurLength: PQ = PQ{value = 3.2, unit='cm'}
If (femurLength.value >= FLToGestationalAgeTable.first().FLMeasurement) and (femurLength.value <= FLToGestationalAgeTable.last().FLMeasurement) then
FLToGestationalAgeTable->select(o | femurLength.value >= o.FLMeasurement).last().AgeinWeeks.toChar()
else
''
endif
Here is how that looks in Result Explorer:
The result in the data explorer is this: