[Mpuls-commits] r3891 - waska/trunk

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Wed Oct 6 11:40:22 CEST 2010


Author: torsten
Date: 2010-10-06 11:40:22 +0200 (Wed, 06 Oct 2010)
New Revision: 3891

Modified:
   waska/trunk/tagging.xml
Log:
* tagging.xml: New tagging.xml including all tags for rules


Modified: waska/trunk/tagging.xml
===================================================================
--- waska/trunk/tagging.xml	2010-10-05 16:33:51 UTC (rev 3890)
+++ waska/trunk/tagging.xml	2010-10-06 09:40:22 UTC (rev 3891)
@@ -1,4 +1,5 @@
 <checks>
+  <!-- Dummytag. Jede Fallakte braucht derzeit einen Tag -->
   <check tagid="0">
     <name>Alle</name>
     <desc>Jede Fallakte hat einen Tag</desc>
@@ -9,37 +10,421 @@
       <sql>SELECT id from ( %(table)s ) m</sql>
     </deltag>
   </check>
-  <check tagid="1">
-    <name>Konsistent</name>
-    <desc>Eine Fallakte ist konsistent, wenn alle Angaben bis zu jeweiligen
-    Phase widerspruchsfrei sind.</desc>
+  <!-- Automatisch auf Regeln basierende generiete Inkonsistenzen  -->
+  <check tagid="1000">
+    <name>Mindestdatum nicht gegeben</name>
+    <desc>Das Datum muss vor dem 1.1.1970 liegen</desc>
     <addtag>
-      <sql>SELECT id from ( %(table)s ) m WHERE phase != -1 
-	AND (coalesce(erstgespraech,'0001-01-01'::date) &lt;= now() 
-		AND coalesce(datum_feststellung,'0001-01-01'::date) &lt;= now() 
-		AND coalesce(beendigung_5,'0001-01-01'::date) &lt;= now() 
-		AND coalesce(beendigung_nachbetreuung,'0001-01-01'::date) &lt;= now() 
-		AND coalesce(datum_ende_beratung,'0001-01-01'::date) &lt;= now())</sql>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( erstgespraech IS NOT NULL ) AND ( erstgespraech != '0001-01-01' AND erstgespraech &lt; now() ) ) ) ) )</sql>
     </addtag>
     <deltag>
-      <sql>SELECT id from ( %(table)s ) m</sql>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
     </deltag>
   </check>
-  <check tagid="2">
-    <name>Vollständig</name>
-    <desc>Eine Akte ist vollständig, wenn alle Pflichtfeldangaben bis zur aktuellen Phase ungleich "keine Angabe" sind. Die Fallakte muss zudem in sich konsistent sein.</desc>
+  <check tagid="101">
+    <name>CM nur startbar wenn letzte Jahr und Prognose</name>
+    <desc>Sch&#xFC;ler/innen d&#xFC;rfen nur dann ins Case Managagement aufgenommen werden, wenn sie sich im letzten Schulbesuchsjahr befinden und eine &#xDC;bergangsprognose vorliegt.</desc>
     <addtag>
-      <sql>SELECT DISTINCT m.id from ( %(table)s ) m JOIN nm_tags_cases_view t ON t.case_id = m.id WHERE (TRUE) AND t.tag_id = 1; 
-      </sql>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( 23 = zugang_kompetenzagentur AND ( 1 = letzte_jahr_allg_schule AND 0 = prognose_liegt_vor ) ) OR ( 23 = zugang_kompetenzagentur AND 0 = letzte_jahr_allg_schule ) ) AND 2 = phase ) ) ) )</sql>
     </addtag>
     <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="102">
