[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) <= now()
- AND coalesce(datum_feststellung,'0001-01-01'::date) <= now()
- AND coalesce(beendigung_5,'0001-01-01'::date) <= now()
- AND coalesce(beendigung_nachbetreuung,'0001-01-01'::date) <= now()
- AND coalesce(datum_ende_beratung,'0001-01-01'::date) <= now())</sql>
+ <sql>SELECT id from ( %(table)s ) m WHERE ( NOT ( NOT ( ( ( erstgespraech IS NOT NULL ) AND ( erstgespraech != '0001-01-01' AND erstgespraech < 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üler/innen dürfen nur dann ins Case Managagement aufgenommen werden, wenn sie sich im letzten Schulbesuchsjahr befinden und eine Ü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üler/innen dürfen nur dann ins Case Managagement aufgenommen werden, wenn sie sich im letzten Schulbesuchsjahr befinden und eine Ü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üler/innen dürfen nur dann ins Case Managagement aufgenommen werden, wenn sie sich im letzten Schulbesuchsjahr befinden und eine Ü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üler/innen dürfen nur dann ins Case Managagement aufgenommen werden, wenn sie sich im letzten Schulbesuchsjahr befinden und eine Ü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ä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 > 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ä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 > 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ä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 > 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ä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 > 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ä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 > 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ä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 >= 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 > 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 > 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 > 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 > 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 > 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 >= 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 < 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 > 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 > 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 > 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 >= now() ) ) ) )</sql>
+ </addtag>
+ <deltag>
+ <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+ </deltag>
+ </check>
+ <check tagid="113">
+ <name>phase ea nicht länger als 36 monate</name>
+ <desc>Die eingetragenen Datumsangaben sind offensichtlich falsch und ü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) > 1116 ) ) ) )</sql>
+ </addtag>
+ <deltag>
+ <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+ </deltag>
+ </check>
+ <check tagid="114">
+ <name>phase ber nicht länger als 60 monate</name>
+ <desc>Die eingetragenen Datumsangaben sind offensichtlich falsch und ü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) > 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 >= 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 < 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 > 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 >= now() ) ) ) )</sql>
+ </addtag>
+ <deltag>
+ <sql>SELECT id from ( %(table)s ) m WHERE ( TRUE )</sql>
+ </deltag>
+ </check>
+ <check tagid="116">
+ <name>phase cm nicht länger als 60 monate</name>
+ <desc>Die eingetragenen Datumsangaben sind offensichtlich falsch und ü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) > 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änger als 36 monate</name>
+ <desc>Die eingetragenen Datumsangaben sind offensichtlich falsch und ü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) > 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 >= 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) && 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