Skip to content

Commit e52d675

Browse files
committed
Modelling guide content upload
1 parent ced7591 commit e52d675

5 files changed

Lines changed: 589 additions & 0 deletions

File tree

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE topic PUBLIC "-//OASIS//DTD LIGHTWEIGHT DITA Topic//EN" "topic.dtd">
3+
<topic id="configuration-sheet">
4+
<title>Configuration Sheet</title>
5+
<shortdesc></shortdesc>
6+
<body>
7+
<p><image href="images/commonModel-config-zoomed-gridlines.png" format="image/png">
8+
<alt>cityEHR Configuration Sheet</alt></image></p>
9+
<p><b>Configuration Parameters Definitions</b></p>
10+
<simpletable id="configuration-parameters">
11+
<sthead>
12+
<stentry><p>Parameter</p></stentry>
13+
<stentry><p>Description</p></stentry>
14+
</sthead>
15+
<strow>
16+
<stentry><p>ApplicationId</p></stentry>
17+
<stentry><p>The identifier for the cityEHR application that is driven by this model. The file can only be loaded for the application with this identifier. <i>Required</i></p></stentry>
18+
</strow>
19+
<strow>
20+
<stentry><p>ModelOwner</p></stentry>
21+
<stentry><p>Name of the model owner – copyright is asserted in the ontology</p></stentry>
22+
</strow>
23+
<strow>
24+
<stentry><p>SpecialtyId</p></stentry>
25+
<stentry><p>The identifier for the specialty (folder) for this model. <i>Required</i></p></stentry>
26+
</strow>
27+
<strow>
28+
<stentry><p>SpecialtyDisplayName</p></stentry>
29+
<stentry><p>The display name (title) for the specialty</p></stentry>
30+
</strow>
31+
<strow>
32+
<stentry><p>LanguageCode</p></stentry>
33+
<stentry><p>The pair of ISO 639-1 language code and ISO 3166-1 Alpha-2 country code. For example en-gb (which is the default).</p></stentry>
34+
</strow>
35+
</simpletable>
36+
<p></p>
37+
<simpletable id="configuration-field-types">
38+
<sthead>
39+
<stentry><p>Field type</p></stentry>
40+
<stentry><p>Colour</p></stentry>
41+
<stentry><p>Description</p></stentry>
42+
</sthead>
43+
<strow>
44+
<stentry><p>Reference</p></stentry>
45+
<stentry><p>#FFFFCC</p></stentry>
46+
<stentry><p>A reference to an ISO 13606 component, selected in a drop-down menu</p></stentry>
47+
</strow>
48+
<strow>
49+
<stentry><p>DisplayName</p></stentry>
50+
<stentry><p>#CCCCFF</p></stentry>
51+
<stentry><p>The display name (title) of an ISO 13606 component or data value.</p></stentry>
52+
</strow>
53+
<strow>
54+
<stentry><p>Value</p></stentry>
55+
<stentry><p>#E6E6FF</p></stentry>
56+
<stentry><p>A (categorical) value of the Data for an ISO 13606 Element</p></stentry>
57+
</strow>
58+
<strow>
59+
<stentry><p>Identifier</p></stentry>
60+
<stentry><p>#CCFFFF</p></stentry>
61+
<stentry><p>The identifier for an ISO 13606 component. Must be unique on each sheet (i.e. for each component type). A-z, A-Z, 0-9,, -, _, . (dot) only.</p></stentry>
62+
</strow>
63+
<strow>
64+
<stentry><p>Literal</p></stentry>
65+
<stentry><p>#D3FFD5</p></stentry>
66+
<stentry><p>The string literal for a data property, including calculations.</p></stentry>
67+
</strow>
68+
<strow>
69+
<stentry><p>Property</p></stentry>
70+
<stentry><p>#FFFF99</p></stentry>
71+
<stentry><p>The value of an object property, selected in a drop-down menu</p></stentry>
72+
</strow>
73+
</simpletable>
74+
</body>
75+
</topic>
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE topic PUBLIC "-//OASIS//DTD LIGHTWEIGHT DITA Topic//EN" "topic.dtd">
3+
<topic id="data-properties-expressions">
4+
<title>Data Properties for Expressions</title>
5+
<shortdesc></shortdesc>
6+
<body>
7+
<p>Expressions are used in the following data properties:</p>
8+
<simpletable>
9+
<sthead>
10+
<stentry><p>Property</p></stentry>
11+
<stentry><p>Where Used</p></stentry>
12+
<stentry><p>Description</p></stentry>
13+
</sthead>
14+
<strow>
15+
<stentry><p>Conditions</p></stentry>
16+
<stentry><p>Section</p><p>Entry</p><p>Cluster</p><p>Element</p></stentry>
17+
<stentry><p>Result of the expression is cast to xs:boolean</p> <p>The Condition is evaluated continuously as the containing Composition is edited by the user. If the Condition evaluates to <b>true</b> then the component is in-scope, if the Condition evaluates to <b>false</b> then the component is out-of-scope.</p><p>Any out-of-scope component has its visibility set to <b>false</b>, is hidden from the user, does not get used in other calculations and is removed from the Composition before it is committed to the patient record.</p></stentry>
18+
</strow>
19+
<strow>
20+
<stentry><p>Pre-conditions</p></stentry>
21+
<stentry><p>Section</p><p>Entry</p></stentry>
22+
<stentry><p>Result of the expression is cast to xs:boolean</p><p>These pre-conditions are evaluated once, when the Composition is loaded; any out-of-scope component is removed from the Composition before any user interaction begins.</p></stentry>
23+
</strow>
24+
<strow>
25+
<stentry><p>EvaluationContext</p></stentry>
26+
<stentry><p>Section</p><p>Entry</p></stentry>
27+
<stentry><p>Conditions used to constrain the Compositions in the record from which default values for any Elements in the component are calculated when the Composition is loaded.</p></stentry>
28+
</strow>
29+
<strow>
30+
<stentry><p>Constraints</p></stentry>
31+
<stentry><p>Element</p></stentry>
32+
<stentry><p>Result of the expression is cast to xs:boolean</p><p>An expression that is evaluated as the user enters the value of Data for the Element; if the Constraints evaluates to <b>false</b> then the value entered by the user is removed (replaced by an empty value)</p></stentry>
33+
</strow>
34+
<strow>
35+
<stentry><p>DefaultValue</p></stentry>
36+
<stentry><p>Element</p></stentry>
37+
<stentry><p>Result of the expression is cast to the DataType of the Element</p><p>An expression that is evaluated when the Composition is loaded; result is set as the initial value of the Element Data. Note that the evaluation is also determined by the InitialValue property of the containing Entry, which must be set to either Default or Pre-filled. For Default, the default value is set as the result of the expression or is left empty if no default expression is specified. For Pre-filled entries, any default values are calculated only if there is no existing Entry of that type recorded for the patient.</p></stentry>
38+
</strow>
39+
<strow>
40+
<stentry><p>CalculatedValue</p></stentry>
41+
<stentry><p>Element</p></stentry>
42+
<stentry><p>Result of the expression is cast to the DataType of the Element</p><p>The CalculatedValue is evaluated continuously as the containing Composition is edited by the user.</p><p>The result of the CalculatedValue expression sets the Data value of Elements that are of type calculatedValue</p><p>For Elements of type enumeratedCalculatedValue, the result of the expression should be a sequence of values (a, b,c, etc) that then constrains the Data values for the Element that can be selected by the user.</p></stentry>
43+
</strow>
44+
</simpletable>
45+
<p>The expression language used by cityEHR is XPath, with some additional built-in functions and the ability to reference the data value of Elements using the convention:</p>
46+
<p>EntryId/ElementId</p>
47+
<p>where ElementId is the identifier of an Element contained in the Entry with identifier EntryId. Expressions use the XPath expression language (version 2) as defined by the W3C standard at:</p>
48+
<p><i>https://www.w3.org/TR/xquery-operators/</i></p>
49+
<p>In the context of cityEHR expressions the data value of an Element is represented as EntryId/ElementId, so for example in the expression</p>
50+
<p>ScanDate/Date – Demographics/DateOfBirth</p>
51+
<p>ScanDate/Date is the value of the Element with the identity Date in the Entry with the identity ScanDate and</p>
52+
<p>Demographics/DateOfBirth is the value of the Element with identity DateOfBirth in the Entry with the identity Demographics</p>
53+
<p>The result of the expression is cast to the data type defined by the DataType of the Element (when used in Default Value or CalculatedValue) or as xs:boolean (for Conditions, Pr-conditions and Constraints)</p>
54+
<p>Expressions can also use extension functions that are specific to cityEHR, as shown in the following table. Here elementRef represents the pair EntryId/ElementId</p>
55+
<simpletable>
56+
<sthead>
57+
<stentry><p>Function</p></stentry>
58+
<stentry><p>Description</p></stentry>
59+
</sthead>
60+
<strow>
61+
<stentry><p>cityEHR:getValues(elementRef)</p></stentry>
62+
<stentry><p>Returns a sequence of values for the elementRef – this is all values that have been recorded in the longitudinal record.</p></stentry>
63+
</strow>
64+
<strow>
65+
<stentry><p>cityEHR:getValues(elementRef, conditions)</p></stentry>
66+
<stentry><p>Where the conditions parameter is supplied this is an Xpath expression used to filter the value returned and is evaluated relative to the return sequence. So for example the conditions [. lt 60] would filter the sequence to values less than 60.</p></stentry>
67+
</strow>
68+
<strow>
69+
<stentry><p>cityEHR:distinctValues(elementRef)</p><p>cityEHR:distinctValues(elementRef, conditions)</p></stentry>
70+
<stentry><p>As getValues, but returns the sequence of distinct values found. So the sequence does not contain any repeats of the same value.</p></stentry>
71+
</strow>
72+
<strow>
73+
<stentry><p>cityEHR:lookup(directoryElement, keyValue)</p></stentry>
74+
<stentry><p>Looks up the keyValue in the directory specified by the directoryElement parameter.</p><p>The keyValue is an Xpath expression that can be a string literal (must be quoted) or an elementRef</p></stentry>
75+
</strow>
76+
<strow>
77+
<stentry><p>cityEHR:instance(instanceId, path)</p></stentry>
78+
<stentry><p>Returns the result of the path in the XForms instance specified by the instanceId parameter. This function requires knowledge of the cityEHR code in order to specify the instanceId.</p></stentry>
79+
</strow>
80+
<strow>
81+
<stentry><p>cityEHR:getAttribute(elementRef, attributeId)</p></stentry>
82+
<stentry><p>Returns the value of the XML attribute named by the attributeId parameter on the element specified as the elementRef</p></stentry>
83+
</strow>
84+
</simpletable>
85+
<p>Examples of expressions from the default Feature Demo application are shown in the table below.</p>
86+
<simpletable>
87+
<sthead>
88+
<stentry><p>Type</p></stentry>
89+
<stentry><p>Example Expression</p></stentry>
90+
</sthead>
91+
<strow>
92+
<stentry><p>Calculated Value</p></stentry>
93+
<stentry><p>0</p></stentry>
94+
</strow>
95+
<strow>
96+
<stentry><p>Calculated Value</p></stentry>
97+
<stentry><p>'today'</p></stentry>
98+
</strow>
99+
<strow>
100+
<stentry><p>Calculated Value</p></stentry>
101+
<stentry><p>'P7D</p></stentry>
102+
</strow>
103+
<strow>
104+
<stentry><p>Calculated Value</p></stentry>
105+
<stentry><p>Current-date()</p></stentry>
106+
</strow>
107+
<strow>
108+
<stentry><p>Calculated Value</p></stentry>
109+
<stentry><p>ClinicDetails/ClinicCode</p></stentry>
110+
</strow>
111+
<strow>
112+
<stentry><p>Calculated Value</p></stentry>
113+
<stentry><p>ScanDate/Date – Demographics/DateOfBirth</p></stentry>
114+
</strow>
115+
<strow>
116+
<stentry><p>Calculated Value</p></stentry>
117+
<stentry><p>round-half-to-even(10000*BMI/WeightInKg div (BMI/HeightInCm * BMI/HeightInCm),2)</p></stentry>
118+
</strow>
119+
<strow>
120+
<stentry><p>Calculated Value</p></stentry>
121+
<stentry><p>if (BMI/CalculatedBMI lt 18.5) then 'Underweight' else if (BMI/CalculatedBMI ge 18.5 and BMI/CalculatedBMI lt 25) then 'Healthy' else if (BMI/CalculatedBMI ge 25 and BMI/CalculatedBMI lt 30) then 'Overweight' else 'Obese'</p></stentry>
122+
</strow>
123+
<strow>
124+
<stentry><p>Calculated Value</p></stentry>
125+
<stentry><p>max(BMI/HeightInCm)</p></stentry>
126+
</strow>
127+
<strow>
128+
<stentry><p>Calculated Value</p></stentry>
129+
<stentry><p>round-half-to-even(avg(BMI/HeightInCm))</p></stentry>
130+
</strow>
131+
<strow>
132+
<stentry><p>Calculated Value</p></stentry>
133+
<stentry><p>normalize-space(concat(Demographics/Title, ' ', Demographics/Forename, ' ', Demographics/Surname))</p></stentry>
134+
</strow>
135+
<strow>
136+
<stentry><p>Calculated Value</p></stentry>
137+
<stentry><p>count(cityEHR:getValues(Fracture/FractureDate,Fracture/ CurrentFracture='Yes'))</p></stentry>
138+
</strow>
139+
<strow>
140+
<stentry><p>Calculated Value</p></stentry>
141+
<stentry><p>cityEHR:instance(patient-instance,cdaheader/id)</p></stentry>
142+
</strow>
143+
<strow>
144+
<stentry><p>Calculated Value</p></stentry>
145+
<stentry><p>cityEHR:lookup(DrugInformationDirectory,MedicationInformation/DrugName)</p></stentry>
146+
</strow>
147+
<strow>
148+
<stentry><p>Constraint</p></stentry>
149+
<stentry><p>.gt0and.le100</p></stentry>
150+
</strow>
151+
</simpletable>
152+
</body>
153+
</topic>
154+
155+
156+
157+
158+
159+
160+
161+
162+
163+
164+
165+
166+
167+
168+
169+
170+
136 KB
Loading

0 commit comments

Comments
 (0)