+    <name>CM nur startbar wenn letzte Jahr und Prognose</name>
+    <desc>Sch&#xFC;ler/innen d&#xFC;rfen nur dann ins Case Managagement aufgenommen werden, wenn sie sich im letzten Schulbesuchsjahr befinden und eine &#xDC;bergangsprognose vorliegt.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( 23 = zugang_kompetenzagentur AND ( 1 = letzte_jahr_allg_schule AND 0 = prognose_liegt_vor ) ) OR ( 23 = zugang_kompetenzagentur AND 0 = letzte_jahr_allg_schule ) ) AND 3 = phase ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="103">
+    <name>CM nur startbar wenn letzte Jahr und Prognose</name>
+    <desc>Sch&#xFC;ler/innen d&#xFC;rfen nur dann ins Case Managagement aufgenommen werden, wenn sie sich im letzten Schulbesuchsjahr befinden und eine &#xDC;bergangsprognose vorliegt.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( 23 = zugang_kompetenzagentur AND ( 1 = letzte_jahr_allg_schule AND 0 = prognose_liegt_vor ) ) OR ( 23 = zugang_kompetenzagentur AND 4 = letzte_jahr_allg_schule ) ) AND 4 = phase ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="104">
+    <name>CM nur startbar wenn letzte Jahr und Prognose</name>
+    <desc>Sch&#xFC;ler/innen d&#xFC;rfen nur dann ins Case Managagement aufgenommen werden, wenn sie sich im letzten Schulbesuchsjahr befinden und eine &#xDC;bergangsprognose vorliegt.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( 23 = zugang_kompetenzagentur AND ( 1 = letzte_jahr_allg_schule AND 0 = prognose_liegt_vor ) ) OR ( 23 = zugang_kompetenzagentur AND 0 = letzte_jahr_allg_schule ) ) AND 5 = phase ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1005">
+    <name>"erstgespraech" muss vor "beendigung_nachbetreuung" liegen.</name>
+    <desc>"Datum des Erstgespr&#xE4;ches mit dem Jugendlichen" darf zeitlich nicht nach "Datum des Ende der Nachbetreuung" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( erstgespraech IS NOT NULL ) AND erstgespraech != '0001-01-01' ) AND ( ( beendigung_nachbetreuung IS NOT NULL ) AND beendigung_nachbetreuung != '0001-01-01' ) ) AND erstgespraech &gt; beendigung_nachbetreuung ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1006">
+    <name>"erstgespraech" muss vor "datum_feststellung" liegen.</name>
+    <desc>"Datum des Erstgespr&#xE4;ches mit dem Jugendlichen" darf zeitlich nicht nach "Datum der Entscheidung" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( erstgespraech IS NOT NULL ) AND erstgespraech != '0001-01-01' ) AND ( ( datum_feststellung IS NOT NULL ) AND datum_feststellung != '0001-01-01' ) ) AND erstgespraech &gt; datum_feststellung ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1007">
+    <name>"geburtsdatum" muss vor "erstgespraech" liegen.</name>
+    <desc>"Geburtsdatum" darf zeitlich nicht nach "Datum des Erstgespr&#xE4;ches mit dem Jugendlichen" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( geburtsdatum IS NOT NULL ) AND geburtsdatum != '0001-01-01' ) AND ( ( erstgespraech IS NOT NULL ) AND erstgespraech != '0001-01-01' ) ) AND geburtsdatum &gt; erstgespraech ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1008">
+    <name>"erstgespraech" muss vor "datum_ende_beratung" liegen.</name>
+    <desc>"Datum des Erstgespr&#xE4;ches mit dem Jugendlichen" darf zeitlich nicht nach "Datum Beratungsende" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( erstgespraech IS NOT NULL ) AND erstgespraech != '0001-01-01' ) AND ( ( datum_ende_beratung IS NOT NULL ) AND datum_ende_beratung != '0001-01-01' ) ) AND erstgespraech &gt; datum_ende_beratung ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1009">
+    <name>"erstgespraech" muss vor "beendigung_5" liegen.</name>
+    <desc>"Datum des Erstgespr&#xE4;ches mit dem Jugendlichen" darf zeitlich nicht nach "Beendigung CM (Datum)" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( erstgespraech IS NOT NULL ) AND erstgespraech != '0001-01-01' ) AND ( ( beendigung_5 IS NOT NULL ) AND beendigung_5 != '0001-01-01' ) ) AND erstgespraech &gt; beendigung_5 ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1010">
+    <name>"erstgespraech" darf nicht in der Zukunft liegen.</name>
+    <desc>"Datum des Erstgespr&#xE4;ches mit dem Jugendlichen" darf nicht in der Zukunft liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( erstgespraech IS NOT NULL ) AND erstgespraech != '0001-01-01' ) AND erstgespraech &gt;= now() ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="105">
+    <name>Das Geburtsdatum darf nicht in der Zukunft liegen</name>
+    <desc>Das Datum darf nicht in der Zukunft liegen</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( geburtsdatum IS NOT NULL ) AND geburtsdatum &gt; now() ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1012">
+    <name>"geburtsdatum" muss vor "beendigung_5" liegen.</name>
+    <desc>"Geburtsdatum" darf zeitlich nicht nach "Beendigung CM (Datum)" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( geburtsdatum IS NOT NULL ) AND geburtsdatum != '0001-01-01' ) AND ( ( beendigung_5 IS NOT NULL ) AND beendigung_5 != '0001-01-01' ) ) AND geburtsdatum &gt; beendigung_5 ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1013">
+    <name>"geburtsdatum" muss vor "datum_feststellung" liegen.</name>
+    <desc>"Geburtsdatum" darf zeitlich nicht nach "Datum der Entscheidung" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( geburtsdatum IS NOT NULL ) AND geburtsdatum != '0001-01-01' ) AND ( ( datum_feststellung IS NOT NULL ) AND datum_feststellung != '0001-01-01' ) ) AND geburtsdatum &gt; datum_feststellung ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1014">
+    <name>"geburtsdatum" muss vor "beendigung_nachbetreuung" liegen.</name>
+    <desc>"Geburtsdatum" darf zeitlich nicht nach "Datum des Ende der Nachbetreuung" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( geburtsdatum IS NOT NULL ) AND geburtsdatum != '0001-01-01' ) AND ( ( beendigung_nachbetreuung IS NOT NULL ) AND beendigung_nachbetreuung != '0001-01-01' ) ) AND geburtsdatum &gt; beendigung_nachbetreuung ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1015">
+    <name>"geburtsdatum" muss vor "datum_ende_beratung" liegen.</name>
+    <desc>"Geburtsdatum" darf zeitlich nicht nach "Datum Beratungsende" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( geburtsdatum IS NOT NULL ) AND geburtsdatum != '0001-01-01' ) AND ( ( datum_ende_beratung IS NOT NULL ) AND datum_ende_beratung != '0001-01-01' ) ) AND geburtsdatum &gt; datum_ende_beratung ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1016">
+    <name>"geburtsdatum" darf nicht in der Zukunft liegen.</name>
+    <desc>"Geburtsdatum" darf nicht in der Zukunft liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( geburtsdatum IS NOT NULL ) AND geburtsdatum != '0001-01-01' ) AND geburtsdatum &gt;= now() ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="106">
+    <name>cm nur startbar wenn notwendigkeit besteht</name>
+    <desc>Die Angabe steht im Widerspruch zur aktuell laufenden Phase</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( 0 = kompetenzfeststellung OR -1 = kompetenzfeststellung ) OR -3 = kompetenzfeststellung ) AND 2 = phase ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="107">
+    <name>cm nur startbar wenn notwendigkeit besteht</name>
+    <desc>Die Angabe steht im Widerspruch zur aktuell laufenden Phase</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( 0 = kompetenzfeststellung OR -1 = kompetenzfeststellung ) OR -3 = kompetenzfeststellung ) AND 3 = phase ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="108">
+    <name>cm nur startbar wenn notwendigkeit besteht</name>
+    <desc>Die Angabe steht im Widerspruch zur aktuell laufenden Phase</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( 0 = kompetenzfeststellung OR -1 = kompetenzfeststellung ) OR -3 = kompetenzfeststellung ) AND 4 = phase ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="109">
+    <name>cm nur startbar wenn notwendigkeit besteht</name>
+    <desc>Die Angabe steht im Widerspruch zur aktuell laufenden Phase</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( 0 = kompetenzfeststellung OR -1 = kompetenzfeststellung ) OR -3 = kompetenzfeststellung ) AND 5 = phase ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="110">
+    <name>ber nur startbar wenn keine notwendigkeit besteht</name>
+    <desc>Die Angabe steht im Widerspruch zur aktuell laufenden Phase</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( 1 = kompetenzfeststellung OR -1 = kompetenzfeststellung ) OR -3 = kompetenzfeststellung ) AND 6 = phase ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="111">
+    <name>ber nur startbar wenn keine notwendigkeit besteht</name>
+    <desc>Die Angabe steht im Widerspruch zur aktuell laufenden Phase</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( 1 = kompetenzfeststellung OR -1 = kompetenzfeststellung ) OR -3 = kompetenzfeststellung ) AND 7 = phase ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="112">
+    <name/>
+    <desc>Das Datum darf nicht vor dem 1.9.2010 liegen</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( datum_feststellung IS NOT NULL ) AND datum_feststellung &lt; now() ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1024">
+    <name>"datum_feststellung" muss vor "beendigung_5" liegen.</name>
+    <desc>"Datum der Entscheidung" darf zeitlich nicht nach "Beendigung CM (Datum)" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( datum_feststellung IS NOT NULL ) AND datum_feststellung != '0001-01-01' ) AND ( ( beendigung_5 IS NOT NULL ) AND beendigung_5 != '0001-01-01' ) ) AND datum_feststellung &gt; beendigung_5 ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1025">
+    <name>"datum_feststellung" muss vor "datum_ende_beratung" liegen.</name>
+    <desc>"Datum der Entscheidung" darf zeitlich nicht nach "Datum Beratungsende" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( datum_feststellung IS NOT NULL ) AND datum_feststellung != '0001-01-01' ) AND ( ( datum_ende_beratung IS NOT NULL ) AND datum_ende_beratung != '0001-01-01' ) ) AND datum_feststellung &gt; datum_ende_beratung ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1026">
+    <name>"datum_feststellung" muss vor "beendigung_nachbetreuung" liegen.</name>
+    <desc>"Datum der Entscheidung" darf zeitlich nicht nach "Datum des Ende der Nachbetreuung" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( datum_feststellung IS NOT NULL ) AND datum_feststellung != '0001-01-01' ) AND ( ( beendigung_nachbetreuung IS NOT NULL ) AND beendigung_nachbetreuung != '0001-01-01' ) ) AND datum_feststellung &gt; beendigung_nachbetreuung ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1027">
+    <name>"datum_feststellung" darf nicht in der Zukunft liegen.</name>
+    <desc>"Datum der Entscheidung" darf nicht in der Zukunft liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( datum_feststellung IS NOT NULL ) AND datum_feststellung != '0001-01-01' ) AND datum_feststellung &gt;= now() ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="113">
+    <name>phase ea nicht l&#xE4;nger als 36 monate</name>
+    <desc>Die eingetragenen Datumsangaben sind offensichtlich falsch und &#xFC;berschreiten die maximale Dauer der Phase "Eingangsanamnese". Bitte korrigieren Sie Ihre Angaben, da die Fallakte andernfalls nicht auswertbar ist.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( erstgespraech IS NOT NULL ) AND erstgespraech != '0001-01-01' ) AND ( ( datum_feststellung IS NOT NULL ) AND datum_feststellung != '0001-01-01' ) ) AND abs(datum_feststellung - erstgespraech) &gt; 1116 ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="114">
+    <name>phase ber nicht l&#xE4;nger als 60 monate</name>
+    <desc>Die eingetragenen Datumsangaben sind offensichtlich falsch und &#xFC;berschreiten die maximale Dauer der Phase "Beratung". Bitte korrigieren Sie Ihre Angaben, da die Fallakte andernfalls nicht auswertbar ist.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( datum_feststellung IS NOT NULL ) AND ( datum_ende_beratung IS NOT NULL ) ) AND ( datum_feststellung != '0001-01-01' AND datum_ende_beratung != '0001-01-01' ) ) AND abs(datum_ende_beratung - datum_feststellung) &gt; 1860 ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1030">
+    <name>"datum_ende_beratung" darf nicht in der Zukunft liegen.</name>
+    <desc>"Datum Beratungsende" darf nicht in der Zukunft liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( datum_ende_beratung IS NOT NULL ) AND datum_ende_beratung != '0001-01-01' ) AND datum_ende_beratung &gt;= now() ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="115">
+    <name/>
+    <desc>Das Datum darf nicht vor dem 1.9.2010 liegen</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( beendigung_5 IS NOT NULL ) AND beendigung_5 &lt; now() ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1032">
+    <name>"beendigung_5" muss vor "beendigung_nachbetreuung" liegen.</name>
+    <desc>"Beendigung CM (Datum)" darf zeitlich nicht nach "Datum des Ende der Nachbetreuung" liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( beendigung_5 IS NOT NULL ) AND beendigung_5 != '0001-01-01' ) AND ( ( beendigung_nachbetreuung IS NOT NULL ) AND beendigung_nachbetreuung != '0001-01-01' ) ) AND beendigung_5 &gt; beendigung_nachbetreuung ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1033">
+    <name>"beendigung_5" darf nicht in der Zukunft liegen.</name>
+    <desc>"Beendigung CM (Datum)" darf nicht in der Zukunft liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( beendigung_5 IS NOT NULL ) AND beendigung_5 != '0001-01-01' ) AND beendigung_5 &gt;= now() ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="116">
+    <name>phase cm nicht l&#xE4;nger als 60 monate</name>
+    <desc>Die eingetragenen Datumsangaben sind offensichtlich falsch und &#xFC;berschreiten die maximale Dauer der Phase "Case Management". Bitte korrigieren Sie Ihre Angaben, da die Fallakte andernfalls nicht auswertbar ist.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( datum_feststellung IS NOT NULL ) AND ( beendigung_5 IS NOT NULL ) ) AND ( datum_feststellung != '0001-01-01' AND beendigung_5 != '0001-01-01' ) ) AND abs(beendigung_5 - datum_feststellung) &gt; 1860 ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="117">
+    <name>Nachbetreuung nur startbar wenn Art der Beendigung nicht Abbruch ist</name>
+    <desc>Die Angabe steht im Widerspruch zur aktuell laufenden Phase</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( 1 = art_beendigung AND 4 = phase ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="118">
+    <name>Nachbetreuung nur startbar wenn Art der Beendigung nicht Abbruch ist</name>
+    <desc>Die Angabe steht im Widerspruch zur aktuell laufenden Phase</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( 1 = art_beendigung AND 5 = phase ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="119">
+    <name>phase nb nicht l&#xE4;nger als 36 monate</name>
+    <desc>Die eingetragenen Datumsangaben sind offensichtlich falsch und &#xFC;berschreiten die maximale Dauer der Phase "Nachbetreuung". Bitte korrigieren Sie Ihre Angaben, da die Fallakte andernfalls nicht auswertbar ist.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( ( beendigung_5 IS NOT NULL ) AND ( beendigung_nachbetreuung IS NOT NULL ) ) AND ( beendigung_5 != '0001-01-01' AND beendigung_nachbetreuung != '0001-01-01' ) ) AND abs(beendigung_nachbetreuung - beendigung_5) &gt; 1116 ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="1038">
+    <name>"beendigung_nachbetreuung" darf nicht in der Zukunft liegen.</name>
+    <desc>"Datum des Ende der Nachbetreuung" darf nicht in der Zukunft liegen.</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( ( beendigung_nachbetreuung IS NOT NULL ) AND beendigung_nachbetreuung != '0001-01-01' ) AND beendigung_nachbetreuung &gt;= now() ) ) ) )</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <!-- Validitäten -->
+  <check tagid="10">
+    <name>Datumsangaben konsistent</name>
+    <desc>Alle Datumsangaben in der Fallakte befinden sich in chronologisch korrekter Reihenfolge und liegen nicht in der Zukunft</desc>
+    <addtag>
+      <sql>select id from master_tbl_view m where not ARRAY(SELECT tag_id FROM nm_tags_cases_view WHERE case_id = m.id)  &amp;&amp; ARRAY[1000,1005,1006,1007,1008,1009,1010,1012,1013,1014,1015,1016,1024,1025,1026,1027,1030,1032,1033,1038]</sql>
+    </addtag>
+    <deltag>
+      <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+    </deltag>
+  </check>
+  <check tagid="11">
+    <name>Phase ist gesetzt</name>
+    <desc>Die Phase der Fallakte ist nicht unbekannt</desc>
+    <addtag>
+      <sql>SELECT id from ( %(table)s ) m WHERE phase != -1</sql>
+    </addtag>
+    <deltag>
       <sql>SELECT id from ( %(table)s ) m</sql>
     </deltag>
   </check>
