Changes for page Lab result file - SIKB0101 v14
Last modified by Robin Huisman on 2025/02/27 09:44
Change comment:
Uploaded new attachment "Labresult_Controle.xsl", version {1}
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (2 modified, 2 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -Lab result file - ObsoleteSIKB version91 +Lab result file - SIKB version 14 - Content
-
... ... @@ -8,12 +8,24 @@ 8 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 9 {{/warning}} 10 10 11 -== What is a Lab result file == 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: “idOpdracht, projectCode, idanlmons and anlmons” 14 -\\[[image:IMSIKB0101 - Labresults.png]] 15 - 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” 16 16 15 + 16 +**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"]] 17 + 18 +**XSD**: Ask or SIKB Members can download from: [[https:~~/~~/www.sikb.nl/datastandaarden/richtlijnen/sikb0101>>url:https://www.sikb.nl/datastandaarden/richtlijnen/sikb0101]] 19 + 20 +**Controle XSLT**: 21 + 22 +**Domaintable files**: [[immetingen lookup v14.8.0.xml>>url:https://wiki.terraindex.com/bin/download/Implementation%20documentation/Setting%20up%20Lab%20communication%20by%20REST%20services%20with%20TerraIndex/Lab%20assignment%20file/WebHome/immetingen%20lookup%20v14.8.0.xml?rev=1.2]] [[imsikb0101 lookup v14.8.0.xml>>url:https://wiki.terraindex.com/bin/download/Implementation%20documentation/Setting%20up%20Lab%20communication%20by%20REST%20services%20with%20TerraIndex/Lab%20assignment%20file/WebHome/imsikb0101%20lookup%20v14.8.0.xml?rev=1.1]] 23 +extracted from: **[[https:~~/~~/codes.sikb.nl>>url:https://codes.sikb.nl/]] ** 24 + 25 + 26 + 27 +[[image:IMSIKB0101 - Labresults.png]] 28 + 17 17 == File structure == 18 18 19 19 ... ... @@ -49,7 +49,6 @@ 49 49 1. SIKB 14 Parameter result combinations> first sentence makes no sense to me. Please review so i can translate. 50 50 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? 51 51 52 - 53 53 (% class="wikigeneratedid" %) 54 54 ~==== Added by luca: all Classes related to "IMMetingen::Results" 55 55
- labresultaat_IndividueelGw.xml
-
- Size
-
... ... @@ -1,1 +1,1 @@ 1 -15. 3KB1 +15.4 KB - Content
-
... ... @@ -1,5 +1,5 @@ 1 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">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.9.0/imsikb0101_v14.9.0.xsd"> 3 3 <imsikb0101:metaData> 4 4 <imsikb0101:application>urn:imsikb0101:Applicaties:id:1</imsikb0101:application> 5 5 <imsikb0101:date>2013-09-07</imsikb0101:date> ... ... @@ -8,7 +8,7 @@ 8 8 <imsikb0101:reportDate>2013-07-07</imsikb0101:reportDate> 9 9 <imsikb0101:sender>urn:imsikb0101:Bronhouders:id:54</imsikb0101:sender> 10 10 <imsikb0101:supplier>urn:imsikb0101:Leveranciers:id:1</imsikb0101:supplier> 11 - <imsikb0101:version>14. 8.0</imsikb0101:version>11 + <imsikb0101:version>14.9.0</imsikb0101:version> 12 12 <imsikb0101:dataflow>urn:imsikb0101:DatastroomType:id:1</imsikb0101:dataflow> 13 13 </imsikb0101:metaData> 14 14 <!-- LabAssignment --> ... ... @@ -152,13 +152,14 @@ 152 152 <om:resultTime xlink:href="#_1645261c-381e-4af2-a7d5-78fc4e73aa78"/> 153 153 <om:procedure xlink:href="#_e911262c-d247-4aad-8fea-ae095f62b495"/> 154 154 <om:observedProperty/> 155 - <om:featureOfInterest xlink:href="#_b1adf8f7-e0cd-4810-a93e-60580f34b3fa"/> 155 + <om:featureOfInterest xlink:href="#_b1adf8f7-e0cd-4810-a93e-60580f34b3fa"/> 156 156 <om:result xsi:type="immetingen:AnalyticResultType"> 157 + <immetingen:remarks>Opmerking bij het analyseresultaat</immetingen:remarks> 157 157 <immetingen:numericValue uom="urn:immetingen:Eenheid:id:59">633.2</immetingen:numericValue> 158 158 <!-- mg/l --> 159 159 <immetingen:qualityIndicatorType>urn:immetingen:Kwaliteitsoordeel:id:4</immetingen:qualityIndicatorType> 160 160 <immetingen:limitSymbol><![CDATA[<]]></immetingen:limitSymbol> 161 - <immetingen:alphanumericValue>633,2 mg/l</immetingen:alphanumericValue> 162 + <immetingen:alphanumericValue>633,2 mg/l</immetingen:alphanumericValue> 162 162 </om:result> 163 163 <immetingen:identification> 164 164 <immetingen:NEN3610ID> ... ... @@ -179,7 +179,7 @@ 179 179 <immetingen:dateExpected>2013-10-28</immetingen:dateExpected> 180 180 <immetingen:versionNumber>115</immetingen:versionNumber> 181 181 </immetingen:AnalysisStatus> 182 - </immetingen:statusOfAnalysis> 183 + </immetingen:statusOfAnalysis> 183 183 </immetingen:Analysis> 184 184 </imsikb0101:featureMember> 185 185 <!-- /Sample 1 Analysis--> ... ... @@ -207,7 +207,7 @@ 207 207 <!-- /Sample 1 Analysis--> 208 208 <!-- Sample 2 veldmonster --> 209 209 <imsikb0101:featureMember> 210 - <imsikb0101:Sample gml:id="_ 4593fd8e-813a-4660-88ad-9e6ea38ca415">211 + <imsikb0101:Sample gml:id="_55fcfbe8-0e4c-4ddf-8a76-45975332ccfb"> 211 211 <sam:sampledFeature/> 212 212 <!-- AnalyseMonster --> 213 213 <sam:relatedSamplingFeature> ... ... @@ -238,7 +238,7 @@ 238 238 <immetingen:identification> 239 239 <immetingen:NEN3610ID> 240 240 <immetingen:namespace>SIKB</immetingen:namespace> 241 - <immetingen:lokaalID> 4593fd8e-813a-4660-88ad-9e6ea38ca415</immetingen:lokaalID>242 + <immetingen:lokaalID>55fcfbe8-0e4c-4ddf-8a76-45975332ccfb</immetingen:lokaalID> 242 242 </immetingen:NEN3610ID> 243 243 </immetingen:identification> 244 244 <immetingen:name>WA1-1</immetingen:name>
- labresultaat_MengmonsterGr.xml
-
- Content
-
... ... @@ -1,5 +1,5 @@ 1 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">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.9.0/imsikb0101_v14.9.0.xsd"> 3 3 <imsikb0101:metaData> 4 4 <imsikb0101:application>urn:imsikb0101:Applicaties:id:1</imsikb0101:application> 5 5 <imsikb0101:date>2013-09-07</imsikb0101:date> ... ... @@ -8,7 +8,7 @@ 8 8 <imsikb0101:reportDate>2013-07-07</imsikb0101:reportDate> 9 9 <imsikb0101:sender>urn:imsikb0101:Bronhouders:id:54</imsikb0101:sender> 10 10 <imsikb0101:supplier>urn:imsikb0101:Leveranciers:id:1</imsikb0101:supplier> 11 - <imsikb0101:version>14. 8.0</imsikb0101:version>11 + <imsikb0101:version>14.9.0</imsikb0101:version> 12 12 <imsikb0101:dataflow>urn:imsikb0101:DatastroomType:id:1</imsikb0101:dataflow> 13 13 </imsikb0101:metaData> 14 14 <!-- LabAssignment --> ... ... @@ -175,7 +175,7 @@ 175 175 </immetingen:identification> 176 176 <immetingen:physicalProperty> 177 177 <immetingen:PhysicalProperty> 178 - <immetingen:quantity>urn:immetingen:parameter:id:272 0</immetingen:quantity>178 + <immetingen:quantity>urn:immetingen:parameter:id:2725</immetingen:quantity> 179 179 <immetingen:parameter>urn:immetingen:parameter:id:216</immetingen:parameter> 180 180 </immetingen:PhysicalProperty> 181 181 </immetingen:physicalProperty>
- 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) < 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) > 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]) < 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) >0"> 125 + <xsl:if test="string-length(imsikb0101:organisation) > 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) >0"> 130 + <xsl:if test="string-length(imsikb0101:version) > 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) > 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) > 0"> 148 + <xsl:if test="string-length(imsikb0101:customerCode) > 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) >0"> 166 + <xsl:if test="string-length(imsikb0101:orderNumber) > 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) >0"> 173 + <xsl:if test="string-length(imsikb0101:labCertificatePdfLink) > 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) <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) >0"> 183 + <xsl:if test="string-length(imsikb0101:searchPartDescription) > 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) >0"> 190 + <xsl:if test="string-length(immetingen:alphanunericValue) > 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) > 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) > 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) >0"> 212 + <xsl:if test="string-length(imsikb0101:districtCode) > 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) >0"> 217 + <xsl:if test="string-length(imsikb0101:letter) > 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) >0"> 222 + <xsl:if test="string-length(imsikb0101:letterAddition) > 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) >0"> 227 + <xsl:if test="string-length(imsikb0101:city) > 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) >0"> 232 + <xsl:if test="string-length(imsikb0101:zipcode) > 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) >0"> 237 + <xsl:if test="string-length(imsikb0101:street) > 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) >0"> 245 + <xsl:if test="string-length(imsikb0101:email) > 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) >0"> 250 + <xsl:if test="string-length(imsikb0101:fax) > 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) >0"> 255 + <xsl:if test="string-length(imsikb0101:telephoneNumber) > 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) >0"> 260 + <xsl:if test="string-length(imsikb0101:mobileNumber) > 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) >0"> 265 + <xsl:if test="string-length(imsikb0101:civilserviceNumber) > 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) >0"> 270 + <xsl:if test="string-length(imsikb0101:lastName) > 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) >0"> 275 + <xsl:if test="string-length(imsikb0101:firstName) > 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) >0"> 283 + <xsl:if test="string-length(imsikb0101:name) > 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) >0"> 288 + <xsl:if test="string-length(imsikb0101:email) > 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) >0"> 293 + <xsl:if test="string-length(imsikb0101:fax) > 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) >0"> 298 + <xsl:if test="string-length(imsikb0101:telephoneNumber) > 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) >0"> 303 + <xsl:if test="string-length(imsikb0101:mobileNumber) > 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() > 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>
- labresultaat_IndividueelGr.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.9.0/imsikb0101_v14.9.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>De organisatie</imsikb0101:organisation> 7 + <imsikb0101:remarks> Voorbeeldbestand LABRESULTAAT</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.9.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>Opmerkingen bij een labopdracht</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>Opmerkingen bij een 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>Opmerkingen bij een 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>Naam van het 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>Tialen</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>Opmerkingen over dit lab</immetingen:remarks> 110 + <immetingen:telephoneNumber>+31 (0) 88 belhetlab</immetingen:telephoneNumber> 111 + <immetingen:legalentityNumber>092347850</immetingen:legalentityNumber> 112 + <immetingen:name>Laboratoriumnaam</immetingen:name> 113 + <immetingen:organisationType>urn:imsikb0101:Betrokkenen:id:29</immetingen:organisationType> 114 + </immetingen:Organization> 115 + </imsikb0101:featureMember> 116 + <!-- /Subject 2 --> 117 + <!-- Sample 1 Analysemonster--> 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 + <!-- Deelmonster 1 / Veldmonster--> 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 + <!-- /Deelmonster 1 / Veldmonster--> 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 Analysemonster--> 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>< 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:2725</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>Opmerking bij het analyseproces</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 AnalysisProcess --> 213 + <!-- Sample 2 deelmonster --> 214 + <imsikb0101:featureMember> 215 + <imsikb0101:Sample gml:id="_4593fd8e-813a-4660-88ad-9e6ea38ca415"> 216 + <sam:sampledFeature/> 217 + <!-- AnalyseMonster --> 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 + <!-- /AnalyseMonster --> 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>Opmerkingen bij een monster</immetingen:remarks> 263 + <immetingen:consistsOfPackages> 264 + <immetingen:Package> 265 + <immetingen:name>Verpakking numero 1</immetingen:name> 266 + <immetingen:barcode>168468131</immetingen:barcode> 267 + <immetingen:packageType>urn:immetingen:MonsterVerpakking:id:2</immetingen:packageType> 268 + <immetingen:remarks>Opmerkingen bij de verpakking</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>Verwachte waarde door de adviseur geschat</imsikb0101:expectedValue> 277 + </imsikb0101:SamplePollution> 278 + </imsikb0101:expectedPollutions> 279 + </imsikb0101:Sample> 280 + </imsikb0101:featureMember> 281 + <!-- /Sample 2 deelmonster --> 282 +</imsikb0101:FeatureCollectionIMSIKB0101> 283 +