Wiki source code of 07a. Rules

Last modified by Tom Jardine on 06/11/2025, 14:23

Hide last authors
Tom Jardine 1.1 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 By creating data quality Rules, corrective action can be taken against data that does not adhere to a strict criteria.
6
7 To access the Rules functionality, click **Setup**, **Extensions** then **Rules**.
8
9 Click the **New** button to begin the process.
10
11 = Creation Process =
12
13 Enter the name that will be given to the Rule in the **Name** textbox. This name must be unique.
14
15 The **Description** textbox enables a detailed description to be added to Rules, aiding users find created examples.
16
17 Use the **Type** drop-down list to select the required Rule type. The following types are available:
18
19 (% border="1" cellspacing="0" class="Table" style="border-collapse:collapse; border:1pt solid windowtext; width:1024px" %)
20 (% style="height:12.3pt" %)|(% style="background-color:#ed7d31; background:#ed7d31; border-style:solid; border-width:1.0pt; width:125.9pt" width="168" %)(((
21 (% class="TableHead" style="padding:0cm 5.4pt 0cm 5.4pt" %)
22 (% style="color:white; height:12.3pt" %)Type
23 )))|(% style="background-color:#ed7d31; background:#ed7d31; border-left:none; border-style:solid; border-width:1.0pt; width:333.1pt" width="444" %)(((
24 (% class="TableHead" style="padding:0cm 5.4pt 0cm 5.4pt" %)
25 (% style="color:white; height:12.3pt" %)Function
26 )))
27 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
28 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
29 (% style="height:27.95pt" %)Combination
30 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
31 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
32 (% style="height:27.95pt" %)Combines multiple existing rules to flag whether all have passed.
33 )))
34 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
35 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
36 (% style="height:27.95pt" %)Date Range
37 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
38 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
39 (% style="height:27.95pt" %)Determines whether the specified date field falls within a given date range. Inclusive of the start and end date.
40 )))
41 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
42 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
43 (% style="height:27.95pt" %)Date Range Exclusive
44 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
45 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
46 (% style="height:27.95pt" %)Determines whether the specified date field falls within a given date range. Does not include the start or end dates.
47 )))
48 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
49 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
50 (% style="height:27.95pt" %)Exists (Lookup)
51 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
52 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
53 (% style="height:27.95pt" %)Checks values in one field also exist in another. The reference field may be in the same or another Index.
54 )))
55 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
56 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
57 (% style="height:27.95pt" %)Exists (Values)
58 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
59 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
60 (% style="height:27.95pt" %)Checks values in a specified field are present in a list of values entered when creating the rule.
61 )))
62 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
63 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
64 (% style="height:27.95pt" %)Fraction Digits
65 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
66 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
67 (% style="height:27.95pt" %)Determines whether values in a field have the specified number of decimal digits.
68 )))
69 (% style="height:28.85pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
70 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
71 (% style="height:28.85pt" %)HoNos Default
72 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
73 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
74 (% style="height:28.85pt" %)Trust specific HoNos validation.
75 )))
76 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
77 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
78 (% style="height:27.95pt" %)HoNos Invalid
79 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
80 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
81 (% style="height:27.95pt" %)Trust specific HoNos validation.
82 )))
83 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
84 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
85 (% style="height:27.95pt" %)HoNos Other
86 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
87 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
88 (% style="height:27.95pt" %)Trust specific HoNos validation.
89 )))
90 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
91 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
92 (% style="height:27.95pt" %)HoNos Valid
93 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
94 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
95 (% style="height:27.95pt" %)Trust specific HoNos validation.
96 )))
97 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
98 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
99 (% style="height:27.95pt" %)Is Format
100 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
101 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
102 (% style="height:27.95pt" %)Allows a user to test for formatting of a field. Please note that this rule type is not compatible with date fields due to the way date values are stored in an Index.
103 )))
104 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
105 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
106 (% style="height:27.95pt" %)Is Present
107 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
108 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
109 (% style="height:27.95pt" %)Determines whether the values are present or null.
110 )))
111 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
112 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
113 (% style="height:27.95pt" %)Is Unique
114 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
115 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
116 (% style="height:27.95pt" %)Determines whether values are unique.
117 )))
118 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
119 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
120 (% style="height:27.95pt" %)Is XSD Date
121 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
122 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
123 (% style="height:27.95pt" %)Tests for an XSD Date format "YYYY-MM-DD".
124 )))
125 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
126 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
127 (% style="height:27.95pt" %)Is XSD Decimal
128 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
129 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
130 (% style="height:27.95pt" %)Tests for an XSD Decimal format {0.0, 0.00, 0.000 …}.
131 )))
132 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
133 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
134 (% style="height:27.95pt" %)Is XSD Integer
135 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
136 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
137 (% style="height:27.95pt" %)Tests for an XSD Integer format {...,-2,-1,0,1,2,...}.
138 )))
139 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
140 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
141 (% style="height:27.95pt" %)Is XSD Non Negative Integer
142 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
143 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
144 (% style="height:27.95pt" %)Tests for an XSD Non Negative Integer format {0,1,2,...}.
145 )))
146 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
147 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
148 (% style="height:27.95pt" %)Is XSD Positive Integer
149 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
150 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
151 (% style="height:27.95pt" %)Tests for an XSD Positive Integer format {1,2,3...}.
152 )))
153 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
154 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
155 (% style="height:27.95pt" %)Is XSD String
156 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
157 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
158 (% style="height:27.95pt" %)Tests for an XSD String { "any set of characters" }.
159 )))
160 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
161 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
162 (% style="height:27.95pt" %)Is XSD Time
163 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
164 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
165 (% style="height:27.95pt" %)Tests for an XSD Time "hh:mm:ss".
166 )))
167 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
168 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
169 (% style="height:27.95pt" %)Length
170 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
171 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
172 (% style="height:27.95pt" %)Checks the length of the value is equal to that specified.
173 )))
174 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
175 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
176 (% style="height:27.95pt" %)Length in Range
177 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
178 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
179 (% style="height:27.95pt" %)Checks the length of the value falls within the range specified. Inclusive of the outer bounds.
180 )))
181 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
182 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
183 (% style="height:27.95pt" %)Matches Pattern
184 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
185 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
186 (% style="height:27.95pt" %)Checks values in a field against a Regular Expression.
187 )))
188 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
189 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
190 (% style="height:27.95pt" %)Maximum Length
191 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
192 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
193 (% style="height:27.95pt" %)Checks values are equal or shorter in length than the number of characters specified.
194 )))
195 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
196 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
197 (% style="height:27.95pt" %)Minimum Length
198 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
199 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
200 (% style="height:27.95pt" %)Checks values are equal or greater in length than the number of characters specified.
201 )))
202 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
203 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
204 (% style="height:27.95pt" %)NHS Number
205 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
206 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
207 (% style="height:27.95pt" %)Tests an NHS number against the Modulus 11 algorithm. See NHS Data Dictionary for more information.
208 )))
209 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
210 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
211 (% style="height:27.95pt" %)Number Range
212 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
213 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
214 (% style="height:27.95pt" %)Tests a number falls within a range Including the minimum and maximum numbers specified.
215 )))
216 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
217 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
218 (% style="height:27.95pt" %)Number Range Exclusive
219 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
220 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
221 (% style="height:27.95pt" %)Tests a number falls within a range excluding the minimum and maximum numbers specified.
222 )))
223 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
224 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
225 (% style="height:27.95pt" %)Text Range
226 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
227 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
228 (% style="height:27.95pt" %)Determines whether text values are between two letters or words alphabetically.
229 )))
230 (% style="height:27.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:125.9pt" width="168" %)(((
231 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
232 (% style="height:27.95pt" %)Total Digits
233 )))|(% style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; width:333.1pt" width="444" %)(((
234 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
235 (% style="height:27.95pt" %)Checks the total number of digits for a value is the same as specified.
236 )))
237
238 Enabling the **Invert** option inverts the rule, essentially adding NOT to the beginning of the statement.
239
240 The **Action** option enables the choice of action taken if Rules are broken. **Validation** allows the specification of a Corrective Action message. This message will create a new field in the Index containing the specified text whenever the rule is broken. Users can then use manual data entry to correct the discrepancy.
241
242 Selecting **Update** as the action allows a calculation to be specified whenever a rule is broken. This automatically updates each value that breaks the rule according to the specified calculation.
243
244 The **Severity** option allows the assigned severity, either **Major** or **Minor**, to be applied when the Rule is broken. **Severity** is used to sort Rules in the front-end through the creation of specific fields, such as ‘Minor Rules Failed’ or ‘Rules Passed Count Major’, for example.
245
246 The **Test** box allows a Rule to be tested prior to its creation. Enter a value in the textbox and click **Test** to result in a tick if the value has passed, or a cross if it has failed.
247
248 To complete the process and save changes, click **Create Rule**. To return to the previous screen and discard changes, click **Cancel**.
249
250 = Rules Data Source =
251
252 After creating Rules, a Rules-based Data Source can be built in the Data Sources screen that allows a collection of Rules to be applied simultaneously.
253
254 To access the Data Source Screen, click **Search Engine**, then **Data Sources**.
255
256 Select **Rules** from the **Type** drop-down list to begin the creation process.
257
258 == Creation Process ==
259
260 Enter the name that will be given to the Data Source in the **Name** textbox. This name must be unique.
261
262 Use the **Tags** textbox to add associated search terms to the data source. This allows access via customised strings when using the search bar.
263
264 Select the Data Source Group that the rules will be applied to from the **Data Source Group** drop-down list. Following the selection, a Rules search bar and a table populated with the Data Source Group fields will be revealed below.
265
266 Select one or more fields using the relevant checkbox, and click the search bar above the table. This will reveal all available Rules that can be applied to the data, displayed along with their description. Results can be filtered by searching for the specific name or description text. Click a Rule to select it, and remove a selected rule by clicking the relevant **X** icon.
267
268 Once the required rules have been selected for the checked field in the table, click **Apply** to add the selected rules to the **Rules** column of the table.
269
270 Applying an Update Rule will display a prompt to select the fields used in the calculation. The **Output Field** can either be a new field by entering the desired field name in the textbox and clicking **Add**, or an existing field by selecting it from the drop-down list.
271
272 After assigning the desired rules to the fields, an Index can be created alongside the Rules-Based Data Source by enabling the **Create Index** checkbox. This will reveal the **Add to Search Engine** option, allowing the resulting Index to be added to a specific Search Engine.
273
274 Click **Create Data Source** to complete the process, or **Cancel** to discard all changes.
275
276 == Created Fields ==
277
278 Creating a Rules Data Source adds the following fields:
279
280 (% border="1" cellspacing="0" class="Table" style="border-collapse:collapse; border:1pt solid windowtext; width:1024px" %)
281 (% style="height:12.3pt" %)|(% style="background-color:#ed7d31; background:#ed7d31; border-style:solid; border-width:1pt; width:276px" width="206" %)(((
282 (% class="TableHead" style="padding:0cm 5.4pt 0cm 5.4pt" %)
283 (% style="color:white; height:12.3pt" %)Field Name
284 )))|(% style="background-color:#ed7d31; background:#ed7d31; border-bottom-style:solid; border-bottom-width:1pt; border-left:1pt solid; border-right-style:solid; border-right-width:1pt; border-top-style:solid; border-top-width:1pt; width:747px" width="394" %)(((
285 (% class="TableHead" style="padding:0cm 5.4pt 0cm 5.4pt" %)
286 (% style="color:white; height:12.3pt" %)Function
287 )))
288 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="206" %)(((
289 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
290 (% style="height:27.95pt" %)Rules Corrective Action
291 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="394" %)(((
292 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
293 (% style="height:27.95pt" %)Corrective Action to be taken after failing a Rule
294 )))
295 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="206" %)(((
296 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
297 (% style="height:27.95pt" %)Rules Passed Count
298 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="394" %)(((
299 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
300 (% style="height:27.95pt" %)Number of Rules Passed
301 )))
302 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="206" %)(((
303 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
304 (% style="height:27.95pt" %)Rules Failed Count
305 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="394" %)(((
306 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
307 (% style="height:27.95pt" %)Number of Rules Failed
308 )))
309 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="206" %)(((
310 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
311 (% style="height:27.95pt" %)Rules Passed Count Major
312 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="394" %)(((
313 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
314 (% style="height:27.95pt" %)Number of ‘Major’ Severity Rules Passed
315 )))
316 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="206" %)(((
317 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
318 (% style="height:27.95pt" %)Rules Failed Count Major
319 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="394" %)(((
320 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
321 (% style="height:27.95pt" %)Number of ‘Major’ Severity Rules Failed
322 )))
323 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="206" %)(((
324 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
325 (% style="height:27.95pt" %)Rules Passed Count Minor
326 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="394" %)(((
327 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
328 (% style="height:27.95pt" %)Number of ‘Minor’ Severity Rules Passed
329 )))
330 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="206" %)(((
331 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
332 (% style="height:27.95pt" %)Rules Failed Count Minor
333 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="394" %)(((
334 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
335 (% style="height:27.95pt" %)Number of ‘Minor’ Severity Rules Failed
336 )))
337 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="206" %)(((
338 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
339 (% style="height:27.95pt" %)Rules Update Applied
340 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="394" %)(((
341 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
342 (% style="height:27.95pt" %)Update Rule and Syntax Applied to Field
343 )))
344 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="206" %)(((
345 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
346 (% style="height:27.95pt" %)[Name of Update Rule Field]
347 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="394" %)(((
348 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
349 (% style="height:27.95pt" %)Updated Field after using ‘Update’ Rule Calculation
350 )))
351
352 Any fields with an Update Rule applied will have an automatically populated **Updated** field.
353
354 Any fields with a Validation Rule applied will have a field specifying the action to be taken.
355
356 = {{id name="Rules Summary"/}}Rules Summary Data Source =
357
358 A Rules Summary Data Source can be built in the Data Sources screen to provide an audit of all Rules and the outcomes of each data set run with rules applied.
359
360 To access the Data Sources Screen, click **Search Engine**, then **Data Sources**.
361
362 Select **Rules Summary** from the **Type** drop-down list to begin the creation process.
363
364 == Creation Process ==
365
366 Enter the name that will be given to the Data Source in the **Name** textbox. This name must be unique.
367
368 Use the **Tags** textbox to add associated search terms to the data source. This allows access via customised strings when using the search bar.
369
370 To create an Index can be created alongside the Data Source, enable the **Create Index** checkbox. This will reveal the **Add to Search Engine** option, allowing the resulting Index to be added to a specific Search Engine.
371
372 Click **Create Data Source** to complete the process, or **Cancel** to discard all changes.
373
374 == Created Fields ==
375
376 Rules Summary Data Sources contain a row for each time a Rule has been run. The following fields are created:
377
378 (% border="1" cellspacing="0" class="Table" style="border-collapse:collapse; border:1pt solid windowtext; width:1024px" %)
379 (% style="height:12.3pt" %)|(% style="background-color:#ed7d31; background:#ed7d31; border-style:solid; border-width:1pt; width:276px" width="198" %)(((
380 (% class="TableHead" style="padding:0cm 5.4pt 0cm 5.4pt" %)
381 (% style="color:white; height:12.3pt" %)Field Name
382 )))|(% style="background-color:#ed7d31; background:#ed7d31; border-bottom-style:solid; border-bottom-width:1pt; border-left:1pt solid; border-right-style:solid; border-right-width:1pt; border-top-style:solid; border-top-width:1pt; width:747px" width="414" %)(((
383 (% class="TableHead" style="padding:0cm 5.4pt 0cm 5.4pt" %)
384 (% style="color:white; height:12.3pt" %)Function
385 )))
386 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="198" %)(((
387 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
388 (% style="height:27.95pt" %)Data Source Group
389 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="414" %)(((
390 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
391 (% style="height:27.95pt" %)The GUID of the Data Source Group
392 )))
393 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="198" %)(((
394 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
395 (% style="height:27.95pt" %)Data Source Group Display
396 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="414" %)(((
397 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
398 (% style="height:27.95pt" %)The Name of the Data Source Group
399 )))
400 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="198" %)(((
401 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
402 (% style="height:27.95pt" %)Timestamp
403 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="414" %)(((
404 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
405 (% style="height:27.95pt" %)The time the Rule was executed
406 )))
407 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="198" %)(((
408 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
409 (% style="height:27.95pt" %)Severity
410 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="414" %)(((
411 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
412 (% style="height:27.95pt" %)The severity of the Rule
413 )))
414 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="198" %)(((
415 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
416 (% style="height:27.95pt" %)Rule
417 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="414" %)(((
418 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
419 (% style="height:27.95pt" %)The Rule name, type and parameters
420 )))
421 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="198" %)(((
422 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
423 (% style="height:27.95pt" %)Passed
424 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="414" %)(((
425 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
426 (% style="height:27.95pt" %)The number of records that passed the Rule
427 )))
428 (% style="height:27.95pt" %)|(% style="border-style:none solid solid; border-top-color:initial; border-width:1pt; width:276px" width="198" %)(((
429 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
430 (% style="height:27.95pt" %)Failed
431 )))|(% style="border-bottom:1pt solid windowtext; border-left:none; border-right:1pt solid windowtext; border-top:none; width:747px" width="414" %)(((
432 (% style="padding:0cm 5.4pt 0cm 5.4pt" %)
433 (% style="height:27.95pt" %)The number of records that failed the Rule
434 )))
435
436 = Modifying Rules =
437
438 When making changes to Rules, it is important to ensure the relevant steps are taken to refresh the data.
439
440 To modify created Rules, navigate to the Rules screen, by clicking **Setup**, **Extensions** then **Rules**, and click the Edit icon next to the relevant Rule. Make the relevant changes and click Modify Rule to save any changes, or Cancel to discard any changes.
441
442 To add or remove rules from a Data Source, navigate back to the Data Sources screen, by clicking **Search Engine** then **Data Sources**, and click the **Edit** icon next to the relevant Rules Data Source. Make the relevant changes and click **Modify Data Source** to save any changes, or **Cancel** to discard any changes.
443
444 Finally, navigate to the Data Source Groups screen by clicking **Search Engine**, then **Data Source Groups**. Click the **Build** icon next to the relevant Data Source to rebuild using the latest iteration of any Rule configuration.
445
446 If the build method has been set to Cumulative, rebuilding a Rules Data Source will result in zero records. Click the **Build** icon again to apply new Rule changes and repopulate the data.
447
448 = Rules Promotion =
449
450 Once a Rules Index has been created, the Rules Promotion Data Source allows an administrator to specify the maximum number of errors before an Index is prevented from being made available to end users. If the maximum number of minor or major errors is breached, the new version of the data will not be available in the front-end and the previous version will remain in place until the errors are corrected and the data refreshed.
451
452 To use this functionality, navigate to the Data Sources screen by clicking **Search Engine** then **Data Sources** and select Rules Promotion from the **Type** drop-down list. Select a previously created Rules Index from the **Data Source Group** drop-down list and specify the error thresholds using the **Maximum Minor Error** and **Maximum Major Error** textboxes. Enable the **Percent** checkbox for either option to instead use the entered number as a percentage value.
453
454 After entering the required information, an Index can be created alongside the Data Source by enabling the **Create Index** checkbox. This will reveal the **Add to Search Engine** option, allowing the resulting Index to be added to a specific Search Engine.
455
456 Click **Create Data Source** to complete the process, or **Cancel** to discard all changes.