-  <check tagid="3">
-    <name>Auswertbar</name>
-    <desc>Eine Akte ist auswertbar, wenn das Start- bzw. Enddatum einer der
-    aktuellen Phase gesetzt ist. Die Fallakte muss zudem in sich konsistent sein.</desc>
+  <check tagid="12">
+    <name>Synchronität der Phasen ist gegeben</name>
+    <desc>Die in der Fallakte angegebenen Datumsangaben sind nicht weiter ausgefüllt, als es die aktuell gesetzte Phase. Z.b ein gesetzten Beendigungsdatum bei laufender Phase</desc>
     <addtag>
       <sql>SELECT DISTINCT m.id FROM ( %(table)s ) m 
 								JOIN nm_tags_cases_view t ON t.case_id = m.id 
@@ -79,63 +464,50 @@
 						AND datum_feststellung != '0001-01-01'::date 
 						AND datum_ende_beratung is not NULL 
 						AND datum_ende_beratung != '0001-01-01'::date)) 
-					) 
-					AND t.tag_id = 1; 
+					); 
       </sql>
     </addtag>
     <deltag>
       <sql>SELECT id from ( %(table)s ) m</sql>
     </deltag>
   </check>
-  <check tagid="4">
-    <name>Adele auswertbar</name>
-    <desc>Eine Akte ist für Adele auswertbar, wenn die Geschlechtsangabe nicht unbekannt ist. Die Fallakte muss zudem grundsätzlich auswertbar sein.</desc>
+  <check tagid="13">
+    <name>Junger Mensch ist ein CM-Kunde</name>
+    <desc>Für den jungen Menschen wurde im Phasenmodell mindestens ein laufendes Case Management dokumentiert</desc>
     <addtag>
