<
From version < 33.1 >
edited by Robin Huisman
on 2024/07/31 23:07
To version < 41.1 >
edited by Robin Huisman
on 2024/08/01 00:25
>
Change comment: Uploaded new attachment "labresult_IndividualGw.xml", version {1}

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -Lab result file - Obsolete SIKB version 9
1 +Lab result file - SIKB0101 v14
Content
... ... @@ -1,297 +1,299 @@
1 -= Exporting lab results to TerraIndex for a customer =
1 += Reporting 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 -== What is a Lab result file ==
12 12  
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”
12 +== What is a Lab result file? ==
14 14  
15 -**Example files**:
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”
16 16  
17 -[[attach:labresultaat_IndividueelGr.xml||rel=" noopener noreferrer" target="_blank"]] [[attach:labresultaat_MengmonsterGr.xml||rel=" noopener noreferrer" target="_blank"]]
18 18  
19 -[[attach:labresultaat_IndividueelGw.xml||rel=" noopener noreferrer" target="_blank"]]
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"]]
20 20  
19 +**XSD**: Ask or SIKB Members can download from: [[https:~~/~~/www.sikb.nl/datastandaarden/richtlijnen/sikb0101>>url:https://www.sikb.nl/datastandaarden/richtlijnen/sikb0101]]
21 21  
22 -\\[[image:IMSIKB0101 - Labresults.png]]
21 +**Controle XSLT**: [[attach:Labresult_Controle.xsl||rel="noopener noreferrer" target="_blank"]]
23 23  
24 -== File structure ==
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 25  
26 26  
27 +{{toc/}}
28 +
29 +
30 +== Model Structure ==
31 +
32 +[[image:IMSIKB0101 - Labresults.png]]
33 +
34 +=== Metadata ===
35 +
36 +
27 27  (% class="table-hover" %)
28 28  |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
29 -|(% 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
30 -|(% 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
31 -|(% 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" %)(((
32 32  date
33 33  
34 34  yyyy-mm-dd
35 35  )))
36 -|(% 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
37 -|(% 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
38 -|(% colspan="1" rowspan="1" %)**Taal**|(% colspan="1" rowspan="1" %)(((
39 -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
40 40  
41 -dut = dutch
49 +===
50 +Labassignment ===
42 42  
43 -eng = English
44 -)))|(% colspan="1" rowspan="1" %)string
45 -|(% 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/#]]
46 46  
47 -= Questions from Luca to Robin =
54 +With 3 differences/additions:
48 48  
49 -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) ?
50 -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."
51 -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.
52 -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?
53 -1. In Validation: ValidationScore. What are STOWA Protocols? is it Stichting Toegepast Onderzoek Waterbeheer?
54 -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?
55 -1. in the section MeasureUncertainty > link to pdf file in description is invalid. What should it be?
56 -1. SIKB 14 Parameter result combinations> first sentence makes no sense to me. Please review so i can translate.
57 -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
58 58  
59 -(% class="wikigeneratedid" %)
60 -~==== Added by luca: all Classes related to "IMMetingen::Results"
61 -
62 -==== MeasureResult ====
63 -
64 -
65 -|**Attribute Name**|**Description**
60 +|**Attribute**|**Notes**
66 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
62 +**identification** NEN3610ID
71 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
64 +A unique code that is created when the object is created for the first time.
77 77  )))
78 78  |(((
79 -**qualityIndicatorType** GenericName
67 +**operatingLab** GenericName
68 +
69 +
80 80  )))|(((
81 -Quality Indicator/Judgement -> Detection limit, etc.
71 +Code of the laboratory to which the assignment is assigned.
82 82  
83 -Domain table: Quality Judgement
73 +Domaintable: [[Meetinstantie / Measuring Company>>url:https://codes.sikb.nl/tablet/domain-table-details/4e270f0a-cefe-446e-9d4d-6666c91180a8]]
84 84  )))
85 -
86 -==== Accuracy ====
87 -
88 -
89 -|**Attribute Name**|**Description**|**Unit**
90 90  |(((
91 -**recovery** Float
92 -)))|(((
93 -The part (percentage) of material that is recovered in an analysis.
94 -)))|Percentage [%]
76 +**startTime** DateTime
77 +)))|Dispatch date of the lab assignment
95 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 [%]
79 +**customerCode** CharacterString
80 +)))|Client code or debtor number of the client as known by the laboratory
107 107  
108 -==== ====
109 109  
110 -==== Validation ====
111 111  
84 +=== LabAssignmentStatus ===
112 112  
113 -This DataClass contains optional attributes and indicates which validation steps the measureResult (measurement value) has undergone.
114 -
115 -
116 116  |**Attribute Name**|**Description**
117 117  |(((
118 -**automatedControl** GenericName
88 +**statusType **GenericName
119 119  )))|(((
120 -The first-line control is often an automated check of whether the measurement value is correct. It uses a domain table: ValidationSteps.
90 +The status of the lab assignment.
121 121  
122 -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).
92 +Use the value '5' for final reported results.
93 +Use other values, or '4', for conceptual values.
123 123  
124 -Domain table: ValidationSteps
95 +Domain table: [[Labassignment Status>>https://codes.sikb.nl/tablet/domain-table-details/5c6ab373-693e-4039-af8d-93206ce4ebb4]]
125 125  )))
126 126  |(((
127 -**expertControl** GenericName
98 +**dateExpected **DateTime
128 128  )))|(((
129 -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.
100 +The date the results can be expected, in case of conceptual results.
130 130  
131 -Domain table: ValidationSteps
102 +If final, fill with datetime.now.
132 132  )))
104 +
105 +=== LabAssignmentCertificate ===
106 +
107 +|**Attribute Name**|**Description**
133 133  |(((
134 -**validationScore** GenericName
109 +**labCertificateNumber **CharacterString
110 +)))|The number of the certificate that will be send to the user/client, and what is used in the PDF file as order or report number of the laboratory.
111 +|(((
112 +**certification **GenericName
135 135  )))|(((
136 -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
114 +Under which certificate the analyses has been done. If you do not find you code leave this field empty
137 137  
138 -Domain table: ValidationScore
116 +Domain table: [[Certification Coding>>https://codes.sikb.nl/tablet/domain-table-details/df7ffd7c-192c-44f7-ae9f-0461d9266b30]]
139 139  )))
140 140  
141 -==== ====
119 +== LabAssignmentRequest ==
142 142  
143 -==== AnalyticResult ====
121 +The connection between the labassignment and the samples with analysisrequests, as send in the labassignment.
144 144  
123 +If not retreived in a labassignment, make it yourself so we can import is as new samples.
124 +Just fill what you can fill, otherwise leave field empty, based on documentation here: [[Labassignment file - SIKB0101 v14>>https://wiki.terraindex.com/bin/view/Implementation%20documentation/Setting%20up%20Lab%20communication%20by%20REST%20services%20with%20TerraIndex/Lab%20assignment%20file/#]]
125 +
145 145  
146 -The analyzed result of an observation, typically originating from a laboratory.
127 +== Project ==
147 147  
129 +Activity that leads to the collection of soil data, as send in the labassignment.
130 +It will be used to search the correct project/investiation to bind or create the samples.
148 148  
149 -|=**Attribute Name**|=**Description**
132 +|**Attribute**|**Notes**
150 150  |(((
151 -**limitSymbol** CharacterString
152 -)))|(((
153 -LimietSymbool, allowed values: '&lt;' en '&gt;'.
134 +**identification** NEN3610ID
135 +)))|The unique identifier of the Project in TerraIndex and in the whole Exchange Chain, as send in the labassignment
136 +|(((
137 +**name** CharacterString
154 154  
155 -'&lt;' stands for 'less than the lowest threshold'
139 + [0..1]
140 +)))|The name of the project where the lab results are for, as send in the labassignment
141 +|(((
142 +**projectCode** CharacterString
143 +)))|The project code of the project where the lab results are for, as send in the labassignment
156 156  
157 -'&gt;' stands for 'greater than the highest threshold'
145 +== Sample (AnalysisSample) ==
158 158  
159 -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:
147 +The analysissamples with analysisrequests, as send in the labassignment. The fieldsamples form the labassignment can be skipped in the results file.
160 160  
161 -1) as a CData block: <![CDATA[<]]> or <![CDATA[>]]>
149 +If not retreived in a labassignment, make it yourself so we can import is as new analysissamples.
150 +Just fill what you can fill, based on documentation here: [[Labassignment file - SIKB0101 v14>>https://wiki.terraindex.com/bin/view/Implementation%20documentation/Setting%20up%20Lab%20communication%20by%20REST%20services%20with%20TerraIndex/Lab%20assignment%20file/#]]
162 162  
163 -2) as HTML code: '&amp; lt;' or '&amp; gt;'
152 +(% class="box infomessage" %)
153 +(((
154 +Please keep these scenario's in mind: [[Analysissample scenario's>>https://wiki.terraindex.com/bin/view/Implementation%20documentation/Setting%20up%20Lab%20communication%20by%20REST%20services%20with%20TerraIndex/Lab%20assignment%20file/#HWhatsamplescenario27sareexchanged3F]]
164 164  )))
156 +
157 +|**Attribute**|**Notes**
165 165  |(((
166 -**alphanumericValue** CharacterString
167 -)))|Textual value associated with an analysis result
159 +**identification** NEN3610ID
160 +)))|The unique identifier of TerraIndex for the analyses sample, to keep this value unique forever in the whole exchange chain.
161 +|(((
162 +**name** CharacterString
168 168  
169 -==== ====
164 + [0..1]
165 +)))|Name given to the sample
166 +|(((
167 +**specimenType** GenericName
170 170  
171 -==== MeasureUncertainty ====
169 + [0..1]
170 +)))|(((
171 +Type of Sample- Fieldsample, Analysissample
172 172  
173 +For analysissamples fill with value '10'.
173 173  
174 -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]]
175 -
176 -
177 -|=**Attribute Name**|=**Description**
175 +Domaintable: [[MonsterType / SampleType>>url:https://codes.sikb.nl/tablet/domain-table-details/9f956093-baad-4adb-b74d-20c00cef6ab4]]
176 +)))
178 178  |(((
179 -**distributionType** GenericName
178 +**materialClass** GenericName
179 +
180 +
180 180  )))|(((
181 -The type of statistical distribution associated with the observation.
182 +An SIKB code for the matrix type. Soil, Groundwater etc..
182 182  
183 -Domain table: ProbabilityDistribution
184 +Domaintable: [[Compartiment / Matrix>>url:https://codes.sikb.nl/tablet/domain-table-details/6134f3bb-6048-431d-a130-01290d84172c]]
184 184  )))
186 +
187 +== Analysis ==
188 +
189 +The measured parameter with it's value and process.
190 +
191 +|**Attribute Name**|**Description**
185 185  |(((
186 -**statisticalParameter** Measure
193 +**identification** NEN3610ID
194 +)))|The unique identifier of the AnalysisResult, to keep this value unique forever in the whole exchange chain.
195 +If not possible to store this in the Lims, generate on the fly.
196 +(% class="info" %)|(((
197 +**physicalProperty **PhysicalProperty
187 187  )))|(((
188 -Parameters that determine the shape and size of the statistical distribution.
199 +The combination of Quantity, Parameter and Condition to provide the parameter that has been measured.
200 +**[[See this chapter for the combinations, and the CAS-NR's. >>https://wiki.terraindex.com/bin/view/Implementation%20documentation/Setting%20up%20Lab%20communication%20by%20REST%20services%20with%20TerraIndex/Lab%20result%20file/#HSIKB14Parameterresultcombinations]]**
189 189  
190 -Domain table: StatisticalParameter
202 +
191 191  )))
204 +|**result **AnalyticResult|The result of the analysis, see next chapter.
205 +|**procedure **AnalysisProcess|The process that has been used to measure/determine the result, see next chapter.
192 192  
193 -==== ====
194 194  
195 -==== DeterminationLimits ====
196 196  
209 +=== AnalyticResult (inherited from MeasureResult) ===
197 197  
198 -|=**Attribute Name**|=**Description**
211 +The actual reported value, result of detection limit.
212 +
213 +|**Attribute Name**|**Description**
199 199  |(((
200 -**detectionLimit** Measure
215 +**numericValue** Measure
201 201  )))|(((
202 -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%).
217 +Numeric Value - the numerical value of the observation. When no unit for the measurement is known, the unit 'Dimensionless' should be used.
203 203  
219 +Domaintable for Units: [[Eenheid>>https://codes.sikb.nl/tablet/domain-table-details/04f4f467-021b-4218-baa8-9742ed977c61]]
220 +)))
221 +|(((
222 +**valueProcessingMethod** GenericName
223 +)))|(((
224 +Value Processing Method - a mathematical/statistical operation that is applied while the method of value determination/analysis standard remains unchanged.
204 204  
205 -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]]
226 +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.
227 +\\Default the value '5' meaning 'Not available' can and should be used, besides leaving it empty.
228 +
229 +Domain table: [[Value Processing Method>>https://codes.sikb.nl/tablet/domain-table-details/a2310c26-065f-4aec-9440-74892ec77753]]
206 206  )))
207 207  |(((
208 -**reportingLimit** Measure
209 -)))|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.
210 -|(((
211 -**limitSymbolReferenceCode **GenericName
232 +**qualityIndicatorType** GenericName
212 212  )))|(((
213 -The threshold value that the limitSymbol of AnalyticResult refers to.
234 +Quality Indicator/Judgement -> Detection limit, etc.
235 +\\Default the value '0' meaning 'Not available' can and should be used, besides leaving it empty.
236 +If there is a detectionlimit/reportinglimit, use: '4', meaning 'determenated with full detection limit'
214 214  
215 -Domain table: LimitSymbolReference
238 +Domain table: [[Quality Judgement>>https://codes.sikb.nl/tablet/domain-table-details/1e17d9e6-4e0e-4f88-8fe5-c71f6a7931db]]
216 216  )))
240 +
217 217  |(((
218 -**quantitationLimit** Measure
219 -)))|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%.
242 +**limitSymbol** CharacterString
243 +)))|(((
244 +LimietSymbool, allowed values: '&lt;' en '&gt;'.
220 220  
221 -=== ===
246 +'&lt;' stands for 'less than the lowest threshold'
222 222  
223 -=== Structure projectgegevens ===
248 +'&gt;' stands for 'greater than the highest threshold'
224 224  
225 -(% style="text-align:center" %)
226 -[[image:1637656734277-997.png]]
250 +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:
227 227  
252 +1) as a CData block: <![CDATA[<]]> or <![CDATA[>]]>
228 228  
229 -(% class="table-hover" %)
230 -|(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
231 -|(% colspan="1" rowspan="1" %)**idopdracht**|(% colspan="1" rowspan="1" %)The TerraIndex id of the lab assignment the result belongs to.|(% colspan="1" rowspan="1" %)-
232 -|(% 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
233 -|(% 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
234 -|(% 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
235 -|(% 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
236 -|(% 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
237 -|(% 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
238 -yyyy-mm-dd
239 -|(% 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
240 -|(% colspan="1" rowspan="1" %)(((
241 -**analysemonsters**
254 +2) as HTML code: '&amp; lt;' or '&amp; gt;'
255 +\\Default the value is leaving it empty.
256 +If there is a detectionlimit/reportinglimit, use: '<'
257 +)))
258 +|(((
259 +**alphanumericValue** CharacterString
260 +)))|Textual value associated with an analysis result
242 242  
262 +==== ====
243 243  
244 -
245 -)))|(% colspan="1" rowspan="1" %)A table containing all the analysis sample with their corresponding results|(% colspan="1" rowspan="1" %)-
264 +==== ====
246 246  
247 -== Structure analysemonsters ==
248 248  
249 -(% style="text-align:center" %)
250 -[[image:1637656914799-534.png]]
251 251  
252 -(% class="table-hover" %)
253 -|(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
254 -|(% 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
255 -|(% 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
256 -|(% 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
257 -|(% 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
258 -|(% 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
259 -|(% colspan="1" rowspan="1" %)**Datumverwacht**|(% colspan="1" rowspan="1" %)The date on which the results for the sample are expected|(% colspan="1" rowspan="1" %)(((
260 -date
268 +=== AnalysisProcess ===
261 261  
262 -yyyy-mm-dd
263 -)))
264 -|(% colspan="1" rowspan="1" %)**Volgorde**|(% colspan="1" rowspan="1" %)Is a unused field in TerraIndex|(% colspan="1" rowspan="1" %)integer
265 -|(% colspan="1" rowspan="1" %)**analyseresultaten**|(% colspan="1" rowspan="1" %)A table containing all the measurement values of the analysis samples.|(% colspan="1" rowspan="1" %)-
270 +The process that has been used to detemine the measured value or result.
266 266  
267 -== Structure analyseresultaten ==
272 +|**Attribute Name**|**Description**
273 +|(((
274 +**identification** NEN3610ID
275 +)))|The unique identifier of the AnalysisProcess, it can be bound to multiple results at once.
276 +|**analyticalTechnique **GenericName|(((
277 +The used analytical technique to detemine the result.
268 268  
269 -(% style="text-align:center" %)
270 -[[image:1637657248973-790.png]]
279 +Domain table: [[AnalyticalTechnique>>https://codes.sikb.nl/tablet/domain-table-details/04be2365-3d05-4903-a53e-edafef7111e8]]
280 +)))
281 +|**certification **GenericName|(((
282 +The used certification to detemine the result.
271 271  
272 -(% class="table-hover" %)
273 -|(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
274 -|(% 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
275 -|(% colspan="1" rowspan="1" %)**meetwaarde**|(% colspan="1" rowspan="1" %)What the measured value is for the analyses|(% colspan="1" rowspan="1" %)float
276 -|(% colspan="1" rowspan="1" %)**meetwaardeomschrijving**|(% colspan="1" rowspan="1" %)Alpha numerical description of the result|(% colspan="1" rowspan="1" %)string
277 -|(% 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
278 -|(% 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
279 -|(% 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
280 -|(% 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" %)(((
281 -date
284 +Domain table: [[CertificationCode>>https://codes.sikb.nl/tablet/domain-table-details/04be2365-3d05-4903-a53e-edafef7111e8]]
285 +)))
286 +|**valuationMethod **GenericName|(((
287 +The used valuation method to detemine the result.
282 282  
283 -yyyy-mm-dd
289 +Domain table: [[ValuationMethod>>https://codes.sikb.nl/tablet/domain-table-details/04be2365-3d05-4903-a53e-edafef7111e8]]
284 284  )))
285 -|(% colspan="1" rowspan="1" %)**opmerking**|(% colspan="1" rowspan="1" %)A remark for this result|(% colspan="1" rowspan="1" %)string
286 -|(% 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
287 -|(% 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
288 -|(% colspan="1" rowspan="1" %)**datumverwacht**|(% colspan="1" rowspan="1" %)Date on which the analyses results are expected.|(% colspan="1" rowspan="1" %)date
289 289  
290 -= =
292 += What to exchange to bind the right results to the right sample? =
291 291  
292 -= What to exchange to store the right results? =
294 +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.
293 293  
294 -The data stream ‘Lab Result’ is the feedback of analysis results on the requested lab assignment at a laboratory.
296 +This requires importand field to match the samples in the xml to the samples in our database.
295 295  
296 296  **Important fields:**
297 297  
... ... @@ -311,7 +311,7 @@
311 311  * 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.
312 312  * 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.
313 313  
314 -**Importing the data can be done based on the following steps:**
316 +**Importing the data will be done based on the following steps:**
315 315  
316 316  * Search Project with Project.lokaalID (as placed in the Lab assignment XML).
317 317  * Search Project with Project.ProjectCode (as placed in the Lab assignment XML) if searching on Project.LokaalID yields no results.
... ... @@ -333,6 +333,12 @@
333 333  \\[[image:1713183008796-215.png]]
334 334  *small remark, condition will be used as: [0..1]
335 335  
338 +Domaintables bound to these fields:
339 +
340 +* Quantity -[[ Parameter, but only group/groep: Grootheid (Quantity)>>https://codes.sikb.nl/tablet/domain-table-details/0eafa483-2875-4c94-890d-66258a6b4d88]]
341 +* Parameter -[[ Parameter, but mainly group/groep: Chemische Stof (Chemical substance)>>https://codes.sikb.nl/tablet/domain-table-details/0eafa483-2875-4c94-890d-66258a6b4d88]]
342 +* Condition - Condition, but not group/groeps that refer to Chemical substance.
343 +
336 336  The combinations are defined for different compartiments like soil/ground, groundwater, wastewater.
337 337  Below are some examples, and some attachments included to support all combinations.
338 338  
... ... @@ -339,23 +339,31 @@
339 339  **2 Examples for Soil:**
340 340  
341 341  |__**Parameter Name**__|__**Parameter ID**__|__**Quantity ID**__|__**Quantity name**__|__**Condition ID**__|__**Condition Name**__
342 -|lood|1116|2725|Massafractie|1|t.o.v. drooggewicht
343 -|minerale olie|1200|2725|Massafractie|93|koolwaterstoffractie C10-C40 / drooggewicht
350 +|lood
351 +(lead)|1116|2725|Massafractie
352 +(Massfraction)|1|t.o.v. drooggewicht
353 +(relative to dry weight)
354 +|minerale olie
355 +(minerale oil)|1200|2725|Massafractie
356 +(Massfraction)|93|koolwaterstoffractie C10-C40 / drooggewicht
357 +(hydrocarbon fraction C10-C40 / dry weight)
344 344  
345 345  **2 Examples for Groundwater:**
346 346  
347 347  |__**Parameter Name**__|__**Parameter ID**__|__**Quantity ID**__|__**Quantity name**__|__**Condition ID**__|__**Condition Name**__|
348 348  |cyanide-complex|2595|2720|(massa)Concentratie|9|opgeloste fractie (bijv. na filtratie)
349 -|som 29 dioxines (Bbk, 1-10-2010, als TEQ)|2160|2720|(massa)Concentratie|10|uitgedrukt in Toxiciteit equivalenten
363 +|som 29 dioxines (TEQ)|2160|2720|(massa)Concentratie|10|uitgedrukt in Toxiciteit equivalenten
350 350  
351 351  **2 Examples for Wastewater:**
352 352  
353 353  |__**Parameter Name**__|__**Parameter ID**__|__**Quantity ID**__|__**Quantity name**__|__**Condition ID**__|__**Condition Name**__|
354 354  |cyanide-complex|2595|2720|(massa)Concentratie|8|Niet van toepassing
355 -|som 29 dioxines (Bbk, 1-10-2010, als TEQ)|2160|2720|(massa)Concentratie|10|uitgedrukt in Toxiciteit equivalenten
369 +|som 29 dioxines (TEQ)|2160|2720|(massa)Concentratie|10|uitgedrukt in Toxiciteit equivalenten
356 356  
357 357  __**Full combinations sheet:  **__[[attach:Full List of AnalysisResult combinations 04-2024.xlsx||rel="noopener noreferrer" target="_blank"]]
358 358  
373 +We can help you with the right combinations and mappings to your own codes.
359 359  
360 360  
376 +
361 361  
Labresult_Controle.xsl
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.RobinHuisman
Size
... ... @@ -1,0 +1,1 @@
1 +23.4 KB
Content
... ... @@ -1,0 +1,405 @@
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<!--XSLT Labresult_Controle.xsl versie 4.1 - SIKB0101 versie 14.8.0-->
3 +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes" xmlns:imsikb0101="http://www.sikb.nl/imsikb0101" xmlns:immetingen="http://www.sikb.nl/immetingen" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gsr="http://www.isotc211.org/2005/gsr" xmlns:gss="http://www.isotc211.org/2005/gss" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:om="http://www.opengis.net/om/2.0" xmlns:sam="http://www.opengis.net/sampling/2.0" xmlns:sams="http://www.opengis.net/samplingSpatial/2.0" xmlns:spec="http://www.opengis.net/samplingSpecimen/2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema"
4 +xmlns:sikb="http://xslcontrole.sikb"
5 + xsi:schemaLocation="http://www.sikb.nl/imsikb0101 imsikb0101_v14.8.0.xsd">
6 + <xsl:output method="xml" indent="yes" />
7 + <xsl:template match="/">
8 + <ArrayOfLogRecord>
9 +
10 + <!-- file dataflow check -->
11 + <xsl:if test="count(//imsikb0101:metaData/imsikb0101:dataflow) &lt; 1">
12 + <xsl:copy-of select="sikb:createRecord('WARNING','imsikb0101:metaData/imsikb0101:dataflow','Er zou een metadata/dataflow ingevuld moeten zijn.')"/>
13 + </xsl:if>
14 + <xsl:if test="lower-case(//imsikb0101:metaData/imsikb0101:dataflow) != lower-case('urn:imsikb0101:DatastroomType:id:1')">
15 + <xsl:copy-of select="sikb:createRecord('WARNING','imsikb0101:metaData/imsikb0101:dataflow','Het veld metadata/dataflow zou ingevuld moeten zijn met: urn:imsikb0101:DatastroomType:id:1. Als dit geen Labresultaat-xml is, kies dan voor een andere controle xslt.')"/>
16 + </xsl:if>
17 +
18 + <xsl:if test="count(//imsikb0101:LabAssignment) != 1">
19 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:LabAssignment','Er moet precies 1 labopdracht aanwezig zijn.')"/>
20 + </xsl:if>
21 + <xsl:variable name="plGUID" select="replace(//imsikb0101:LabAssignment/imsikb0101:belongsToProject/@xlink:href,'#','')" />
22 + <xsl:if test="$plGUID = ''">
23 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:LabAssignment/belongsToProject','Er moet Project gekoppeld zijn.')"/>
24 + </xsl:if>
25 + <xsl:if test="count(//imsikb0101:Project[@gml:id = $plGUID]) != 1">
26 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Project', string-join(('Er moet een Project meegeleverd zijn; gml:id =', $plGUID), ' ') )"/>
27 + </xsl:if>
28 +
29 + <xsl:if test="count(//imsikb0101:LabAssignment//imsikb0101:LabAssignmentCertificate) != 1">
30 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:LabAssignmentCertificate','Er moet een LabAssignmentCertificate in LabAssignment aanwezig zijn.')"/>
31 + </xsl:if>
32 +
33 + <xsl:if test="count(//imsikb0101:LabAssignment//imsikb0101:SampleAnalysisRequest) = 0">
34 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:SampleAnalysisRequest','Er moet een SampleAnalysisRequest in LabAssignment aanwezig zijn.')"/>
35 + </xsl:if>
36 +
37 + <xsl:for-each select="//imsikb0101:LabAssignment//imsikb0101:SampleAnalysisRequest">
38 + <xsl:if test="count(.//imsikb0101:sample) != 1">
39 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Sample','Er moet een Sample in SampleAnalysisRequest aanwezig zijn.')"/>
40 + </xsl:if>
41 + </xsl:for-each>
42 +
43 + <xsl:for-each select="//imsikb0101:Sample">
44 + <xsl:variable name="samGUID" select="@gml:id" />
45 + <xsl:variable name="specimenType" select="spec:specimenType/@xlink:href" />
46 +
47 + <xsl:if test="$specimenType = ''">
48 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Sample', string-join(('Er moet een specimenType in Sample aanwezig zijn; Sample gml:id =', $samGUID), ' ') )"/>
49 + </xsl:if>
50 + <xsl:if test="contains($specimenType,':10') or contains($specimenType,':7') or contains($specimenType,':8') or contains($specimenType,':9') ">
51 + <!-- AnalysisSamples/Materiaalmonsters/Zeefmonsters/Uitloogmonster schould contain Analysis-->
52 + <xsl:if test="count(descendant::immetingen:Analysis) &gt; 0">
53 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Analysis', string-join(('Er mag geen Analysis relationeel gekoppeld zijn in Sample; Sample gml:id =', $samGUID), ' ') )"/>
54 + </xsl:if>
55 + <xsl:if test="count(descendant::sam:relatedObservation[string-length(@xlink:href) > 1]) &lt; 1">
56 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Analysis', string-join(('Er moet een link naar Analysis in Sample aanwezig zijn; Sample gml:id =', $samGUID), ' ') )"/>
57 + </xsl:if>
58 +
59 + </xsl:if>
60 + </xsl:for-each>
61 +
62 + <xsl:for-each select="//immetingen:Analysis">
63 + <xsl:variable name="arGUID" select="@gml:id" />
64 +
65 + <xsl:variable select="string(om:result/@*)" name="arType"/>
66 + <xsl:if test="not(contains($arType,'immetingen:AnalyticResultType'))">
67 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:AnalyticResult', string-join(('Er moet een AnalyticResult in Analysis aanwezig zijn; Analysis gml:id =', $arGUID), ' ') )"/>
68 + </xsl:if>
69 +
70 + <!-- Check AnalysisProcess -->
71 + <xsl:variable select="replace(om:procedure/@xlink:href,'#','')" name="prLiGUID"/>
72 + <xsl:variable select="om:procedure/*/@gml:id" name="prInGUID"/>
73 +
74 + <xsl:if test="concat($prInGUID,'', $prLiGUID) != ''">
75 + <xsl:if test="count(//immetingen:AnalysisProcess[@gml:id = concat($prInGUID,'', $prLiGUID)]) != 1">
76 + <xsl:copy-of select="sikb:createRecord('ERROR','immetingen:AnalysisProcess', string-join(('Analysis verwijst niet naar procedure van type: AnalysisProcess; Analysis gml:id =', $arGUID), ' ') )"/>
77 + </xsl:if>
78 + </xsl:if>
79 +
80 + </xsl:for-each>
81 +
82 +
83 + <xsl:apply-templates select="//imsikb0101:metaData" />
84 + <xsl:apply-templates select="//imsikb0101:SourceSystem" />
85 + <xsl:apply-templates select="//imsikb0101:LabAssignment" />
86 + <xsl:apply-templates select="//imsikb0101:LabAssignmentRequest" />
87 + <xsl:apply-templates select="//imsikb0101:LabAssignmentCertificate" />
88 + <xsl:apply-templates select="//imsikb0101:AsbestosComposition" />
89 + <xsl:apply-templates select="//immetingen:AnalyticResult" />
90 + <xsl:apply-templates select="//immetingen:Package" />
91 + <xsl:apply-templates select="//imsikb0101:featureMember" />
92 + <!--
93 + <xsl:apply-templates select="//imsikb0101:Address" />
94 + <xsl:apply-templates select="//imsikb0101:Person" />
95 + <xsl:apply-templates select="//imsikb0101:Organization" />
96 + -->
97 +
98 + <!-- single fields check -->
99 + <xsl:apply-templates select="//imsikb0101:remarks" />
100 +
101 + <!-- saxon levert nog een error in de RegExp : Waarom ???-->
102 + <xsl:apply-templates select="//om:resultTime" />
103 +
104 +
105 + </ArrayOfLogRecord>
106 + </xsl:template>
107 + <!-- lengte /verplichting van metadata velden -->
108 + <xsl:template match="imsikb0101:metaData">
109 + <xsl:if test="count(imsikb0101:application) != 1">
110 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:metaData','application bij metaData moet aanwezig zijn.')" />
111 + </xsl:if>
112 + <xsl:if test="count(imsikb0101:date) != 1">
113 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:metaData','date bij metaData moet aanwezig zijn.')" />
114 + </xsl:if>
115 + <xsl:if test="count(imsikb0101:supplier) != 1">
116 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:metaData','supplier bij metaData moet aanwezig zijn.')" />
117 + </xsl:if>
118 + <xsl:if test="count(imsikb0101:organisation) != 1">
119 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:metaData','organisation bij metaData moet aanwezig zijn.')" />
120 + </xsl:if>
121 + <xsl:if test="count(imsikb0101:version) != 1">
122 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:metaData','version bij metaData moet aanwezig zijn.')" />
123 + </xsl:if>
124 + <xsl:if test="count(imsikb0101:organisation) &gt;0">
125 + <xsl:if test="string-length(imsikb0101:organisation) &gt; 60">
126 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:metaData','Lengte van organisation bij metaData is meer dan 60 karakters.')" />
127 + </xsl:if>
128 + </xsl:if>
129 + <xsl:if test="count(imsikb0101:version) &gt;0">
130 + <xsl:if test="string-length(imsikb0101:version) &gt; 8">
131 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:metaData','Lengte van version bij metaData is meer dan 8 karakters.')" />
132 + </xsl:if>
133 + </xsl:if>
134 + </xsl:template>
135 + <!-- lengte (/verplichting) van overige velden -->
136 + <xsl:template match="imsikb0101:SourceSystem">
137 + <xsl:if test="count(imsikb0101:applicationID) > 0">
138 + <xsl:if test="string-length(imsikb0101:applicationID) &gt; 20">
139 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:SourceSystem',string-join(('Lengte van applicationID bij SourceSystem is meer dan 20 karakters.'),' '))" />
140 + </xsl:if>
141 + </xsl:if>
142 + </xsl:template>
143 + <xsl:template match="imsikb0101:LabAssignment">
144 + <xsl:if test="count(imsikb0101:customerCode) != 1">
145 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:LabAssignment','customerCode bij LabAssignment moet aanwezig zijn.')" />
146 + </xsl:if>
147 + <xsl:if test="count(imsikb0101:customerCode) &gt; 0">
148 + <xsl:if test="string-length(imsikb0101:customerCode) &gt; 20">
149 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:LabAssignment','Lengte van customerCode bij LabAssignment is meer dan 20 karakters.')" />
150 + </xsl:if>
151 + </xsl:if>
152 +
153 + <!-- Check ProjectLeader is Person -->
154 + <xsl:variable select="replace(imsikb0101:projectLeader/@xlink:href,'#','')" name="prLiGUID"/>
155 + <xsl:variable select="imsikb0101:projectLeader/*/@gml:id" name="prInGUID"/>
156 +
157 + <xsl:if test="concat($prInGUID,'', $prLiGUID) != ''">
158 + <xsl:if test="count(//immetingen:Person[@gml:id = concat($prInGUID,'', $prLiGUID)]) != 1">
159 + <xsl:copy-of select="sikb:createRecord('ERROR','immetingen:Person', 'projectLeader van de labopdracht verwijst niet naar subject van type: imsikb0101:Person.' )"/>
160 + </xsl:if>
161 + </xsl:if>
162 +
163 + </xsl:template>
164 + <xsl:template match="imsikb0101:LabAssignmentRequest">
165 + <xsl:if test="count(imsikb0101:orderNumber) &gt;0">
166 + <xsl:if test="string-length(imsikb0101:orderNumber) &gt; 25">
167 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:LabAssignmentRequest',string-join(('Lengte van orderNumber bij LabAssignmentRequest is meer dan 25 karakters.'),' '))" />
168 + </xsl:if>
169 + </xsl:if>
170 + </xsl:template>
171 + <xsl:template match="imsikb0101:LabAssignmentCertificate">
172 + <xsl:if test="count(imsikb0101:labCertificatePdfLink) &gt;0">
173 + <xsl:if test="string-length(imsikb0101:labCertificatePdfLink) &gt; 2000">
174 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:LabAssignmentCertificate',string-join(('Lengte van labCertificatePdfLink bij LabAssignmentCertificate is meer dan 2000 karakters.'),' '))" />
175 + </xsl:if>
176 + </xsl:if>
177 + <xsl:if test="string-length(imsikb0101:labCertificateNumber) &lt;1">
178 + <xsl:copy-of select="sikb:createRecord('WARNING','imsikb0101:LabAssignmentCertificate',string-join(('Het invullen van het labCertificateNumber is wenselijk voor een goede uitwisseling.'),' '))" />
179 + </xsl:if>
180 + </xsl:template>
181 + <xsl:template match="imsikb0101:AsbestosComposition">
182 + <xsl:if test="count(imsikb0101:searchPartDescription) &gt;0">
183 + <xsl:if test="string-length(imsikb0101:searchPartDescription) &gt; 20">
184 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:AsbestosComposition',string-join(('Lengte van searchPartDescription bij AsbestosComposition is meer dan 20 karakters.'),' '))" />
185 + </xsl:if>
186 + </xsl:if>
187 + </xsl:template>
188 + <xsl:template match="immetingen:AnalyticResult">
189 + <xsl:if test="count(immetingen:alphanunericValue) &gt;0">
190 + <xsl:if test="string-length(immetingen:alphanunericValue) &gt; 20">
191 + <xsl:copy-of select="sikb:createRecord('ERROR','immetingen:AnalyticResult',string-join(('Lengte van alphanunericValue bij AnalyticResult is meer dan 20 karakters.'),' '))" />
192 + </xsl:if>
193 + </xsl:if>
194 +
195 + </xsl:template>
196 + <xsl:template match="immetingen:Package">
197 + <xsl:if test="count(immetingen:barcode) > 0">
198 + <xsl:if test="string-length(immetingen:barcode) &gt; 15">
199 + <xsl:copy-of select="sikb:createRecord('ERROR','immetingen:Package',string-join(('Lengte van barcode bij Package is meer dan 15 karakters.'),' '))" />
200 + </xsl:if>
201 + </xsl:if>
202 + <xsl:if test="count(immetingen:name) > 0">
203 + <xsl:if test="string-length(immetingen:name) &gt; 20">
204 + <xsl:copy-of select="sikb:createRecord('ERROR','immetingen:Package',string-join(('Lengte van name bij Package is meer dan 20 karakters.'),' '))" />
205 + </xsl:if>
206 + </xsl:if>
207 + </xsl:template>
208 + <!--
209 + <xsl:template match="imsikb0101:Address">
210 + <xsl:variable select="@gml:id" name="prGUID" />
211 + <xsl:if test="count(imsikb0101:districtCode) &gt;0">
212 + <xsl:if test="string-length(imsikb0101:districtCode) &gt; 4">
213 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Address',string-join(('Lengte van districtCode bij Address',$prGUID,'is meer dan 4 karakters.'),' '))" />
214 + </xsl:if>
215 + </xsl:if>
216 + <xsl:if test="count(imsikb0101:letter) &gt;0">
217 + <xsl:if test="string-length(imsikb0101:letter) &gt; 1">
218 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Address',string-join(('Lengte van letter bij Address',$prGUID,'is meer dan 1 karakters.'),' '))" />
219 + </xsl:if>
220 + </xsl:if>
221 + <xsl:if test="count(imsikb0101:letterAddition) &gt;0">
222 + <xsl:if test="string-length(imsikb0101:letterAddition) &gt; 4">
223 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Address',string-join(('Lengte van letterAddition bij Address',$prGUID,'is meer dan 4 karakters.'),' '))" />
224 + </xsl:if>
225 + </xsl:if>
226 + <xsl:if test="count(imsikb0101:city) &gt;0">
227 + <xsl:if test="string-length(imsikb0101:city) &gt; 80">
228 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Address',string-join(('Lengte van city bij Address',$prGUID,'is meer dan 80 karakters.'),' '))" />
229 + </xsl:if>
230 + </xsl:if>
231 + <xsl:if test="count(imsikb0101:zipcode) &gt;0">
232 + <xsl:if test="string-length(imsikb0101:zipcode) &gt; 6">
233 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Address',string-join(('Lengte van zipcode bij Address',$prGUID,'is meer dan 6 karakters.'),' '))" />
234 + </xsl:if>
235 + </xsl:if>
236 + <xsl:if test="count(imsikb0101:street) &gt;0">
237 + <xsl:if test="string-length(imsikb0101:street) &gt; 80">
238 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Address',string-join(('Lengte van street bij Address',$prGUID,'is meer dan 80 karakters.'),' '))" />
239 + </xsl:if>
240 + </xsl:if>
241 + </xsl:template>
242 + <xsl:template match="imsikb0101:Person">
243 + <xsl:variable select="@gml:id" name="prGUID" />
244 + <xsl:if test="count(imsikb0101:email) &gt;0">
245 + <xsl:if test="string-length(imsikb0101:email) &gt; 100">
246 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Person',string-join(('Lengte van email bij Person',$prGUID,'is meer dan 100 karakters.'),' '))" />
247 + </xsl:if>
248 + </xsl:if>
249 + <xsl:if test="count(imsikb0101:fax) &gt;0">
250 + <xsl:if test="string-length(imsikb0101:fax) &gt; 20">
251 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Person',string-join(('Lengte van fax bij Person',$prGUID,'is meer dan 20 karakters.'),' '))" />
252 + </xsl:if>
253 + </xsl:if>
254 + <xsl:if test="count(imsikb0101:telephoneNumber) &gt;0">
255 + <xsl:if test="string-length(imsikb0101:telephoneNumber) &gt; 20">
256 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Person',string-join(('Lengte van telephoneNumber bij Person',$prGUID,'is meer dan 20 karakters.'),' '))" />
257 + </xsl:if>
258 + </xsl:if>
259 + <xsl:if test="count(imsikb0101:mobileNumber) &gt;0">
260 + <xsl:if test="string-length(imsikb0101:mobileNumber) &gt; 20">
261 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Person',string-join(('Lengte van mobileNumber bij Person',$prGUID,'is meer dan 20 karakters.'),' '))" />
262 + </xsl:if>
263 + </xsl:if>
264 + <xsl:if test="count(imsikb0101:civilserviceNumber) &gt;0">
265 + <xsl:if test="string-length(imsikb0101:civilserviceNumber) &gt; 9">
266 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Person',string-join(('Lengte van civilserviceNumber bij Person',$prGUID,'is meer dan 9 karakters.'),' '))" />
267 + </xsl:if>
268 + </xsl:if>
269 + <xsl:if test="count(imsikb0101:lastName) &gt;0">
270 + <xsl:if test="string-length(imsikb0101:lastName) &gt; 60">
271 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Person',string-join(('Lengte van lastName bij Person',$prGUID,'is meer dan 60 karakters.'),' '))" />
272 + </xsl:if>
273 + </xsl:if>
274 + <xsl:if test="count(imsikb0101:firstName) &gt;0">
275 + <xsl:if test="string-length(imsikb0101:firstName) &gt; 80">
276 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Person',string-join(('Lengte van firstName bij Person',$prGUID,'is meer dan 80 karakters.'),' '))" />
277 + </xsl:if>
278 + </xsl:if>
279 + </xsl:template>
280 + <xsl:template match="imsikb0101:Organization">
281 + <xsl:variable select="@gml:id" name="prGUID" />
282 + <xsl:if test="count(imsikb0101:name) &gt;0">
283 + <xsl:if test="string-length(imsikb0101:name) &gt; 100">
284 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Organization',string-join(('Lengte van name bij Organization',$prGUID,'is meer dan 100 karakters.'),' '))" />
285 + </xsl:if>
286 + </xsl:if>
287 + <xsl:if test="count(imsikb0101:email) &gt;0">
288 + <xsl:if test="string-length(imsikb0101:email) &gt; 100">
289 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Organization',string-join(('Lengte van email bij Organization',$prGUID,'is meer dan 100 karakters.'),' '))" />
290 + </xsl:if>
291 + </xsl:if>
292 + <xsl:if test="count(imsikb0101:fax) &gt;0">
293 + <xsl:if test="string-length(imsikb0101:fax) &gt; 20">
294 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Organization',string-join(('Lengte van fax bij Organization',$prGUID,'is meer dan 20 karakters.'),' '))" />
295 + </xsl:if>
296 + </xsl:if>
297 + <xsl:if test="count(imsikb0101:telephoneNumber) &gt;0">
298 + <xsl:if test="string-length(imsikb0101:telephoneNumber) &gt; 20">
299 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Organization',string-join(('Lengte van telephoneNumber bij Organization',$prGUID,'is meer dan 20 karakters.'),' '))" />
300 + </xsl:if>
301 + </xsl:if>
302 + <xsl:if test="count(imsikb0101:mobileNumber) &gt;0">
303 + <xsl:if test="string-length(imsikb0101:mobileNumber) &gt; 20">
304 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:Organization',string-join(('Lengte van mobileNumber bij Organization',$prGUID,'is meer dan 20 karakters.'),' '))" />
305 + </xsl:if>
306 + </xsl:if>
307 + </xsl:template>
308 + -->
309 + <xsl:template match="imsikb0101:remarks">
310 + <xsl:if test="string-length() &gt; 4000">
311 + <xsl:copy-of select="sikb:createRecord('ERROR','imsikb0101:remarks','Lengte van remarks is meer dan 4000.')" />
312 + </xsl:if>
313 + </xsl:template>
314 +
315 +<!-- xmlns:xs="http://www.w3.org/2001/XMLSchema" -->
316 +<!-- timePosition fix test (PAR)
317 + <xsl:template match="om:resultTime">
318 + <xsl:if test="count(//gml:timePosition) != 1">
319 + <xsl:copy-of select="sikb:createRecord('ERROR','on:resultTime','Er moet een gml:timePosition in om:resultTime aanwezig zijn.')"/>
320 + </xsl:if>
321 + <xsl:if test="count(//gml:timePosition) != 0">
322 + <xsl:variable select="//gml:timePosition" name="lvDateTime"/>
323 + <xsl:if test="not(lvDateTime castable as xs:date)">
324 + <xsl:copy-of select="sikb:createRecord('ERROR','gml:timePosition','gml:timePosition is niet geldig.')" />
325 + </xsl:if>
326 + </xsl:if>
327 + </xsl:template>
328 +-->
329 +
330 +<!-- werk niet met deze regexp?
331 + <xsl:template match="om:resultTime">
332 + <xsl:if test="count(//gml:timePosition) != 1">
333 + <xsl:copy-of select="sikb:createRecord('ERROR','on:resultTime','Er moet een gml:timePosition in om:resultTime aanwezig zijn.')"/>
334 + </xsl:if>
335 + <xsl:if test="count(//gml:timePosition) != 0">
336 + <xsl:variable select="//gml:timePosition" name="lvDateTime"/>
337 + <xsl:variable name="DTEXP" select ='"^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$"'/>
338 + <xsl:choose>
339 + <xsl:when test="$lvDateTime = ''">
340 + <xsl:copy-of select="sikb:createRecord('ERROR','gml:timePosition','gml:timePosition is niet gevuld.')" />
341 + </xsl:when>
342 + <xsl:when test="matches($lvDateTime, $DTEXP, 'm') ">
343 + </xsl:when>
344 + <xsl:otherwise>
345 + <xsl:copy-of select="sikb:createRecord('ERROR','gml:timePosition','gml:timePosition is niet geldig.')" />
346 + </xsl:otherwise>
347 + </xsl:choose>
348 + </xsl:if>
349 + </xsl:template>
350 + -->
351 +
352 + <xsl:template match="om:resultTime/gml:TimeInstant">
353 + <xsl:if test="count(gml:timePosition) > 0">
354 + <xsl:variable select="gml:timePosition" name="lvDateTime"/>
355 + <xsl:if test="not($lvDateTime castable as xs:dateTime)">
356 + <xsl:copy-of select="sikb:createRecord('ERROR','gml:timePosition', string-join(('gml:timePosition is niet geldig.', $lvDateTime), ' '))" />
357 + </xsl:if>
358 + </xsl:if>
359 + </xsl:template>
360 +
361 + <xsl:template match="imsikb0101:featureMember">
362 + <xsl:variable name="GmlId" select="substring-after(./*/@gml:id,'_')"/>
363 + <xsl:variable name="IdentificationImmetingen" select="./*/immetingen:identification/immetingen:NEN3610ID/immetingen:lokaalID"/>
364 + <xsl:variable name="IdentificationImSikb" select="./*/imsikb0101:identification/immetingen:NEN3610ID/immetingen:lokaalID"/>
365 + <xsl:variable name="ElementName" select="name(./*)"/>
366 + <xsl:choose>
367 +
368 + <xsl:when test="$IdentificationImmetingen != ''">
369 + <xsl:if test="$IdentificationImmetingen != $GmlId">
370 + <xsl:copy-of select="sikb:createRecord('ERROR',$ElementName,string-join(($ElementName,'met gml:id (',$GmlId,') heeft een afwijkend lokaalId (',$IdentificationImmetingen,').' ),' '))" />
371 + </xsl:if>
372 + </xsl:when>
373 +
374 + <xsl:otherwise>
375 + <xsl:if test="$IdentificationImSikb != $GmlId">
376 + <xsl:copy-of select="sikb:createRecord('ERROR',$ElementName,string-join(($ElementName,'met gml:id (',$GmlId,') heeft een afwijkend lokaalId (',$IdentificationImSikb,').' ),' '))" />
377 + </xsl:if>
378 + </xsl:otherwise>
379 +
380 + </xsl:choose>
381 +</xsl:template>
382 +
383 +
384 +
385 +
386 + <!-- verplichte velden -->
387 +
388 + <!-- functies -->
389 + <xsl:function name="sikb:createRecord">
390 + <xsl:param name="type" />
391 + <xsl:param name="title" />
392 + <xsl:param name="message" />
393 + <xsl:element name="LogRecord">
394 + <xsl:element name="Type">
395 + <xsl:copy-of select="$type" />
396 + </xsl:element>
397 + <xsl:element name="Title">
398 + <xsl:copy-of select="$title" />
399 + </xsl:element>
400 + <xsl:element name="Message">
401 + <xsl:copy-of select="$message" />
402 + </xsl:element>
403 + </xsl:element>
404 + </xsl:function>
405 +</xsl:stylesheet>
labresult_IndividualGr.xml
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.RobinHuisman
Size
... ... @@ -1,0 +1,1 @@
1 +15.3 KB
Content
... ... @@ -1,0 +1,283 @@
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<imsikb0101:FeatureCollectionIMSIKB0101 gml:id="LABRESULTAAT" xmlns:imsikb0101="http://www.sikb.nl/imsikb0101" xmlns:immetingen="http://www.sikb.nl/immetingen" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gsr="http://www.isotc211.org/2005/gsr" xmlns:gss="http://www.isotc211.org/2005/gss" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:om="http://www.opengis.net/om/2.0" xmlns:sam="http://www.opengis.net/sampling/2.0" xmlns:sams="http://www.opengis.net/samplingSpatial/2.0" xmlns:spec="http://www.opengis.net/samplingSpecimen/2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sikb.nl/imsikb0101 file:///C:/dev/SIKB0101_Protocol/XSDs%2014.8.0/imsikb0101_v14.8.0.xsd">
3 + <imsikb0101:metaData>
4 + <imsikb0101:application>urn:imsikb0101:Applicaties:id:1</imsikb0101:application>
5 + <imsikb0101:date>2013-09-07</imsikb0101:date>
6 + <imsikb0101:organisation>The Organization</imsikb0101:organisation>
7 + <imsikb0101:remarks>Example File LABRESULT</imsikb0101:remarks>
8 + <imsikb0101:reportDate>2013-07-07</imsikb0101:reportDate>
9 + <imsikb0101:sender>urn:imsikb0101:Bronhouders:id:54</imsikb0101:sender>
10 + <imsikb0101:supplier>urn:imsikb0101:Leveranciers:id:1</imsikb0101:supplier>
11 + <imsikb0101:version>14.8.0</imsikb0101:version>
12 + <imsikb0101:dataflow>urn:imsikb0101:DatastroomType:id:1</imsikb0101:dataflow>
13 + </imsikb0101:metaData>
14 + <!-- LabAssignment -->
15 + <imsikb0101:featureMember>
16 + <imsikb0101:LabAssignment gml:id="_ac5e3b6d-a0b2-4e26-af89-a2778712ff89">
17 + <imsikb0101:identification>
18 + <immetingen:NEN3610ID>
19 + <immetingen:namespace>www.sikb.nl</immetingen:namespace>
20 + <immetingen:lokaalID>ac5e3b6d-a0b2-4e26-af89-a2778712ff89</immetingen:lokaalID>
21 + </immetingen:NEN3610ID>
22 + </imsikb0101:identification>
23 + <imsikb0101:operatingLab>urn:immetingen:Meetinstantie:id:7</imsikb0101:operatingLab>
24 + <imsikb0101:startTime>2013-04-09T18:22:55</imsikb0101:startTime>
25 + <imsikb0101:customerCode>KN1234</imsikb0101:customerCode>
26 + <imsikb0101:remarks>Remarks about the LabAssignment</imsikb0101:remarks>
27 + <imsikb0101:endTime>2013-04-09T18:22:55</imsikb0101:endTime>
28 + <imsikb0101:belongsToProject xlink:href="#_015c6207-2bed-4f3b-bb40-8ab94079bff5"/>
29 + <imsikb0101:analysisRequest>
30 + <imsikb0101:SampleAnalysisRequest>
31 + <imsikb0101:nameOnLabCertificate>BO01-DM1 (10-50)</imsikb0101:nameOnLabCertificate>
32 + <imsikb0101:certificateOrder>0</imsikb0101:certificateOrder>
33 + <imsikb0101:labSampleType>12</imsikb0101:labSampleType>
34 + <imsikb0101:sampleCertification>urn:immeringen:CertificeringsCode:id:8</imsikb0101:sampleCertification>
35 + <imsikb0101:sample xlink:href="#_b1adf8f7-e0cd-4810-a93e-60580f34b3fa"/>
36 + <imsikb0101:status>
37 + <imsikb0101:LabAssignmentStatus>
38 + <imsikb0101:statusType>urn:immetingen:LabopdrachtStatus:id:5</imsikb0101:statusType>
39 + <imsikb0101:dateExpected>2013-07-28</imsikb0101:dateExpected>
40 + <imsikb0101:remarks>Remarks about the status</imsikb0101:remarks>
41 + </imsikb0101:LabAssignmentStatus>
42 + </imsikb0101:status>
43 + </imsikb0101:SampleAnalysisRequest>
44 + </imsikb0101:analysisRequest>
45 + <imsikb0101:projectLeader xlink:href="#_808ef96a-1323-45f8-bab1-afde379884d5"/>
46 + <imsikb0101:status>
47 + <imsikb0101:LabAssignmentStatus>
48 + <imsikb0101:statusType>urn:immetingen:LabopdrachtStatus:id:6</imsikb0101:statusType>
49 + <imsikb0101:dateExpected>2013-07-28</imsikb0101:dateExpected>
50 + <imsikb0101:remarks>Remarks about the status</imsikb0101:remarks>
51 + </imsikb0101:LabAssignmentStatus>
52 + </imsikb0101:status>
53 + <imsikb0101:certificate>
54 + <imsikb0101:LabAssignmentCertificate>
55 + <imsikb0101:complementOfCertificate>CERT21341</imsikb0101:complementOfCertificate>
56 + <imsikb0101:labCertificateNumber>CERT21342</imsikb0101:labCertificateNumber>
57 + <imsikb0101:certification>urn:immetingen:Certificeringscode:id:4</imsikb0101:certification>
58 + <imsikb0101:labCertificatePdfLink>https://www.example.com/cert/link.pdf</imsikb0101:labCertificatePdfLink>
59 + </imsikb0101:LabAssignmentCertificate>
60 + </imsikb0101:certificate>
61 + </imsikb0101:LabAssignment>
62 + </imsikb0101:featureMember>
63 + <!-- /LabAssignment -->
64 + <!-- Project -->
65 + <imsikb0101:featureMember>
66 + <imsikb0101:Project gml:id="_015c6207-2bed-4f3b-bb40-8ab94079bff5">
67 + <imsikb0101:identification>
68 + <immetingen:NEN3610ID>
69 + <immetingen:namespace>SIKB</immetingen:namespace>
70 + <immetingen:lokaalID>015c6207-2bed-4f3b-bb40-8ab94079bff5</immetingen:lokaalID>
71 + </immetingen:NEN3610ID>
72 + </imsikb0101:identification>
73 + <imsikb0101:name>Name of the project</imsikb0101:name>
74 + <imsikb0101:projectCode>PROJ00238</imsikb0101:projectCode>
75 + </imsikb0101:Project>
76 + </imsikb0101:featureMember>
77 + <!-- /Project -->
78 + <!-- Subject 1-->
79 + <imsikb0101:featureMember>
80 + <immetingen:Person gml:id="_808ef96a-1323-45f8-bab1-afde379884d5">
81 + <immetingen:email>username@example.com</immetingen:email>
82 + <immetingen:fax>+31(0) 88 666222</immetingen:fax>
83 + <immetingen:identification>
84 + <immetingen:NEN3610ID>
85 + <immetingen:namespace>SIKB</immetingen:namespace>
86 + <immetingen:lokaalID>808ef96a-1323-45f8-bab1-afde379884d5</immetingen:lokaalID>
87 + </immetingen:NEN3610ID>
88 + </immetingen:identification>
89 + <immetingen:firstName>Ini</immetingen:firstName>
90 + <immetingen:gender>urn:imsikb0101:geslacht:id:1</immetingen:gender>
91 + <immetingen:lastName>Tials</immetingen:lastName>
92 + <immetingen:middleName/>
93 + <immetingen:initials>I</immetingen:initials>
94 + </immetingen:Person>
95 + </imsikb0101:featureMember>
96 + <!-- /Subject 1-->
97 + <!-- Subject 2 -->
98 + <imsikb0101:featureMember>
99 + <immetingen:Organization gml:id="_4ca84d18-be8b-48f6-8fff-a9073da8db27">
100 + <immetingen:email>info@example.com</immetingen:email>
101 + <immetingen:fax>+31 (0) 88 11111111</immetingen:fax>
102 + <immetingen:identification>
103 + <immetingen:NEN3610ID>
104 + <immetingen:namespace>SIKB</immetingen:namespace>
105 + <immetingen:lokaalID>4ca84d18-be8b-48f6-8fff-a9073da8db27</immetingen:lokaalID>
106 + </immetingen:NEN3610ID>
107 + </immetingen:identification>
108 + <immetingen:mobileNumber>+31 (0)6 123456543</immetingen:mobileNumber>
109 + <immetingen:remarks>Remarks about the Laboratory</immetingen:remarks>
110 + <immetingen:telephoneNumber>+31 (0) 88 callthelab</immetingen:telephoneNumber>
111 + <immetingen:legalentityNumber>092347850</immetingen:legalentityNumber>
112 + <immetingen:name>Laboratory name</immetingen:name>
113 + <immetingen:organisationType>urn:imsikb0101:Betrokkenen:id:29</immetingen:organisationType>
114 + </immetingen:Organization>
115 + </imsikb0101:featureMember>
116 + <!-- /Subject 2 -->
117 + <!-- Sample 1 Analysis Sample -->
118 + <imsikb0101:featureMember>
119 + <imsikb0101:Sample gml:id="_b1adf8f7-e0cd-4810-a93e-60580f34b3fa">
120 + <sam:sampledFeature/>
121 + <sam:relatedObservation xlink:href="#_850d533c-4087-4229-aa81-f916569428ed"/>
122 + <!-- Sub sample 1 / Field sample-->
123 + <sam:relatedSamplingFeature>
124 + <sam:SamplingFeatureComplex>
125 + <sam:role xlink:href="urn:immetingen:RelatedSamplingFeatureRollen:id:10"/>
126 + <sam:relatedSamplingFeature xlink:href="#_4593fd8e-813a-4660-88ad-9e6ea38ca415"/>
127 + </sam:SamplingFeatureComplex>
128 + </sam:relatedSamplingFeature>
129 + <!-- /Sub sample 1 / Field Sample-->
130 + <spec:materialClass xlink:href="urn:immetingen:Compartiment:id:1"/>
131 + <spec:samplingTime>
132 + <gml:TimeInstant gml:id="_89f63e1e-a156-461c-8d77-bbaf108b60a4">
133 + <gml:timePosition>2013-04-12T11:00:00</gml:timePosition>
134 + </gml:TimeInstant>
135 + </spec:samplingTime>
136 + <spec:specimenType xlink:href="urn:immetingen:MonsterType:id:10"/>
137 + <immetingen:identification>
138 + <immetingen:NEN3610ID>
139 + <immetingen:namespace>SIKB</immetingen:namespace>
140 + <immetingen:lokaalID>b1adf8f7-e0cd-4810-a93e-60580f34b3fa</immetingen:lokaalID>
141 + </immetingen:NEN3610ID>
142 + </immetingen:identification>
143 + <immetingen:name>BO1-DM1</immetingen:name>
144 + <imsikb0101:inProject xlink:href="#_015c6207-2bed-4f3b-bb40-8ab94079bff5"/>
145 + </imsikb0101:Sample>
146 + </imsikb0101:featureMember>
147 + <!-- /Sample 1 Analysis Sample-->
148 + <!-- Sample 1 Analysis -->
149 + <imsikb0101:featureMember>
150 + <immetingen:Analysis gml:id="_850d533c-4087-4229-aa81-f916569428ed">
151 + <om:phenomenonTime/>
152 + <om:resultTime xlink:href="#_1645261c-381e-4af2-a7d5-78fc4e73aa78"/>
153 + <om:procedure xlink:href="#_e911262c-d247-4aad-8fea-ae095f62b495"/>
154 + <om:observedProperty/>
155 + <om:featureOfInterest xlink:href="#_b1adf8f7-e0cd-4810-a93e-60580f34b3fa"/>
156 + <om:result xsi:type="immetingen:AnalyticResultType">
157 + <immetingen:numericValue uom="urn:immetingen:Eenheid:id:58">633.2</immetingen:numericValue>
158 + <immetingen:qualityIndicatorType>urn:immetingen:Kwaliteitsoordeel:id:4</immetingen:qualityIndicatorType>
159 + <immetingen:limitSymbol><![CDATA[<]]></immetingen:limitSymbol>
160 + <immetingen:alphanumericValue>&lt; 633,2 mg/kg ds</immetingen:alphanumericValue>
161 + <immetingen:limits>
162 + <immetingen:DeterminationLimits>
163 + <immetingen:detectionLimit uom="urn:immetingen:Eenheid:id:58">615.8</immetingen:detectionLimit>
164 + <immetingen:reportingLimit uom="urn:immetingen:Eenheid:id:58">700</immetingen:reportingLimit>
165 + <immetingen:limitSymbolReferenceCode>urn:immetingen:LimietsymboolReferentie:id:2</immetingen:limitSymbolReferenceCode>
166 + <immetingen:quantitationLimit uom="urn:immetingen:Eenheid:id:58">633.2</immetingen:quantitationLimit>
167 + </immetingen:DeterminationLimits>
168 + </immetingen:limits>
169 + </om:result>
170 + <immetingen:identification>
171 + <immetingen:NEN3610ID>
172 + <immetingen:namespace>SIKB</immetingen:namespace>
173 + <immetingen:lokaalID>850d533c-4087-4229-aa81-f916569428ed</immetingen:lokaalID>
174 + </immetingen:NEN3610ID>
175 + </immetingen:identification>
176 + <immetingen:physicalProperty>
177 + <immetingen:PhysicalProperty>
178 + <immetingen:quantity>urn:immetingen:parameter:id:2720</immetingen:quantity>
179 + <immetingen:parameter>urn:immetingen:parameter:id:216</immetingen:parameter>
180 + <immetingen:condition>urn:immetingen:hoedanigheid:id:1</immetingen:condition>
181 + </immetingen:PhysicalProperty>
182 + </immetingen:physicalProperty>
183 + <immetingen:statusOfAnalysis>
184 + <immetingen:AnalysisStatus>
185 + <immetingen:statusType>urn:immetingen:LabopdrachtStatus:id:3</immetingen:statusType>
186 + <immetingen:dateExpected>2013-10-28</immetingen:dateExpected>
187 + <immetingen:versionNumber>115</immetingen:versionNumber>
188 + </immetingen:AnalysisStatus>
189 + </immetingen:statusOfAnalysis>
190 + </immetingen:Analysis>
191 + </imsikb0101:featureMember>
192 + <!-- /Samle 1 Analysis -->
193 + <!-- Sample 1 AnalysisProcess -->
194 + <imsikb0101:featureMember>
195 + <immetingen:AnalysisProcess gml:id="_e911262c-d247-4aad-8fea-ae095f62b495">
196 + <immetingen:analyticalTechnique>urn:immetingen:WaardebepalingsTechniek:id:12</immetingen:analyticalTechnique>
197 + <immetingen:identification>
198 + <immetingen:NEN3610ID>
199 + <immetingen:namespace>SIKB</immetingen:namespace>
200 + <immetingen:lokaalID>e911262c-d247-4aad-8fea-ae095f62b495</immetingen:lokaalID>
201 + </immetingen:NEN3610ID>
202 + </immetingen:identification>
203 + <immetingen:certification>urn:immetingen:Certificeringscode:id:4</immetingen:certification>
204 + <immetingen:remarks>Remark about the analysis process</immetingen:remarks>
205 + <immetingen:sampleDestructionMethod>urn:immetingen:Monsterbewerkingsmethode:id:36</immetingen:sampleDestructionMethod>
206 + <immetingen:samplePretreatmentMethod>urn:iimsikb0101:MonsterVoorbehandeling:id:3</immetingen:samplePretreatmentMethod>
207 + <immetingen:samplePretreatmentDate>2013-07-09</immetingen:samplePretreatmentDate>
208 + <immetingen:valuationMethod>urn:immetingen:waardebepalingsmethode:id:44</immetingen:valuationMethod>
209 + <immetingen:analysisOperator xlink:href="#_4ca84d18-be8b-48f6-8fff-a9073da8db27"/>
210 + </immetingen:AnalysisProcess>
211 + </imsikb0101:featureMember>
212 + <!-- /Samle 1 Analysis Process -->
213 + <!-- Sample 2 Sub sample -->
214 + <imsikb0101:featureMember>
215 + <imsikb0101:Sample gml:id="_4593fd8e-813a-4660-88ad-9e6ea38ca415">
216 + <sam:sampledFeature/>
217 + <!-- Analysis Sample -->
218 + <sam:relatedSamplingFeature>
219 + <sam:SamplingFeatureComplex>
220 + <sam:role xlink:href="urn:immetingen:RelatedSamplingFeatureRollen:id:9"/>
221 + <sam:relatedSamplingFeature xlink:href="#_b1adf8f7-e0cd-4810-a93e-60580f34b3fa"/>
222 + </sam:SamplingFeatureComplex>
223 + </sam:relatedSamplingFeature>
224 + <!-- /Analysis Sample -->
225 + <spec:materialClass xlink:href="urn:immetingen:Compartiment:id:1"/>
226 + <spec:samplingTime xlink:href="#_89f63e1e-a156-461c-8d77-bbaf108b60a4"/>
227 + <spec:processingDetails>
228 + <immetingen:FieldSamplePreparationStep>
229 + <spec:time>
230 + <gml:TimeInstant gml:id="_c3110591-6dbf-4a32-ad22-14adcd18c0c8">
231 + <gml:timePosition>2013-04-12T11:00:00.00</gml:timePosition>
232 + </gml:TimeInstant>
233 + </spec:time>
234 + <spec:processOperator/>
235 + <spec:processingDetails/>
236 + <immetingen:pretreatment>urn:imsikb0101:MonsterVoorbehandeling:id:4</immetingen:pretreatment>
237 + <immetingen:preservative>urn:immetingen:conserveringsmiddel:id:1</immetingen:preservative>
238 + <immetingen:meshSieve uom="urn:immetingen:Eenheid:id:115">.1</immetingen:meshSieve>
239 + </immetingen:FieldSamplePreparationStep>
240 + </spec:processingDetails>
241 + <spec:specimenType xlink:href="urn:immetingen:MonsterType:id:1"/>
242 + <immetingen:identification>
243 + <immetingen:NEN3610ID>
244 + <immetingen:namespace>SIKB</immetingen:namespace>
245 + <immetingen:lokaalID>4593fd8e-813a-4660-88ad-9e6ea38ca415</immetingen:lokaalID>
246 + </immetingen:NEN3610ID>
247 + </immetingen:identification>
248 + <immetingen:name>DM1</immetingen:name>
249 + <immetingen:startTime>2013-04-12T14:15:00.00</immetingen:startTime>
250 + <immetingen:lowerDepth>
251 + <immetingen:Depth>
252 + <immetingen:value uom="urn:immetingen:Eenheid:id:115">2.5</immetingen:value>
253 + <immetingen:condition>urn:immetingen:Hoedanigheid:id:11</immetingen:condition>
254 + </immetingen:Depth>
255 + </immetingen:lowerDepth>
256 + <immetingen:upperDepth>
257 + <immetingen:Depth>
258 + <immetingen:value uom="urn:immetingen:Eenheid:id:115">3.5</immetingen:value>
259 + <immetingen:condition>urn:immetingen:Hoedanigheid:id:11</immetingen:condition>
260 + </immetingen:Depth>
261 + </immetingen:upperDepth>
262 + <immetingen:remarks>Remarks about the sample</immetingen:remarks>
263 + <immetingen:consistsOfPackages>
264 + <immetingen:Package>
265 + <immetingen:name>Packaging number 1</immetingen:name>
266 + <immetingen:barcode>168468131</immetingen:barcode>
267 + <immetingen:packageType>urn:immetingen:MonsterVerpakking:id:2</immetingen:packageType>
268 + <immetingen:remarks>Remarks about the packaging</immetingen:remarks>
269 + </immetingen:Package>
270 + </immetingen:consistsOfPackages>
271 + <imsikb0101:inProject xlink:href="#_015c6207-2bed-4f3b-bb40-8ab94079bff5"/>
272 + <imsikb0101:expectedPollutions>
273 + <imsikb0101:SamplePollution>
274 + <imsikb0101:pollutionGroupCode>urn:imsikb0101:vervuilinggroep:id:8</imsikb0101:pollutionGroupCode>
275 + <imsikb0101:gradation>urn:imsikb0101:VervuilinggroepGradatie:id:3</imsikb0101:gradation>
276 + <imsikb0101:expectedValue>Expected value estimated by the consultant</imsikb0101:expectedValue>
277 + </imsikb0101:SamplePollution>
278 + </imsikb0101:expectedPollutions>
279 + </imsikb0101:Sample>
280 + </imsikb0101:featureMember>
281 + <!-- /Sample 2 Sub sample -->
282 +</imsikb0101:FeatureCollectionIMSIKB0101>
283 +
labresult_IndividualGw.xml
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.RobinHuisman
Size
... ... @@ -1,0 +1,1 @@
1 +15.3 KB
Content
... ... @@ -1,0 +1,289 @@
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<imsikb0101:FeatureCollectionIMSIKB0101 gml:id="LABRESULTAAT" xmlns:imsikb0101="http://www.sikb.nl/imsikb0101" xmlns:immetingen="http://www.sikb.nl/immetingen" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gsr="http://www.isotc211.org/2005/gsr" xmlns:gss="http://www.isotc211.org/2005/gss" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:om="http://www.opengis.net/om/2.0" xmlns:sam="http://www.opengis.net/sampling/2.0" xmlns:sams="http://www.opengis.net/samplingSpatial/2.0" xmlns:spec="http://www.opengis.net/samplingSpecimen/2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sikb.nl/imsikb0101 file:///C:/dev/SIKB0101_Protocol/XSDs%2014.8.0/imsikb0101_v14.8.0.xsd">
3 + <imsikb0101:metaData>
4 + <imsikb0101:application>urn:imsikb0101:Applicaties:id:1</imsikb0101:application>
5 + <imsikb0101:date>2013-09-07</imsikb0101:date>
6 + <imsikb0101:organisation>The Organization</imsikb0101:organisation>
7 + <imsikb0101:remarks>Example file LABRESULT</imsikb0101:remarks>
8 + <imsikb0101:reportDate>2013-07-07</imsikb0101:reportDate>
9 + <imsikb0101:sender>urn:imsikb0101:Bronhouders:id:54</imsikb0101:sender>
10 + <imsikb0101:supplier>urn:imsikb0101:Leveranciers:id:1</imsikb0101:supplier>
11 + <imsikb0101:version>14.8.0</imsikb0101:version>
12 + <imsikb0101:dataflow>urn:imsikb0101:DatastroomType:id:1</imsikb0101:dataflow>
13 + </imsikb0101:metaData>
14 + <!-- LabAssignment -->
15 + <imsikb0101:featureMember>
16 + <imsikb0101:LabAssignment gml:id="_ac5e3b6d-a0b2-4e26-af89-a2778712ff89">
17 + <imsikb0101:identification>
18 + <immetingen:NEN3610ID>
19 + <immetingen:namespace>www.sikb.nl</immetingen:namespace>
20 + <immetingen:lokaalID>ac5e3b6d-a0b2-4e26-af89-a2778712ff89</immetingen:lokaalID>
21 + </immetingen:NEN3610ID>
22 + </imsikb0101:identification>
23 + <imsikb0101:operatingLab>urn:immetingen:Meetinstantie:id:7</imsikb0101:operatingLab>
24 + <imsikb0101:startTime>2013-04-09T18:22:55</imsikb0101:startTime>
25 + <imsikb0101:customerCode>KN1234</imsikb0101:customerCode>
26 + <imsikb0101:remarks>Remarks about the LabAssignment</imsikb0101:remarks>
27 + <imsikb0101:endTime>2013-04-09T18:22:55</imsikb0101:endTime>
28 + <imsikb0101:belongsToProject xlink:href="#_015c6207-2bed-4f3b-bb40-8ab94079bff5"/>
29 + <imsikb0101:analysisRequest>
30 + <imsikb0101:SampleAnalysisRequest>
31 + <imsikb0101:nameOnLabCertificate>NAME</imsikb0101:nameOnLabCertificate>
32 + <imsikb0101:certificateOrder>0</imsikb0101:certificateOrder>
33 + <imsikb0101:labSampleType>GW</imsikb0101:labSampleType>
34 + <imsikb0101:sampleCertification>urn:immeringen:CertificeringsCode:id:8</imsikb0101:sampleCertification>
35 + <imsikb0101:sample xlink:href="#_b1adf8f7-e0cd-4810-a93e-60580f34b3fa"/>
36 + <imsikb0101:status>
37 + <imsikb0101:LabAssignmentStatus>
38 + <imsikb0101:statusType>urn:immetingen:LabopdrachtStatus:id:5</imsikb0101:statusType>
39 + <imsikb0101:dateExpected>2013-07-28</imsikb0101:dateExpected>
40 + <imsikb0101:remarks>Remarks about the status</imsikb0101:remarks>
41 + </imsikb0101:LabAssignmentStatus>
42 + </imsikb0101:status>
43 + </imsikb0101:SampleAnalysisRequest>
44 + </imsikb0101:analysisRequest>
45 + <imsikb0101:projectLeader xlink:href="#_808ef96a-1323-45f8-bab1-afde379884d5"/>
46 + <imsikb0101:status>
47 + <imsikb0101:LabAssignmentStatus>
48 + <imsikb0101:statusType>urn:immetingen:LabopdrachtStatus:id:6</imsikb0101:statusType>
49 + <imsikb0101:dateExpected>2013-07-28</imsikb0101:dateExpected>
50 + <imsikb0101:remarks>Remarks about the status</imsikb0101:remarks>
51 + </imsikb0101:LabAssignmentStatus>
52 + </imsikb0101:status>
53 + <imsikb0101:certificate>
54 + <imsikb0101:LabAssignmentCertificate>
55 + <imsikb0101:complementOfCertificate>CERT21341</imsikb0101:complementOfCertificate>
56 + <imsikb0101:labCertificateNumber>CERT21342</imsikb0101:labCertificateNumber>
57 + <imsikb0101:certification>urn:immetingen:Certificeringscode:id:4</imsikb0101:certification>
58 + <imsikb0101:labCertificatePdfLink>https://www.example.com/cert/link.pdf</imsikb0101:labCertificatePdfLink>
59 + </imsikb0101:LabAssignmentCertificate>
60 + </imsikb0101:certificate>
61 + </imsikb0101:LabAssignment>
62 + </imsikb0101:featureMember>
63 + <!-- /LabAssignment -->
64 + <!-- Project -->
65 + <imsikb0101:featureMember>
66 + <imsikb0101:Project gml:id="_015c6207-2bed-4f3b-bb40-8ab94079bff5">
67 + <imsikb0101:identification>
68 + <immetingen:NEN3610ID>
69 + <immetingen:namespace>SIKB</immetingen:namespace>
70 + <immetingen:lokaalID>015c6207-2bed-4f3b-bb40-8ab94079bff5</immetingen:lokaalID>
71 + </immetingen:NEN3610ID>
72 + </imsikb0101:identification>
73 + <imsikb0101:name>Name of the project</imsikb0101:name>
74 + <imsikb0101:projectCode>PROJ00238</imsikb0101:projectCode>
75 + </imsikb0101:Project>
76 + </imsikb0101:featureMember>
77 + <!-- /Project -->
78 + <!-- Subject 1-->
79 + <imsikb0101:featureMember>
80 + <immetingen:Person gml:id="_808ef96a-1323-45f8-bab1-afde379884d5">
81 + <immetingen:email>username@example.com</immetingen:email>
82 + <immetingen:fax>+31(0) 88 666222</immetingen:fax>
83 + <immetingen:identification>
84 + <immetingen:NEN3610ID>
85 + <immetingen:namespace>SIKB</immetingen:namespace>
86 + <immetingen:lokaalID>808ef96a-1323-45f8-bab1-afde379884d5</immetingen:lokaalID>
87 + </immetingen:NEN3610ID>
88 + </immetingen:identification>
89 + <immetingen:firstName>Ini</immetingen:firstName>
90 + <immetingen:gender>urn:imsikb0101:geslacht:id:1</immetingen:gender>
91 + <immetingen:lastName>Tials</immetingen:lastName>
92 + <immetingen:middleName/>
93 + <immetingen:initials>I</immetingen:initials>
94 + </immetingen:Person>
95 + </imsikb0101:featureMember>
96 + <!-- /Subject 1-->
97 + <!-- Subject 2 -->
98 + <imsikb0101:featureMember>
99 + <immetingen:Organization gml:id="_4ca84d18-be8b-48f6-8fff-a9073da8db27">
100 + <immetingen:email>info@example.com</immetingen:email>
101 + <immetingen:fax>+31 (0) 88 11111111</immetingen:fax>
102 + <immetingen:identification>
103 + <immetingen:NEN3610ID>
104 + <immetingen:namespace>SIKB</immetingen:namespace>
105 + <immetingen:lokaalID>4ca84d18-be8b-48f6-8fff-a9073da8db27</immetingen:lokaalID>
106 + </immetingen:NEN3610ID>
107 + </immetingen:identification>
108 + <immetingen:mobileNumber>+31 (0)6 123456543</immetingen:mobileNumber>
109 + <immetingen:remarks>Remarks about the lab</immetingen:remarks>
110 + <immetingen:telephoneNumber>+31 (0) 88 callthelab</immetingen:telephoneNumber>
111 + <immetingen:legalentityNumber>092347850</immetingen:legalentityNumber>
112 + <immetingen:name>Laboratory name</immetingen:name>
113 + <immetingen:organisationType>urn:imsikb0101:Betrokkenen:id:29</immetingen:organisationType>
114 + </immetingen:Organization>
115 + </imsikb0101:featureMember>
116 + <!-- /Subject 2 -->
117 + <!-- Sample 1 Analysis sample-->
118 + <imsikb0101:featureMember>
119 + <imsikb0101:Sample gml:id="_b1adf8f7-e0cd-4810-a93e-60580f34b3fa">
120 + <sam:sampledFeature/>
121 + <sam:relatedObservation xlink:href="#_850d533c-4087-4229-aa81-f916569428ed"/>
122 + <!-- Field Sample 1 -->
123 + <sam:relatedSamplingFeature>
124 + <sam:SamplingFeatureComplex>
125 + <sam:role xlink:href="urn:immetingen:RelatedSamplingFeatureRollen:id:10"/>
126 + <sam:relatedSamplingFeature xlink:href="#_55fcfbe8-0e4c-4ddf-8a76-45975332ccfb"/>
127 + </sam:SamplingFeatureComplex>
128 + </sam:relatedSamplingFeature>
129 + <!-- /Field Sample 1 -->
130 + <spec:materialClass xlink:href="urn:immetingen:Compartiment:id:2"/>
131 + <spec:samplingTime>
132 + <gml:TimeInstant gml:id="_89f63e1e-a156-461c-8d77-bbaf108b60a4">
133 + <gml:timePosition>2013-04-12T11:00:00</gml:timePosition>
134 + </gml:TimeInstant>
135 + </spec:samplingTime>
136 + <spec:specimenType xlink:href="urn:immetingen:MonsterType:id:10"/>
137 + <immetingen:identification>
138 + <immetingen:NEN3610ID>
139 + <immetingen:namespace>SIKB</immetingen:namespace>
140 + <immetingen:lokaalID>b1adf8f7-e0cd-4810-a93e-60580f34b3fa</immetingen:lokaalID>
141 + </immetingen:NEN3610ID>
142 + </immetingen:identification>
143 + <immetingen:name>WA1</immetingen:name>
144 + <imsikb0101:inProject xlink:href="#_015c6207-2bed-4f3b-bb40-8ab94079bff5"/>
145 + </imsikb0101:Sample>
146 + </imsikb0101:featureMember>
147 + <!-- /Sample 1 Analysis Sample-->
148 + <!-- Sample 1 Analysis -->
149 + <imsikb0101:featureMember>
150 + <immetingen:Analysis gml:id="_850d533c-4087-4229-aa81-f916569428ed">
151 + <om:phenomenonTime/>
152 + <om:resultTime xlink:href="#_1645261c-381e-4af2-a7d5-78fc4e73aa78"/>
153 + <om:procedure xlink:href="#_e911262c-d247-4aad-8fea-ae095f62b495"/>
154 + <om:observedProperty/>
155 + <om:featureOfInterest xlink:href="#_b1adf8f7-e0cd-4810-a93e-60580f34b3fa"/>
156 + <om:result xsi:type="immetingen:AnalyticResultType">
157 + <immetingen:numericValue uom="urn:immetingen:Eenheid:id:59">633.2</immetingen:numericValue>
158 + <!-- mg/l -->
159 + <immetingen:qualityIndicatorType>urn:immetingen:Kwaliteitsoordeel:id:4</immetingen:qualityIndicatorType>
160 + <immetingen:limitSymbol><![CDATA[<]]></immetingen:limitSymbol>
161 + <immetingen:alphanumericValue>633,2 mg/l</immetingen:alphanumericValue>
162 + </om:result>
163 + <immetingen:identification>
164 + <immetingen:NEN3610ID>
165 + <immetingen:namespace>SIKB</immetingen:namespace>
166 + <immetingen:lokaalID>850d533c-4087-4229-aa81-f916569428ed</immetingen:lokaalID>
167 + </immetingen:NEN3610ID>
168 + </immetingen:identification>
169 + <immetingen:physicalProperty>
170 + <immetingen:PhysicalProperty>
171 + <immetingen:quantity>urn:immetingen:parameter:id:2720</immetingen:quantity>
172 + <immetingen:parameter>urn:immetingen:parameter:id:216</immetingen:parameter>
173 + <!-- See Aquo parameters lists for the right combinations for groundwater: www.aquo.nl -->
174 + </immetingen:PhysicalProperty>
175 + </immetingen:physicalProperty>
176 + <immetingen:statusOfAnalysis>
177 + <immetingen:AnalysisStatus>
178 + <immetingen:statusType>urn:immetingen:LabopdrachtStatus:id:3</immetingen:statusType>
179 + <immetingen:dateExpected>2013-10-28</immetingen:dateExpected>
180 + <immetingen:versionNumber>115</immetingen:versionNumber>
181 + </immetingen:AnalysisStatus>
182 + </immetingen:statusOfAnalysis>
183 + </immetingen:Analysis>
184 + </imsikb0101:featureMember>
185 + <!-- /Sample 1 Analysis-->
186 + <!-- Sample 1 Analysis -->
187 + <imsikb0101:featureMember>
188 + <immetingen:AnalysisProcess gml:id="_e911262c-d247-4aad-8fea-ae095f62b495">
189 + <immetingen:analyticalTechnique>urn:immetingen:WaardebepalingsTechniek:id:12</immetingen:analyticalTechnique>
190 + <immetingen:identification>
191 + <immetingen:NEN3610ID>
192 + <immetingen:namespace>SIKB</immetingen:namespace>
193 + <immetingen:lokaalID>e911262c-d247-4aad-8fea-ae095f62b495</immetingen:lokaalID>
194 + </immetingen:NEN3610ID>
195 + </immetingen:identification>
196 + <immetingen:certification>urn:immetingen:Certificeringscode:id:4</immetingen:certification>
197 + <immetingen:remarks>Remarks about the analyis process</immetingen:remarks>
198 + <immetingen:sampleDestructionMethod>urn:immetingen:Monsterbewerkingsmethode:id:36</immetingen:sampleDestructionMethod>
199 + <immetingen:samplePretreatmentMethod>urn:iimsikb0101:MonsterVoorbehandeling:id:3</immetingen:samplePretreatmentMethod>
200 + <immetingen:samplePretreatmentDate>2013-07-09</immetingen:samplePretreatmentDate>
201 + <immetingen:valuationMethod>urn:immetingen:waardebepalingsmethode:id:44</immetingen:valuationMethod>
202 + <immetingen:measurementOrganisation codeSpace="www.sikb.nl">urn:immetingen:Meetinstantie:id:7</immetingen:measurementOrganisation>
203 + <!-- synlab -->
204 + <immetingen:analysisOperator xlink:href="#_4ca84d18-be8b-48f6-8fff-a9073da8db27"/>
205 + </immetingen:AnalysisProcess>
206 + </imsikb0101:featureMember>
207 + <!-- /Sample 1 Analysis-->
208 + <!-- Sample 2 field sample -->
209 + <imsikb0101:featureMember>
210 + <imsikb0101:Sample gml:id="_4593fd8e-813a-4660-88ad-9e6ea38ca415">
211 + <sam:sampledFeature/>
212 + <!-- Analysis Sample -->
213 + <sam:relatedSamplingFeature>
214 + <sam:SamplingFeatureComplex>
215 + <sam:role xlink:href="urn:immetingen:RelatedSamplingFeatureRollen:id:9"/>
216 + <sam:relatedSamplingFeature xlink:href="#_b1adf8f7-e0cd-4810-a93e-60580f34b3fa"/>
217 + </sam:SamplingFeatureComplex>
218 + </sam:relatedSamplingFeature>
219 + <!-- /Analysis Sample -->
220 + <spec:materialClass xlink:href="urn:immetingen:Compartiment:id:2"/>
221 + <!-- groundwater -->
222 + <spec:samplingTime xlink:href="#_89f63e1e-a156-461c-8d77-bbaf108b60a4"/>
223 + <spec:processingDetails>
224 + <immetingen:FieldSamplePreparationStep>
225 + <spec:time>
226 + <gml:TimeInstant gml:id="_c3110591-6dbf-4a32-ad22-14adcd18c0c8">
227 + <gml:timePosition>2013-04-12T11:00:00.00</gml:timePosition>
228 + </gml:TimeInstant>
229 + </spec:time>
230 + <spec:processOperator/>
231 + <spec:processingDetails/>
232 + <immetingen:pretreatment>urn:imsikb0101:MonsterVoorbehandeling:id:4</immetingen:pretreatment>
233 + <immetingen:preservative>urn:immetingen:conserveringsmiddel:id:1</immetingen:preservative>
234 + <immetingen:meshSieve uom="urn:immetingen:Eenheid:id:115">.1</immetingen:meshSieve>
235 + </immetingen:FieldSamplePreparationStep>
236 + </spec:processingDetails>
237 + <spec:specimenType xlink:href="urn:immetingen:MonsterType:id:1"/>
238 + <immetingen:identification>
239 + <immetingen:NEN3610ID>
240 + <immetingen:namespace>SIKB</immetingen:namespace>
241 + <immetingen:lokaalID>4593fd8e-813a-4660-88ad-9e6ea38ca415</immetingen:lokaalID>
242 + </immetingen:NEN3610ID>
243 + </immetingen:identification>
244 + <immetingen:name>WA1-1</immetingen:name>
245 + <immetingen:startTime>2013-04-12T14:15:00.00</immetingen:startTime>
246 + <immetingen:lowerDepth>
247 + <immetingen:Depth>
248 + <immetingen:value uom="urn:immetingen:Eenheid:id:115">2.5</immetingen:value>
249 + <immetingen:condition>urn:immetingen:Hoedanigheid:id:14</immetingen:condition>
250 + </immetingen:Depth>
251 + </immetingen:lowerDepth>
252 + <immetingen:upperDepth>
253 + <immetingen:Depth>
254 + <immetingen:value uom="urn:immetingen:Eenheid:id:115">3.5</immetingen:value>
255 + <!-- meter -->
256 + <immetingen:condition>urn:immetingen:Hoedanigheid:id:14</immetingen:condition>
257 + <!-- TOGW (Top of Gauging well) -->
258 + </immetingen:Depth>
259 + </immetingen:upperDepth>
260 + <immetingen:remarks>Remarks about the water sample</immetingen:remarks>
261 + <immetingen:consistsOfPackages>
262 + <immetingen:Package>
263 + <immetingen:name>Bottle number 1</immetingen:name>
264 + <immetingen:barcode>168468131</immetingen:barcode>
265 + <immetingen:packageType>urn:immetingen:MonsterVerpakking:id:1</immetingen:packageType>
266 + <immetingen:remarks>Remarks about the packaging</immetingen:remarks>
267 + </immetingen:Package>
268 + </immetingen:consistsOfPackages>
269 + <immetingen:consistsOfPackages>
270 + <immetingen:Package>
271 + <immetingen:name>Bottle number 2</immetingen:name>
272 + <immetingen:barcode>168468aas</immetingen:barcode>
273 + <immetingen:packageType>urn:immetingen:MonsterVerpakking:id:1</immetingen:packageType>
274 + <immetingen:remarks>Remarks about the packaging</immetingen:remarks>
275 + </immetingen:Package>
276 + </immetingen:consistsOfPackages>
277 + <imsikb0101:inProject xlink:href="#_015c6207-2bed-4f3b-bb40-8ab94079bff5"/>
278 + <imsikb0101:expectedPollutions>
279 + <imsikb0101:SamplePollution>
280 + <imsikb0101:pollutionGroupCode>urn:imsikb0101:vervuilinggroep:id:8</imsikb0101:pollutionGroupCode>
281 + <imsikb0101:gradation>urn:imsikb0101:VervuilinggroepGradatie:id:3</imsikb0101:gradation>
282 + <imsikb0101:expectedValue>Expected value estimated by the consultant</imsikb0101:expectedValue>
283 + </imsikb0101:SamplePollution>
284 + </imsikb0101:expectedPollutions>
285 + </imsikb0101:Sample>
286 + </imsikb0101:featureMember>
287 + <!-- /Sample 2 field sample -->
288 +</imsikb0101:FeatureCollectionIMSIKB0101>
289 +
TerraIndex
asd