<?xml version="1.0" encoding="UTF-8"?>
<!--
Template derived pattern
===========================================
ID: 1.3.6.1.4.1.19376.1.3.1.6
Name: Laborergebnisse (Laboratory Observation)
Description: 
-->
<pattern xmlns="http://purl.oclc.org/dsdl/schematron"
         id="template-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000">
   <title>Laborergebnisse (Laboratory Observation)</title>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]
Item: (LaboratoryObservation)
-->

   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']"
         id="tmp-r-7aeaed66-e33e-4301-aae9-0e1b193a6d64">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="string(@classCode)=('OBS')">(LaboratoryObservation): Der Wert von @classCode MUSS 'OBS' sein.</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="string(@moodCode)=('EVN')">(LaboratoryObservation): Der Wert von @moodCode MUSS 'EVN' sein.</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.1.6'])&gt;=1 ">(LaboratoryObservation): Element hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.1.6'] ist required [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.1.6'])&lt;=1">(LaboratoryObservation): Element hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.1.6'] kommt zu häufig vor [max 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:id)&lt;=1">(LaboratoryObservation): Element hl7:id kommt zu häufig vor [max 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:code[concat(@code,@codeSystem)=doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/concept/concat(@code,@codeSystem) or (@nullFlavor=doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/exception/@code) or @nullFlavor])&gt;=1 ">(LaboratoryObservation): Element hl7:code[concat(@code,@codeSystem)=doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/concept/concat(@code,@codeSystem) or (@nullFlavor=doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/exception/@code) or @nullFlavor] ist required [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:code[concat(@code,@codeSystem)=doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/concept/concat(@code,@codeSystem) or (@nullFlavor=doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/exception/@code) or @nullFlavor])&lt;=1">(LaboratoryObservation): Element hl7:code[concat(@code,@codeSystem)=doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/concept/concat(@code,@codeSystem) or (@nullFlavor=doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/exception/@code) or @nullFlavor] kommt zu häufig vor [max 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:text)&lt;=1">(LaboratoryObservation): Element hl7:text kommt zu häufig vor [max 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:statusCode[@code='completed' or @code='aborted'])&gt;=1 and not(hl7:statusCode[@code='completed' or @code='aborted']/@nullFlavor)">(LaboratoryObservation): Element hl7:statusCode[@code='completed' or @code='aborted'] ist mandatory [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:statusCode[@code='completed' or @code='aborted'])&lt;=1">(LaboratoryObservation): Element hl7:statusCode[@code='completed' or @code='aborted'] kommt zu häufig vor [max 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:effectiveTime)&gt;=1 ">(LaboratoryObservation): Element hl7:effectiveTime ist required [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:effectiveTime)&lt;=1">(LaboratoryObservation): Element hl7:effectiveTime kommt zu häufig vor [max 1x].</assert>
      <let name="elmcount"
           value="count(hl7:value[@xsi:type='PQ']|hl7:value[@xsi:type='IVL_PQ']|hl7:value[@xsi:type='INT']|hl7:value[@xsi:type='IVL_INT']|hl7:value[@xsi:type='BL']|hl7:value[@xsi:type='ST']|hl7:value[@xsi:type='CV']|hl7:value[@xsi:type='TS']|hl7:value[@xsi:type='CD']|hl7:value[@xsi:type='RTO']|hl7:value[@xsi:type='RTO_QTY_QTY']|hl7:value[@xsi:type='RTO_PQ_PQ']|hl7:value[@nullFlavor])"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="$elmcount&lt;=1">(LaboratoryObservation): Auswahl (hl7:value[@xsi:type='PQ'] oder hl7:value[@xsi:type='IVL_PQ'] oder hl7:value[@xsi:type='INT'] oder hl7:value[@xsi:type='IVL_INT'] oder hl7:value[@xsi:type='BL'] oder hl7:value[@xsi:type='ST'] oder hl7:value[@xsi:type='CV'] oder hl7:value[@xsi:type='TS'] oder hl7:value[@xsi:type='CD'] oder hl7:value[@xsi:type='RTO'] oder hl7:value[@xsi:type='RTO_QTY_QTY'] oder hl7:value[@xsi:type='RTO_PQ_PQ'] oder hl7:value[@nullFlavor]) enthält zu viele Elemente [max 1x]</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5'])&lt;=1">(LaboratoryObservation): Element hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5'] kommt zu häufig vor [max 1x].</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.1.6']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.1.6']"
         id="tmp-r-4d7e3628-f43b-479e-9fc5-78943d4e4258">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='II' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:II" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="II"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="string(@root)=('1.3.6.1.4.1.19376.1.3.1.6')">(LaboratoryObservation): Der Wert von @root MUSS '1.3.6.1.4.1.19376.1.3.1.6' sein.</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:id
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:id"
         id="tmp-r-d4a77aff-fc65-495b-8139-d240c7a96d7b">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='II' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:II" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="II"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:code[concat(@code,@codeSystem)=doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/concept/concat(@code,@codeSystem) or (@nullFlavor=doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/exception/@code) or @nullFlavor]
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:code[concat(@code,@codeSystem)=doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/concept/concat(@code,@codeSystem) or (@nullFlavor=doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/exception/@code) or @nullFlavor]"
         id="tmp-r-87aa2910-699b-4504-830e-80337b917a59">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='CE' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:CE" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="CE"/>
      <let name="theCode" value="@code"/>
      <let name="theCodeSystem" value="@codeSystem"/>
      <let name="theCodeSystemVersion" value="@codeSystemVersion"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="@nullFlavor or exists(doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet[conceptList/concept[@code = $theCode][@codeSystem = $theCodeSystem][not(@codeSystemVersion) or @codeSystemVersion=$theCodeSystemVersion] or completeCodeSystem[@codeSystem=$theCodeSystem][not(@codeSystemVersion) or @codeSystemVersion=$theCodeSystemVersion]])">(LaboratoryObservation): Der Elementinhalt MUSS einer von 'ELGA_Laborparameter (DYNAMIC)' sein.</assert>
      <let name="theNullFlavor" value="@nullFlavor"/>
      <let name="validNullFlavorsFound"
           value="exists(doc('include/voc-1.2.40.0.34.10.44-DYNAMIC.xml')/*/valueSet/conceptList/exception[@code = $theNullFlavor][@codeSystem = '2.16.840.1.113883.5.1008'])"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="not(@nullFlavor) or $validNullFlavorsFound">(LaboratoryObservation): Der fehlende Wert '<value-of select="@nullFlavor"/>' für @code MUSS gewählt werden aus dem Set gültiger null flavors für dieses Attribut oder denen assoziiert mit Value Set ELGA_Laborparameter (DYNAMIC).</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="not(@nullFlavor) or @nullFlavor!='OTH' or (hl7:originalText)">(LaboratoryObservation): Wenn code/@nullFlavor=OTH dann MUSS code/originalText und optional code/translation anwesend sein.</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:text
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:text"
         id="tmp-r-531886ac-bebe-4211-a9e4-f645b01f5ffb">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='ED' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:ED" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="ED"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:statusCode[@code='completed' or @code='aborted']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:statusCode[@code='completed' or @code='aborted']"
         id="tmp-r-1b7e1d66-a0da-4711-b5d6-8d5496c46016">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='CS' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:CS" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="CS"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="@nullFlavor or (@code='completed') or (@code='aborted')">(LaboratoryObservation): Der Elementinhalt MUSS einer von 'code 'completed' oder code 'aborted'' sein.</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:effectiveTime
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:effectiveTime"
         id="tmp-r-efbbca10-3881-4eb4-be0c-4b20bd18094b">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='TS' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:TS" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="TS"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='PQ']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='PQ']"
         id="tmp-r-1a793de5-3d1b-4766-8f85-5d2d912a7bbd">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='PQ' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:PQ" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="PQ"/>
      <let name="digitok"
           value="matches(string(@value), '^[-+]?\d*\.?[0-9]+([eE][-+]?\d+)?$')"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="$digitok or @nullFlavor">(LaboratoryObservation): @value ist keine gültige PQ Zahl <value-of select="@value"/>
      </assert>
      <let name="theUnit" value="@unit"/>
      <let name="UCUMtest"
           value="doc('include/voc-UCUM.xml')/*/ucum[@unit=$theUnit]/@message"/>
      <assert role="warning"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="$UCUMtest='OK' or string-length($UCUMtest)=0">(LaboratoryObservation): value/@unit (PQ) MUSS eine gültige UCUM-Einheit sein (<value-of select="$UCUMtest"/>).</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:translation)&lt;=1">(LaboratoryObservation): Element hl7:translation kommt zu häufig vor [max 1x].</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='PQ']/hl7:translation
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='PQ']/hl7:translation"
         id="tmp-r-ed3b0edd-0c64-4685-8a77-a9cbcf70ce2a">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='PQR' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:PQR" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="PQR"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='IVL_PQ']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='IVL_PQ']"
         id="tmp-r-27c1e5dd-b1f3-46c8-9295-ba1e27e787f4">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='IVL_PQ' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:IVL_PQ" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="IVL_PQ"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="not(hl7:low/@value) or matches(string(hl7:low/@value), '^[-+]?\d*\.?[0-9]+([eE][-+]?\d+)?$')">(LaboratoryObservation): value/low @value ist keine gültige PQ Zahl<value-of select="hl7:low/@value"/>
      </assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="not(hl7:high/@value) or matches(string(hl7:high/@value), '^[-+]?\d*\.?[0-9]+([eE][-+]?\d+)?$')">(LaboratoryObservation): value/high @value ist keine gültige PQ Zahl<value-of select="hl7:high/@value"/>
      </assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="not(hl7:center/@value) or matches(string(hl7:center/@value), '^[-+]?\d*\.?[0-9]+([eE][-+]?\d+)?$')">(LaboratoryObservation): value/center @value ist keine gültige PQ Zahl<value-of select="hl7:center/@value"/>
      </assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='INT']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='INT']"
         id="tmp-r-15e869e1-b1a7-4793-a4b9-bcbf1e539eee">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='INT' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:INT" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="INT"/>
      <let name="digitok" value="matches(string(@value), '^-?[1-9]\d*$|^+?\d*$')"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="$digitok or @nullFlavor">(LaboratoryObservation): @value ist keine gültige INT Zahl <value-of select="@value"/>
      </assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='IVL_INT']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='IVL_INT']"
         id="tmp-r-b15609bc-90c9-4599-9d12-69a29c774c76">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='IVL_INT' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:IVL_INT" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="IVL_INT"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='BL']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='BL']"
         id="tmp-r-a361ab57-7223-45d7-93a6-0f72e6f7c88a">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='BL' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:BL" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="BL"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='ST']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='ST']"
         id="tmp-r-1b0cd7c6-83bd-4a53-b0c5-aaba48e8b2c3">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='ST' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:ST" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="ST"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='CV']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='CV']"
         id="tmp-r-aafa4694-3a2d-4299-a66e-aae3a0b2e964">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='CV' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:CV" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="CV"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='TS']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='TS']"
         id="tmp-r-d24490b7-93bf-45f2-ae98-2917a05300cc">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='TS' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:TS" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="TS"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='CD']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='CD']"
         id="tmp-r-f20004c3-573d-4512-ad6b-fe41e8680f8f">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='CD' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:CD" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="CD"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='RTO']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='RTO']"
         id="tmp-r-9c0dc689-acda-494a-92b0-dbed13d73956">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='RTO' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:RTO" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="RTO"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='RTO_QTY_QTY']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='RTO_QTY_QTY']"
         id="tmp-r-228ac114-2e45-4bea-9160-d327c5c81943">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='RTO_QTY_QTY' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:RTO_QTY_QTY" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="RTO_QTY_QTY"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='RTO_PQ_PQ']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@xsi:type='RTO_PQ_PQ']"
         id="tmp-r-a1020a66-9231-4501-a3e9-703af0cce171">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='RTO_PQ_PQ' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:RTO_PQ_PQ" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="RTO_PQ_PQ"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:value[@nullFlavor]