-      <sql>SELECT DISTINCT m.id from ( %(table)s ) m JOIN nm_tags_cases_view t ON m.id = t.case_id WHERE geschlecht not in (-1, -3) AND PHASE in (2, 3, 4, 5) AND t.tag_id = 3</sql>
+      <sql>SELECT DISTINCT m.id from ( %(table)s ) m JOIN nm_tags_cases_view t ON m.id = t.case_id WHERE PHASE in (2, 3, 4, 5)</sql>
     </addtag>
     <deltag>
       <sql>SELECT id from ( %(table)s ) m</sql>
     </deltag>
   </check>
-  <check tagid="5">
-    <name>EA-Datum plausibel</name>
-    <desc>Das Datum der Eingangsanamnese ist plausibel wenn die Datumsangaben chronologisch korrekt eigegeben sind, und die Dauer der Eingangsanamnese nicht länger als 36 Monate ist</desc>
+  <check tagid="14">
+    <name>Geschlechtsangabe angegeben</name>
+    <desc>Die Geschlechtsangabe des jungen Menschen ist angegeben und hat nicht den Wert "unbekannt"</desc>
     <addtag>
-      <sql>SELECT DISTINCT m.id from ( %(table)s ) m JOIN nm_tags_cases_view t ON m.id = t.case_id WHERE NOT ( ( ( ( ( erstgespraech IS NOT NULL ) AND erstgespraech != '0001-01-01' ) AND ( ( datum_feststellung IS NOT NULL ) AND datum_feststellung != '0001-01-01' ) ) AND erstgespraech > datum_feststellung ) ) AND NOT ( ( ( ( ( erstgespraech IS NOT NULL ) AND erstgespraech != '0001-01-01' ) AND ( ( datum_feststellung IS NOT NULL ) AND datum_feststellung != '0001-01-01' ) ) AND abs(datum_feststellung - erstgespraech) > 1116 ) )
-      </sql>
+      <sql>SELECT DISTINCT m.id from ( %(table)s ) m JOIN nm_tags_cases_view t ON m.id = t.case_id WHERE geschlecht not in (-1, -3)</sql>
     </addtag>
     <deltag>
       <sql>SELECT id from ( %(table)s ) m</sql>
     </deltag>
   </check>
