<
From version < 36.1 >
edited by Robin Huisman
on 2024/07/31 23:10
To version < 36.3 >
edited by Robin Huisman
on 2024/07/31 23:42
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -Lab result file - SIKB version 14
1 +Lab result file - SIKB0101 v14
Content
... ... @@ -1,13 +1,14 @@
1 1  = Exporting lab results to TerraIndex for a customer =
2 2  
3 -The file that is used for the examples: [[Example file>>attach:LabResults.xml]]
3 +Returning the labresults to the client, that requested the analysis on samples.
4 4  
5 -{{toc/}}
5 +(% class="box infomessage" %)
6 +(((
7 +More information about SIKB0101 can be found here: [[https:~~/~~/www.sikb.nl/datastandaarden/sikb0101-bodembeheer>>url:https://www.sikb.nl/datastandaarden/sikb0101-bodembeheer]]
8 +)))
6 6  
7 -{{warning}}
8 -SIKB Version 9 is obsolete, and replaced with version 13 or version 14. Latest version can be found here: [[https:~~/~~/www.sikb.nl/datastandaarden/sikb0101-bodembeheer>>url:https://www.sikb.nl/datastandaarden/sikb0101-bodembeheer]]
9 -{{/warning}}
10 10  
11 +
11 11  == What is a Lab result file? ==
12 12  
13 13  A lab result file is an XML file contains all the lab results. The results are mapped tot their analyses samples. A lab result will be matched to the corresponding analyses sample based on the: “Labassignment Guid/SIKB-ID, projectCode, AnalysisSample Guid/SIKB-ID”
... ... @@ -17,56 +17,48 @@
17 17  
18 18  **XSD**: Ask or SIKB Members can download from: [[https:~~/~~/www.sikb.nl/datastandaarden/richtlijnen/sikb0101>>url:https://www.sikb.nl/datastandaarden/richtlijnen/sikb0101]]
19 19  
20 -**Controle XSLT**:
21 +**Controle XSLT**: [[attach:Labresult_Controle.xsl||rel=" noopener noreferrer" target="_blank"]]
21 21  
22 22  **Domaintable files**: [[immetingen lookup v14.8.0.xml>>url:https://wiki.terraindex.com/bin/download/Implementation%20documentation/Setting%20up%20Lab%20communication%20by%20REST%20services%20with%20TerraIndex/Lab%20assignment%20file/WebHome/immetingen%20lookup%20v14.8.0.xml?rev=1.2]]   [[imsikb0101 lookup v14.8.0.xml>>url:https://wiki.terraindex.com/bin/download/Implementation%20documentation/Setting%20up%20Lab%20communication%20by%20REST%20services%20with%20TerraIndex/Lab%20assignment%20file/WebHome/imsikb0101%20lookup%20v14.8.0.xml?rev=1.1]]
23 23  extracted from: **[[https:~~/~~/codes.sikb.nl>>url:https://codes.sikb.nl/]] **
24 24  
25 25  
27 +{{toc/}}
26 26  
29 +
30 +== Model Structure ==
31 +
27 27  [[image:IMSIKB0101 - Labresults.png]]
28 28  
29 -== File structure ==
34 +=== Metadata ===
30 30  
31 31  
32 32  (% class="table-hover" %)
33 33  |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
34 -|(% colspan="1" rowspan="1" %)**Versie**|(% colspan="1" rowspan="1" %)The SIKB version of the lab assignment. This must be: **9.0.0**|(% colspan="1" rowspan="1" %)string
35 -|(% colspan="1" rowspan="1" %)**Applicatiecode**|(% colspan="1" rowspan="1" %)This is the application code of your LIMS system that you will get from TerraIndex. Be careful this is not the same code as your laboratory number|(% colspan="1" rowspan="1" %)Integer
36 -|(% colspan="1" rowspan="1" %)**Datum**|(% colspan="1" rowspan="1" %)The date on which the lab result file was made|(% colspan="1" rowspan="1" %)(((
39 +|(% colspan="1" rowspan="1" %)**version**|(% colspan="1" rowspan="1" %)The SIKB version of the lab results file. This must be: **14.8.0 or 14.9.0**|(% colspan="1" rowspan="1" %)string
40 +|(% colspan="1" rowspan="1" %)**application**|(% colspan="1" rowspan="1" %)This is the application code of your LIMS system that you will get from TerraIndex. Be careful this is not the same code as your laboratory number. Your applicationcode can be requested of found here: [[https:~~/~~/codes.sikb.nl/tablet/domain-table-details/50be26c9-5e66-46c9-9373-9d402762876f>>https://codes.sikb.nl/tablet/domain-table-details/50be26c9-5e66-46c9-9373-9d402762876f]] |(% colspan="1" rowspan="1" %)Integer
41 +|(% colspan="1" rowspan="1" %)**reportDate**|(% colspan="1" rowspan="1" %)The date on which the lab result file was made|(% colspan="1" rowspan="1" %)(((
37 37  date
38 38  
39 39  yyyy-mm-dd
40 40  )))
41 -|(% colspan="1" rowspan="1" %)**Klantcode**|(% colspan="1" rowspan="1" %)This should be the customer code in the “//klantcode//” in the lab assignment|(% colspan="1" rowspan="1" %)string
42 -|(% colspan="1" rowspan="1" %)**Laboratorium**|(% colspan="1" rowspan="1" %)The number you get from TerraIndex. This needs to be the same as the laboratorium number in the lab delivery file|(% colspan="1" rowspan="1" %)integer
43 -|(% colspan="1" rowspan="1" %)**Taal**|(% colspan="1" rowspan="1" %)(((
44 -The language of the lab results this depends on the XSD used.
46 +|(% colspan="1" rowspan="1" %)**supplier**|(% colspan="1" rowspan="1" %)The number you get from TerraIndex. This needs to be the same as the laboratorium number in the lab delivery file. Your supplier code can be requested of found here: [[https:~~/~~/codes.sikb.nl/tablet/domain-table-details/dc2ad4df-f958-4146-aee8-31f8c2f1c74b>>https://codes.sikb.nl/tablet/domain-table-details/dc2ad4df-f958-4146-aee8-31f8c2f1c74b]]|(% colspan="1" rowspan="1" %)string
47 +|(% colspan="1" rowspan="1" %)**dataflow**|(% colspan="1" rowspan="1" %)Should be '1' in this case, what stands voor 'AnalysisResults'. Other option can be found here: [[https:~~/~~/codes.sikb.nl/tablet/domain-table-details/79365ded-f56a-4f10-ba45-16bac69752d9>>https://codes.sikb.nl/tablet/domain-table-details/79365ded-f56a-4f10-ba45-16bac69752d9]]|(% colspan="1" rowspan="1" %)integer
45 45  
46 -dut = dutch
49 +===
50 +Labassignment ===
47 47  
48 -eng = English
49 -)))|(% colspan="1" rowspan="1" %)string
50 -|(% colspan="1" rowspan="1" %)**Projectgegevens**|(% colspan="1" rowspan="1" %)This section contains all the result information|(% colspan="1" rowspan="1" %)-
52 +The labassignment is the same as in the labassignment file: [[Lab assignment file - SIKB0101 v14>>https://wiki.terraindex.com/bin/view/Implementation%20documentation/Setting%20up%20Lab%20communication%20by%20REST%20services%20with%20TerraIndex/Lab%20assignment%20file/#]]
51 51  
52 -= Questions from Luca to Robin =
54 +With 3 differences:
53 53  
54 -1. Do I need to add any other classes to the filestructure description apart from the ones below (those related to the IMMetingen::Result Class) ?
55 -1. uit de mail van Robin : "Je kunt de Labassignment pagina als basis gebruiken, en de extra klasses vanuit de Voorbeeld bestand LabResult aan toevoegen."
56 -11. De link naar een "LabResult" voorbeeld bestand wijst naar een directory. Daar staat wel een directory met naam "Example XML 14.8.01". maar die folder bevat niet 1 maar 4 verschillende "labresult_*" XMLs. Welke moet ik hebben? allemaal? en hoe moet ik afleiden welke klasses "extra" zijn? welke tool zou je aanbevelen om xml te lezen. ik heb er nog nooit mee gewerkt.
57 -1. Do i need to add screenshots of the xml classes as in the labassignment and labdelivery pages? if so, what software did you use?
58 -1. In Validation: ValidationScore. What are STOWA Protocols? is it Stichting Toegepast Onderzoek Waterbeheer?
59 -1. What to do with the domain tables refered to in the descriptions? Does it make sense to reference them? Should i translate the names of the domain tables or is that static? are they translated already? who manages these? is it SIKB stuff?
60 -1. in the section MeasureUncertainty > link to pdf file in description is invalid. What should it be?
61 -1. SIKB 14 Parameter result combinations> first sentence makes no sense to me. Please review so i can translate.
62 -1. What should i do with the sections from "Structure projectgegevens" to "What to exchange to store the right results?"? Is this a result of a copy paste and can they be discarded? If not, what classes do they refer to and where can i find the descriptions to be translated?
56 +* Status on the labassignment itself
57 +* Status on the labassignment.sample link
58 +* The labassignment Report number can be send in: LabAssignmentCertificate
63 63  
64 -(% class="wikigeneratedid" %)
65 -~==== Added by luca: all Classes related to "IMMetingen::Results"
66 66  
67 -==== MeasureResult ====
61 +=== Status ===
68 68  
69 -
70 70  |**Attribute Name**|**Description**
71 71  |(((
72 72  **numericValue** Measure
... ... @@ -80,78 +80,55 @@
80 80  
81 81  Domain table: Value Processing Method
82 82  )))
83 -|(((
84 -**qualityIndicatorType** GenericName
85 -)))|(((
86 -Quality Indicator/Judgement -> Detection limit, etc.
87 87  
88 -Domain table: Quality Judgement
89 -)))
77 +=== LabAssignmentCertificate ===
90 90  
91 -==== Accuracy ====
92 -
93 -
94 -|**Attribute Name**|**Description**|**Unit**
79 +|**Attribute Name**|**Description**
95 95  |(((
96 -**recovery** Float
97 -)))|(((
98 -The part (percentage) of material that is recovered in an analysis.
99 -)))|Percentage [%]
81 +**numericValue** Measure
82 +)))|Numeric Value - the numerical value of the observation. When no unit for the measurement is known, the unit 'Dimensionless' should be used.
100 100  |(((
101 -**spread** Float
102 -)))|Spread = the error measured (in %) in multiple repeated measurements of the same sample/situation (and by the same laboratory technician/measuring device).|Percentage [%]
103 -|(((
104 -**measurementUncertainty** Float
105 -)))|Measurement uncertainty = the total error in the analysis (in %), considering sample collection, variation in measuring equipment/lab technician, and repeated measurements. It practically represents the value indicating the uncertainty of the measurement result.|Percentage [%]
106 -|(((
107 -**zScore** Float
108 -)))|This is an optional value that indicates how the measurement value scores in relation to other techniques or laboratories. This could be from interlaboratory comparisons or comparisons between different measuring equipment.|
109 -|(((
110 -**drift** Float
111 -)))|This is the degree of sensor drift over time (in %/year). Sensors will age over time and experience more or less drift depending on the conditions. This drift can be quantified and depends partly on age. This is especially true for online sensors.|Percentage [%]
84 +**valueProcessingMethod** GenericName
85 +)))|(((
86 +Value Processing Method - a mathematical/statistical operation that is applied while the method of value determination/analysis standard remains unchanged.
112 112  
113 -==== ====
88 +The operation can be applied to a series of measurement values with the same parameter (quantity/component or typing or taxon or object) or to a series of measurement values with the same analysis method that are summed up to a sum parameter.
114 114  
115 -==== Validation ====
90 +Domain table: Value Processing Method
91 +)))
116 116  
117 117  
118 -This DataClass contains optional attributes and indicates which validation steps the measureResult (measurement value) has undergone.
94 +==== AnalyticResult (inherited from MeasureResult ====
119 119  
120 120  
121 121  |**Attribute Name**|**Description**
122 122  |(((
123 -**automatedControl** GenericName
99 +**numericValue** Measure
124 124  )))|(((
125 -The first-line control is often an automated check of whether the measurement value is correct. It uses a domain table: ValidationSteps.
101 +Numeric Value - the numerical value of the observation. When no unit for the measurement is known, the unit 'Dimensionless' should be used.
126 126  
127 -Various steps can be distinguished. For example, a check on hard/soft limits, ion balance, bandwidth, and dissolved not exceeding total analysis (chemistry) are part of the first-line control. The control can be approved or disapproved (see quality judgment). Different possible values are described in the domain table ValidationSteps. Example: pH of 78 and water temperature of 123 degrees Celsius are hard limits (not possible); pH=10.0 is a soft limit because the value is extremely high (but not impossible).
128 -
129 -Domain table: ValidationSteps
103 +Domaintable for Units: [[Eenheid>>https://codes.sikb.nl/tablet/domain-table-details/04f4f467-021b-4218-baa8-9742ed977c61]]
130 130  )))
131 131  |(((
132 -**expertControl** GenericName
106 +**valueProcessingMethod** GenericName
133 133  )))|(((
134 -The second-line control (ExpertControl) is often a specialist check of whether the measurement value is correct. It also uses a domain table: ValidationSteps. Here, different steps can be distinguished as well. This analysis usually does not follow immediately after arrival but is performed periodically. Controls on correlation between measurement stations, history, correlations between parameters, and specialist expertise belong to the second-line control. The control can be approved or disapproved (see quality judgment). Different possible values are described in the domain table ValidationSteps.
108 +Value Processing Method - a mathematical/statistical operation that is applied while the method of value determination/analysis standard remains unchanged.
135 135  
136 -Domain table: ValidationSteps
110 +The operation can be applied to a series of measurement values with the same parameter (quantity/component or typing or taxon or object) or to a series of measurement values with the same analysis method that are summed up to a sum parameter.
111 +\\Default the value '5' meaning 'Not available' can and should be used, besides leaving it empty.
112 +
113 +Domain table: [[Value Processing Method>>https://codes.sikb.nl/tablet/domain-table-details/a2310c26-065f-4aec-9440-74892ec77753]]
137 137  )))
138 138  |(((
139 -**validationScore** GenericName
116 +**qualityIndicatorType** GenericName
140 140  )))|(((
141 -Score of the validation steps followed, according to the __**STOWA protocols**__. The attribute uses the domain table ValidationScore. The score value ranges from 0 to 5
118 +Quality Indicator/Judgement -> Detection limit, etc.
119 +\\Default the value '0' meaning 'Not available' can and should be used, besides leaving it empty.
120 +If there is a detectionlimit/reportinglimit, use: '4', meaning 'determenated with full detection limit'
142 142  
143 -Domain table: ValidationScore
122 +Domain table: [[Quality Judgement>>https://codes.sikb.nl/tablet/domain-table-details/1e17d9e6-4e0e-4f88-8fe5-c71f6a7931db]]
144 144  )))
145 145  
146 -==== ====
147 -
148 -==== AnalyticResult ====
149 -
150 -
151 -The analyzed result of an observation, typically originating from a laboratory.
152 -
153 -
154 -|=**Attribute Name**|=**Description**
155 155  |(((
156 156  **limitSymbol** CharacterString
157 157  )))|(((
... ... @@ -166,6 +166,8 @@
166 166  1) as a CData block: <![CDATA[<]]> or <![CDATA[>]]>
167 167  
168 168  2) as HTML code: '&amp; lt;' or '&amp; gt;'
139 +\\Default the value is leaving it empty.
140 +If there is a detectionlimit/reportinglimit, use: '<'
169 169  )))
170 170  |(((
171 171  **alphanumericValue** CharacterString
... ... @@ -173,64 +173,11 @@
173 173  
174 174  ==== ====
175 175  
176 -==== MeasureUncertainty ====
177 -
178 -
179 -Measurement uncertainty in the result. This is the expanded measuring uncertainty as described in the document: [[http:~~/~~/www.nordicinnovation.net/nordtestfiler/tec537.pdf>>http://www.nordicinnovation.net/nordtestfiler/tec537.pdf]]
180 -
181 -
182 -|=**Attribute Name**|=**Description**
183 -|(((
184 -**distributionType** GenericName
185 -)))|(((
186 -The type of statistical distribution associated with the observation.
187 -
188 -Domain table: ProbabilityDistribution
189 -)))
190 -|(((
191 -**statisticalParameter** Measure
192 -)))|(((
193 -Parameters that determine the shape and size of the statistical distribution.
194 -
195 -Domain table: StatisticalParameter
196 -)))
197 -
198 198  ==== ====
199 199  
200 -==== DeterminationLimits ====
201 -
202 -
203 -|=**Attribute Name**|=**Description**
204 -|(((
205 -**detectionLimit** Measure
206 -)))|(((
207 -The smallest value of the measured content or the observed value of the parameter in a sample, which can still be determined with a certain reliability by the laboratory. Conventionally, this is the amount that corresponds to three times the standard deviation at that level (thus, relative standard deviation is 33%).
208 -
209 -
210 -The standard deviation is established under (intra-lab) reproducibility. Also known in English as 'LOD' (Limit of Detection). See also: [[Wikipedia on Detection Limit>>url:https://en.wikipedia.org/wiki/Detection_limit]]
211 -)))
212 -|(((
213 -**reportingLimit** Measure
214 -)))|The smallest value of the measured content or the observed value of the parameter in a sample, agreed upon with the client by the executing laboratory, which is reported to the client. The reporting limit is at least the detection limit and is sometimes specified in an accreditation scheme like AS3000.
215 -|(((
216 -**limitSymbolReferenceCode **GenericName
217 -)))|(((
218 -The threshold value that the limitSymbol of AnalyticResult refers to.
219 -
220 -Domain table: LimitSymbolReference
221 -)))
222 -|(((
223 -**quantitationLimit** Measure
224 -)))|The smallest value of the measured content or the observed value of the parameter in a sample, which can still be determined with a certain reliability by the laboratory. Conventionally, this is the amount that corresponds to ten times the standard deviation at that level (thus, relative standard deviation is 10%). Also known in English as 'LOQ' (Limit of Quantitation). At this value, the rate of 'false negatives' is less than 1%.
225 -
226 -=== ===
227 -
228 228  === Structure projectgegevens ===
229 229  
230 -(% style="text-align:center" %)
231 -[[image:1637656734277-997.png]]
232 232  
233 -
234 234  (% class="table-hover" %)
235 235  |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
236 236  |(% colspan="1" rowspan="1" %)**idopdracht**|(% colspan="1" rowspan="1" %)The TerraIndex id of the lab assignment the result belongs to.|(% colspan="1" rowspan="1" %)-
... ... @@ -294,10 +294,12 @@
294 294  
295 295  = =
296 296  
297 -= What to exchange to store the right results? =
216 += What to exchange to bind the right results to the right sample? =
298 298  
299 -The data stream ‘Lab Result’ is the feedback of analysis results on the requested lab assignment at a laboratory.
218 +The data stream ‘Lab Result’ is the feedback of analysis results on the requested lab assignment at a laboratory. At import we need to bind it onto the correct sample.
300 300  
220 +This requires importand field to match the samples in the xml to the samples in our database.
221 +
301 301  **Important fields:**
302 302  
303 303  |=Entity|=Fixed value|=Remark
... ... @@ -316,7 +316,7 @@
316 316  * For Asbestos and Asphalt, new samples are also created at the Lab, which are therefore fed back with a reference to the sample from which they are derived.
317 317  * There is still a desire to feedback from a lab whether an analysis sample has been modified at the lab in terms of sub-samples. For example, if a jar has broken and been replaced with another jar. This has not yet been included in current practices.
318 318  
319 -**Importing the data can be done based on the following steps:**
240 +**Importing the data will be done based on the following steps:**
320 320  
321 321  * Search Project with Project.lokaalID (as placed in the Lab assignment XML).
322 322  * Search Project with Project.ProjectCode (as placed in the Lab assignment XML) if searching on Project.LokaalID yields no results.
... ... @@ -330,6 +330,7 @@
330 330  * If an Analysis Sample is found, the Analysis Results are always updated or added.
331 331  * If Project is found, but the analysis sample is not; then this analysis sample is imported as a new analysis sample with all results.
332 332  * (If it concerns water samples, a new fictional/temporary measuring point and filter could be created.)
254 +*
333 333  
334 334  = SIKB 14 Parameter result combinations =
335 335  
... ... @@ -338,6 +338,12 @@
338 338  \\[[image:1713183008796-215.png]]
339 339  *small remark, condition will be used as: [0..1]
340 340  
263 +Domaintables bound to these fields:
264 +
265 +* Quantity -[[ Parameter, but only group/groep: Grootheid (Quantity)>>https://codes.sikb.nl/tablet/domain-table-details/0eafa483-2875-4c94-890d-66258a6b4d88]]
266 +* Parameter -[[ Parameter, but mainly group/groep: Chemische Stof (Chemical substance)>>https://codes.sikb.nl/tablet/domain-table-details/0eafa483-2875-4c94-890d-66258a6b4d88]]
267 +* Condition - Condition, but not group/groeps that refer to Chemical substance.
268 +
341 341  The combinations are defined for different compartiments like soil/ground, groundwater, wastewater.
342 342  Below are some examples, and some attachments included to support all combinations.
343 343  
... ... @@ -344,23 +344,31 @@
344 344  **2 Examples for Soil:**
345 345  
346 346  |__**Parameter Name**__|__**Parameter ID**__|__**Quantity ID**__|__**Quantity name**__|__**Condition ID**__|__**Condition Name**__
347 -|lood|1116|2725|Massafractie|1|t.o.v. drooggewicht
348 -|minerale olie|1200|2725|Massafractie|93|koolwaterstoffractie C10-C40 / drooggewicht
275 +|lood
276 +(lead)|1116|2725|Massafractie
277 +(Massfraction)|1|t.o.v. drooggewicht
278 +(relative to dry weight)
279 +|minerale olie
280 +(minerale oil)|1200|2725|Massafractie
281 +(Massfraction)|93|koolwaterstoffractie C10-C40 / drooggewicht
282 +(hydrocarbon fraction C10-C40 / dry weight)
349 349  
350 350  **2 Examples for Groundwater:**
351 351  
352 352  |__**Parameter Name**__|__**Parameter ID**__|__**Quantity ID**__|__**Quantity name**__|__**Condition ID**__|__**Condition Name**__|
353 353  |cyanide-complex|2595|2720|(massa)Concentratie|9|opgeloste fractie (bijv. na filtratie)
354 -|som 29 dioxines (Bbk, 1-10-2010, als TEQ)|2160|2720|(massa)Concentratie|10|uitgedrukt in Toxiciteit equivalenten
288 +|som 29 dioxines (TEQ)|2160|2720|(massa)Concentratie|10|uitgedrukt in Toxiciteit equivalenten
355 355  
356 356  **2 Examples for Wastewater:**
357 357  
358 358  |__**Parameter Name**__|__**Parameter ID**__|__**Quantity ID**__|__**Quantity name**__|__**Condition ID**__|__**Condition Name**__|
359 359  |cyanide-complex|2595|2720|(massa)Concentratie|8|Niet van toepassing
360 -|som 29 dioxines (Bbk, 1-10-2010, als TEQ)|2160|2720|(massa)Concentratie|10|uitgedrukt in Toxiciteit equivalenten
294 +|som 29 dioxines (TEQ)|2160|2720|(massa)Concentratie|10|uitgedrukt in Toxiciteit equivalenten
361 361  
362 362  __**Full combinations sheet:  **__[[attach:Full List of AnalysisResult combinations 04-2024.xlsx||rel="noopener noreferrer" target="_blank"]]
363 363  
298 +We can help you with the right combinations and mappings to your own codes.
364 364  
365 365  
301 +
366 366  
TerraIndex
asd