<?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-2013-11-07T000000">
   <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-1a30ee58-449c-4667-a945-45df5a652ca9">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.html"
              test="count(hl7:effectiveTime)&lt;=1">(LaboratoryObservation): Element hl7:effectiveTime 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-2013-11-07T000000.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-2013-11-07T000000.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-28c0f26c-1d1e-451b-985e-85fa8377739c">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-43935f2d-f875-406b-a78f-0a72059503a0">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-9ed3da1a-2f7b-494c-9b7f-688e47e50e28">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.html"
              test="not(@nullFlavor) or @nullFlavor!='OTH' or (hl7:originalText and hl7:translation)">(LaboratoryObservation): Wenn code/@nullFlavor=OTH dann MUSS code/originalText und 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-64cb9975-9d4b-42a4-91db-29e33e41bdbe">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-898a6b93-efa1-4bd1-8cea-d0bed1c407e5">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-d499eeb6-29ad-4eca-bc15-50e6e42cea7a">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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
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"
         id="tmp-r-77bb0aa9-a8c3-4cf4-b7ac-e72d5404baff">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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/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/hl7:translation"
         id="tmp-r-80444a23-980a-4ea0-bbb7-b2bbd40c02c1">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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: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-caf19bd2-4592-4a0a-883f-f421b8506197">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-50c2df33-88a3-4d66-bc09-95d828215fd5">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-1410dceb-1624-416c-8baf-f8422a64a5f6">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-c2360958-2513-4088-b955-153ddef3e8de">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-4650f8a8-a34e-4641-8db3-e838c7e7f83b">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-970367d8-921f-4576-903a-c8dabc77640a">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-5da4217c-3f4a-4336-bb2d-3436fe2eca6a">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-20fe9443-6acf-4720-b322-ad78e0a74aa1">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-9041725a-79bc-4219-94be-8644461326f0">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-3f3d56a0-492f-488e-b273-232f85060bb1">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-27e46cf3-f31e-4aa8-8de8-c3c735c68443">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-d3e405d5-0131-433c-b346-853a090bb2e0">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-1dcb829d-dcaf-4d45-a6c8-3532e1cdbd33">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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: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-09ea734c-fee3-4cbb-a976-a50fbae1b270">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-4901dcc7-ccca-4cf7-9dd7-4cdcf601ed58">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-7062794f-2862-450e-9fc6-45a3c3b5c360">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-b1334ee4-ce20-4ed4-8600-aa97eb2b0220">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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.3.6.1.4.1.19376.1.3.3.1.7']
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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']"
         id="tmp-r-409d306e-f3d3-4557-819b-3c20e9bdc6c3">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.html"
              test="string(@typeCode)=('PRF')">(LaboratoryObservation): Der Wert von @typeCode MUSS 'PRF' 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-2013-11-07T000000.html"
              test="count(hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.3.1.7'])&gt;=1 ">(LaboratoryObservation): Element hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.3.1.7'] 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-2013-11-07T000000.html"
              test="count(hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.3.1.7'])&lt;=1">(LaboratoryObservation): Element hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.3.1.7'] 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-2013-11-07T000000.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-2013-11-07T000000.html"
              test="count(hl7:time)&lt;=1">(LaboratoryObservation): Element hl7:time 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-2013-11-07T000000.html"
              test="count(hl7:assignedEntity)&gt;=1 and not(hl7:assignedEntity/@nullFlavor)">(LaboratoryObservation): Element hl7:assignedEntity 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-2013-11-07T000000.html"
              test="count(hl7:assignedEntity)&lt;=1">(LaboratoryObservation): Element hl7:assignedEntity 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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.3.1.7']
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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.3.3.1.7']"
         id="tmp-r-e7c26af1-dca8-4d13-9617-eb64821130e4">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.html"
              test="string(@root)=('1.3.6.1.4.1.19376.1.3.3.1.7')">(LaboratoryObservation): Der Wert von @root MUSS '1.3.6.1.4.1.19376.1.3.3.1.7' 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.3.6.1.4.1.19376.1.3.3.1.7']/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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:time"
         id="tmp-r-aa63a78f-5a78-42b7-a237-7b0ccfbb9a09">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity
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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity"
         id="tmp-r-bb2c8535-04f6-4561-8d77-ce82d5f8a5a4">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.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-2013-11-07T000000.html"
              test="count(hl7:assignedPerson)&gt;=1 and not(hl7:assignedPerson/@nullFlavor)">(LaboratoryObservation): Element hl7:assignedPerson 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-2013-11-07T000000.html"
              test="count(hl7:assignedPerson)&lt;=1">(LaboratoryObservation): Element hl7:assignedPerson 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-2013-11-07T000000.html"
              test="count(hl7:representedOrganization)&gt;=1 and not(hl7:representedOrganization/@nullFlavor)">(LaboratoryObservation): Element hl7:representedOrganization 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-2013-11-07T000000.html"
              test="count(hl7:representedOrganization)&lt;=1">(LaboratoryObservation): Element hl7:representedOrganization 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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:id"
         id="tmp-r-d92806cd-68f7-4fdf-adf3-0c7e3a1a5726">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:addr"
         id="tmp-r-f44518d1-7905-4192-8f70-7e8bc78aeb31">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:telecom"
         id="tmp-r-d1f345da-9236-405e-be1c-d36adbf2641a">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:assignedPerson
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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:assignedPerson"
         id="tmp-r-432f9c37-29a8-4d21-89a0-21be6e753769">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.html"
              test="string(@classCode)=('PSN') or not(@classCode)">(LaboratoryObservation): Der Wert von @classCode MUSS 'PSN' 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-2013-11-07T000000.html"
              test="string(@determinerCode)=('INSTANCE') or not(@determinerCode)">(LaboratoryObservation): Der Wert von @determinerCode MUSS 'INSTANCE' 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-2013-11-07T000000.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-2013-11-07T000000.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.2.40.0.34.11.90001
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.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:assignedPerson/hl7:name
Item: (PersonElements)
-->

   <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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:assignedPerson/hl7:name"
         id="tmp-r-8994e81e-b8e6-45a4-96c6-0f4b7ad43019">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.2.40.0.34.11.90001-2011-12-19T000000.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)">(PersonElements): 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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:representedOrganization
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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:representedOrganization"
         id="tmp-r-e05d6180-eb48-48ae-b573-a0f9f19f6aec">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.3.6.1.4.1.19376.1.3.1.6-2013-11-07T000000.html"
              test="string(@classCode)=('ORG') or not(@classCode)">(LaboratoryObservation): Der Wert von @classCode MUSS 'ORG' 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-2013-11-07T000000.html"
              test="string(@determinerCode)=('INSTANCE') or not(@determinerCode)">(LaboratoryObservation): Der Wert von @determinerCode MUSS 'INSTANCE' 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-2013-11-07T000000.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-2013-11-07T000000.html"
              test="count(hl7:name)&lt;=1">(LaboratoryObservation): Element hl7:name 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-2013-11-07T000000.html"
              test="count(hl7:addr)&lt;=1">(LaboratoryObservation): Element hl7:addr kommt zu häufig vor [max 1x].</assert>
   </rule>
   <!--