-  <check tagid="6">
-    <name>BER-Datum plausibel</name>
-    <desc>Das Datum der Beratungphase ist plausibel wenn die Datumsangaben chronologisch korrekt eigegeben sind, und die Dauer der Beratung nicht länger als 60 Monate ist</desc>
+
+  <!-- "Gütesiegel" für Auswertungen -->
+  <check tagid="1">
+    <name>Grundsätzlich auswertbar</name>
+    <desc>Eine Fallakte ist grundsätzlich auswertbar und steht für Auswertungen zur Verfügung.</desc>
     <addtag>
-      <sql>SELECT DISTINCT m.id from ( %(table)s ) m JOIN nm_tags_cases_view t ON m.id = t.case_id WHERE NOT ( ( ( ( ( datum_feststellung IS NOT NULL ) AND datum_feststellung != '0001-01-01' ) AND ( ( datum_ende_beratung IS NOT NULL ) AND datum_ende_beratung != '0001-01-01' ) ) AND datum_feststellung > datum_ende_beratung ) ) AND NOT ( ( ( ( ( datum_feststellung IS NOT NULL ) AND ( datum_ende_beratung IS NOT NULL ) ) AND ( datum_feststellung != '0001-01-01' AND datum_ende_beratung != '0001-01-01' ) ) AND abs(datum_ende_beratung - datum_feststellung) > 1860 ) )
-      </sql>
+      <sql>SELECT id from ( %(table)s ) m</sql>
     </addtag>
     <deltag>
       <sql>SELECT id from ( %(table)s ) m</sql>
     </deltag>
   </check>