Item: (LaboratoryObservation)
-->

   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:interpretationCode
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:interpretationCode"
         id="tmp-r-536df095-89ad-4cc1-924c-163f0048305d">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='CE' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:CE" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="CE"/>
      <let name="theCode" value="@code"/>
      <let name="theCodeSystem" value="@codeSystem"/>
      <let name="theCodeSystemVersion" value="@codeSystemVersion"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="@nullFlavor or exists(doc('include/voc-1.2.40.0.34.10.13-DYNAMIC.xml')/*/valueSet[conceptList/concept[@code = $theCode][@codeSystem = $theCodeSystem][not(@codeSystemVersion) or @codeSystemVersion=$theCodeSystemVersion] or completeCodeSystem[@codeSystem=$theCodeSystem][not(@codeSystemVersion) or @codeSystemVersion=$theCodeSystemVersion]])">(LaboratoryObservation): Der Elementinhalt MUSS einer von 'ELGA_ObservationInterpretation (DYNAMIC)' sein.</assert>
      <let name="theNullFlavor" value="@nullFlavor"/>
      <let name="validNullFlavorsFound"
           value="exists(doc('include/voc-1.2.40.0.34.10.13-DYNAMIC.xml')/*/valueSet/conceptList/exception[@code = $theNullFlavor][@codeSystem = '2.16.840.1.113883.5.1008'])"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="not(@nullFlavor) or $validNullFlavorsFound">(LaboratoryObservation): Der fehlende Wert '<value-of select="@nullFlavor"/>' für @code MUSS gewählt werden aus dem Set gültiger null flavors für dieses Attribut oder denen assoziiert mit Value Set ELGA_ObservationInterpretation (DYNAMIC).</assert>
   </rule>

   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:entryRelationship[hl7:act[hl7:templateId/@root='1.2.40.0.34.11.4.3.2' and hl7:templateId/@root='2.16.840.1.113883.10.20.1.40' and hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']]
Item: (LaboratoryObservation)
-->
   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:entryRelationship[hl7:act[hl7:templateId/@root='1.2.40.0.34.11.4.3.2' and hl7:templateId/@root='2.16.840.1.113883.10.20.1.40' and hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']]">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="string(@typeCode)=('COMP')">(LaboratoryObservation): Der Wert von @typeCode MUSS 'COMP' sein.</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']"
         id="tmp-r-82ea3f4e-676a-475c-8315-4c90752c76fc">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="string(@typeCode)=('AUTHEN')">(LaboratoryObservation): Der Wert von @typeCode MUSS 'AUTHEN' sein.</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.3.1.5'])&gt;=1 ">(LaboratoryObservation): Element hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.3.1.5'] ist required [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.3.1.5'])&lt;=1">(LaboratoryObservation): Element hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.3.1.5'] kommt zu häufig vor [max 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:time)&gt;=1 ">(LaboratoryObservation): Element hl7:time ist required [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:time)&lt;=1">(LaboratoryObservation): Element hl7:time kommt zu häufig vor [max 1x].</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.3.1.5']
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.3.1.5']"
         id="tmp-r-5d3d5216-2cc7-477e-b093-67bd7ed8f0e4">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='II' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:II" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="II"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="string(@root)=('1.3.6.1.4.1.19376.1.3.3.1.5')">(LaboratoryObservation): Der Wert von @root MUSS '1.3.6.1.4.1.19376.1.3.3.1.5' sein.</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:time
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:time"
         id="tmp-r-51c18941-22bf-4907-a31e-71105848fd31">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='IVL_TS' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:IVL_TS" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="IVL_TS"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:participantRole
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:participantRole"
         id="tmp-r-bc1043f9-859f-4943-8488-c9d58e1b7c7a">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:id)&gt;=1 and not(hl7:id/@nullFlavor)">(LaboratoryObservation): Element hl7:id ist mandatory [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:id)&lt;=1">(LaboratoryObservation): Element hl7:id kommt zu häufig vor [max 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:addr)&gt;=1 ">(LaboratoryObservation): Element hl7:addr ist required [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:addr)&lt;=1">(LaboratoryObservation): Element hl7:addr kommt zu häufig vor [max 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:telecom)&gt;=1 ">(LaboratoryObservation): Element hl7:telecom ist required [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:playingEntity)&gt;=1 and not(hl7:playingEntity/@nullFlavor)">(LaboratoryObservation): Element hl7:playingEntity ist mandatory [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:playingEntity)&lt;=1">(LaboratoryObservation): Element hl7:playingEntity kommt zu häufig vor [max 1x].</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:participantRole/hl7:id
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:participantRole/hl7:id"
         id="tmp-r-2ecfbf74-8dc8-4977-b429-fb8143631104">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='II' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:II" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="II"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:participantRole/hl7:addr
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:participantRole/hl7:addr"
         id="tmp-r-6f21cb93-f2d1-4348-afa3-b51270114ea4">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='AD' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:AD" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="AD"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:participantRole/hl7:telecom
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:participantRole/hl7:telecom"
         id="tmp-r-3d7561bd-c886-4b10-9483-54a50abe230d">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='TEL' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:TEL" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="TEL.AT"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:participantRole/hl7:playingEntity
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:participantRole/hl7:playingEntity"
         id="tmp-r-14574dfb-1d67-4122-887b-077661ad13bf">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:name)&gt;=1 and not(hl7:name/@nullFlavor)">(LaboratoryObservation): Element hl7:name ist mandatory [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:name)&lt;=1">(LaboratoryObservation): Element hl7:name kommt zu häufig vor [max 1x].</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:participantRole/hl7:playingEntity/hl7:name
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.5']/hl7:participantRole/hl7:playingEntity/hl7:name"
         id="tmp-r-dcf4a937-4b49-45e1-ad0f-13c6119d378a">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='PN' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:PN" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="PN"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange"
         id="tmp-r-1d6a3402-489d-46ec-a6ba-8bfc13f797e1">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="string(@typeCode)=('REFV')">(LaboratoryObservation): Der Wert von @typeCode MUSS 'REFV' sein.</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:observationRange)&gt;=1 and not(hl7:observationRange/@nullFlavor)">(LaboratoryObservation): Element hl7:observationRange ist mandatory [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:observationRange)&lt;=1">(LaboratoryObservation): Element hl7:observationRange kommt zu häufig vor [max 1x].</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange"
         id="tmp-r-38b34e6a-0a06-4c38-90c9-5153ffb7efaf">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="string(@classCode)=('OBS')">(LaboratoryObservation): Der Wert von @classCode MUSS 'OBS' sein.</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="string(@moodCode)=('EVN.CRT')">(LaboratoryObservation): Der Wert von @moodCode MUSS 'EVN.CRT' sein.</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:text)&gt;=1 and not(hl7:text/@nullFlavor)">(LaboratoryObservation): Element hl7:text ist mandatory [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:text)&lt;=1">(LaboratoryObservation): Element hl7:text kommt zu häufig vor [max 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:value)&lt;=1">(LaboratoryObservation): Element hl7:value kommt zu häufig vor [max 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:interpretationCode[(@code='N' and @codeSystem='2.16.840.1.113883.5.83')])&gt;=1 and not(hl7:interpretationCode[(@code='N' and @codeSystem='2.16.840.1.113883.5.83')]/@nullFlavor)">(LaboratoryObservation): Element hl7:interpretationCode[(@code='N' and @codeSystem='2.16.840.1.113883.5.83')] ist mandatory [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:interpretationCode[(@code='N' and @codeSystem='2.16.840.1.113883.5.83')])&lt;=1">(LaboratoryObservation): Element hl7:interpretationCode[(@code='N' and @codeSystem='2.16.840.1.113883.5.83')] kommt zu häufig vor [max 1x].</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange/hl7:text
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange/hl7:text"
         id="tmp-r-6c397be8-6bf4-451f-96fd-9b9095f12fad">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='ED' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:ED" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="ED"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:reference)&gt;=1 and not(hl7:reference/@nullFlavor)">(LaboratoryObservation): Element hl7:reference ist mandatory [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:reference)&lt;=1">(LaboratoryObservation): Element hl7:reference kommt zu häufig vor [max 1x].</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange/hl7:text/hl7:reference
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange/hl7:text/hl7:reference"
         id="tmp-r-a30cdd30-a986-4918-9810-48ca67c40634">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='TEL' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:TEL" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="TEL"/>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange/hl7:value
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange/hl7:value"
         id="tmp-r-a94ae3af-1525-4652-9db8-1502f00df1de">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='IVL_PQ' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:IVL_PQ" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="IVL_PQ"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="not(hl7:low/@value) or matches(string(hl7:low/@value), '^[-+]?\d*\.?[0-9]+([eE][-+]?\d+)?$')">(LaboratoryObservation): value/low @value ist keine gültige PQ Zahl<value-of select="hl7:low/@value"/>
      </assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="not(hl7:high/@value) or matches(string(hl7:high/@value), '^[-+]?\d*\.?[0-9]+([eE][-+]?\d+)?$')">(LaboratoryObservation): value/high @value ist keine gültige PQ Zahl<value-of select="hl7:high/@value"/>
      </assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="not(hl7:center/@value) or matches(string(hl7:center/@value), '^[-+]?\d*\.?[0-9]+([eE][-+]?\d+)?$')">(LaboratoryObservation): value/center @value ist keine gültige PQ Zahl<value-of select="hl7:center/@value"/>
      </assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:low)&gt;=1 ">(LaboratoryObservation): Element hl7:low ist required [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:low)&lt;=1">(LaboratoryObservation): Element hl7:low kommt zu häufig vor [max 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:high)&gt;=1 ">(LaboratoryObservation): Element hl7:high ist required [min 1x].</assert>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="count(hl7:high)&lt;=1">(LaboratoryObservation): Element hl7:high kommt zu häufig vor [max 1x].</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange/hl7:value/hl7:low
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange/hl7:value/hl7:low"
         id="tmp-r-f46162e0-0e4a-4626-bf5e-47d0afd4def6">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='PQ' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:PQ" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="PQ"/>
      <let name="digitok"
           value="matches(string(@value), '^[-+]?\d*\.?[0-9]+([eE][-+]?\d+)?$')"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="$digitok or @nullFlavor">(LaboratoryObservation): @value ist keine gültige PQ Zahl <value-of select="@value"/>
      </assert>
      <let name="theUnit" value="@unit"/>
      <let name="UCUMtest"
           value="doc('include/voc-UCUM.xml')/*/ucum[@unit=$theUnit]/@message"/>
      <assert role="warning"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="$UCUMtest='OK' or string-length($UCUMtest)=0">(LaboratoryObservation): value/@unit (PQ) MUSS eine gültige UCUM-Einheit sein (<value-of select="$UCUMtest"/>).</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange/hl7:value/hl7:high
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange/hl7:value/hl7:high"
         id="tmp-r-116c7a4c-42f3-426c-a897-d7e8df5854e8">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='PQ' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:PQ" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="PQ"/>
      <let name="digitok"
           value="matches(string(@value), '^[-+]?\d*\.?[0-9]+([eE][-+]?\d+)?$')"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="$digitok or @nullFlavor">(LaboratoryObservation): @value ist keine gültige PQ Zahl <value-of select="@value"/>
      </assert>
      <let name="theUnit" value="@unit"/>
      <let name="UCUMtest"
           value="doc('include/voc-UCUM.xml')/*/ucum[@unit=$theUnit]/@message"/>
      <assert role="warning"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="$UCUMtest='OK' or string-length($UCUMtest)=0">(LaboratoryObservation): value/@unit (PQ) MUSS eine gültige UCUM-Einheit sein (<value-of select="$UCUMtest"/>).</assert>
   </rule>
   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange/hl7:interpretationCode[(@code='N' and @codeSystem='2.16.840.1.113883.5.83')]
Item: (LaboratoryObservation)
-->

   <rule context="*[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:referenceRange/hl7:observationRange/hl7:interpretationCode[(@code='N' and @codeSystem='2.16.840.1.113883.5.83')]"
         id="tmp-r-2cd106cd-758b-40c5-a835-547d5d90118f">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='CE' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(LaboratoryObservation): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:CE" haben, gefunden "{<value-of select="namespace-uri-from-QName(resolve-QName(@xsi:type,.))"/>}:<value-of select="local-name-from-QName(resolve-QName(@xsi:type,.))"/>"</assert>
      <extends rule="CE"/>
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2015-03-26T000000.html"
              test="@nullFlavor or (@code='N' and @codeSystem='2.16.840.1.113883.5.83')">(LaboratoryObservation): Der Elementinhalt MUSS einer von 'code 'N' codeSystem '2.16.840.1.113883.5.83'' sein.</assert>
   </rule>

   <!--
Template derived rules for ID: 1.3.6.1.4.1.19376.1.3.1.6
Context: *[hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']]/hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.1.6']/hl7:performer[hl7:templateId/@root='1.2.40.0.34.11.4.3.3']
Item: (LaboratoryObservation)
--></pattern>