Template derived rules for ID: 1.2.40.0.34.11.90002
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.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:representedOrganization/hl7:id
Item: (OrganizationElements)
-->

   <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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:representedOrganization/hl7:id"
         id="tmp-r-f49a46e5-aa98-4c72-aef2-7bf07cada40c">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.2.40.0.34.11.90002-2011-12-19T000000.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)">(OrganizationElements): 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.2.40.0.34.11.90002
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.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:representedOrganization/hl7:name
Item: (OrganizationElements)
-->

   <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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:representedOrganization/hl7:name"
         id="tmp-r-0cb2898c-c294-4d42-88bb-64db1fdec4d4">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.2.40.0.34.11.90002-2011-12-19T000000.html"
              test="(local-name-from-QName(resolve-QName(@xsi:type,.))='ON' and namespace-uri-from-QName(resolve-QName(@xsi:type,.))='urn:hl7-org:v3') or not(@xsi:type)">(OrganizationElements): Wenn eine @xsi:type Instruktion anwesend ist MUSS diese den Wert "{urn:hl7-org:v3}:ON" 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="ON"/>
   </rule>
   <!--
Template derived rules for ID: 1.2.40.0.34.11.90002
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.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom
Item: (OrganizationElements)
-->

   <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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom"
         id="tmp-r-90efe72a-8f5b-4f4c-a017-41207c79d7a3">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.2.40.0.34.11.90002-2011-12-19T000000.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)">(OrganizationElements): 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.2.40.0.34.11.90002
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.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:representedOrganization/hl7:addr
Item: (OrganizationElements)
-->

   <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:performer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.3.3.1.7']/hl7:assignedEntity/hl7:representedOrganization/hl7:addr"
         id="tmp-r-e1f87c6b-0a2f-4aa3-aa7f-5af678788da7">
      <assert role="error"
              see="http://elga.art-decor.org/elga-html-20150713T115013/tmp-1.2.40.0.34.11.90002-2011-12-19T000000.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)">(OrganizationElements): 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>
</pattern>