-  <check tagid="7">
-    <name>CM-Datum plausibel</name>
-    <desc>Das Datum des CM ist plausibel wenn die Datumsangaben chronologisch korrekt eigegeben sind, und die Dauer des CM nicht länger als 60 Monate ist</desc>
+  <check tagid="2">
+    <name>Berichtsfähig</name>
+    <desc>Eine Fallakte ist grundsätzlich auswertbar. Sie befindet sich darüber hinaus mindestens im laufendem CM und enthält eine Geschlechtsangabe. Die Fallakte steht für Auswertungen wie den Verwendungsnachweis zur Verfügung</desc>
     <addtag>
-      <sql>SELECT DISTINCT m.id from ( %(table)s ) m JOIN nm_tags_cases_view t ON m.id = t.case_id WHERE NOT ( ( ( ( ( datum_feststellung IS NOT NULL ) AND datum_feststellung != '0001-01-01' ) AND ( ( beendigung_5 IS NOT NULL ) AND beendigung_5 != '0001-01-01' ) ) AND datum_feststellung > beendigung_5 ) ) AND NOT ( ( ( ( ( datum_feststellung IS NOT NULL ) AND ( beendigung_5 IS NOT NULL ) ) AND ( datum_feststellung != '0001-01-01' AND beendigung_5 != '0001-01-01' ) ) AND abs(beendigung_5 - datum_feststellung) > 1860 ) )
- </sql>
-    </addtag>
-    <deltag>
       <sql>SELECT id from ( %(table)s ) m</sql>
