Show last authors
1 = Exporting lab results to TerraIndex for a customer =
2
3 Returning the labresults to the client, that requested the analysis on samples.
4
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 )))
9
10
11
12 == What is a Lab result file? ==
13
14 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”
15
16
17 **Example files**: [[attach:labresultaat_MengmonsterGr.xml||rel="noopener noreferrer" target="_blank"]], [[attach:labresultaat_IndividueelGr.xml||rel="noopener noreferrer" target="_blank"]], [[attach:labresultaat_IndividueelGw.xml||rel="noopener noreferrer" target="_blank"]]
18
19 **XSD**: Ask or SIKB Members can download from: [[https:~~/~~/www.sikb.nl/datastandaarden/richtlijnen/sikb0101>>url:https://www.sikb.nl/datastandaarden/richtlijnen/sikb0101]]
20
21 **Controle XSLT**: [[attach:Labresult_Controle.xsl||rel=" noopener noreferrer" target="_blank"]]
22
23 **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]]
24 extracted from: **[[https:~~/~~/codes.sikb.nl>>url:https://codes.sikb.nl/]] **
25
26
27 {{toc/}}
28
29
30 == Model Structure ==
31
32 [[image:IMSIKB0101 - Labresults.png]]
33
34 === Metadata ===
35
36
37 (% class="table-hover" %)
38 |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
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" %)(((
42 date
43
44 yyyy-mm-dd
45 )))
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
48
49 ===
50 Labassignment ===
51
52 The labassignmentpart is the same as in the labassignment: [[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/#]]
53
54 With 3 differences:
55
56 * Status on the labassignment itself
57 * Status on the labassignment.sample link
58 * The labassignment Report number can be send in: LabAssignmentCertificate
59
60
61
62 ==== MeasureResult ====
63
64
65 |**Attribute Name**|**Description**
66 |(((
67 **numericValue** Measure
68 )))|Numeric Value - the numerical value of the observation. When no unit for the measurement is known, the unit 'Dimensionless' should be used.
69 |(((
70 **valueProcessingMethod** GenericName
71 )))|(((
72 Value Processing Method - a mathematical/statistical operation that is applied while the method of value determination/analysis standard remains unchanged.
73
74 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.
75
76 Domain table: Value Processing Method
77 )))
78 |(((
79 **qualityIndicatorType** GenericName
80 )))|(((
81 Quality Indicator/Judgement -> Detection limit, etc.
82
83 Domain table: Quality Judgement
84 )))
85
86 ==== Accuracy ====
87
88
89 |**Attribute Name**|**Description**|**Unit**
90 |(((
91 **recovery** Float
92 )))|(((
93 The part (percentage) of material that is recovered in an analysis.
94 )))|Percentage [%]
95 |(((
96 **spread** Float
97 )))|Spread = the error measured (in %) in multiple repeated measurements of the same sample/situation (and by the same laboratory technician/measuring device).|Percentage [%]
98 |(((
99 **measurementUncertainty** Float
100 )))|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 [%]
101 |(((
102 **zScore** Float
103 )))|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.|
104 |(((
105 **drift** Float
106 )))|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 [%]
107
108 ==== ====
109
110 ==== ====
111
112 ==== ====
113
114 ==== AnalyticResult ====
115
116
117 The analyzed result of an observation, typically originating from a laboratory.
118
119
120 |=**Attribute Name**|=**Description**
121 |(((
122 **limitSymbol** CharacterString
123 )))|(((
124 LimietSymbool, allowed values: '<' en '>'.
125
126 '<' stands for 'less than the lowest threshold'
127
128 '>' stands for 'greater than the highest threshold'
129
130 The boundary for the limit symbol can be specified in the DeterminationLimits (LimitSymbolReferenceCode) as a reference with the actual value of the limit. The value can be included in the exchange in two ways:
131
132 1) as a CData block: <![CDATA[<]]> or <![CDATA[>]]>
133
134 2) as HTML code: '&amp; lt;' or '&amp; gt;'
135 )))
136 |(((
137 **alphanumericValue** CharacterString
138 )))|Textual value associated with an analysis result
139
140 ==== ====
141
142 ==== ====
143
144 ==== ====
145
146 ====
147 ====
148
149 === Structure projectgegevens ===
150
151 (% style="text-align:center" %)
152 [[image:1637656734277-997.png]]
153
154
155 (% class="table-hover" %)
156 |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
157 |(% colspan="1" rowspan="1" %)**idopdracht**|(% colspan="1" rowspan="1" %)The TerraIndex id of the lab assignment the result belongs to.|(% colspan="1" rowspan="1" %)-
158 |(% colspan="1" rowspan="1" %)**projectcode**|(% colspan="1" rowspan="1" %)The project code of the project as it was delivered in the lab assignment|(% colspan="1" rowspan="1" %)string
159 |(% colspan="1" rowspan="1" %)**projectnaam**|(% colspan="1" rowspan="1" %)The name of the project as it was delivered in the lab assignment.|(% colspan="1" rowspan="1" %)string
160 |(% colspan="1" rowspan="1" %)**ordernummer**|(% colspan="1" rowspan="1" %)Not relevant. The order in which the lab result could be shown|(% colspan="1" rowspan="1" %)string
161 |(% colspan="1" rowspan="1" %)**projectleider**|(% colspan="1" rowspan="1" %)The project leader of the customer. This needs the be the “contactpersoon” from the lab assignment with the code PL|(% colspan="1" rowspan="1" %)string
162 |(% colspan="1" rowspan="1" %)**status**|(% colspan="1" rowspan="1" %)The status of the lab assignment. See Labstatus Codegroup 76 in the attachments for all the options.|(% colspan="1" rowspan="1" %)integer
163 |(% colspan="1" rowspan="1" %)**datumverwacht**|(% colspan="1" rowspan="1" %)The date on which the lab expects the certificate to be available|(% colspan="1" rowspan="1" %)Date
164 yyyy-mm-dd
165 |(% colspan="1" rowspan="1" %)**certificaatnummer**|(% colspan="1" rowspan="1" %)The number of the certificate that will be send to the user.|(% colspan="1" rowspan="1" %)string
166 |(% colspan="1" rowspan="1" %)(((
167 **analysemonsters**
168
169
170
171 )))|(% colspan="1" rowspan="1" %)A table containing all the analysis sample with their corresponding results|(% colspan="1" rowspan="1" %)-
172
173 == Structure analysemonsters ==
174
175 (% style="text-align:center" %)
176 [[image:1637656914799-534.png]]
177
178 (% class="table-hover" %)
179 |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
180 |(% colspan="1" rowspan="1" %)**Idanlmons**|(% colspan="1" rowspan="1" %)The unique identification code of the analyses sample as given in the lab assignment file|(% colspan="1" rowspan="1" %)string
181 |(% colspan="1" rowspan="1" %)**Anlmons**|(% colspan="1" rowspan="1" %)The name of the analyses sample as given in the lab assignment file|(% colspan="1" rowspan="1" %)string
182 |(% colspan="1" rowspan="1" %)**Certificaat**|(% colspan="1" rowspan="1" %)The way the name of the sample should be on the certificate. This is also given in the lab assignment|(% colspan="1" rowspan="1" %)string
183 |(% colspan="1" rowspan="1" %)**Monstersoort**|(% colspan="1" rowspan="1" %)The code referencing the type the sample is. Check the attachment: Sample type codegroup 51 for all the options|(% colspan="1" rowspan="1" %)integer
184 |(% colspan="1" rowspan="1" %)**Status**|(% colspan="1" rowspan="1" %)The status of the sample. See Labstatus Codegroup 76 in the attachments.|(% colspan="1" rowspan="1" %)integer
185 |(% colspan="1" rowspan="1" %)**Datumverwacht**|(% colspan="1" rowspan="1" %)The date on which the results for the sample are expected|(% colspan="1" rowspan="1" %)(((
186 date
187
188 yyyy-mm-dd
189 )))
190 |(% colspan="1" rowspan="1" %)**Volgorde**|(% colspan="1" rowspan="1" %)Is a unused field in TerraIndex|(% colspan="1" rowspan="1" %)integer
191 |(% colspan="1" rowspan="1" %)**analyseresultaten**|(% colspan="1" rowspan="1" %)A table containing all the measurement values of the analysis samples.|(% colspan="1" rowspan="1" %)-
192
193 == Structure analyseresultaten ==
194
195 (% style="text-align:center" %)
196 [[image:1637657248973-790.png]]
197
198 (% class="table-hover" %)
199 |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
200 |(% colspan="1" rowspan="1" %)**componentcode**|(% colspan="1" rowspan="1" %)The SIKB component code. See ComponentCode Codegroup 52 in the attachements for all possible options.|(% colspan="1" rowspan="1" %)integer
201 |(% colspan="1" rowspan="1" %)**meetwaarde**|(% colspan="1" rowspan="1" %)What the measured value is for the analyses|(% colspan="1" rowspan="1" %)float
202 |(% colspan="1" rowspan="1" %)**meetwaardeomschrijving**|(% colspan="1" rowspan="1" %)Alpha numerical description of the result|(% colspan="1" rowspan="1" %)string
203 |(% colspan="1" rowspan="1" %)**eenheidcode**|(% colspan="1" rowspan="1" %)The unit of the measured value. See Unit CodeGroup 40 in the attachements for all possible options|(% colspan="1" rowspan="1" %)integer
204 |(% colspan="1" rowspan="1" %)**referentiecode**|(% colspan="1" rowspan="1" %)This defines what the reference for the measurement value is. See ReferenceType CodeGroup 41 for all the possible options|(% colspan="1" rowspan="1" %)integer
205 |(% colspan="1" rowspan="1" %)**analysenorm**|(% colspan="1" rowspan="1" %)Against which standard the analysis has been tested. See Laboratory method Codegroup 57 in the attachments for all the option. I your standard is not in the list leave this empty|(% colspan="1" rowspan="1" %)integer
206 |(% colspan="1" rowspan="1" %)**datummonstervoorbehandeling**|(% colspan="1" rowspan="1" %)The date on which the sample was pre-treated. We don’t do anything with this value|(% colspan="1" rowspan="1" %)(((
207 date
208
209 yyyy-mm-dd
210 )))
211 |(% colspan="1" rowspan="1" %)**opmerking**|(% colspan="1" rowspan="1" %)A remark for this result|(% colspan="1" rowspan="1" %)string
212 |(% colspan="1" rowspan="1" %)**certificering**|(% colspan="1" rowspan="1" %)Under which certificate the analyses has been done. See CertificateCode Codegroup 48 for all the possible options. If you do not find you code leave this field empty|(% colspan="1" rowspan="1" %)integer
213 |(% colspan="1" rowspan="1" %)**status**|(% colspan="1" rowspan="1" %)The status of the labresult in the labassignemnt. See Labstatus Codegroep 76 in the attachments|(% colspan="1" rowspan="1" %)integer
214 |(% colspan="1" rowspan="1" %)**datumverwacht**|(% colspan="1" rowspan="1" %)Date on which the analyses results are expected.|(% colspan="1" rowspan="1" %)date
215
216 = =
217
218 = What to exchange to bind the right results to the right sample? =
219
220 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.
221
222 This requires importand field to match the samples in the xml to the samples in our database.
223
224 **Important fields:**
225
226 |=Entity|=Fixed value|=Remark
227 |**Project**|lokaalID (GUID)|As submitted in the Lab assignment XML
228 | |projectCode|As submitted in the Lab assignment XML
229 |**Labassignment**|lokaalID (GUID)|As submitted in the Lab assignment XML
230 |**Sample (analysis sample)**|lokaalID (GUID)|As submitted in the Lab assignment XML, if assignment in SIKB<11, but results in >=11; fill with old BISNR/IDANLMONS.
231 | |Name|As submitted in the Lab assignment XML
232 |**Sample (field sample)**|(((
233 lokaalID (GUID)
234 )))|Only if this entity is included, which is optional.
235
236 **Remarks:**
237
238 * The entity ‘Analysis Result’ does not yet have a fixed lokaalID (GUID), connected laboratories cannot yet guarantee that a unique ID will be generated.
239 * 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.
240 * 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.
241
242 **Importing the data will be done based on the following steps:**
243
244 * Search Project with Project.lokaalID (as placed in the Lab assignment XML).
245 * Search Project with Project.ProjectCode (as placed in the Lab assignment XML) if searching on Project.LokaalID yields no results.
246 * Search Project and Lab assignment with Labassignment.LokaalID (as placed in the Lab assignment XML) if the Project has not yet been found.
247 * Search Project (if Project not yet found) and Analysis Sample with Sample.LokaalID as GUID (as placed in the Lab assignment XML, version 11 and higher).
248 * Search Project (if Project not yet found) and Analysis Sample with Sample.LokaalID as BISNR (as placed in the Lab assignment XML, versions lower than 11, 'old' idanlmons/BISNR).
249 * Search Analysis Sample with Sample.Name within the project, if the Analysis Sample has not been found but the project has.
250
251 **What can be imported?**
252
253 * If an Analysis Sample is found, the Analysis Results are always updated or added.
254 * If Project is found, but the analysis sample is not; then this analysis sample is imported as a new analysis sample with all results.
255 * (If it concerns water samples, a new fictional/temporary measuring point and filter could be created.)
256 *
257
258 = SIKB 14 Parameter result combinations =
259
260 In the SIKB0101 version 14 exchange of **__labresults is combination needed __**for exchanging the result parameters of the Lab analysis.
261 It's based on PhysicalProperty, the combination of Quantity, Parameter and Condition.
262 \\[[image:1713183008796-215.png]]
263 *small remark, condition will be used as: [0..1]
264
265 Domaintables bound to these fields:
266
267 * Quantity -[[ Parameter, but only group/groep: Grootheid (Quantity)>>https://codes.sikb.nl/tablet/domain-table-details/0eafa483-2875-4c94-890d-66258a6b4d88]]
268 * Parameter -[[ Parameter, but mainly group/groep: Chemische Stof (Chemical substance)>>https://codes.sikb.nl/tablet/domain-table-details/0eafa483-2875-4c94-890d-66258a6b4d88]]
269 * Condition - Condition, but not group/groeps that refer to Chemical substance.
270
271 The combinations are defined for different compartiments like soil/ground, groundwater, wastewater.
272 Below are some examples, and some attachments included to support all combinations.
273
274 **2 Examples for Soil:**
275
276 |__**Parameter Name**__|__**Parameter ID**__|__**Quantity ID**__|__**Quantity name**__|__**Condition ID**__|__**Condition Name**__
277 |lood
278 (lead)|1116|2725|Massafractie
279 (Massfraction)|1|t.o.v. drooggewicht
280 (relative to dry weight)
281 |minerale olie
282 (minerale oil)|1200|2725|Massafractie
283 (Massfraction)|93|koolwaterstoffractie C10-C40 / drooggewicht
284 (hydrocarbon fraction C10-C40 / dry weight)
285
286 **2 Examples for Groundwater:**
287
288 |__**Parameter Name**__|__**Parameter ID**__|__**Quantity ID**__|__**Quantity name**__|__**Condition ID**__|__**Condition Name**__|
289 |cyanide-complex|2595|2720|(massa)Concentratie|9|opgeloste fractie (bijv. na filtratie)
290 |som 29 dioxines (TEQ)|2160|2720|(massa)Concentratie|10|uitgedrukt in Toxiciteit equivalenten
291
292 **2 Examples for Wastewater:**
293
294 |__**Parameter Name**__|__**Parameter ID**__|__**Quantity ID**__|__**Quantity name**__|__**Condition ID**__|__**Condition Name**__|
295 |cyanide-complex|2595|2720|(massa)Concentratie|8|Niet van toepassing
296 |som 29 dioxines (TEQ)|2160|2720|(massa)Concentratie|10|uitgedrukt in Toxiciteit equivalenten
297
298 __**Full combinations sheet:  **__[[attach:Full List of AnalysisResult combinations 04-2024.xlsx||rel="noopener noreferrer" target="_blank"]]
299
300 We can help you with the right combinations and mappings to your own codes.
301
302
303
304
TerraIndex
asd