-    </deltag>
-  </check>
-  <check tagid="8">
-    <name>NB-Datum plausibel</name>
-    <desc>Das Datum der Nachbetreeung ist plausibel wenn die Datumsangaben chronologisch korrekt eigegeben sind, und die Dauer der Nachbetreuung nicht länger als 36 Monate ist</desc>
-    <addtag>
-      <sql>SELECT DISTINCT m.id from ( %(table)s ) m JOIN nm_tags_cases_view t ON m.id = t.case_id WHERE NOT ( ( ( ( ( beendigung_5 IS NOT NULL ) AND beendigung_5 != '0001-01-01' ) AND ( ( beendigung_nachbetreuung IS NOT NULL ) AND beendigung_nachbetreuung != '0001-01-01' ) ) AND beendigung_5 > beendigung_nachbetreuung ) ) AND NOT ( ( ( ( ( beendigung_5 IS NOT NULL ) AND ( beendigung_nachbetreuung IS NOT NULL ) ) AND ( beendigung_5 != '0001-01-01' AND beendigung_nachbetreuung != '0001-01-01' ) ) AND abs(beendigung_nachbetreuung - beendigung_5) > 1116 ) )
- </sql>
     </addtag>
     <deltag>
       <sql>SELECT id from ( %(table)s ) m</sql>



More information about the Mpuls-commits mailing list