[Mpuls-commits] r3178 - in wasko/trunk: . waskoweb/controllers waskoweb/lib waskoweb/public/formed waskoweb/templates waskoweb/templates/caselifetime waskoweb/templates/caselifetime/dialogs waskoweb/templates/casemanagement

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Mon Jul 12 16:33:19 CEST 2010


Author: torsten
Date: 2010-07-12 16:33:18 +0200 (Mon, 12 Jul 2010)
New Revision: 3178

Added:
   wasko/trunk/waskoweb/controllers/caselifetime.py
   wasko/trunk/waskoweb/templates/caselifetime/
   wasko/trunk/waskoweb/templates/caselifetime/abbruch.mako
   wasko/trunk/waskoweb/templates/caselifetime/dialogs/
   wasko/trunk/waskoweb/templates/caselifetime/dialogs/confirm_reopen.mako
   wasko/trunk/waskoweb/templates/caselifetime/dialogs/success_reopen.mako
   wasko/trunk/waskoweb/templates/caselifetime/neuaufnahme.mako
   wasko/trunk/waskoweb/templates/caselifetime/overview.mako
   wasko/trunk/waskoweb/templates/caselifetime/verlaengerung.mako
   wasko/trunk/waskoweb/templates/caselifetime/wiederaufnahme.mako
   wasko/trunk/waskoweb/templates/casemanagement/main.mako
Modified:
   wasko/trunk/ChangeLog
   wasko/trunk/waskoweb/lib/validators.py
   wasko/trunk/waskoweb/public/formed/formedtree.xml
Log:
Implemented first version of Verwaltungsfunktionen.


Modified: wasko/trunk/ChangeLog
===================================================================
--- wasko/trunk/ChangeLog	2010-07-12 14:26:47 UTC (rev 3177)
+++ wasko/trunk/ChangeLog	2010-07-12 14:33:18 UTC (rev 3178)
@@ -1,3 +1,26 @@
+2010-07-12  Torsten Irländer <torsten.irlaender at intevation.de>
+
+	* waskoweb/controllers/caselifetime.py,
+	  waskoweb/lib/validators.py: Implemented first version of logic for
+	  Verwaltungsfunktionen. 
+
+	* waskoweb/templates/casemanagement/main.mako,
+	  waskoweb/templates/caselifetime,
+	  waskoweb/templates/caselifetime/dialogs,
+	  waskoweb/templates/caselifetime/dialogs/success_reopen.mako,
+	  waskoweb/templates/caselifetime/dialogs/confirm_reopen.mako,
+	  waskoweb/templates/caselifetime/neuaufnahme.mako,
+	  waskoweb/templates/caselifetime/wiederaufnahme.mako,
+	  waskoweb/templates/caselifetime/verlaengerung.mako,
+	  waskoweb/templates/caselifetime/abbruch.mako,
+	  waskoweb/templates/caselifetime/overview.mako: New templates for
+	  Verwaltungsfunktionen.
+
+	* waskoweb/public/formed/formedtree.xml: Fixed layout for
+	  Verwaltungsfunktionen. Note this tree does not contain any rules
+	  because of an issue with rules regarding repeatgroups which prevents
+	  entering some data in case.
+
 2010-07-09  Torsten Irländer <torsten.irlaender at intevation.de>
 
 	* waskoweb/templates/caselifetime/verlaengerung.mako: New template

Added: wasko/trunk/waskoweb/controllers/caselifetime.py
===================================================================
--- wasko/trunk/waskoweb/controllers/caselifetime.py	2010-07-12 14:26:47 UTC (rev 3177)
+++ wasko/trunk/waskoweb/controllers/caselifetime.py	2010-07-12 14:33:18 UTC (rev 3178)
@@ -0,0 +1,663 @@
+# -*- coding: utf-8 -*-
+
+import sys
+import logging
+from datetime import datetime, timedelta
+import traceback
+
+import formencode
+
+from formed.instance.backends.postgres import DBFactory as InstanceFactory
+from formed.instance.tree import SetDataException
+
+from mpulsweb.model.logbook import Logbook, LogbookEntry
+from mpulsweb.lib.base import BaseController, c, g, render, request, session
+from mpulsweb.lib.db import db, PostgresDBInterface
+import mpulsweb.lib.helpers as h
+from mpulsweb.lib.helper.case import copy_instance_tree, walk_it, copy_field
+
+from waskoweb.lib.validators import \
+     ExtraTimeFormValidator1, ExtraTimeFormValidator2, \
+     ReopenFormValidator1, ReopenFormValidator1abgel, \
+     ReopenFormValidator2, ReopenFormValidator2abgel, \
+     RenewFormValidator
+
+log = logging.getLogger(__name__)
+
+REOPENOK_1_HEADER_CONFIRM = u"Fall wiederaufnehmen?"
+REOPENOK_1_TEXT_CONFIRM = u"""\
+Wollen Sie den Fall wiederaufnehmen? Dabei wird die aktuelle Fallakte
+anonymisiert und relevante Teile der Fallakte aus Phase A und Phase B in
+eine neue Fallakte kopiert. Sie werden dann in dieser neuen Fallakte
+weiterarbeiten."""
+
+REOPENOK_2_HEADER_CONFIRM = u"Fall wiederaufnehmen?"
+REOPENOK_2_TEXT_CONFIRM = u"""\
+Wollen Sie den Fall wiederaufnehmen? Dabei werden Teile der
+Abschlussbewertung in die Eingangsdokumentation übertragen und die
+bestehende Abschlussdokumentation gelöscht."""
+REOPENNOTOK_HEADER_CONFIRM = u"Nicht genehmigte Wiederaufnahme dokumentieren?"
+REOPENNOTOK_TEXT_CONFIRM = u"""\
+Sie haben angegeben, dass keine Genehmigung für die Wiederaufnahme
+vorliegt! Wenn Sie fortfahren, wird keine weitere Wiederaufnahme,
+Verlängerung oder Neuaufnahme mehr möglich sein."""
+
+REOPENOK_1_SUCCESS_HEADER = u"Fallakte erfolgreich wiederaufgenommen."
+REOPENOK_1_SUCCESS_TEXT = u'''\
+Die Fallakte wurde erfolgreich wiederaufgenommen. Klicken Sie auf "OK",
+um die wiederaufgenommene Fallakte zu öffnen.'''
+
+REOPENOK_2_SUCCESS_HEADER = u"Fallakte erfolgreich wiederaufgenommen."
+REOPENOK_2_SUCCESS_TEXT = u'''\
+Die Fallakte wurde erfolgreich wiederaufgenommen. Klicken Sie auf "OK",
+um zur "Eingangsdokumentation" der Fallakte zu gelangen.'''
+
+REOPENNOTOK_SUCCESS_HEADER = u"Nicht genehmigte Wiederaufnahme dokumentiert."
+REOPENNOTOK_SUCCESS_TEXT = u'''\
+Die nicht genehmigte Wiederaufnahme wurde dokumentiert. Klicken Sie auf
+"OK", um zur "Eingangsdokumentation" der Fallakte zu gelangen.'''
+
+RENEW_2_HEADER_CONFIRM = u"Nicht genehmigte Neuaufnahme dokumentieren?"
+RENEW_2_TEXT_CONFIRM = u"""\
+Sie haben angegeben, das keine Genehmigung für die Neuaufnahme vorliegt!
+Wenn Sie fortfahren, wird für diese Fallakte keine erneute Neuaufnahme
+mehr möglich sein."""
+
+RENEW_2_SUCCESS_HEADER = u"Nicht genehmigte Neuaufnahme dokumentiert."
+RENEW_2_SUCCESS_TEXT = u'''\
+Die nicht genehmigte Neuaufnahme wurde dokumentiert. Klicken Sie auf
+"OK", um zur "Eingangsdokumentation" der Fallakte zu gelangen.'''
+
+RENEW_HEADER_CONFIRM = u"Fall neu aufnehmen?"
+RENEW_TEXT_CONFIRM = u"""\
+Wollen Sie den Fall wirklich neu aufnehmen? Dabei wird die aktuelle
+Fallakte anonymisiert und relevante Teile der Fallakte aus Phase A und
+Phase B in eine neue Fallakte kopiert. Sie werden dann in dieser neuen
+Fallakte weiterarbeiten."""
+
+RENEW_SUCCESS_HEADER = u"Fallakte neu aufgenommen."
+RENEW_SUCCESS_TEXT = u'''\
+Die Fallakte wurde erfolgreich neu aufgenommen. Klicken Sie auf "OK", um
+die neue Fallakte zu öffnen. Bitte überprüfen Sie die Angaben auf
+Richtigkeit und aktualisieren Sie ggf. die Daten. Die alte Fallakte
+wurde der Administration zur Anonymisierung vorgelegt.'''
+
+ABORT_SUCCESS_HEADER = u'Eingangsdokumentation abgebrochen.'
+ABORT_SUCCESS_TEXT = u'''\
+Die Eingangsdokumentation wurde erfolgreich abgebrochen. Die Fallakte
+wurde der Administration zur Löschung vorgelegt. Klicken Sie auf "OK",
+um zu Fallaktenübersicht zu gelangen.'''
+
+ABORT_TEXT_CONFIRM = u'''\
+Wollen Sie wirklich die Eingangsdokumenetation abbrechen und die
+Fallakte zum Löschen freigeben? Die Fallakte steht Ihnen danach nicht
+mehr zur Bearbeitung zur Verfügung und wird der Administration zum
+Löschen vorgelegt.'''
+ABORT_HEADER_CONFIRM = u'Eingangsdokumentation abbrechen?'
+
+# items not to be copied from old case
+COPY_BLACK_LIST = frozenset(['erstgespraech', 'datum_cm_start'])
+
+class DataSaveException(SetDataException):
+
+    def toErrorDicts(self):
+
+        values, errors = {}, {}
+
+        for key, value, error in self.errors:
+            values[key] = value
+            try:
+                old = errors[key]
+                errors[key] = u"%s, %s" % (old, error)
+            except KeyError:
+                errors[key] = error
+        return values, errors
+
+def create_logbook(id=None, header=None, text=None):
+    if id is None:
+        id = session['case'].id
+    logbook = Logbook(id)
+    entry = LogbookEntry()
+    entry.datum = datetime.now()
+    entry.art = 0
+    entry.kurz_notiz = header
+    entry.notiz = text
+    logbook.addEntry(entry)
+    logbook.store(session['USER_AUTHORIZED'].id)
+
+def mark_case(id, mark=None):
+    data = {}
+    if mark:
+        factory = InstanceFactory(g.formedTree, PostgresDBInterface())
+        it = factory.loadInstanceTreeByIdentifier(id)
+        item =  it.getItem('fn:%s' % id)
+        fn = item.getValue()
+        if fn:
+            fn += '_%s' % mark 
+            data['fn:%s' % id] = fn
+        else:
+            data['fn:%s' % id] = '_%s' % mark 
+        it.setData(data)
+        it.commit()
+
+
+def doc_abschluss(id, to_id=None):
+    if to_id is None: to_id = id
+    data = {}
+    factory = InstanceFactory(g.formedTree, PostgresDBInterface())
+    oit = factory.loadInstanceTreeByIdentifier(id)
+    nit = factory.loadInstanceTreeByIdentifier(to_id)
+
+    data['cm_dok_end_art:%s' % to_id]          = str(_get_value(oit, 'cm_end_art', id))
+    data['cm_dok_end_verm:%s' % to_id]         = str(_get_value(oit, 'cm_end_verm', id))
+    data['cm_dok_end_sonst:%s' % to_id]        = str(_get_value(oit, 'cm_end_sonst', id))
+    data['cm_dok_datum_beendigung:%s' % to_id] = h.dd_mm_YYYY(_get_value(oit, 'datum_cm_ende', id))
+
+    nit.setData(data)
+    nit.commit()
+    log.debug(data)
+
+def save_formdata(id, data):
+    # Füge alte params aus dem Dialog in der verwaltung hinzu und
+    # schreibe alles weg
+    id = int(id)
+    factory = InstanceFactory(g.formedTree, PostgresDBInterface())
+    it = factory.loadInstanceTreeByIdentifier(id)
+    sparams = session.get('lifetimeparams', {})
+    cm2c_t = _get_value(it, 'cm2c_t', id)
+    #if cm2c_t:
+    #    data['cm2c_t'] = cm2c_t
+    #    data['cm2c_t'] += "\r\n\r\n" + sparams.get('anmerkungen', '')
+    #else:
+    #    data['cm2c_t'] = sparams.get('anmerkungen', '')
+    #del sparams['anmerkungen']
+    data.update(sparams)
+    _set_data(it, data, id)
+
+def _set_data(it, data, case_id, do_write=True):
+    convertet_data = {}
+    for key, value in data.iteritems():
+        convertet_data[":".join([str(key), str(case_id)])] = value
+    it.setData(convertet_data)
+    if do_write:
+        it.commit()
+
+def _get_value(it, id, case_id):
+    real_id = "%s:%s" % (id, case_id)
+    item = it.getItem(real_id)
+    if item:
+        value = item.getValue()
+        log.debug('%s = "%r"' % (real_id, value))
+        return value
+    log.error('Can not find item "%s"' % real_id)
+
+def checkcase(it, id):
+    case_id = id
+    D = _get_value
+
+    end_art = D(it, 'cm_end_art', case_id)
+    c.phase = D(it, 'phase', case_id)
+    c.cm_neuauf_genehm = D(it, 'cm_neuauf_genehm', case_id)
+
+    ## Welche Beendigung?
+    c.erfolgreiche_reintegration = False
+    c.sonstige_beendigung = False
+    if end_art == 1:
+        c.erfolgreiche_reintegration = True
+    elif end_art == 2:
+        c.sonstige_beendigung = True
+
+    # Wieviele Wiederholungen?
+    log.debug('Wiederaufnahme1: %s' % D(it, 'cm_wiederauf_genehm_1', case_id))
+    log.debug('Wiederaufnahme2: %s' % D(it, 'cm_wiederauf_genehm_2', case_id))
+    if D(it, 'cm_wiederauf_genehm_2', case_id) in (1,):
+        c.num_wiederaufnahme = 2
+    elif D(it, 'cm_wiederauf_genehm_1', case_id) in (1,):
+        c.num_wiederaufnahme = 1
+    else:
+        c.num_wiederaufnahme = 0
+
+    # Wieviele Verlängerungen?
+    if D(it, 'cm_datum_verlaengerung_2', case_id):
+        c.num_verlaengerung = 2
+    elif D(it, 'cm_datum_verlaengerung_1', case_id):
+        c.num_verlaengerung = 1
+    else:
+        c.num_verlaengerung = 0
+    log.debug('Anzahl Verlaengerugen: %s' % c.num_verlaengerung)
+
+
+    # Wurde Wiederaufnahme abgelehnt? -> alle Optionen ausblenden
+    if (D(it, 'cm_wiederauf_genehm_1', case_id) in (0,)
+        or D(it, 'cm_wiederauf_genehm_2', case_id) in (0,)):
+        c.disable_all = True
+        c.wiederaufn_abg = True
+    else:
+        c.disable_all = False
+        c.wiederaufn_abg = False
+
+
+    # Verlängerung anzeigen
+    if (not c.disable_all and c.phase in (2,) and c.num_verlaengerung < 2
+        and c.num_wiederaufnahme < 1):
+        c.show_verlaengerung = True
+    else:
+        c.show_verlaengerung = False
+
+    # Wiedervorlage anzeigen
+    if (not c.disable_all
+        and (c.phase in (3,4,5) and c.erfolgreiche_reintegration
+             and c.num_wiederaufnahme < 1
+             or (c.num_wiederaufnahme == 1 and c.phase not in (3, 4, 5)))):
+        c.show_wiedervorlage = True
+    else:
+        c.show_wiedervorlage = False
+
+    # Neuaufnahme anzeigen
+    if (not c.disable_all and c.phase in (3, 4, 5) and c.sonstige_beendigung
+        and c.num_wiederaufnahme < 1 and c.cm_neuauf_genehm not in (0, 1)):
+        c.show_neuaufnahme = True
+    else:
+        c.show_neuaufnahme = False
+
+    # Abbruch anzeigen
+    if not c.disable_all and c.phase in (-1, 0, 1):
+        c.show_abort = True
+    else:
+        c.show_abort = False
+
+
+class CaselifetimeController(BaseController):
+
+    def index(self, id=None):
+        c.form_errors = {}
+        c.form_result = {}
+        c.form_defaults= {}
+        factory = InstanceFactory(g.formedTree, PostgresDBInterface())
+        it = factory.loadInstanceTreeByIdentifier(id)
+        case_id = it.getRootNode().getIdentifier()
+        checkcase(it, case_id)
+        D = _get_value
+
+        # Verlängerungen
+        ende_verl1 = D(it, 'cm_datum_verlaengerung_1', case_id)
+        ende_verl2 = D(it, 'cm_datum_verlaengerung_2', case_id)
+        if c.num_verlaengerung < 1:
+            begin_cm = D(it, 'datum_cm_start', case_id)
+            if begin_cm and not ende_verl1:
+                ende_verl1 = begin_cm+timedelta(days=458)
+        if c.num_verlaengerung == 1 and not ende_verl2:
+                ende_verl2 = ende_verl1+timedelta(days=31*3)
+
+        c.form_defaults['cm_datum_verlaengerung_1'] = h.dd_mm_YYYY(ende_verl1)
+        c.form_defaults['cm_bestaet_verlaengerung_1'] = D(it, 'cm_bestaet_verlaengerung_1', case_id)
+        c.form_defaults['cm_anmerk_verlaengerung_1'] = D(it, 'cm_anmerk_verlaengerung_1', case_id)
+        c.form_defaults['cm_datum_verlaengerung_2'] = h.dd_mm_YYYY(ende_verl2)
+        c.form_defaults['cm_bestaet_verlaengerung_2'] = D(it, 'cm_bestaet_verlaengerung_2', case_id)
+        c.form_defaults['cm_anmerk_verlaengerung_2'] = D(it, 'cm_anmerk_verlaengerung_2', case_id)
+
+        # Wiederaufnahme
+        wieder1_date = D(it, 'cm_wiederauf_datum_bis_1', case_id)
+        wieder2_date = D(it, 'cm_wiederauf_datum_bis_2', case_id)
+        if c.num_wiederaufnahme >= 1:
+            if wieder1_date and not wieder2_date:
+                wieder2_date = wieder1_date+timedelta(days=31*3)
+
+        c.form_defaults['cm_wiederauf_genehm_1'] = D(it, 'cm_wiederauf_genehm_1', case_id)
+        c.form_defaults['cm_wiederauf_genehm_datum_1'] = h.dd_mm_YYYY(D(it, 'cm_wiederauf_genehm_datum_1', case_id))
+        c.form_defaults['cm_wiederauf_datum_bis_1'] = h.dd_mm_YYYY(wieder1_date) 
+        c.form_defaults['cm_wiederauf_genehm_2'] = D(it, 'cm_wiederauf_genehm_2', case_id)
+        c.form_defaults['cm_wiederauf_datum_bis_2'] = h.dd_mm_YYYY(wieder2_date)
+        c.form_defaults['cm2c_t'] = D(it, 'cm2c_t', case_id)
+
+        form = render('/caselifetime/overview.mako')
+        return formencode.htmlfill.render(form,
+                                          defaults=c.form_defaults)
+
+
+    def changeLifetime(self):
+        if request.params.has_key('wiederaufnahme'):
+            return self.reopenAction()
+        elif request.params.has_key('verlaengerung'):
+            return self.extraTimeAction()
+        elif request.params.has_key('neuaufnahme'):
+            return self.renewAction()
+        elif request.params.has_key('abort'):
+            return self.abortAction(session['case'].id)
+        else:
+            pass
+        return render('/caselifetime/overview.mako')
+
+    def abortcase(self, id, confirmed='0'):
+        if confirmed == '1':
+            # mark case for deletion
+            case = g.case_factory.loadById(id)
+            case.setState(3)
+            c.success_for = ABORT_SUCCESS_HEADER
+            c.success_text = ABORT_SUCCESS_TEXT
+            c.url_ok = h.url_for(controller="/case_overview")
+            return render('caselifetime/dialogs/success_reopen.mako')
+        else:
+            c.confirm_for = ABORT_HEADER_CONFIRM
+            c.question = ABORT_TEXT_CONFIRM
+            c.url_yes = "/caselifetime/abortcase/%s/1" % id
+            c.url_no = "/caselifetime/index/%s" % id
+            return render('caselifetime/dialogs/confirm_reopen.mako')
+
+    def abortAction(self, id):
+        return self.abortcase(id)
+        return self.index(id)
+
+    def extraTimeAction(self):
+
+        factory = InstanceFactory(g.formedTree, PostgresDBInterface())
+        it = factory.loadInstanceTreeByIdentifier(session['case'].id)
+        case_id = it.getRootNode().getIdentifier()
+        S = _set_data
+        checkcase(it, case_id)
+
+        form_result = {}
+        form_errors = {}
+
+        if c.num_verlaengerung < 1:
+            validator = ExtraTimeFormValidator1()
+        else:
+            validator = ExtraTimeFormValidator2()
+
+        try:
+            # 1. Check. Formencode check general format of date and if value is
+            # present
+            form_result = validator.to_python(request.params)
+            try:
+                # Save method will also do semantic check (dates or in
+                # chronology correct order) 
+                S(it, form_result, case_id)
+                create_logbook(header='Verlängerung des Integrationsprozess',
+                               text=('Für den Fall wurde eine Verlängerung'
+                                     ' des Integrationsprozess dokumentiert.'))
+                return self.index(session['case'].id)
+            except SetDataException, err:
+                form_result_1, form_errors = err.toErrorDicts()
+        except formencode.Invalid, error:
+            form_result = error.value
+            form_errors = error.error_dict or {}
+
+        form_errors = form_errors
+        form_result = form_result
+        form = render('/caselifetime/overview.mako')
+        return formencode.htmlfill.render(form, 
+                                          defaults=form_result,
+                                          errors=form_errors) 
+
+    def renew_ok(self, id, confirmed='0'):
+        factory = InstanceFactory(g.formedTree, PostgresDBInterface())
+        if confirmed == '1':
+            data = {}
+            new_case = None
+            try:
+                it = factory.loadInstanceTreeByIdentifier(id)
+                # Lege neuen Fall an, es sollen aber nur bestimmte Felder kopiert werden
+                fields = []
+                for section in ['ee', 'phase-a', 'group-5']:
+                    node = it.getItem("%s:%s" % (section, id))
+                    for field in walk_it(node):
+                        name = field.getIdentifier().split(':')[0]
+                        if name not in COPY_BLACK_LIST:
+                            fields.append(name)
+                        else:
+                            log.info('Not copying %s as it is in COPY_BLACK_LIST' % name)
+                new_it = copy_instance_tree(it,fields)
+                new_id = new_it.getRootNode().getIdentifier()
+                doc_abschluss(id, new_id)
+                data['phase'] = '-1'
+                data['cm2c'] = '1'
+                # Dokumentiere Neuaufnahme in neuem Fall 
+                save_formdata(new_id, data)
+                mark_case(new_id, 'NA')
+                create_logbook(id=new_id, header='Neuaufnahme',
+                               text=('Für den Fall wurde eine Neuaufnahme'
+                                     ' des Integrationsprozess dokumentiert.'))
+
+                # markiere den alten Fall zur Anonymisierung
+                old_case = g.case_factory.loadById(id)
+                old_case.setState(4)
+                mark_case(old_case.id, 'NAU')
+                create_logbook(header='Neuaufnahme',
+                               text=('Für den Fall wurde eine Neuaufnahme'
+                                     ' des Integrationsprozess dokumentiert.'))
+            except Exception, err:
+                traceback.print_exc(file = sys.stderr)
+
+            c.success_for = RENEW_SUCCESS_HEADER
+            c.success_text = RENEW_SUCCESS_TEXT
+            c.url_ok = h.url_for(controller="/case/select/%s" % new_id)
+            return render('caselifetime/dialogs/success_reopen.mako')
+        else:
+            c.confirm_for = RENEW_HEADER_CONFIRM
+            c.question = RENEW_TEXT_CONFIRM
+            c.url_yes = "/caselifetime/renew_ok/%s/1" % id
+            c.url_no = "/caselifetime/index/%s" % id
+            return render('caselifetime/dialogs/confirm_reopen.mako')
+
+    def renew_notok(self, id, confirmed='0'):
+        if confirmed == '1':
+            data = {}
+            try:
+                save_formdata(id, data)
+                create_logbook(id=id, header='Neuaufnahme',
+                               text=('Für den Fall wurde eine nicht'
+                                     ' genehmigte Neuaufnahme des'
+                                     ' Integrationsprozess dokumentiert.'))
+
+            except Exception, err:
+                log.exception('Error in renew_notok')
+
+            c.success_for = RENEW_2_SUCCESS_HEADER
+            c.success_text = RENEW_2_SUCCESS_TEXT
+            c.url_ok = h.url_for(controller="formularpage",
+                                 action="select", 
+                                 id="page-0:%s" % id)
+            return render('caselifetime/dialogs/success_reopen.mako')
+        else:
+            c.confirm_for = RENEW_2_HEADER_CONFIRM
+            c.question = RENEW_2_TEXT_CONFIRM
+            c.url_yes = "/caselifetime/renew_notok/%s/1" % id
+            c.url_no = "/caselifetime/index/%s" % id
+            return render('caselifetime/dialogs/confirm_reopen.mako')
+
+    def reopen_ok(self, id, confirmed='0'):
+        factory = InstanceFactory(g.formedTree, PostgresDBInterface())
+        it = factory.loadInstanceTreeByIdentifier(id)
+        checkcase(it, id)
+        if confirmed == '1':
+            data = {}
+            try:
+                if c.num_wiederaufnahme < 1:
+                    # Dokumentiere Daten im alten Fall!
+                    save_formdata(id, data)
+                    # Reload case after saving data
+                    it = factory.loadInstanceTreeByIdentifier(id)
+                    # Lege neuen Fall an, es sollen aber nur bestimmte Felder kopiert werden
+                    fields = []
+                    for section in ['ee', 'phase-a', 'group-5', 'group-18', 'group-27']:
+                        node = it.getItem("%s:%s" % (section, id))
+                        for field in walk_it(node):
+                            name = field.getIdentifier().split(':')[0]
+                            if name not in COPY_BLACK_LIST:
+                                fields.append(name)
+                            else:
+                                log.info('Not copying %s as it is in COPY_BLACK_LIST' % name)
+                    new_it = copy_instance_tree(it,fields)
+                    new_id = new_it.getRootNode().getIdentifier()
+                    
+                    doc_abschluss(id, new_id)
+                    data['phase:%s' % new_id] = '2'
+                    data['cm2c:%s' % new_id] = '1'
+                    new_it.setData(data)
+                    new_it.commit()
+                    copy_field(id, 'cm_wiederauf_genehm_datum_1',
+                               new_id, 'datum_cm_start')
+                    copy_field(id, 'cm_wiederauf_genehm_datum_1',
+                               new_id, 'erstgespraech')
+                    mark_case(new_id, 'WA')
+                    create_logbook(id=new_id, header='Wiederaufnahme',
+                                   text=('Für den Fall wurde eine genehmigte'
+                                         ' Wiederaufnahme des'
+                                         ' Integrationsprozess dokumentiert.'))
+
+                    ## Markiere alten Fall zur Anonymisierung
+                    old_case = g.case_factory.loadById(id)
+                    old_case.setState(4)
+                    mark_case(old_case.id, 'WAU')
+                    create_logbook(id=id, header='Wiederaufnahme',
+                                   text=('Für den Fall eine Wiederaufnahme des'
+                                         ' Integrationsprozess in einer neuen'
+                                         ' Fallakte durchgeführt.'))
+
+                else:
+                    save_formdata(id, data)
+                    create_logbook(header='Wiederaufnahme',
+                                   text=('Für den Fall wurde eine genehmigte'
+                                         ' Wiederaufnahme des'
+                                         ' Integrationsprozess dokumentiert.'))
+            except Exception, err:
+                log.exception(err.__dict__)
+            if c.num_wiederaufnahme < 1:
+                id = new_it.getRootNode().getIdentifier()
+                c.success_for = REOPENOK_1_SUCCESS_HEADER
+                c.success_text = REOPENOK_1_SUCCESS_TEXT
+                c.url_ok = h.url_for(controller="/case", 
+                                     action="select",
+                                     id="%s" % id)
+            else:
+                c.success_for = REOPENOK_2_SUCCESS_HEADER
+                c.success_text = REOPENOK_2_SUCCESS_TEXT
+                c.url_ok = h.url_for(controller="/formularpage", 
+                                     action="select",
+                                     id="page-0:%s" % id)
+            return render('caselifetime/dialogs/success_reopen.mako')
+        else:
+            if c.num_wiederaufnahme < 1:
+                c.confirm_for = REOPENOK_1_HEADER_CONFIRM
+                c.question = REOPENOK_1_TEXT_CONFIRM
+                c.url_yes = "/caselifetime/reopen_ok/%s/1" % id
+                c.url_no = "/caselifetime/index/%s" % id
+            else:
+                c.confirm_for = REOPENOK_2_HEADER_CONFIRM
+                c.question = REOPENOK_2_TEXT_CONFIRM
+                c.url_yes = "/caselifetime/reopen_ok/%s/1" % id
+                c.url_no = "/caselifetime/index/%s" %id
+            return render('caselifetime/dialogs/confirm_reopen.mako')
+
+    def reopen_notok(self, id, confirmed='0'):
+        factory = InstanceFactory(g.formedTree, PostgresDBInterface())
+        it = factory.loadInstanceTreeByIdentifier(session['case'].id)
+        checkcase(it, id)
+        data = {}
+        if confirmed == '1':
+            try:
+                # Füge alte params aus dem Dialog in der verwaltung
+                # hinzu und schreibe alles weg
+                save_formdata(id, data)
+                create_logbook(header='Wiederaufnahme',
+                               text=('Für den Fall wurde eine nicht genehmigte'
+                                     ' Wiederaufnahme des Integrationsprozess'
+                                     ' dokumentiert.'))
+            except Exception, err:
+                print err
+
+            c.success_for = REOPENNOTOK_SUCCESS_HEADER
+            c.success_text = REOPENNOTOK_SUCCESS_TEXT
+            c.url_ok = h.url_for(controller="/formularpage",
+                                 action="select",
+                                 id="page-0:%s" % id)
+            return render('caselifetime/dialogs/success_reopen.mako')
+            return self.index()
+        else:
+            c.confirm_for = REOPENNOTOK_HEADER_CONFIRM
+            c.question = REOPENNOTOK_TEXT_CONFIRM
+            c.url_yes = "/caselifetime/reopen_notok/%s/1" % id
+            c.url_no = "/caselifetime/index/"
+            return render('caselifetime/dialogs/confirm_reopen.mako')
+
+    def reopenAction(self):
+        factory = InstanceFactory(g.formedTree, PostgresDBInterface())
+        it = factory.loadInstanceTreeByIdentifier(session['case'].id)
+        case_id = it.getRootNode().getIdentifier()
+        checkcase(it, case_id)
+        S = _set_data
+        form_result = {}
+        form_errors = {}
+
+        if c.num_wiederaufnahme < 1:
+            if request.params.get('cm_wiederauf_genehm_1') == '0':
+                validator = ReopenFormValidator1abgel()
+            else:
+                validator = ReopenFormValidator1()
+        else:
+            if request.params.get('cm_wiederauf_genehm_2') == '0':
+                validator = ReopenFormValidator2abgel()
+            else:
+                validator = ReopenFormValidator2()
+
+        try:
+            form_result = validator.to_python(request.params)
+            session['lifetimeparams'] = form_result
+            session.save()
+            try:
+                # Lets try to insert some dates (do not actually insert them)
+                # and check if they match all rules.
+                S(it, form_result, case_id, do_write=False)
+                if (form_result.get('cm_wiederauf_genehm_1') == '1'
+                    or form_result.get('cm_wiederauf_genehm_2') == '1'):
+                    return self.reopen_ok(session['case'].id)
+                else:
+                    return self.reopen_notok(session['case'].id)
+            except SetDataException, err:
+                form_result_1, form_errors = err.toErrorDicts()
+        except formencode.Invalid, error:
+            #TODO: use htmlfill
+            form_result = error.value
+            form_errors = error.error_dict or {}
+
+        form = render('/caselifetime/overview.mako')
+        return formencode.htmlfill.render(form, 
+                                          defaults=form_result,
+                                          errors=form_errors)
+
+    def renewAction(self):
+
+        factory = InstanceFactory(g.formedTree, PostgresDBInterface())
+        it = factory.loadInstanceTreeByIdentifier(session['case'].id)
+        case_id = it.getRootNode().getIdentifier()
+        S = _set_data
+        checkcase(it, case_id)
+
+        validator = RenewFormValidator()
+        form_result = {}
+        form_errors = {}
+
+        try:
+            form_result = validator.to_python(request.params)
+            session['lifetimeparams'] = form_result
+            session.save()
+            try:
+                S(it, form_result, case_id, do_write = False)
+                if form_result.get('cm_neuauf_genehm') == '1':
+                    return self.renew_ok(case_id)
+                else:
+                    return self.renew_notok(case_id)
+            except DataSaveException, err:
+                form_result_1, form_errors = err.toErrorDicts()
+
+        except formencode.Invalid, error:
+            form_result = error.value
+            form_errors = error.error_dict or {}
+
+        form_result = form_result
+        form_errors = form_errors
+        form = render('/caselifetime/overview.mako')
+        return formencode.htmlfill.render(form,
+                                          defaults=form_result,
+                                          errors=form_errors)
+

Modified: wasko/trunk/waskoweb/lib/validators.py
===================================================================
--- wasko/trunk/waskoweb/lib/validators.py	2010-07-12 14:26:47 UTC (rev 3177)
+++ wasko/trunk/waskoweb/lib/validators.py	2010-07-12 14:33:18 UTC (rev 3178)
@@ -25,7 +25,7 @@
 
 from formencode import ForEach
 from formencode.validators import Bool, String, Int
-from mpulsweb.lib.validators import BaseFormValidator
+from mpulsweb.lib.validators import BaseFormValidator, DateCheck, KeineAngabe
 
 class NewCaseForm(BaseFormValidator):
 
@@ -36,4 +36,91 @@
 class PermissionForm(BaseFormValidator):
     userid = ForEach(String(), convert_to_list=True)
 
+class ExtraTimeFormValidator1(BaseFormValidator):
+
+    allow_extra_fields = True
+    filter_extra_fields = True
+
+    cm_datum_verlaengerung_1 = DateCheck(not_empty=True)
+    cm_bestaet_verlaengerung_1 = String(not_empty=True)
+    cm_anmerk_verlaengerung_1 = String()
+
+
+class ExtraTimeFormValidator2(BaseFormValidator):
+
+    allow_extra_fields = True
+    filter_extra_fields = True
+
+    cm_datum_verlaengerung_2 = DateCheck(not_empty=True)
+    cm_bestaet_verlaengerung_2 = String(not_empty=True)
+    cm_anmerk_verlaengerung_2 = String()
+
+
+class RenewFormValidator(BaseFormValidator):
+
+    allow_extra_fields = True
+    filter_extra_fields = True
+
+    cm_neuauf_genehm = String()
+    cm2c_t = String()
+
+
+class ReopenFormValidator1(BaseFormValidator):
+
+    allow_extra_fields = True
+    filter_extra_fields = True
+
+    cm_wiederauf_genehm_1 = String()
+    cm_wiederauf_genehm_datum_1 = DateCheck(not_empty=True)
+    cm_wiederauf_datum_bis_1 = DateCheck(not_empty=True)
+    cm2c_t = String(not_empty=True)
+
+
+class ReopenFormValidator1abgel(BaseFormValidator):
+
+    allow_extra_fields = True
+    filter_extra_fields = True
+
+    cm_wiederauf_genehm_1 = String()
+    cm_wiederauf_genehm_datum_1 = String()
+    cm_wiederauf_datum_bis_1 = String()
+    cm2c_t = String()
+
+
+class ReopenFormValidator2(BaseFormValidator):
+
+    allow_extra_fields = True
+    filter_extra_fields = True
+
+    cm_wiederauf_genehm_2 = String()
+    cm_wiederauf_datum_bis_2 = DateCheck(not_empty=True)
+    cm2c_t = String()
+
+
+class ReopenFormValidator2abgel(BaseFormValidator):
+
+    allow_extra_fields = True
+    filter_extra_fields = True
+
+    cm_wiederauf_genehm_2 = String()
+    cm_wiederauf_datum_bis_2 = String()
+    cm2c_t = String()
+
+
+class WiederaufnahmeCaseForm(BaseFormValidator):
+
+    cm_dok_datum_beendigung = DateCheck(not_empty=True)
+    cm_dok_end_verm = String()
+    cm_wiederauf_genehm_datum_1 = DateCheck(not_empty=True)
+    cm_wiederauf_datum_bis_1 = DateCheck(not_empty=True)
+    cm2c_t = String(not_empty=True)
+    cm_dok_end_verm = KeineAngabe()
+
+
+class NeuaufnahmeCaseForm(BaseFormValidator):
+
+    cm_dok_datum_beendigung = DateCheck(not_empty=True)
+    cm_dok_end_sonst = KeineAngabe()
+    cm2c_t = String()
+
 # vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8

Modified: wasko/trunk/waskoweb/public/formed/formedtree.xml
===================================================================
--- wasko/trunk/waskoweb/public/formed/formedtree.xml	2010-07-12 14:26:47 UTC (rev 3177)
+++ wasko/trunk/waskoweb/public/formed/formedtree.xml	2010-07-12 14:33:18 UTC (rev 3178)
@@ -9,7 +9,6 @@
           <bool description="liegt nicht vor" name="bool-1157" value="0"/>
           <bool checked="true" description="liegt noch nicht vor/unklar" name="bool-1158" value="-1"/>
         </choice>
-        <rule expr="$einwilligung -1 == not" mark="warning:einwilligung" name="required-rule-47" value="Fehlende Pflichtfeldangabe"/>
       </group>
       <group invisible="1" name="group-106">
         <choice description="Phase im Case-Management" name="phase" size="1" target="b">
@@ -51,22 +50,6 @@
           <rule description="warnhinweis unbekanntes geschlecht" expr="$geschlecht -3 == not" mark="notice:geschlecht" name="rule-78" value='Sie haben das Geschlecht des/der Jugendlichen mit "unbekannt" angegeben. Bitte beachten Sie, dass für die ESF-Berichterstattung die Angabe des Geschlechts zwingend notwendig ist!'/>
           <date description="Geburtsdatum" flags="required:phase_1" function="get_age" name="geburtsdatum" order="mutter_gb,vater_gb;$TODAY" target="c"/>
           <rule expr="$geburtsdatum isset" mark="warning:geburtsdatum" name="rule-70" value="Fehlende Pflichtfeldangabe"/>
-          <rule expr="$name isset" mark="warning:name" name="required-rule-51" value="Fehlende Pflichtfeldangabe"/>
-          <rule expr="$vorname isset" mark="warning:vorname" name="required-rule-52" value="Fehlende Pflichtfeldangabe"/>
-          <rule description="'geburtsdatum' muss vor 'kontakt' liegen." expr="$geburtsdatum isset $geburtsdatum known and $kontakt isset $kontakt known and and $geburtsdatum $kontakt &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-2-1" value="'Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'Datum des Erstkontakt zum/zur Jugendlichen' liegen."/>
-          <rule description="'geburtsdatum' muss vor 'nat_wohn' liegen." expr="$geburtsdatum isset $geburtsdatum known and $nat_wohn isset $nat_wohn known and and $geburtsdatum $nat_wohn &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-9-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 3. Angaben zur Person / 3.1 Persönliche Angaben / Nationalitätenstatus / Datum wohnhaft in Deutschland seit' liegen."/>
-          <rule description="'vater_gb' muss vor 'geburtsdatum' liegen." expr="$vater_gb isset $vater_gb known and $geburtsdatum isset $geburtsdatum known and and $vater_gb $geburtsdatum &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-11-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' liegen."/>
-          <rule description="'geburtsdatum' muss vor 'datum_kf_1' liegen." expr="$geburtsdatum isset $geburtsdatum known and $datum_kf_1 isset $datum_kf_1 known and and $geburtsdatum $datum_kf_1 &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-16-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.1 Kompetenzfeststellung / 5.1.1 Verfahren der Kompetenzfeststellung / Datum Beginn der Kompetenzfeststellung' liegen."/>
-          <rule description="'geburtsdatum' muss vor 'nbetr_ende' liegen." expr="$geburtsdatum isset $geburtsdatum known and $nbetr_ende isset $nbetr_ende known and and $geburtsdatum $nbetr_ende &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-19-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-          <rule description="'geburtsdatum' muss vor 'erstgespraech' liegen." expr="$geburtsdatum isset $geburtsdatum known and $erstgespraech isset $erstgespraech known and and $geburtsdatum $erstgespraech &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-29-1" value="'Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'Datum des Erstgesprächs mit dem/der Jugendlichen' liegen."/>
-          <rule description="'geburtsdatum' muss vor 'datum_bfplan' liegen." expr="$geburtsdatum isset $geburtsdatum known and $datum_bfplan isset $datum_bfplan known and and $geburtsdatum $datum_bfplan &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-30-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' liegen."/>
-          <rule description="'geburtsdatum' muss vor 'datum_cm_start' liegen." expr="$geburtsdatum isset $geburtsdatum known and $datum_cm_start isset $datum_cm_start known and and $geburtsdatum $datum_cm_start &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-34-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' liegen."/>
-          <rule description="'geburtsdatum' muss vor 'hilfsmassnahmen_ende' liegen." expr="$geburtsdatum isset $geburtsdatum known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $geburtsdatum $hilfsmassnahmen_ende &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-36-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-          <rule description="'geburtsdatum' muss vor 'nbetr_start' liegen." expr="$geburtsdatum isset $geburtsdatum known and $nbetr_start isset $nbetr_start known and and $geburtsdatum $nbetr_start &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-38-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-          <rule description="'geburtsdatum' muss vor 'datum_cm_ende' liegen." expr="$geburtsdatum isset $geburtsdatum known and $datum_cm_ende isset $datum_cm_ende known and and $geburtsdatum $datum_cm_ende &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-53-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
-          <rule description="'geburtsdatum' muss vor 'hilfsmassnahmen_start' liegen." expr="$geburtsdatum isset $geburtsdatum known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $geburtsdatum $hilfsmassnahmen_start &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-59-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-          <rule description="'mutter_gb' muss vor 'geburtsdatum' liegen." expr="$mutter_gb isset $mutter_gb known and $geburtsdatum isset $geburtsdatum known and and $mutter_gb $geburtsdatum &gt; and not" mark="error:geburtsdatum" name="date-sequence-rule-65-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' liegen."/>
-          <rule description="'geburtsdatum' muss in der Vergangenheit liegen." expr="$geburtsdatum isset $geburtsdatum known and $geburtsdatum today &gt; and not" mark="error:geburtsdatum" name="date-in-past-rule-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf nicht in der Zukunft liegen."/>
         </group>
         <date description="Datum des Erstkontakt zum/zur Jugendlichen" flags="required:phase_1" name="kontakt" order="geburtsdatum;erstgespraech" target="f"/>
         <date description="Datum des Erstgesprächs mit dem/der Jugendlichen" flags="required:phase_0;time:phase_0" name="erstgespraech" order="kontakt;datum_cm_start" target="g"/>
@@ -93,7 +76,6 @@
             <bool checked="true" description="keine Angabe" name="bool-106" value="-1"/>
           </choice>
           <text description="Nennung Sonstiges" function="suppress_value" maxlength="256" name="zugang_t" size="40"/>
-          <rule expr="$zugang -1 == not" mark="warning:zugang" name="required-rule-54" value="Fehlende Pflichtfeldangabe"/>
         </group>
         <group containers="a,b,c,d,e,f" description="Wiederaufnahme und Neuaufnahme" name="group-3" target="i">
           <choice description='Der/die Jugendliche war bereits im Case Management der "2. Chance"' flags="required:phase_1" name="cm2c" size="1" target="a">
@@ -135,9 +117,6 @@
                   <bool checked="true" description="keine Angabe" name="bool-1136" value="-1"/>
                 </choice>
               </conditional>
-              <rule description="'cm_dok_datum_beendigung' muss vor 'cm_wiederauf_datum_bis_2' liegen." expr="$cm_dok_datum_beendigung isset $cm_dok_datum_beendigung known and $cm_wiederauf_datum_bis_2 isset $cm_wiederauf_datum_bis_2 known and and $cm_dok_datum_beendigung $cm_wiederauf_datum_bis_2 &gt; and not" mark="error:cm_dok_datum_beendigung" name="date-sequence-rule-7-1" value="'Angaben zur bereits erfolgten Beendigung der Betreuung / Datum der Beendigung' darf zeitlich nicht nach 'Wiederaufnahme der/des Jugendlichen für weitere 3 Monate / Datum Wiederaufnahme genehmigt bis' liegen."/>
-              <rule description="'cm_dok_datum_beendigung' muss vor 'cm_wiederauf_genehm_datum_1' liegen." expr="$cm_dok_datum_beendigung isset $cm_dok_datum_beendigung known and $cm_wiederauf_genehm_datum_1 isset $cm_wiederauf_genehm_datum_1 known and and $cm_dok_datum_beendigung $cm_wiederauf_genehm_datum_1 &gt; and not" mark="error:cm_dok_datum_beendigung" name="date-sequence-rule-25-1" value="'Angaben zur bereits erfolgten Beendigung der Betreuung / Datum der Beendigung' darf zeitlich nicht nach 'Wiederaufnahme der/des Jugendlichen für 3 Monate / Datum Wiederaufnahme' liegen."/>
-              <rule description="'cm_dok_datum_beendigung' muss vor 'cm_wiederauf_datum_bis_1' liegen." expr="$cm_dok_datum_beendigung isset $cm_dok_datum_beendigung known and $cm_wiederauf_datum_bis_1 isset $cm_wiederauf_datum_bis_1 known and and $cm_dok_datum_beendigung $cm_wiederauf_datum_bis_1 &gt; and not" mark="error:cm_dok_datum_beendigung" name="date-sequence-rule-43-1" value="'Angaben zur bereits erfolgten Beendigung der Betreuung / Datum der Beendigung' darf zeitlich nicht nach 'Wiederaufnahme der/des Jugendlichen für 3 Monate / Datum Wiederaufnahme genehmigt bis' liegen."/>
             </group>
             <conditional expr="$cm_neuauf_genehm isset $cm_neuauf_genehm -1 != and" invisible="true" name="conditional-5" target="c">
               <choice description="Genehmigung der Neuaufnahme" name="cm_neuauf_genehm" size="1" target="c">
@@ -158,12 +137,6 @@
                 <date description="Datum Wiederaufnahme" name="cm_wiederauf_genehm_datum_1" order=";cm_wiederauf_datum_bis_1" target="b"/>
                 <date description="Datum Wiederaufnahme genehmigt bis" name="cm_wiederauf_datum_bis_1" order="cm_wiederauf_genehm_datum_1;cm_wiederauf_datum_bis_2" target="b"/>
                 <rule description="Ende Wiederaufnahme max 93Tage &gt; als Genehmigung Wiederaufnahme" expr="$cm_wiederauf_genehm_datum_1 isset $cm_wiederauf_datum_bis_1 isset and 2 1 1980 date 1 1 1980 date - 93 * $cm_wiederauf_genehm_datum_1 + $cm_wiederauf_datum_bis_1 &lt; and not" mark="error:cm_wiederauf_datum_bis_1" name="rule-79" value="Zeitraum der genehmigten Wiederaufnahme zu groß"/>
-                <rule description="'cm_dok_datum_beendigung' muss vor 'cm_wiederauf_genehm_datum_1' liegen." expr="$cm_dok_datum_beendigung isset $cm_dok_datum_beendigung known and $cm_wiederauf_genehm_datum_1 isset $cm_wiederauf_genehm_datum_1 known and and $cm_dok_datum_beendigung $cm_wiederauf_genehm_datum_1 &gt; and not" mark="error:cm_wiederauf_genehm_datum_1" name="date-sequence-rule-25-2" value="'Angaben zur bereits erfolgten Beendigung der Betreuung / Datum der Beendigung' darf zeitlich nicht nach 'Wiederaufnahme der/des Jugendlichen für 3 Monate / Datum Wiederaufnahme' liegen."/>
-                <rule description="'cm_wiederauf_genehm_datum_1' muss vor 'cm_wiederauf_datum_bis_2' liegen." expr="$cm_wiederauf_genehm_datum_1 isset $cm_wiederauf_genehm_datum_1 known and $cm_wiederauf_datum_bis_2 isset $cm_wiederauf_datum_bis_2 known and and $cm_wiederauf_genehm_datum_1 $cm_wiederauf_datum_bis_2 &gt; and not" mark="error:cm_wiederauf_genehm_datum_1" name="date-sequence-rule-37-1" value="'Wiederaufnahme der/des Jugendlichen für 3 Monate / Datum Wiederaufnahme' darf zeitlich nicht nach 'Wiederaufnahme der/des Jugendlichen für weitere 3 Monate / Datum Wiederaufnahme genehmigt bis' liegen."/>
-                <rule description="'cm_dok_datum_beendigung' muss vor 'cm_wiederauf_datum_bis_1' liegen." expr="$cm_dok_datum_beendigung isset $cm_dok_datum_beendigung known and $cm_wiederauf_datum_bis_1 isset $cm_wiederauf_datum_bis_1 known and and $cm_dok_datum_beendigung $cm_wiederauf_datum_bis_1 &gt; and not" mark="error:cm_wiederauf_datum_bis_1" name="date-sequence-rule-43-2" value="'Angaben zur bereits erfolgten Beendigung der Betreuung / Datum der Beendigung' darf zeitlich nicht nach 'Wiederaufnahme der/des Jugendlichen für 3 Monate / Datum Wiederaufnahme genehmigt bis' liegen."/>
-                <rule description="'cm_wiederauf_datum_bis_1' muss vor 'cm_wiederauf_datum_bis_2' liegen." expr="$cm_wiederauf_datum_bis_1 isset $cm_wiederauf_datum_bis_1 known and $cm_wiederauf_datum_bis_2 isset $cm_wiederauf_datum_bis_2 known and and $cm_wiederauf_datum_bis_1 $cm_wiederauf_datum_bis_2 &gt; and not" mark="error:cm_wiederauf_datum_bis_1" name="date-sequence-rule-57-1" value="'Wiederaufnahme der/des Jugendlichen für 3 Monate / Datum Wiederaufnahme genehmigt bis' darf zeitlich nicht nach 'Wiederaufnahme der/des Jugendlichen für weitere 3 Monate / Datum Wiederaufnahme genehmigt bis' liegen."/>
-                <rule description="'cm_wiederauf_genehm_datum_1' muss vor 'cm_wiederauf_datum_bis_1' liegen." expr="$cm_wiederauf_genehm_datum_1 isset $cm_wiederauf_genehm_datum_1 known and $cm_wiederauf_datum_bis_1 isset $cm_wiederauf_datum_bis_1 known and and $cm_wiederauf_genehm_datum_1 $cm_wiederauf_datum_bis_1 &gt; and not" mark="error:cm_wiederauf_genehm_datum_1" name="date-sequence-rule-62-1" value="'Datum Wiederaufnahme' darf zeitlich nicht nach 'Datum Wiederaufnahme genehmigt bis' liegen."/>
-                <rule description="'cm_wiederauf_genehm_datum_1' muss vor 'cm_wiederauf_datum_bis_1' liegen." expr="$cm_wiederauf_genehm_datum_1 isset $cm_wiederauf_genehm_datum_1 known and $cm_wiederauf_datum_bis_1 isset $cm_wiederauf_datum_bis_1 known and and $cm_wiederauf_genehm_datum_1 $cm_wiederauf_datum_bis_1 &gt; and not" mark="error:cm_wiederauf_datum_bis_1" name="date-sequence-rule-62-2" value="'Datum Wiederaufnahme' darf zeitlich nicht nach 'Datum Wiederaufnahme genehmigt bis' liegen."/>
               </group>
             </conditional>
             <conditional expr="$cm_wiederauf_genehm_2 isset $cm_wiederauf_genehm_2 -1 != and" invisible="true" name="conditional-2" target="e">
@@ -176,44 +149,14 @@
                 </choice>
                 <date description="Datum Wiederaufnahme genehmigt bis" name="cm_wiederauf_datum_bis_2" order="cm_wiederauf_datum_bis_1;" target="b"/>
                 <rule description="Ende Wiederaufnahme max 93Tage &gt; als Beendigung Wiederaufnahme 1" expr="$cm_wiederauf_datum_bis_1 isset $cm_wiederauf_datum_bis_2 isset and 2 1 1980 date 1 1 1980 date - 93 * $cm_wiederauf_datum_bis_1 + $cm_wiederauf_datum_bis_2 &lt; and not" mark="error:cm_wiederauf_datum_bis_2" name="rule-80" value="Zeitraum der genehmigten Wiederaufnahme zu groß"/>
-                <rule description="'cm_dok_datum_beendigung' muss vor 'cm_wiederauf_datum_bis_2' liegen." expr="$cm_dok_datum_beendigung isset $cm_dok_datum_beendigung known and $cm_wiederauf_datum_bis_2 isset $cm_wiederauf_datum_bis_2 known and and $cm_dok_datum_beendigung $cm_wiederauf_datum_bis_2 &gt; and not" mark="error:cm_wiederauf_datum_bis_2" name="date-sequence-rule-7-2" value="'Angaben zur bereits erfolgten Beendigung der Betreuung / Datum der Beendigung' darf zeitlich nicht nach 'Wiederaufnahme der/des Jugendlichen für weitere 3 Monate / Datum Wiederaufnahme genehmigt bis' liegen."/>
-                <rule description="'cm_wiederauf_genehm_datum_1' muss vor 'cm_wiederauf_datum_bis_2' liegen." expr="$cm_wiederauf_genehm_datum_1 isset $cm_wiederauf_genehm_datum_1 known and $cm_wiederauf_datum_bis_2 isset $cm_wiederauf_datum_bis_2 known and and $cm_wiederauf_genehm_datum_1 $cm_wiederauf_datum_bis_2 &gt; and not" mark="error:cm_wiederauf_datum_bis_2" name="date-sequence-rule-37-2" value="'Wiederaufnahme der/des Jugendlichen für 3 Monate / Datum Wiederaufnahme' darf zeitlich nicht nach 'Wiederaufnahme der/des Jugendlichen für weitere 3 Monate / Datum Wiederaufnahme genehmigt bis' liegen."/>
-                <rule description="'cm_wiederauf_datum_bis_1' muss vor 'cm_wiederauf_datum_bis_2' liegen." expr="$cm_wiederauf_datum_bis_1 isset $cm_wiederauf_datum_bis_1 known and $cm_wiederauf_datum_bis_2 isset $cm_wiederauf_datum_bis_2 known and and $cm_wiederauf_datum_bis_1 $cm_wiederauf_datum_bis_2 &gt; and not" mark="error:cm_wiederauf_datum_bis_2" name="date-sequence-rule-57-2" value="'Wiederaufnahme der/des Jugendlichen für 3 Monate / Datum Wiederaufnahme genehmigt bis' darf zeitlich nicht nach 'Wiederaufnahme der/des Jugendlichen für weitere 3 Monate / Datum Wiederaufnahme genehmigt bis' liegen."/>
               </group>
             </conditional>
           </conditional>
           <textarea description="Anmerkungen zur Wiederaufnahme und Neuaufnahme" function="suppress_value" name="cm2c_t" rows="2" target="f"/>
-          <rule expr="$cm2c -1 == not" mark="warning:cm2c" name="required-rule-55" value="Fehlende Pflichtfeldangabe"/>
         </group>
-        <rule expr="$fkz isset" mark="warning:fkz" name="required-rule-48" value="Fehlende Pflichtfeldangabe"/>
-        <rule expr="$ks isset" mark="warning:ks" name="required-rule-49" value="Fehlende Pflichtfeldangabe"/>
-        <rule expr="$fn isset" mark="warning:fn" name="required-rule-50" value="Fehlende Pflichtfeldangabe"/>
-        <rule expr="$kontakt isset" mark="warning:kontakt" name="required-rule-53" value="Fehlende Pflichtfeldangabe"/>
-        <rule description="'geburtsdatum' muss vor 'kontakt' liegen." expr="$geburtsdatum isset $geburtsdatum known and $kontakt isset $kontakt known and and $geburtsdatum $kontakt &gt; and not" mark="error:kontakt" name="date-sequence-rule-2-2" value="'Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'Datum des Erstkontakt zum/zur Jugendlichen' liegen."/>
-        <rule description="'kontakt' muss vor 'nbetr_start' liegen." expr="$kontakt isset $kontakt known and $nbetr_start isset $nbetr_start known and and $kontakt $nbetr_start &gt; and not" mark="error:kontakt" name="date-sequence-rule-5-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-        <rule description="'erstgespraech' muss vor 'nbetr_ende' liegen." expr="$erstgespraech isset $erstgespraech known and $nbetr_ende isset $nbetr_ende known and and $erstgespraech $nbetr_ende &gt; and not" mark="error:erstgespraech" name="date-sequence-rule-12-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-        <rule description="'erstgespraech' muss vor 'datum_cm_ende' liegen." expr="$erstgespraech isset $erstgespraech known and $datum_cm_ende isset $datum_cm_ende known and and $erstgespraech $datum_cm_ende &gt; and not" mark="error:erstgespraech" name="date-sequence-rule-13-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
-        <rule description="'kontakt' muss vor 'hilfsmassnahmen_ende' liegen." expr="$kontakt isset $kontakt known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $kontakt $hilfsmassnahmen_ende &gt; and not" mark="error:kontakt" name="date-sequence-rule-15-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-        <rule description="'geburtsdatum' muss vor 'erstgespraech' liegen." expr="$geburtsdatum isset $geburtsdatum known and $erstgespraech isset $erstgespraech known and and $geburtsdatum $erstgespraech &gt; and not" mark="error:erstgespraech" name="date-sequence-rule-29-2" value="'Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'Datum des Erstgesprächs mit dem/der Jugendlichen' liegen."/>
-        <rule description="'mutter_gb' muss vor 'kontakt' liegen." expr="$mutter_gb isset $mutter_gb known and $kontakt isset $kontakt known and and $mutter_gb $kontakt &gt; and not" mark="error:kontakt" name="date-sequence-rule-31-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' liegen."/>
-        <rule description="'kontakt' muss vor 'datum_cm_start' liegen." expr="$kontakt isset $kontakt known and $datum_cm_start isset $datum_cm_start known and and $kontakt $datum_cm_start &gt; and not" mark="error:kontakt" name="date-sequence-rule-35-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' liegen."/>
-        <rule description="'kontakt' muss vor 'datum_bfplan' liegen." expr="$kontakt isset $kontakt known and $datum_bfplan isset $datum_bfplan known and and $kontakt $datum_bfplan &gt; and not" mark="error:kontakt" name="date-sequence-rule-39-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' liegen."/>
-        <rule description="'kontakt' muss vor 'datum_cm_ende' liegen." expr="$kontakt isset $kontakt known and $datum_cm_ende isset $datum_cm_ende known and and $kontakt $datum_cm_ende &gt; and not" mark="error:kontakt" name="date-sequence-rule-40-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
-        <rule description="'kontakt' muss vor 'hilfsmassnahmen_start' liegen." expr="$kontakt isset $kontakt known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $kontakt $hilfsmassnahmen_start &gt; and not" mark="error:kontakt" name="date-sequence-rule-44-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-        <rule description="'vater_gb' muss vor 'kontakt' liegen." expr="$vater_gb isset $vater_gb known and $kontakt isset $kontakt known and and $vater_gb $kontakt &gt; and not" mark="error:kontakt" name="date-sequence-rule-45-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' liegen."/>
-        <rule description="'erstgespraech' muss vor 'nbetr_start' liegen." expr="$erstgespraech isset $erstgespraech known and $nbetr_start isset $nbetr_start known and and $erstgespraech $nbetr_start &gt; and not" mark="error:erstgespraech" name="date-sequence-rule-48-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-        <rule description="'kontakt' muss vor 'nbetr_ende' liegen." expr="$kontakt isset $kontakt known and $nbetr_ende isset $nbetr_ende known and and $kontakt $nbetr_ende &gt; and not" mark="error:kontakt" name="date-sequence-rule-49-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-        <rule description="'erstgespraech' muss vor 'hilfsmassnahmen_start' liegen." expr="$erstgespraech isset $erstgespraech known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $erstgespraech $hilfsmassnahmen_start &gt; and not" mark="error:erstgespraech" name="date-sequence-rule-50-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-        <rule description="'vater_gb' muss vor 'erstgespraech' liegen." expr="$vater_gb isset $vater_gb known and $erstgespraech isset $erstgespraech known and and $vater_gb $erstgespraech &gt; and not" mark="error:erstgespraech" name="date-sequence-rule-51-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' liegen."/>
-        <rule description="'mutter_gb' muss vor 'erstgespraech' liegen." expr="$mutter_gb isset $mutter_gb known and $erstgespraech isset $erstgespraech known and and $mutter_gb $erstgespraech &gt; and not" mark="error:erstgespraech" name="date-sequence-rule-52-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' liegen."/>
-        <rule description="'erstgespraech' muss vor 'datum_cm_start' liegen." expr="$erstgespraech isset $erstgespraech known and $datum_cm_start isset $datum_cm_start known and and $erstgespraech $datum_cm_start &gt; and not" mark="error:erstgespraech" name="date-sequence-rule-63-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' liegen."/>
-        <rule description="'erstgespraech' muss vor 'datum_bfplan' liegen." expr="$erstgespraech isset $erstgespraech known and $datum_bfplan isset $datum_bfplan known and and $erstgespraech $datum_bfplan &gt; and not" mark="error:erstgespraech" name="date-sequence-rule-64-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' liegen."/>
-        <rule description="'erstgespraech' muss vor 'hilfsmassnahmen_ende' liegen." expr="$erstgespraech isset $erstgespraech known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $erstgespraech $hilfsmassnahmen_ende &gt; and not" mark="error:erstgespraech" name="date-sequence-rule-70-1" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-        <rule description="'kontakt' muss vor 'erstgespraech' liegen." expr="$kontakt isset $kontakt known and $erstgespraech isset $erstgespraech known and and $kontakt $erstgespraech &gt; and not" mark="error:kontakt" name="date-sequence-rule-71-1" value="'Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'Datum des Erstgesprächs mit dem/der Jugendlichen' liegen."/>
-        <rule description="'kontakt' muss vor 'erstgespraech' liegen." expr="$kontakt isset $kontakt known and $erstgespraech isset $erstgespraech known and and $kontakt $erstgespraech &gt; and not" mark="error:erstgespraech" name="date-sequence-rule-71-2" value="'Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'Datum des Erstgesprächs mit dem/der Jugendlichen' liegen."/>
       </page>
       <page containers="a,b,c,d,e,f,g" description="2. Externe Ansprechpartner" name="page-1">
-        <repeat containers="a,b,c,d,e" description="Externe Ansprechpartner" min="1" name="rg_ansprechpartner" target="b">
+        <repeat containers="a,b,c,d,e" description="Welche Probleme bestehen aus Sicht" min="1" name="rg_ansprechpartner" target="b">
           <choice description="Ansprechpartner" name="ansprechpartner_typ" size="1" target="a">
             <bool description="Schule" name="bool-2132" value="1"/>
             <bool description="Bezugslehrer/Bezugslehrerin" name="bool-2133" value="0"/>
@@ -223,6 +166,7 @@
             <bool checked="true" description="keine Angabe" name="bool-2135" value="-1"/>
           </choice>
           <text description="Name" function="suppress_value" maxlength="256" name="ansprechpartner_name" size="40" target="a"/>
+          <text description="Vorname" function="suppress_value" maxlength="256" name="ansprechpartners_vorname" size="40" target="a"/>
           <text description="Straße" function="suppress_value" maxlength="256" name="ansprechpartner_strasse" size="40" target="b"/>
           <text description="Nr." function="suppress_value" maxlength="256" name="ansprechpartner_strassenr" size="40" target="b"/>
           <text description="PLZ" function="suppress_value" maxlength="256" name="ansprechpartner_plz" size="40" target="c"/>
@@ -241,17 +185,6 @@
             <conditional expr="$datum_cm_start isset not $datum_cm_start 1 1 2010 date &gt;= or" name="conditional-11" target="a">
               <date description="Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle" flags="required:phase_2,phase_1;time:phase_1,phase_2" name="datum_cm_start" order="erstgespraech;datum_bfplan" target="a"/>
               <rule expr="$datum_cm_start isset" mark="warning:datum_cm_start" name="rule-72" value="Fehlende Pflichtfeldangabe"/>
-              <rule description="'datum_cm_start' muss vor 'nbetr_ende' liegen." expr="$datum_cm_start isset $datum_cm_start known and $nbetr_ende isset $nbetr_ende known and and $datum_cm_start $nbetr_ende &gt; and not" mark="error:datum_cm_start" name="date-sequence-rule-0-1" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-              <rule description="'datum_cm_start' muss vor 'datum_bfplan' liegen." expr="$datum_cm_start isset $datum_cm_start known and $datum_bfplan isset $datum_bfplan known and and $datum_cm_start $datum_bfplan &gt; and not" mark="error:datum_cm_start" name="date-sequence-rule-8-1" value="'3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' liegen."/>
-              <rule description="'datum_cm_start' muss vor 'hilfsmassnahmen_start' liegen." expr="$datum_cm_start isset $datum_cm_start known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $datum_cm_start $hilfsmassnahmen_start &gt; and not" mark="error:datum_cm_start" name="date-sequence-rule-14-1" value="'3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-              <rule description="'vater_gb' muss vor 'datum_cm_start' liegen." expr="$vater_gb isset $vater_gb known and $datum_cm_start isset $datum_cm_start known and and $vater_gb $datum_cm_start &gt; and not" mark="error:datum_cm_start" name="date-sequence-rule-20-2" value="'3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' liegen."/>
-              <rule description="'mutter_gb' muss vor 'datum_cm_start' liegen." expr="$mutter_gb isset $mutter_gb known and $datum_cm_start isset $datum_cm_start known and and $mutter_gb $datum_cm_start &gt; and not" mark="error:datum_cm_start" name="date-sequence-rule-28-2" value="'3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' liegen."/>
-              <rule description="'geburtsdatum' muss vor 'datum_cm_start' liegen." expr="$geburtsdatum isset $geburtsdatum known and $datum_cm_start isset $datum_cm_start known and and $geburtsdatum $datum_cm_start &gt; and not" mark="error:datum_cm_start" name="date-sequence-rule-34-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' liegen."/>
-              <rule description="'kontakt' muss vor 'datum_cm_start' liegen." expr="$kontakt isset $kontakt known and $datum_cm_start isset $datum_cm_start known and and $kontakt $datum_cm_start &gt; and not" mark="error:datum_cm_start" name="date-sequence-rule-35-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' liegen."/>
-              <rule description="'datum_cm_start' muss vor 'nbetr_start' liegen." expr="$datum_cm_start isset $datum_cm_start known and $nbetr_start isset $nbetr_start known and and $datum_cm_start $nbetr_start &gt; and not" mark="error:datum_cm_start" name="date-sequence-rule-46-1" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-              <rule description="'datum_cm_start' muss vor 'hilfsmassnahmen_ende' liegen." expr="$datum_cm_start isset $datum_cm_start known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $datum_cm_start $hilfsmassnahmen_ende &gt; and not" mark="error:datum_cm_start" name="date-sequence-rule-58-1" value="'3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-              <rule description="'erstgespraech' muss vor 'datum_cm_start' liegen." expr="$erstgespraech isset $erstgespraech known and $datum_cm_start isset $datum_cm_start known and and $erstgespraech $datum_cm_start &gt; and not" mark="error:datum_cm_start" name="date-sequence-rule-63-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' liegen."/>
-              <rule description="'datum_cm_start' muss vor 'datum_cm_ende' liegen." expr="$datum_cm_start isset $datum_cm_start known and $datum_cm_ende isset $datum_cm_ende known and and $datum_cm_start $datum_cm_ende &gt; and not" mark="error:datum_cm_start" name="date-sequence-rule-69-1" value="'3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' darf zeitlich nicht nach '6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
             </conditional>
             <group containers="a,b" description="Teilnahme an Befragung durch Evaluation" name="evaluation" target="b">
               <radio description="Der junge Mensch" formularname="Evaluation" name="teilnahme_evaluation" size="1" target="a">
@@ -352,13 +285,6 @@
               <bool description="unbekannt" name="bool-51" value="-3"/>
               <bool checked="true" description="keine Angabe" name="bool-108" value="-1"/>
             </choice>
-            <rule expr="$nat_land -1 == not" mark="warning:nat_land" name="required-rule-57" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$nat_staat -1 == not" mark="warning:nat_staat" name="required-rule-58" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$nat_muspra -1 == not" mark="warning:nat_muspra" name="required-rule-59" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$nat_haspra -1 == not" mark="warning:nat_haspra" name="required-rule-60" value="Fehlende Pflichtfeldangabe"/>
-            <rule description="'geburtsdatum' muss vor 'nat_wohn' liegen." expr="$geburtsdatum isset $geburtsdatum known and $nat_wohn isset $nat_wohn known and and $geburtsdatum $nat_wohn &gt; and not" mark="error:nat_wohn" name="date-sequence-rule-9-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 3. Angaben zur Person / 3.1 Persönliche Angaben / Nationalitätenstatus / Datum wohnhaft in Deutschland seit' liegen."/>
-            <rule description="'mutter_gb' muss vor 'nat_wohn' liegen." expr="$mutter_gb isset $mutter_gb known and $nat_wohn isset $nat_wohn known and and $mutter_gb $nat_wohn &gt; and not" mark="error:nat_wohn" name="date-sequence-rule-23-2" value="'3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '3.1 Persönliche Angaben / Nationalitätenstatus / Datum wohnhaft in Deutschland seit' liegen."/>
-            <rule description="'vater_gb' muss vor 'nat_wohn' liegen." expr="$vater_gb isset $vater_gb known and $nat_wohn isset $nat_wohn known and and $vater_gb $nat_wohn &gt; and not" mark="error:nat_wohn" name="date-sequence-rule-26-2" value="'3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '3.1 Persönliche Angaben / Nationalitätenstatus / Datum wohnhaft in Deutschland seit' liegen."/>
           </group>
           <choice description="Personensorgeberechtigte" name="psorge" size="1" target="h">
             <bool description="Mutter und Vater" name="bool-52" value="1"/>
@@ -372,7 +298,6 @@
             <bool checked="true" description="keine Angabe" name="bool-60" value="-1"/>
           </choice>
           <text description="Nennung Sonstige" function="suppress_value" maxlength="256" name="psorge_t" size="40" target="i"/>
-          <rule expr="$wohnort -1 == not" mark="warning:wohnort" name="required-rule-56" value="Fehlende Pflichtfeldangabe"/>
         </page>
         <page containers="a,b,c,d,e" description="3.2 Angaben zu der Mutter" name="page-3">
           <group containers="a,b,c" description="Angaben zur Person" name="group-10" target="a">
@@ -385,19 +310,6 @@
             <text description="Name" function="suppress_value" maxlength="256" name="mutter_n" size="40" target="b"/>
             <text description="Vorname" function="suppress_value" maxlength="256" name="mutter_vn" size="40" target="b"/>
             <date description="Geburtsdatum" function="suppress_value" name="mutter_gb" target="c"/>
-            <rule description="'mutter_gb' muss vor 'nbetr_start' liegen." expr="$mutter_gb isset $mutter_gb known and $nbetr_start isset $nbetr_start known and and $mutter_gb $nbetr_start &gt; and not" mark="error:mutter_gb" name="date-sequence-rule-3-1" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-            <rule description="'mutter_gb' muss vor 'nbetr_ende' liegen." expr="$mutter_gb isset $mutter_gb known and $nbetr_ende isset $nbetr_ende known and and $mutter_gb $nbetr_ende &gt; and not" mark="error:mutter_gb" name="date-sequence-rule-10-1" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-            <rule description="'mutter_gb' muss vor 'nat_wohn' liegen." expr="$mutter_gb isset $mutter_gb known and $nat_wohn isset $nat_wohn known and and $mutter_gb $nat_wohn &gt; and not" mark="error:mutter_gb" name="date-sequence-rule-23-1" value="'3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '3.1 Persönliche Angaben / Nationalitätenstatus / Datum wohnhaft in Deutschland seit' liegen."/>
-            <rule description="'mutter_gb' muss vor 'datum_bfplan' liegen." expr="$mutter_gb isset $mutter_gb known and $datum_bfplan isset $datum_bfplan known and and $mutter_gb $datum_bfplan &gt; and not" mark="error:mutter_gb" name="date-sequence-rule-24-1" value="'3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' liegen."/>
-            <rule description="'mutter_gb' muss vor 'hilfsmassnahmen_start' liegen." expr="$mutter_gb isset $mutter_gb known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $mutter_gb $hilfsmassnahmen_start &gt; and not" mark="error:mutter_gb" name="date-sequence-rule-27-1" value="'3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-            <rule description="'mutter_gb' muss vor 'datum_cm_start' liegen." expr="$mutter_gb isset $mutter_gb known and $datum_cm_start isset $datum_cm_start known and and $mutter_gb $datum_cm_start &gt; and not" mark="error:mutter_gb" name="date-sequence-rule-28-1" value="'3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' liegen."/>
-            <rule description="'mutter_gb' muss vor 'kontakt' liegen." expr="$mutter_gb isset $mutter_gb known and $kontakt isset $kontakt known and and $mutter_gb $kontakt &gt; and not" mark="error:mutter_gb" name="date-sequence-rule-31-1" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' liegen."/>
-            <rule description="'mutter_gb' muss vor 'datum_cm_ende' liegen." expr="$mutter_gb isset $mutter_gb known and $datum_cm_ende isset $datum_cm_ende known and and $mutter_gb $datum_cm_ende &gt; and not" mark="error:mutter_gb" name="date-sequence-rule-33-1" value="'3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
-            <rule description="'mutter_gb' muss vor 'hilfsmassnahmen_ende' liegen." expr="$mutter_gb isset $mutter_gb known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $mutter_gb $hilfsmassnahmen_ende &gt; and not" mark="error:mutter_gb" name="date-sequence-rule-41-1" value="'3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-            <rule description="'mutter_gb' muss vor 'datum_kf_1' liegen." expr="$mutter_gb isset $mutter_gb known and $datum_kf_1 isset $datum_kf_1 known and and $mutter_gb $datum_kf_1 &gt; and not" mark="error:mutter_gb" name="date-sequence-rule-47-1" value="'3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.1 Kompetenzfeststellung / 5.1.1 Verfahren der Kompetenzfeststellung / Datum Beginn der Kompetenzfeststellung' liegen."/>
-            <rule description="'mutter_gb' muss vor 'erstgespraech' liegen." expr="$mutter_gb isset $mutter_gb known and $erstgespraech isset $erstgespraech known and and $mutter_gb $erstgespraech &gt; and not" mark="error:mutter_gb" name="date-sequence-rule-52-1" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' liegen."/>
-            <rule description="'mutter_gb' muss vor 'geburtsdatum' liegen." expr="$mutter_gb isset $mutter_gb known and $geburtsdatum isset $geburtsdatum known and and $mutter_gb $geburtsdatum &gt; and not" mark="error:mutter_gb" name="date-sequence-rule-65-1" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' liegen."/>
-            <rule description="'mutter_gb' muss in der Vergangenheit liegen." expr="$mutter_gb isset $mutter_gb known and $mutter_gb today &gt; and not" mark="error:mutter_gb" name="date-in-past-rule-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf nicht in der Zukunft liegen."/>
           </group>
           <group containers="a,b,c,d,e" description="Adresse" name="group-11" target="b">
             <text description="Straße" function="suppress_value" maxlength="256" name="mutter_strasse_1" size="40" target="a"/>
@@ -475,19 +387,6 @@
             <text description="Name" function="suppress_value" maxlength="256" name="vater_n" size="40" target="b"/>
             <text description="Vorname" function="suppress_value" maxlength="256" name="vater_vn" size="40" target="b"/>
             <date description="Geburtsdatum" function="suppress_value" name="vater_gb" target="c"/>
-            <rule description="'vater_gb' muss vor 'geburtsdatum' liegen." expr="$vater_gb isset $vater_gb known and $geburtsdatum isset $geburtsdatum known and and $vater_gb $geburtsdatum &gt; and not" mark="error:vater_gb" name="date-sequence-rule-11-1" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' liegen."/>
-            <rule description="'vater_gb' muss vor 'hilfsmassnahmen_start' liegen." expr="$vater_gb isset $vater_gb known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $vater_gb $hilfsmassnahmen_start &gt; and not" mark="error:vater_gb" name="date-sequence-rule-17-1" value="'3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-            <rule description="'vater_gb' muss vor 'datum_cm_start' liegen." expr="$vater_gb isset $vater_gb known and $datum_cm_start isset $datum_cm_start known and and $vater_gb $datum_cm_start &gt; and not" mark="error:vater_gb" name="date-sequence-rule-20-1" value="'3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' liegen."/>
-            <rule description="'vater_gb' muss vor 'datum_bfplan' liegen." expr="$vater_gb isset $vater_gb known and $datum_bfplan isset $datum_bfplan known and and $vater_gb $datum_bfplan &gt; and not" mark="error:vater_gb" name="date-sequence-rule-22-1" value="'3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' liegen."/>
-            <rule description="'vater_gb' muss vor 'nat_wohn' liegen." expr="$vater_gb isset $vater_gb known and $nat_wohn isset $nat_wohn known and and $vater_gb $nat_wohn &gt; and not" mark="error:vater_gb" name="date-sequence-rule-26-1" value="'3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '3.1 Persönliche Angaben / Nationalitätenstatus / Datum wohnhaft in Deutschland seit' liegen."/>
-            <rule description="'vater_gb' muss vor 'hilfsmassnahmen_ende' liegen." expr="$vater_gb isset $vater_gb known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $vater_gb $hilfsmassnahmen_ende &gt; and not" mark="error:vater_gb" name="date-sequence-rule-32-1" value="'3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-            <rule description="'vater_gb' muss vor 'kontakt' liegen." expr="$vater_gb isset $vater_gb known and $kontakt isset $kontakt known and and $vater_gb $kontakt &gt; and not" mark="error:vater_gb" name="date-sequence-rule-45-1" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' liegen."/>
-            <rule description="'vater_gb' muss vor 'erstgespraech' liegen." expr="$vater_gb isset $vater_gb known and $erstgespraech isset $erstgespraech known and and $vater_gb $erstgespraech &gt; and not" mark="error:vater_gb" name="date-sequence-rule-51-1" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' liegen."/>
-            <rule description="'vater_gb' muss vor 'nbetr_start' liegen." expr="$vater_gb isset $vater_gb known and $nbetr_start isset $nbetr_start known and and $vater_gb $nbetr_start &gt; and not" mark="error:vater_gb" name="date-sequence-rule-54-1" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-            <rule description="'vater_gb' muss vor 'datum_cm_ende' liegen." expr="$vater_gb isset $vater_gb known and $datum_cm_ende isset $datum_cm_ende known and and $vater_gb $datum_cm_ende &gt; and not" mark="error:vater_gb" name="date-sequence-rule-55-1" value="'3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
-            <rule description="'vater_gb' muss vor 'datum_kf_1' liegen." expr="$vater_gb isset $vater_gb known and $datum_kf_1 isset $datum_kf_1 known and and $vater_gb $datum_kf_1 &gt; and not" mark="error:vater_gb" name="date-sequence-rule-60-1" value="'3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.1 Kompetenzfeststellung / 5.1.1 Verfahren der Kompetenzfeststellung / Datum Beginn der Kompetenzfeststellung' liegen."/>
-            <rule description="'vater_gb' muss vor 'nbetr_ende' liegen." expr="$vater_gb isset $vater_gb known and $nbetr_ende isset $nbetr_ende known and and $vater_gb $nbetr_ende &gt; and not" mark="error:vater_gb" name="date-sequence-rule-66-1" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-            <rule description="'vater_gb' muss in der Vergangenheit liegen." expr="$vater_gb isset $vater_gb known and $vater_gb today &gt; and not" mark="error:vater_gb" name="date-in-past-rule-0" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf nicht in der Zukunft liegen."/>
           </group>
           <group containers="a,b,c,d,e" description="Adresse" name="group-1" target="b">
             <text description="Straße" function="suppress_value" maxlength="256" name="vater_strasse_1" size="40" target="a"/>
@@ -792,8 +691,6 @@
               <bool description="unbekannt" name="bool-299" value="-3"/>
               <bool checked="true" description="keine Angabe" name="bool-300" value="-1"/>
             </choice>
-            <rule expr="$sv_aktiv -1 == not" mark="warning:sv_aktiv" name="required-rule-64" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$sv_passiv -1 == not" mark="warning:sv_passiv" name="required-rule-65" value="Fehlende Pflichtfeldangabe"/>
           </group>
           <group containers="a,b" description="Weitere Charakterisierung der Verweigerungshaltung" flags="required:phase_3" name="group-79" target="f">
             <radio-matrix description="Verhalten" flags="required:phase_3" name="group-22" target="a">
@@ -867,12 +764,6 @@
                 <bool description="unbekannt" name="bool-431" value="-3"/>
                 <bool checked="true" description="keine Angabe" name="bool-432" value="-1"/>
               </radio>
-              <rule expr="$sv_a -1 == not" mark="warning:sv_a" name="required-rule-66" value="Fehlende Pflichtfeldangabe"/>
-              <rule expr="$sv_b -1 == not" mark="warning:sv_b" name="required-rule-67" value="Fehlende Pflichtfeldangabe"/>
-              <rule expr="$sv_c -1 == not" mark="warning:sv_c" name="required-rule-68" value="Fehlende Pflichtfeldangabe"/>
-              <rule expr="$sv_d -1 == not" mark="warning:sv_d" name="required-rule-69" value="Fehlende Pflichtfeldangabe"/>
-              <rule expr="$sv_e -1 == not" mark="warning:sv_e" name="required-rule-70" value="Fehlende Pflichtfeldangabe"/>
-              <rule expr="$sv_f -1 == not" mark="warning:sv_f" name="required-rule-71" value="Fehlende Pflichtfeldangabe"/>
             </radio-matrix>
             <text description="Nennung Sonstige" function="suppress_value" maxlength="256" name="sv_g_t" size="40" target="b"/>
           </group>
@@ -885,14 +776,6 @@
             <int description="davon unentschuldigt" flags="required:phase_3" maxvalue="8760" minvalue="0" name="fehlst_sj_ue" target="c"/>
             <int description="Anzahl Einzelfehlstunden im letzten Monat vor Aufnahme ins CM" flags="required:phase_3" maxvalue="744" minvalue="0" name="fehlst_m" target="d"/>
             <int description="davon unentschuldigt" flags="required:phase_3" maxvalue="744" minvalue="0" name="fehlst_m_ue" target="d"/>
-            <rule expr="$fehltg_sj isset" mark="warning:fehltg_sj" name="required-rule-72" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$fehltg_sj_ue isset" mark="warning:fehltg_sj_ue" name="required-rule-73" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$fehltg_m isset" mark="warning:fehltg_m" name="required-rule-74" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$fehltg_m_ue isset" mark="warning:fehltg_m_ue" name="required-rule-75" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$fehlst_sj isset" mark="warning:fehlst_sj" name="required-rule-76" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$fehlst_sj_ue isset" mark="warning:fehlst_sj_ue" name="required-rule-77" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$fehlst_m isset" mark="warning:fehlst_m" name="required-rule-78" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$fehlst_m_ue isset" mark="warning:fehlst_m_ue" name="required-rule-79" value="Fehlende Pflichtfeldangabe"/>
           </group>
           <int description="Anzahl der Monate, seit denen der junge Mensch schulverweigerndes Verhalten zeigt" flags="required:phase_3" maxvalue="180" minvalue="0" name="sv_monate" target="h"/>
           <choice description="Ist zum jetzigen Zeitpunkt zu erwarten, dass der Schulabschluss durch die Verweigerungshaltung gefährdet sein wird?" flags="required:phase_3" name="abschl_gef" size="1" target="i">
@@ -908,12 +791,6 @@
             <bool checked="true" description="keine Angabe" name="bool-209" value="-1"/>
           </choice>
           <int description="Anzahl der behördlichen Ordnungsmaßnahmen aufgrund der Schulverweigerung" maxvalue="99" minvalue="0" name="ordmn" target="k"/>
-          <rule expr="$schulform -1 == not" mark="warning:schulform" name="required-rule-61" value="Fehlende Pflichtfeldangabe"/>
-          <rule expr="$klassenstufe isset" mark="warning:klassenstufe" name="required-rule-62" value="Fehlende Pflichtfeldangabe"/>
-          <rule expr="$klassenwdh isset" mark="warning:klassenwdh" name="required-rule-63" value="Fehlende Pflichtfeldangabe"/>
-          <rule expr="$sv_monate isset" mark="warning:sv_monate" name="required-rule-80" value="Fehlende Pflichtfeldangabe"/>
-          <rule expr="$abschl_gef -1 == not" mark="warning:abschl_gef" name="required-rule-81" value="Fehlende Pflichtfeldangabe"/>
-          <rule expr="$abschl_pr -1 == not" mark="warning:abschl_pr" name="required-rule-82" value="Fehlende Pflichtfeldangabe"/>
         </page>
         <page containers="a,b" description="4.2 Familiärer Hintergrund und Ressourcen" name="page-10">
           <group containers="a,b" description="Erzieherische Kompetenzen der Eltern/betreuenden Personen" name="group-80" target="a">
@@ -1227,8 +1104,6 @@
             <bool checked="true" description="keine Angabe" name="bool-217" value="-1"/>
           </choice>
           <textarea description="Anmerkungen" function="suppress_value" name="uleistung_anm" rows="10" target="d"/>
-          <rule expr="$uleistung_beginn -1 == not" mark="warning:uleistung_beginn" name="required-rule-83" value="Fehlende Pflichtfeldangabe"/>
-          <rule expr="$uleistung_verg -1 == not" mark="warning:uleistung_verg" name="required-rule-84" value="Fehlende Pflichtfeldangabe"/>
         </page>
         <page description="4.4 Freie Dokumentation" name="page-12">
           <textarea description="Freie Dokumentation zu biografischen Eingangsdaten" function="suppress_value" name="dok_biograf" rows="30"/>
@@ -1307,10 +1182,6 @@
               </choice>
               <text description="Nennung Persönlichkeitstest" maxlength="256" name="kf_test_d_t_1" size="40" target="d"/>
             </group>
-            <rule expr="$datum_kf_1 isset" mark="warning:datum_kf_1" name="required-rule-85" value="Fehlende Pflichtfeldangabe"/>
-            <rule description="'geburtsdatum' muss vor 'datum_kf_1' liegen." expr="$geburtsdatum isset $geburtsdatum known and $datum_kf_1 isset $datum_kf_1 known and and $geburtsdatum $datum_kf_1 &gt; and not" mark="error:datum_kf_1" name="date-sequence-rule-16-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.1 Kompetenzfeststellung / 5.1.1 Verfahren der Kompetenzfeststellung / Datum Beginn der Kompetenzfeststellung' liegen."/>
-            <rule description="'mutter_gb' muss vor 'datum_kf_1' liegen." expr="$mutter_gb isset $mutter_gb known and $datum_kf_1 isset $datum_kf_1 known and and $mutter_gb $datum_kf_1 &gt; and not" mark="error:datum_kf_1" name="date-sequence-rule-47-2" value="'3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.1 Kompetenzfeststellung / 5.1.1 Verfahren der Kompetenzfeststellung / Datum Beginn der Kompetenzfeststellung' liegen."/>
-            <rule description="'vater_gb' muss vor 'datum_kf_1' liegen." expr="$vater_gb isset $vater_gb known and $datum_kf_1 isset $datum_kf_1 known and and $vater_gb $datum_kf_1 &gt; and not" mark="error:datum_kf_1" name="date-sequence-rule-60-2" value="'3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.1 Kompetenzfeststellung / 5.1.1 Verfahren der Kompetenzfeststellung / Datum Beginn der Kompetenzfeststellung' liegen."/>
           </page>
           <page containers="a,b,c,d,e,f,g" description="5.1.2 Ergebnisse der Kompetenzfeststellung" name="page-14">
             <group containers="a,b" description="Schulbezogene Kompetenzen" name="group-84" target="a">
@@ -1797,7 +1668,6 @@
               <bool checked="true" description="keine Angabe" name="bool-396" value="-1"/>
             </choice>
             <textarea description="Anmerkungen zur Entwicklung des jungen Menschen" function="suppress_value" name="dok_entw" rows="20"/>
-            <rule expr="$entw_beh -1 == not" mark="warning:entw_beh" name="required-rule-86" value="Fehlende Pflichtfeldangabe"/>
           </page>
         </group>
         <group description="5.2 Bildungs und Förderplanung" name="group-40">
@@ -1847,12 +1717,6 @@
                   <bool description="unbekannt" name="bool-253" value="-3"/>
                   <bool checked="true" description="keine Angabe" name="bool-254" value="-1"/>
                 </radio>
-                <rule expr="$beschul_a -1 == not" mark="warning:beschul_a" name="required-rule-88" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$beschul_b -1 == not" mark="warning:beschul_b" name="required-rule-89" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$beschul_c -1 == not" mark="warning:beschul_c" name="required-rule-90" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$beschul_d -1 == not" mark="warning:beschul_d" name="required-rule-91" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$beschul_e -1 == not" mark="warning:beschul_e" name="required-rule-92" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$beschul_f -1 == not" mark="warning:beschul_f" name="required-rule-93" value="Fehlende Pflichtfeldangabe"/>
               </radio-matrix>
               <text description="Nennung Sonstiges" function="suppress_value" maxlength="256" name="beschul_h_t" size="40" target="b"/>
             </group>
@@ -1873,19 +1737,6 @@
               <text description="Nennung Sonstige" function="suppress_value" maxlength="256" name="reint_beding_d_t" size="40" target="d"/>
               <textarea description="von Seiten Sonstiger" function="suppress_value" name="reint_beding_d" rows="5" target="e"/>
             </group>
-            <rule expr="$datum_bfplan isset" mark="warning:datum_bfplan" name="required-rule-87" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$reint_ziel -1 == not" mark="warning:reint_ziel" name="required-rule-94" value="Fehlende Pflichtfeldangabe"/>
-            <rule description="'datum_bfplan' muss vor 'nbetr_ende' liegen." expr="$datum_bfplan isset $datum_bfplan known and $nbetr_ende isset $nbetr_ende known and and $datum_bfplan $nbetr_ende &gt; and not" mark="error:datum_bfplan" name="date-sequence-rule-1-1" value="'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-            <rule description="'datum_bfplan' muss vor 'hilfsmassnahmen_ende' liegen." expr="$datum_bfplan isset $datum_bfplan known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $datum_bfplan $hilfsmassnahmen_ende &gt; and not" mark="error:datum_bfplan" name="date-sequence-rule-4-1" value="'5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' darf zeitlich nicht nach '5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-            <rule description="'datum_bfplan' muss vor 'datum_cm_ende' liegen." expr="$datum_bfplan isset $datum_bfplan known and $datum_cm_ende isset $datum_cm_ende known and and $datum_bfplan $datum_cm_ende &gt; and not" mark="error:datum_bfplan" name="date-sequence-rule-6-1" value="'5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' darf zeitlich nicht nach '6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
-            <rule description="'datum_cm_start' muss vor 'datum_bfplan' liegen." expr="$datum_cm_start isset $datum_cm_start known and $datum_bfplan isset $datum_bfplan known and and $datum_cm_start $datum_bfplan &gt; and not" mark="error:datum_bfplan" name="date-sequence-rule-8-2" value="'3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' liegen."/>
-            <rule description="'vater_gb' muss vor 'datum_bfplan' liegen." expr="$vater_gb isset $vater_gb known and $datum_bfplan isset $datum_bfplan known and and $vater_gb $datum_bfplan &gt; and not" mark="error:datum_bfplan" name="date-sequence-rule-22-2" value="'3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' liegen."/>
-            <rule description="'mutter_gb' muss vor 'datum_bfplan' liegen." expr="$mutter_gb isset $mutter_gb known and $datum_bfplan isset $datum_bfplan known and and $mutter_gb $datum_bfplan &gt; and not" mark="error:datum_bfplan" name="date-sequence-rule-24-2" value="'3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' liegen."/>
-            <rule description="'geburtsdatum' muss vor 'datum_bfplan' liegen." expr="$geburtsdatum isset $geburtsdatum known and $datum_bfplan isset $datum_bfplan known and and $geburtsdatum $datum_bfplan &gt; and not" mark="error:datum_bfplan" name="date-sequence-rule-30-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' liegen."/>
-            <rule description="'kontakt' muss vor 'datum_bfplan' liegen." expr="$kontakt isset $kontakt known and $datum_bfplan isset $datum_bfplan known and and $kontakt $datum_bfplan &gt; and not" mark="error:datum_bfplan" name="date-sequence-rule-39-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' liegen."/>
-            <rule description="'datum_bfplan' muss vor 'hilfsmassnahmen_start' liegen." expr="$datum_bfplan isset $datum_bfplan known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $datum_bfplan $hilfsmassnahmen_start &gt; and not" mark="error:datum_bfplan" name="date-sequence-rule-42-1" value="'5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' darf zeitlich nicht nach '5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-            <rule description="'erstgespraech' muss vor 'datum_bfplan' liegen." expr="$erstgespraech isset $erstgespraech known and $datum_bfplan isset $datum_bfplan known and and $erstgespraech $datum_bfplan &gt; and not" mark="error:datum_bfplan" name="date-sequence-rule-64-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' liegen."/>
-            <rule description="'datum_bfplan' muss vor 'nbetr_start' liegen." expr="$datum_bfplan isset $datum_bfplan known and $nbetr_start isset $nbetr_start known and and $datum_bfplan $nbetr_start &gt; and not" mark="error:datum_bfplan" name="date-sequence-rule-68-1" value="'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
           </page>
           <page description="5.2.1.5 Erfassung von Fehlzeiten" name="page-28">
             <group containers="a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r" description="Monatliche periodische Erfassung der Fehlzeiten" name="group-43">
@@ -1923,18 +1774,20 @@
             </group>
           </page>
           <page description="5.2.2 Probleme" name="page-17">
-            <repeat containers="a,b" description="Probleme" min="1" name="rg_probleme" target="b">
-              <choice description="Welche Probleme bestehen aus Sicht" name="probleme_aus_sicht_von" size="1" target="b">
-                <bool alternative="1" description="des jungen Menschen" name="bool-2114" value="1"/>
-                <bool alternative="2" description="der Eltern/Sorgeberechtigten" name="bool-2115" value="2"/>
-                <bool alternative="3" description="der Koordinierungsstelle" name="bool-2116" value="3"/>
-                <bool alternative="4" description="der Lehrerin/des Lehrers" name="bool-2117" value="4"/>
-                <bool alternative="5" description="des Jugendamtes" name="bool-2117" value="5"/>
-                <bool description="unbekannt" name="bool-2118" value="-3"/>
-                <bool checked="true" description="keine Angabe" name="bool-2119" value="-1"/>
-              </choice>
-              <textarea function="suppress_value" name="probleme_beschreibung" rows="5" target="b"/>
-            </repeat>
+            <group containers="a,b,c,d,e,f,g" description="Welche Probleme bestehen aus Sicht" name="group-45">
+              <repeat containers="a,b" description="Welche Probleme bestehen aus Sicht" min="1" name="rg_probleme" target="b">
+                <choice description="Welche Probleme bestehen aus Sicht" name="probleme_aus_sicht_von" size="1" target="b">
+                  <bool alternative="1" description="des jungen Menschen" name="bool-2114" value="1"/>
+                  <bool alternative="2" description="der Eltern/Sorgeberechtigten" name="bool-2115" value="2"/>
+                  <bool alternative="3" description="der Koordinierungsstelle" name="bool-2116" value="3"/>
+                  <bool alternative="4" description="der Lehrerin/des Lehrers" name="bool-2117" value="4"/>
+                  <bool alternative="5" description="des Jugendamtes" name="bool-2117" value="5"/>
+                  <bool description="unbekannt" name="bool-2118" value="-3"/>
+                  <bool checked="true" description="keine Angabe" name="bool-2119" value="-1"/>
+                </choice>
+                <textarea function="suppress_value" name="probleme_beschreibung" rows="5" target="b"/>
+              </repeat>
+            </group>
           </page>
           <page description="5.2.3 Zielsetzung des Case Management" name="page-18">
             <group containers="a,b" description="Welche Relevanz haben folgende Zielstellungen in der Arbeit mit dem jungen Menschen" name="group-46">
@@ -2020,13 +1873,6 @@
                     <bool description="unbekannt" name="unbekannt-25" value="-3"/>
                     <bool checked="true" description="keine Angabe" name="bool-1548" value="-1"/>
                   </radio>
-                  <rule expr="$zielcm_schul_a -1 == not" mark="warning:zielcm_schul_a" name="required-rule-95" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$zielcm_schul_b -1 == not" mark="warning:zielcm_schul_b" name="required-rule-96" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$zielcm_schul_c -1 == not" mark="warning:zielcm_schul_c" name="required-rule-97" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$zielcm_schul_d -1 == not" mark="warning:zielcm_schul_d" name="required-rule-98" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$zielcm_schul_e -1 == not" mark="warning:zielcm_schul_e" name="required-rule-99" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$zielcm_schul_f -1 == not" mark="warning:zielcm_schul_f" name="required-rule-100" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$zielcm_schul_g -1 == not" mark="warning:zielcm_schul_g" name="required-rule-101" value="Fehlende Pflichtfeldangabe"/>
                 </radio-matrix>
                 <text description="Nennung Sonstiges" function="suppress_value" maxlength="256" name="zielcm_schul_h_t" size="40" target="b"/>
               </group>
@@ -2112,13 +1958,6 @@
                     <bool description="unbekannt" name="unbekannt-33" value="-3"/>
                     <bool checked="true" description="keine Angabe" name="bool-1604" value="-1"/>
                   </radio>
-                  <rule expr="$zielcm_sozial_a -1 == not" mark="warning:zielcm_sozial_a" name="required-rule-102" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$zielcm_sozial_b -1 == not" mark="warning:zielcm_sozial_b" name="required-rule-103" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$zielcm_sozial_c -1 == not" mark="warning:zielcm_sozial_c" name="required-rule-104" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$zielcm_sozial_d -1 == not" mark="warning:zielcm_sozial_d" name="required-rule-105" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$zielcm_sozial_e -1 == not" mark="warning:zielcm_sozial_e" name="required-rule-106" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$zielcm_sozial_f -1 == not" mark="warning:zielcm_sozial_f" name="required-rule-107" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$zielcm_sozial_g -1 == not" mark="warning:zielcm_sozial_g" name="required-rule-108" value="Fehlende Pflichtfeldangabe"/>
                 </radio-matrix>
                 <text description="Nennung Sonstiges" function="suppress_value" maxlength="256" name="zielcm_sozial_h_t" size="40" target="b"/>
               </group>
@@ -2145,7 +1984,7 @@
                 <rule expr="$hilfsmassnahmen_ende not $hilfsmassnahmen 1 == and not" mark="warning:hilfsmassnahmen_ende" name="rule-29" value="Fehlende Pflichtfeldangabe"/>
                 <rule expr="$hilfsmassnahmen_art $hilfsmassnahmen_start or $hilfsmassnahmen_ende or $hilfsmassnahmen 0 == and not" mark="warning:hilfsmassnahmen" name="rule-30" value="widersprüchliche Eingabe"/>
                 <group containers="g,h,i" description="Ziele der Unterstützungsmaßnahmen: bitte konkret benennen" name="group-52" target="f">
-                  <group containers="a,b,c" description="Ziel 1" name="group-54" target="g">
+                  <group containers="a,b,c" description="Ziel 1" name="group-52" target="g">
                     <text description="Nennung Ziel" maxlength="256" name="hilfsmassnahmen_ziel_1" size="40" target="a"/>
                     <choice description="Zeithorizont" name="hilfsmassnahmen_zeit_1" size="1" target="a">
                       <bool description="kurzfristig" name="bool-262" value="1"/>
@@ -2166,7 +2005,7 @@
                     <rule expr="$hilfsmassnahmen_ziel_1 $hilfsmassnahmen_erreicht_1 -1 == and not" mark="warning:hilfsmassnahmen_erreicht_1" name="rule-31" value="Fehlende Pflichtfeldangabe"/>
                     <rule expr="$hilfsmassnahmen_ziel_1 not $hilfsmassnahmen_erreicht_1 -1 != and not" mark="warning:hilfsmassnahmen_erreicht_1" name="rule-32" value="Widersprüchliche Angabe"/>
                   </group>
-                  <group containers="a,b,c" description="Ziel 2" name="group-55" target="h">
+                  <group containers="a,b,c" description="Ziel 2" name="group-52" target="h">
                     <text description="Nennung Ziel" maxlength="256" name="hilfsmassnahmen_ziel_2" size="40" target="a"/>
                     <choice description="Zeithorizont" name="hilfsmassnahmen_zeit_2" size="1" target="a">
                       <bool description="kurzfristig" name="bool-262" value="1"/>
@@ -2184,10 +2023,10 @@
                       <bool description="unbekannt" name="bool-1426" value="-3"/>
                       <bool checked="true" description="keine Angabe" name="bool-1611" value="-1"/>
                     </choice>
-                    <rule expr="$hilfsmassnahmen_ziel_2 $hilfsmassnahmen_erreicht_2 -1 == and not" mark="warning:hilfsmassnahmen_erreicht_2" name="rule-33" value="Fehlende Pflichtfeldangabe"/>
-                    <rule expr="$hilfsmassnahmen_ziel_2 not $hilfsmassnahmen_erreicht_2 -1 != and not" mark="warning:hilfsmassnahmen_erreicht_2" name="rule-35" value="Widersprüchliche Angabe"/>
+                    <rule expr="$hilfsmassnahmen_ziel_2 $hilfsmassnahmen_erreicht_2 -1 == and not" mark="warning:hilfsmassnahmen_erreicht_2" name="rule-31" value="Fehlende Pflichtfeldangabe"/>
+                    <rule expr="$hilfsmassnahmen_ziel_2 not $hilfsmassnahmen_erreicht_2 -1 != and not" mark="warning:hilfsmassnahmen_erreicht_2" name="rule-32" value="Widersprüchliche Angabe"/>
                   </group>
-                  <group containers="a,b,c" description="Ziel 3" name="group-56" target="i">
+                  <group containers="a,b,c" description="Ziel 3" name="group-52" target="i">
                     <text description="Nennung Ziel" maxlength="256" name="hilfsmassnahmen_ziel_3" size="40" target="a"/>
                     <choice description="Zeithorizont" name="hilfsmassnahmen_zeit_3" size="1" target="a">
                       <bool description="kurzfristig" name="bool-262" value="1"/>
@@ -2205,27 +2044,11 @@
                       <bool description="unbekannt" name="bool-1426" value="-3"/>
                       <bool checked="true" description="keine Angabe" name="bool-1611" value="-1"/>
                     </choice>
-                    <rule expr="$hilfsmassnahmen_ziel_3 $hilfsmassnahmen_erreicht_3 -1 == and not" mark="warning:hilfsmassnahmen_erreicht_3" name="rule-34" value="Fehlende Pflichtfeldangabe"/>
-                    <rule expr="$hilfsmassnahmen_ziel_3 not $hilfsmassnahmen_erreicht_3 -1 != and not" mark="warning:hilfsmassnahmen_erreicht_3" name="rule-36" value="Widersprüchliche Angabe"/>
+                    <rule expr="$hilfsmassnahmen_ziel_3 $hilfsmassnahmen_erreicht_3 -1 == and not" mark="warning:hilfsmassnahmen_erreicht_3" name="rule-31" value="Fehlende Pflichtfeldangabe"/>
+                    <rule expr="$hilfsmassnahmen_ziel_3 not $hilfsmassnahmen_erreicht_3 -1 != and not" mark="warning:hilfsmassnahmen_erreicht_3" name="rule-32" value="Widersprüchliche Angabe"/>
                   </group>
                 </group>
                 <textarea description="Schlussfolgerungen und Anmerkungen" function="suppress_value" name="hilfsmassnahmen_schlussfolgerungen" target="g"/>
-                <rule description="'datum_bfplan' muss vor 'hilfsmassnahmen_ende' liegen." expr="$datum_bfplan isset $datum_bfplan known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $datum_bfplan $hilfsmassnahmen_ende &gt; and not" mark="error:hilfsmassnahmen_ende" name="date-sequence-rule-4-2" value="'5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' darf zeitlich nicht nach '5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-                <rule description="'datum_cm_start' muss vor 'hilfsmassnahmen_start' liegen." expr="$datum_cm_start isset $datum_cm_start known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $datum_cm_start $hilfsmassnahmen_start &gt; and not" mark="error:hilfsmassnahmen_start" name="date-sequence-rule-14-2" value="'3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-                <rule description="'kontakt' muss vor 'hilfsmassnahmen_ende' liegen." expr="$kontakt isset $kontakt known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $kontakt $hilfsmassnahmen_ende &gt; and not" mark="error:hilfsmassnahmen_ende" name="date-sequence-rule-15-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-                <rule description="'vater_gb' muss vor 'hilfsmassnahmen_start' liegen." expr="$vater_gb isset $vater_gb known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $vater_gb $hilfsmassnahmen_start &gt; and not" mark="error:hilfsmassnahmen_start" name="date-sequence-rule-17-2" value="'3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-                <rule description="'hilfsmassnahmen_start' muss vor 'hilfsmassnahmen_ende' liegen." expr="$hilfsmassnahmen_start isset $hilfsmassnahmen_start known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $hilfsmassnahmen_start $hilfsmassnahmen_ende &gt; and not" mark="error:hilfsmassnahmen_start" name="date-sequence-rule-21-1" value="'Datum Beginn der Hilfe' darf zeitlich nicht nach 'Datum Ende der Hilfe' liegen."/>
-                <rule description="'hilfsmassnahmen_start' muss vor 'hilfsmassnahmen_ende' liegen." expr="$hilfsmassnahmen_start isset $hilfsmassnahmen_start known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $hilfsmassnahmen_start $hilfsmassnahmen_ende &gt; and not" mark="error:hilfsmassnahmen_ende" name="date-sequence-rule-21-2" value="'Datum Beginn der Hilfe' darf zeitlich nicht nach 'Datum Ende der Hilfe' liegen."/>
-                <rule description="'mutter_gb' muss vor 'hilfsmassnahmen_start' liegen." expr="$mutter_gb isset $mutter_gb known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $mutter_gb $hilfsmassnahmen_start &gt; and not" mark="error:hilfsmassnahmen_start" name="date-sequence-rule-27-2" value="'3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-                <rule description="'vater_gb' muss vor 'hilfsmassnahmen_ende' liegen." expr="$vater_gb isset $vater_gb known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $vater_gb $hilfsmassnahmen_ende &gt; and not" mark="error:hilfsmassnahmen_ende" name="date-sequence-rule-32-2" value="'3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-                <rule description="'geburtsdatum' muss vor 'hilfsmassnahmen_ende' liegen." expr="$geburtsdatum isset $geburtsdatum known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $geburtsdatum $hilfsmassnahmen_ende &gt; and not" mark="error:hilfsmassnahmen_ende" name="date-sequence-rule-36-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-                <rule description="'mutter_gb' muss vor 'hilfsmassnahmen_ende' liegen." expr="$mutter_gb isset $mutter_gb known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $mutter_gb $hilfsmassnahmen_ende &gt; and not" mark="error:hilfsmassnahmen_ende" name="date-sequence-rule-41-2" value="'3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-                <rule description="'datum_bfplan' muss vor 'hilfsmassnahmen_start' liegen." expr="$datum_bfplan isset $datum_bfplan known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $datum_bfplan $hilfsmassnahmen_start &gt; and not" mark="error:hilfsmassnahmen_start" name="date-sequence-rule-42-2" value="'5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' darf zeitlich nicht nach '5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-                <rule description="'kontakt' muss vor 'hilfsmassnahmen_start' liegen." expr="$kontakt isset $kontakt known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $kontakt $hilfsmassnahmen_start &gt; and not" mark="error:hilfsmassnahmen_start" name="date-sequence-rule-44-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-                <rule description="'erstgespraech' muss vor 'hilfsmassnahmen_start' liegen." expr="$erstgespraech isset $erstgespraech known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $erstgespraech $hilfsmassnahmen_start &gt; and not" mark="error:hilfsmassnahmen_start" name="date-sequence-rule-50-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-                <rule description="'datum_cm_start' muss vor 'hilfsmassnahmen_ende' liegen." expr="$datum_cm_start isset $datum_cm_start known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $datum_cm_start $hilfsmassnahmen_ende &gt; and not" mark="error:hilfsmassnahmen_ende" name="date-sequence-rule-58-2" value="'3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' darf zeitlich nicht nach '5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
-                <rule description="'geburtsdatum' muss vor 'hilfsmassnahmen_start' liegen." expr="$geburtsdatum isset $geburtsdatum known and $hilfsmassnahmen_start isset $hilfsmassnahmen_start known and and $geburtsdatum $hilfsmassnahmen_start &gt; and not" mark="error:hilfsmassnahmen_start" name="date-sequence-rule-59-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Beginn der Hilfe' liegen."/>
-                <rule description="'erstgespraech' muss vor 'hilfsmassnahmen_ende' liegen." expr="$erstgespraech isset $erstgespraech known and $hilfsmassnahmen_ende isset $hilfsmassnahmen_ende known and and $erstgespraech $hilfsmassnahmen_ende &gt; and not" mark="error:hilfsmassnahmen_ende" name="date-sequence-rule-70-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.3 Unterstützungsangebote / 5.3.1 Unterstützungsmaßnahmen / Unterstützungsmaßnahmen / Unterstützungsmaßnahme / Datum Ende der Hilfe' liegen."/>
               </page>
             </repeat>
             <page description="Weitere Unterstützungsmaßnahmen" name="page-33">
@@ -2386,15 +2209,6 @@
                   <bool description="unbekannt" name="bool-1113" value="-3"/>
                   <bool checked="true" description="keine Angabe" name="bool-1004" value="-1"/>
                 </radio>
-                <rule expr="$elt_mn_a -1 == not" mark="warning:elt_mn_a" name="required-rule-109" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$elt_mn_b -1 == not" mark="warning:elt_mn_b" name="required-rule-110" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$elt_mn_c -1 == not" mark="warning:elt_mn_c" name="required-rule-111" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$elt_mn_d -1 == not" mark="warning:elt_mn_d" name="required-rule-112" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$elt_mn_e -1 == not" mark="warning:elt_mn_e" name="required-rule-113" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$elt_mn_f -1 == not" mark="warning:elt_mn_f" name="required-rule-114" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$elt_mn_g -1 == not" mark="warning:elt_mn_g" name="required-rule-115" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$elt_mn_h -1 == not" mark="warning:elt_mn_h" name="required-rule-116" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$elt_mn_i -1 == not" mark="warning:elt_mn_i" name="required-rule-117" value="Fehlende Pflichtfeldangabe"/>
               </radio-matrix>
               <text description="Nennung Sonstiges" function="suppress_value" maxlength="256" name="elt_mn_j_t" size="40" target="b"/>
             </group>
@@ -2407,37 +2221,29 @@
       <group containers="a,b" description="6. Abschlussbewertung" name="group-63">
         <group description="6.1 Angaben zum Verlauf und zur Beendigung des Case Management" name="group-71" target="a">
           <page containers="a,b,c" description="6.1.1 Verlauf des Case Management" name="page-23">
-            <conditional expr="$cm_datum_verlaengerung_1 isset" invisible="true" name="conditional-3" target="a">
-              <group containers="a,b,c,d" description="Verlängerung des Integrationsprozesses" name="group-107" target="a">
+            <conditional expr="$cm_datum_verlaengerung_2 isset $cm_datum_verlaengerung_1 isset or" invisible="true" name="conditional-13">
+              <group containers="a,b,c" description="Verlängerung des Integrationsprozesses" name="group-107" target="a">
                 <info name="info-0" target="a" value="Falls eine Verlängerung des Integrationsprozess aus fachlicher Sicht begründet notwendig ist:"/>
-                <date description="Datum erste Verlängerung" name="cm_datum_verlaengerung_1" target="b"/>
-                <bool description="Schriftliche Bestätigung der fachlichen Einschätzung durch Jugendamt/Schule liegt vor" name="cm_bestaet_verlaengerung_1" target="b"/>
-                <textarea description="Anmerkungen" function="suppress_value" name="cm_anmerk_verlaengerung_1" rows="3" target="c"/>
-                <rule description="Dauer der Verlängerung &gt; 458 Tage nach Beginn CM" expr="$datum_cm_start isset $cm_datum_verlaengerung_1 isset and 2 1 1980 date 1 1 1980 date - 458 * $datum_cm_start + $cm_datum_verlaengerung_1 &lt; and not" mark="error:cm_datum_verlaengerung_1" name="rule-81" value="Ende der Verlängerung darf max 12 Monate + 3 Monate nach dem Beginn der Aufnahme in das CM liegen."/>
+                <conditional expr="$cm_datum_verlaengerung_1 isset" invisible="true" name="conditional-3" target="a">
+                  <group containers="a,b,c" name="group-134" target="b">
+                    <date description="Datum erste Verlängerung" name="cm_datum_verlaengerung_1" target="a"/>
+                    <bool description="Schriftliche Bestätigung der fachlichen Einschätzung durch Jugendamt/Schule liegt vor" name="cm_bestaet_verlaengerung_1" target="b"/>
+                    <textarea description="Anmerkungen" function="suppress_value" name="cm_anmerk_verlaengerung_1" rows="3" target="c"/>
+                    <rule description="Dauer der Verlängerung &gt; 458 Tage nach Beginn CM" expr="$datum_cm_start isset $cm_datum_verlaengerung_1 isset and 2 1 1980 date 1 1 1980 date - 458 * $datum_cm_start + $cm_datum_verlaengerung_1 &lt; and not" mark="error:cm_datum_verlaengerung_1" name="rule-81" value="Ende der Verlängerung darf max 12 Monate + 3 Monate nach dem Beginn der Aufnahme in das CM liegen."/>
+                  </group>
+                </conditional>
                 <conditional expr="$cm_datum_verlaengerung_2 isset" invisible="true" name="conditional-4" target="d">
-                  <group containers="a,b" invisible="true" name="group-113" target="d">
+                  <group containers="a,b,c" name="group-113" target="c">
                     <date description="Datum zweite Verlängerung" name="cm_datum_verlaengerung_2" order="cm_datum_verlaengerung_1;" target="a"/>
-                    <bool description="Schriftliche Bestätigung der fachlichen Einschätzung durch Jugendamt/Schule liegt vor" name="cm_bestaet_verlaengerung_2" target="a"/>
-                    <textarea description="Anmerkungen" function="suppress_value" name="cm_anmerk_verlaengerung_2" rows="3" target="b"/>
+                    <bool description="Schriftliche Bestätigung der fachlichen Einschätzung durch Jugendamt/Schule liegt vor" name="cm_bestaet_verlaengerung_2" target="b"/>
+                    <textarea description="Anmerkungen" function="suppress_value" name="cm_anmerk_verlaengerung_2" rows="3" target="c"/>
                     <rule description="Dauer der Verlängerung &gt; 93Tage nach Ende letzter Verlängerung" expr="$cm_datum_verlaengerung_1 isset $cm_datum_verlaengerung_2 isset and 2 1 1980 date 1 1 1980 date - 93 * $cm_datum_verlaengerung_1 + $cm_datum_verlaengerung_2 &lt; and not" mark="error:cm_datum_verlaengerung_2" name="rule-82" value="Ende der Verlängerung darf max 3 Monate nach dem Ende der ersten Verlängerung liegen"/>
-                    <rule description="'cm_datum_verlaengerung_1' muss vor 'cm_datum_verlaengerung_2' liegen." expr="$cm_datum_verlaengerung_1 isset $cm_datum_verlaengerung_1 known and $cm_datum_verlaengerung_2 isset $cm_datum_verlaengerung_2 known and and $cm_datum_verlaengerung_1 $cm_datum_verlaengerung_2 &gt; and not" mark="error:cm_datum_verlaengerung_2" name="date-sequence-rule-18-2" value="'Datum erste Verlängerung' darf zeitlich nicht nach 'Datum zweite Verlängerung' liegen."/>
                   </group>
                 </conditional>
-                <rule description="'cm_datum_verlaengerung_1' muss vor 'cm_datum_verlaengerung_2' liegen." expr="$cm_datum_verlaengerung_1 isset $cm_datum_verlaengerung_1 known and $cm_datum_verlaengerung_2 isset $cm_datum_verlaengerung_2 known and and $cm_datum_verlaengerung_1 $cm_datum_verlaengerung_2 &gt; and not" mark="error:cm_datum_verlaengerung_1" name="date-sequence-rule-18-1" value="'Datum erste Verlängerung' darf zeitlich nicht nach 'Datum zweite Verlängerung' liegen."/>
               </group>
             </conditional>
             <conditional expr="$datum_cm_ende isset not $datum_cm_ende 1 1 2010 date &gt;= or" name="conditional-12" target="a">
               <date description="Datum Beendigung des Case Management" flags="required:phase_3,phase_4;time:phase_3" name="datum_cm_ende" order="datum_bfplan;nbetr_start" target="b"/>
-              <rule expr="$datum_cm_ende isset" mark="warning:datum_cm_ende" name="required-rule-118" value="Fehlende Pflichtfeldangabe"/>
-              <rule description="'datum_bfplan' muss vor 'datum_cm_ende' liegen." expr="$datum_bfplan isset $datum_bfplan known and $datum_cm_ende isset $datum_cm_ende known and and $datum_bfplan $datum_cm_ende &gt; and not" mark="error:datum_cm_ende" name="date-sequence-rule-6-2" value="'5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' darf zeitlich nicht nach '6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
-              <rule description="'erstgespraech' muss vor 'datum_cm_ende' liegen." expr="$erstgespraech isset $erstgespraech known and $datum_cm_ende isset $datum_cm_ende known and and $erstgespraech $datum_cm_ende &gt; and not" mark="error:datum_cm_ende" name="date-sequence-rule-13-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
-              <rule description="'mutter_gb' muss vor 'datum_cm_ende' liegen." expr="$mutter_gb isset $mutter_gb known and $datum_cm_ende isset $datum_cm_ende known and and $mutter_gb $datum_cm_ende &gt; and not" mark="error:datum_cm_ende" name="date-sequence-rule-33-2" value="'3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
-              <rule description="'kontakt' muss vor 'datum_cm_ende' liegen." expr="$kontakt isset $kontakt known and $datum_cm_ende isset $datum_cm_ende known and and $kontakt $datum_cm_ende &gt; and not" mark="error:datum_cm_ende" name="date-sequence-rule-40-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE B - Case Management / 6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
-              <rule description="'geburtsdatum' muss vor 'datum_cm_ende' liegen." expr="$geburtsdatum isset $geburtsdatum known and $datum_cm_ende isset $datum_cm_ende known and and $geburtsdatum $datum_cm_ende &gt; and not" mark="error:datum_cm_ende" name="date-sequence-rule-53-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE B - Case Management / 6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
-              <rule description="'vater_gb' muss vor 'datum_cm_ende' liegen." expr="$vater_gb isset $vater_gb known and $datum_cm_ende isset $datum_cm_ende known and and $vater_gb $datum_cm_ende &gt; and not" mark="error:datum_cm_ende" name="date-sequence-rule-55-2" value="'3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach '6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
-              <rule description="'datum_cm_ende' muss vor 'nbetr_ende' liegen." expr="$datum_cm_ende isset $datum_cm_ende known and $nbetr_ende isset $nbetr_ende known and and $datum_cm_ende $nbetr_ende &gt; and not" mark="error:datum_cm_ende" name="date-sequence-rule-56-1" value="'PHASE B - Case Management / 6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-              <rule description="'datum_cm_ende' muss vor 'nbetr_start' liegen." expr="$datum_cm_ende isset $datum_cm_ende known and $nbetr_start isset $nbetr_start known and and $datum_cm_ende $nbetr_start &gt; and not" mark="error:datum_cm_ende" name="date-sequence-rule-61-1" value="'PHASE B - Case Management / 6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-              <rule description="'datum_cm_start' muss vor 'datum_cm_ende' liegen." expr="$datum_cm_start isset $datum_cm_start known and $datum_cm_ende isset $datum_cm_ende known and and $datum_cm_start $datum_cm_ende &gt; and not" mark="error:datum_cm_ende" name="date-sequence-rule-69-2" value="'3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' darf zeitlich nicht nach '6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' liegen."/>
             </conditional>
             <int description="Zeitraum des CM in Wochen" maxvalue="999" minvalue="0" name="cm_zeit" target="b"/>
             <group containers="a,b,c,d,e" description="Angaben zum Verlauf des Case Management" name="group-65" target="c">
@@ -2488,12 +2294,6 @@
                     <bool description="unbekannt" name="bool-1759" value="-3"/>
                     <bool checked="true" description="keine Angabe" name="bool-1795" value="-1"/>
                   </radio>
-                  <rule expr="$beschul_end_a -1 == not" mark="warning:beschul_end_a" name="required-rule-120" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$beschul_end_b -1 == not" mark="warning:beschul_end_b" name="required-rule-121" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$beschul_end_c -1 == not" mark="warning:beschul_end_c" name="required-rule-122" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$beschul_end_d -1 == not" mark="warning:beschul_end_d" name="required-rule-123" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$beschul_end_e -1 == not" mark="warning:beschul_end_e" name="required-rule-124" value="Fehlende Pflichtfeldangabe"/>
-                  <rule expr="$beschul_end_f -1 == not" mark="warning:beschul_end_f" name="required-rule-125" value="Fehlende Pflichtfeldangabe"/>
                 </radio-matrix>
                 <text description="Nennung Sonstiges" maxlength="256" name="beschul_end_h_t" size="40" target="b"/>
               </group>
@@ -2578,7 +2378,6 @@
                 </radio-matrix>
                 <text description="Nennung Sonstiges" function="suppress_value" maxlength="256" name="uleistung_ende_j_t" size="40" target="b"/>
               </group>
-              <rule expr="$cm_kontakt isset" mark="warning:cm_kontakt" name="required-rule-119" value="Fehlende Pflichtfeldangabe"/>
             </group>
           </page>
           <page containers="a,b,c,d" description="6.1.2 Beendigung des Case Management" name="page-24">
@@ -2684,7 +2483,6 @@
               <bool description="unbekannt" name="bool-2086" value="-3"/>
               <bool checked="true" description="keine Angabe" name="bool-2087" value="-1"/>
             </choice>
-            <rule expr="$cm_ziel -1 == not" mark="warning:cm_ziel" name="required-rule-126" value="Fehlende Pflichtfeldangabe"/>
           </group>
           <group containers="a,b" description="Angaben zum Schulbesuch" name="group-74" target="b">
             <choice description="Besucht der junge Mensch wieder regelmäßig und selbständig die Schule?" flags="required:phase_3" name="cm_schulbes_1" size="1" target="a">
@@ -2699,8 +2497,6 @@
               <bool description="unbekannt" name="bool-2000" value="-3"/>
               <bool checked="true" description="keine Angabe" name="bool-2001" value="-1"/>
             </choice>
-            <rule expr="$cm_schulbes_1 -1 == not" mark="warning:cm_schulbes_1" name="required-rule-127" value="Fehlende Pflichtfeldangabe"/>
-            <rule expr="$cm_schulbes_2 -1 == not" mark="warning:cm_schulbes_2" name="required-rule-128" value="Fehlende Pflichtfeldangabe"/>
           </group>
           <group containers="a,b" description="In wie weit kam es durch das Case Management zu Veränderungen hinsichtlich folgender Bereiche?" name="group-75" target="c">
             <group containers="a,b" description="Einschätzung schulische Reintegration" flags="required:phase_3" name="group-96" target="a">
@@ -2777,13 +2573,6 @@
                   <bool description="unbekannt" name="bool-2038" value="-3"/>
                   <bool checked="true" description="keine Angabe" name="bool-1878" value="-1"/>
                 </radio>
-                <rule expr="$cm_zielsch_a -1 == not" mark="warning:cm_zielsch_a" name="required-rule-129" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$cm_zielsch_b -1 == not" mark="warning:cm_zielsch_b" name="required-rule-130" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$cm_zielsch_c -1 == not" mark="warning:cm_zielsch_c" name="required-rule-131" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$cm_zielsch_d -1 == not" mark="warning:cm_zielsch_d" name="required-rule-132" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$cm_zielsch_e -1 == not" mark="warning:cm_zielsch_e" name="required-rule-133" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$cm_zielsch_f -1 == not" mark="warning:cm_zielsch_f" name="required-rule-134" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$cm_zielsch_g -1 == not" mark="warning:cm_zielsch_g" name="required-rule-135" value="Fehlende Pflichtfeldangabe"/>
               </radio-matrix>
               <text description="Nennung Sonstiges" function="suppress_value" maxlength="256" name="cm_zielsch_h_t" size="40" target="b"/>
             </group>
@@ -2861,13 +2650,6 @@
                   <bool description="unbekannt" name="bool-2046" value="-3"/>
                   <bool checked="true" description="keine Angabe" name="bool-1886" value="-1"/>
                 </radio>
-                <rule expr="$cm_zielsoz_a -1 == not" mark="warning:cm_zielsoz_a" name="required-rule-136" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$cm_zielsoz_b -1 == not" mark="warning:cm_zielsoz_b" name="required-rule-137" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$cm_zielsoz_c -1 == not" mark="warning:cm_zielsoz_c" name="required-rule-138" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$cm_zielsoz_d -1 == not" mark="warning:cm_zielsoz_d" name="required-rule-139" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$cm_zielsoz_e -1 == not" mark="warning:cm_zielsoz_e" name="required-rule-140" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$cm_zielsoz_f -1 == not" mark="warning:cm_zielsoz_f" name="required-rule-141" value="Fehlende Pflichtfeldangabe"/>
-                <rule expr="$cm_zielsoz_g -1 == not" mark="warning:cm_zielsoz_g" name="required-rule-142" value="Fehlende Pflichtfeldangabe"/>
               </radio-matrix>
               <text description="Nennung Sonstiges" function="suppress_value" maxlength="256" name="cm_zielsoz_h_t" size="40" target="b"/>
             </group>
@@ -2908,24 +2690,6 @@
         </choice>
         <rule description="keine pflichtfelder, da keine nachbetreuung" expr="$nbetr_verbl -1 == not $phase 4 != or" mark="warning:nbetr_verbl" name="rule-11" value="Fehlende Pflichtfeldangabe"/>
         <text description="Nennung Sonstiges" function="suppress_value" maxlength="256" name="nbetr_verbl_t" size="40" target="d"/>
-        <rule description="'datum_cm_start' muss vor 'nbetr_ende' liegen." expr="$datum_cm_start isset $datum_cm_start known and $nbetr_ende isset $nbetr_ende known and and $datum_cm_start $nbetr_ende &gt; and not" mark="error:nbetr_ende" name="date-sequence-rule-0-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-        <rule description="'datum_bfplan' muss vor 'nbetr_ende' liegen." expr="$datum_bfplan isset $datum_bfplan known and $nbetr_ende isset $nbetr_ende known and and $datum_bfplan $nbetr_ende &gt; and not" mark="error:nbetr_ende" name="date-sequence-rule-1-2" value="'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-        <rule description="'mutter_gb' muss vor 'nbetr_start' liegen." expr="$mutter_gb isset $mutter_gb known and $nbetr_start isset $nbetr_start known and and $mutter_gb $nbetr_start &gt; and not" mark="error:nbetr_start" name="date-sequence-rule-3-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-        <rule description="'kontakt' muss vor 'nbetr_start' liegen." expr="$kontakt isset $kontakt known and $nbetr_start isset $nbetr_start known and and $kontakt $nbetr_start &gt; and not" mark="error:nbetr_start" name="date-sequence-rule-5-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-        <rule description="'mutter_gb' muss vor 'nbetr_ende' liegen." expr="$mutter_gb isset $mutter_gb known and $nbetr_ende isset $nbetr_ende known and and $mutter_gb $nbetr_ende &gt; and not" mark="error:nbetr_ende" name="date-sequence-rule-10-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.2 Angaben zu der Mutter / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-        <rule description="'erstgespraech' muss vor 'nbetr_ende' liegen." expr="$erstgespraech isset $erstgespraech known and $nbetr_ende isset $nbetr_ende known and and $erstgespraech $nbetr_ende &gt; and not" mark="error:nbetr_ende" name="date-sequence-rule-12-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-        <rule description="'geburtsdatum' muss vor 'nbetr_ende' liegen." expr="$geburtsdatum isset $geburtsdatum known and $nbetr_ende isset $nbetr_ende known and and $geburtsdatum $nbetr_ende &gt; and not" mark="error:nbetr_ende" name="date-sequence-rule-19-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-        <rule description="'geburtsdatum' muss vor 'nbetr_start' liegen." expr="$geburtsdatum isset $geburtsdatum known and $nbetr_start isset $nbetr_start known and and $geburtsdatum $nbetr_start &gt; and not" mark="error:nbetr_start" name="date-sequence-rule-38-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Angaben zur betreuten Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-        <rule description="'datum_cm_start' muss vor 'nbetr_start' liegen." expr="$datum_cm_start isset $datum_cm_start known and $nbetr_start isset $nbetr_start known and and $datum_cm_start $nbetr_start &gt; and not" mark="error:nbetr_start" name="date-sequence-rule-46-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.1 Persönliche Angaben / Aufnahme in das Case Management / Datum Beginn der Umsetzung des Case Management in der Koordinierungsstelle' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-        <rule description="'erstgespraech' muss vor 'nbetr_start' liegen." expr="$erstgespraech isset $erstgespraech known and $nbetr_start isset $nbetr_start known and and $erstgespraech $nbetr_start &gt; and not" mark="error:nbetr_start" name="date-sequence-rule-48-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstgesprächs mit dem/der Jugendlichen' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-        <rule description="'kontakt' muss vor 'nbetr_ende' liegen." expr="$kontakt isset $kontakt known and $nbetr_ende isset $nbetr_ende known and and $kontakt $nbetr_ende &gt; and not" mark="error:nbetr_ende" name="date-sequence-rule-49-2" value="'PHASE A - Eingangsdokumentation / 1. Zuständigkeiten, Eingangsdaten / Datum des Erstkontakt zum/zur Jugendlichen' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-        <rule description="'vater_gb' muss vor 'nbetr_start' liegen." expr="$vater_gb isset $vater_gb known and $nbetr_start isset $nbetr_start known and and $vater_gb $nbetr_start &gt; and not" mark="error:nbetr_start" name="date-sequence-rule-54-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-        <rule description="'datum_cm_ende' muss vor 'nbetr_ende' liegen." expr="$datum_cm_ende isset $datum_cm_ende known and $nbetr_ende isset $nbetr_ende known and and $datum_cm_ende $nbetr_ende &gt; and not" mark="error:nbetr_ende" name="date-sequence-rule-56-2" value="'PHASE B - Case Management / 6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-        <rule description="'datum_cm_ende' muss vor 'nbetr_start' liegen." expr="$datum_cm_ende isset $datum_cm_ende known and $nbetr_start isset $nbetr_start known and and $datum_cm_ende $nbetr_start &gt; and not" mark="error:nbetr_start" name="date-sequence-rule-61-2" value="'PHASE B - Case Management / 6. Abschlussbewertung / 6.1 Angaben zum Verlauf und zur Beendigung des Case Management / 6.1.1 Verlauf des Case Management / Datum Beendigung des Case Management' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
-        <rule description="'vater_gb' muss vor 'nbetr_ende' liegen." expr="$vater_gb isset $vater_gb known and $nbetr_ende isset $nbetr_ende known and and $vater_gb $nbetr_ende &gt; and not" mark="error:nbetr_ende" name="date-sequence-rule-66-2" value="'PHASE B - Case Management / 3. Angaben zur Person / 3.3 Angaben zu dem Vater / Angaben zur Person / Geburtsdatum' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Ende der Nachbetreuung' liegen."/>
-        <rule description="'nbetr_start' muss vor 'nbetr_ende' liegen." expr="$nbetr_start isset $nbetr_start known and $nbetr_ende isset $nbetr_ende known and and $nbetr_start $nbetr_ende &gt; and not" mark="error:nbetr_start" name="date-sequence-rule-67-1" value="'Datum Start der Nachbetreuung' darf zeitlich nicht nach 'Datum Ende der Nachbetreuung' liegen."/>
-        <rule description="'nbetr_start' muss vor 'nbetr_ende' liegen." expr="$nbetr_start isset $nbetr_start known and $nbetr_ende isset $nbetr_ende known and and $nbetr_start $nbetr_ende &gt; and not" mark="error:nbetr_ende" name="date-sequence-rule-67-2" value="'Datum Start der Nachbetreuung' darf zeitlich nicht nach 'Datum Ende der Nachbetreuung' liegen."/>
-        <rule description="'datum_bfplan' muss vor 'nbetr_start' liegen." expr="$datum_bfplan isset $datum_bfplan known and $nbetr_start isset $nbetr_start known and and $datum_bfplan $nbetr_start &gt; and not" mark="error:nbetr_start" name="date-sequence-rule-68-2" value="'PHASE B - Case Management / 5. Kompetenzfeststellung, Hilfeplanung, Intervention / 5.2 Bildungs und Förderplanung / 5.2.1 Reintegrations-Vorraussetzungen / Datum Beginn der Bildungs- und Förderplanung' darf zeitlich nicht nach 'PHASE C - Nachbetreuung / 7.1 Nachbetreuung / Datum Start der Nachbetreuung' liegen."/>
       </page>
     </group>
   </case>

Added: wasko/trunk/waskoweb/templates/caselifetime/abbruch.mako
===================================================================
--- wasko/trunk/waskoweb/templates/caselifetime/abbruch.mako	2010-07-12 14:26:47 UTC (rev 3177)
+++ wasko/trunk/waskoweb/templates/caselifetime/abbruch.mako	2010-07-12 14:33:18 UTC (rev 3178)
@@ -0,0 +1,15 @@
+<fieldset class="${not c.show_abort and 'inactive' or ''}">
+  <legend>Abbruch der Eingangsdokumentation<a target="_blank" href="/annotations/help/abbruch"><img alt="Hilfesymbol" src="/images/icons/form_help.png" border="0"></a></legend>
+  % if c.show_abort:
+    <input type="submit" name="abort" value="Ausführen" ${h.hasRole(['admin']) and 'disabled' or ''}>
+  %else:
+    ## Abbruch nicht möglich
+    % if c.wiederaufn_abg:
+        Ein Abbruch ist aufgrund einer abgelehnten Wiederaufnahme nicht möglich.
+    % elif c.num_wiederaufnahme > 1:
+        Die maximale Anzahl von Wiederaufnahmen wurde erreicht! 
+    % else:
+      Ein Abbruch der Eingangsdokumentation ist nicht mehr möglich, da bereits die Phase B (Case Management) begonnen wurde.
+    % endif
+  %endif
+</fieldset>

Added: wasko/trunk/waskoweb/templates/caselifetime/dialogs/confirm_reopen.mako
===================================================================
--- wasko/trunk/waskoweb/templates/caselifetime/dialogs/confirm_reopen.mako	2010-07-12 14:26:47 UTC (rev 3177)
+++ wasko/trunk/waskoweb/templates/caselifetime/dialogs/confirm_reopen.mako	2010-07-12 14:33:18 UTC (rev 3178)
@@ -0,0 +1,7 @@
+<%inherit file="../../casemanagement/main.mako" />
+<%def name="buildNavipath()">
+	${parent.buildNavipath()}
+        <li><a href="/case/select/${session.get('case').id}/1">${_('cm_np_select')}</a></li>
+	<li><a href="/case/caselifetime/${session.get('case').id}">${_('menu_app_link_overview')}</a></li>
+</%def>
+<%include file="../../dialogs/confirm.mako" />

Added: wasko/trunk/waskoweb/templates/caselifetime/dialogs/success_reopen.mako
===================================================================
--- wasko/trunk/waskoweb/templates/caselifetime/dialogs/success_reopen.mako	2010-07-12 14:26:47 UTC (rev 3177)
+++ wasko/trunk/waskoweb/templates/caselifetime/dialogs/success_reopen.mako	2010-07-12 14:33:18 UTC (rev 3178)
@@ -0,0 +1,8 @@
+## -*- coding: utf-8 -*- 
+<%inherit file="../../casemanagement/main.mako" />
+<%def name="buildNavipath()">
+	${parent.buildNavipath()}
+        <li><a href="/case">${_('cm_np_root')}</a></li>
+	<li><a href="#">${_('cm_np_delete_success')}</a></li>
+</%def>
+<%include file="../../dialogs/success.mako" />

Added: wasko/trunk/waskoweb/templates/caselifetime/neuaufnahme.mako
===================================================================
--- wasko/trunk/waskoweb/templates/caselifetime/neuaufnahme.mako	2010-07-12 14:26:47 UTC (rev 3177)
+++ wasko/trunk/waskoweb/templates/caselifetime/neuaufnahme.mako	2010-07-12 14:33:18 UTC (rev 3178)
@@ -0,0 +1,43 @@
+<fieldset class="${not c.show_neuaufnahme and 'inactive' or ''}">
+  <legend>Neuaufnahme nach sonstiger Beendigung<a target="_blank" href="/annotations/help/neuaufnahme"><img alt="Hilfesymbol" src="/images/icons/form_help.png" border="0"></a></legend>
+  % if c.show_neuaufnahme:
+    <table>
+      <tr>
+        <td class="label">
+          <label for="cm_wiederauf_genehm_1">
+            Status
+          </label>
+        </td>
+        <td class="field">
+          <select name="cm_neuauf_genehm">
+              <option value="1">Neuaufnahme genehmigt</option>
+              <option value="0">Neuaufnahme abgelehnt</option>
+          </select>
+        </td>
+        <td><form:error name="cm_neuauf_genehm"/></td>
+      </tr>
+      <tr>
+        <td class="label">
+          <label for="anmerkungen_1">
+            Begründung für die Neuaufnahme 
+          </label>
+        </td>
+        <td class="field">
+          <textarea class="" name="cm2c_t" id="anmerkungen_1" rows="3" cols="80"  onchange="setModification();"></textarea>
+        </td>
+        <td><form:error name="cm2c_t"/></td>
+      </tr>
+    </table>
+    <input type="submit" name="neuaufnahme" value="Ausführen" ${h.hasRole(['admin']) and 'disabled' or ''}>
+  %else:
+    % if c.wiederaufn_abg:
+      Eine Neuaufnahme ist aufgrund einer abgelehnten Wiederaufnahme nicht möglich.
+    % elif c.cm_neuauf_genehm in (0,1):
+      Für diesen Fall wurde bereits eine Neuaufnahme dokumentiert! 
+    % elif c.num_wiederaufnahme >= 1:
+      Eine Neuaufnahme ist nicht möglich, da bereits eine Wiederaufnahme für den Fall durchgeführt wurde.
+    % else:
+    Eine Neuaufnahme ist nicht möglich, da der Fall nicht mit einer sonstigen Beendigung beendet wurde.
+    % endif
+  %endif
+</fieldset>

Added: wasko/trunk/waskoweb/templates/caselifetime/overview.mako
===================================================================
--- wasko/trunk/waskoweb/templates/caselifetime/overview.mako	2010-07-12 14:26:47 UTC (rev 3177)
+++ wasko/trunk/waskoweb/templates/caselifetime/overview.mako	2010-07-12 14:33:18 UTC (rev 3178)
@@ -0,0 +1,36 @@
+## -*- coding: utf-8 -*-
+## In der Hoffnung das der Workflow sich als so umständlich herausstellt, dass
+## der dazu gehördende, noch fürchterlichere Code direkt wieder entfernt werden kann.
+<%inherit file="/casemanagement/main.mako" />
+<%def name="buildNavipath()">
+		${parent.buildNavipath()}
+	<li><a href="/case/select/${session.get('case').id}/1">${_('cm_np_select')}</a></li>
+	<li><a href="/case/caselifetime/${session.get('case').id}">${_('Verwaltung')}</a></li>
+</%def>
+
+<div id="content_header_small">
+  <div id="content_ueberschrift">
+    ${_('Case Management Prozess')}
+  </div>
+</div>
+<h2>${_('Verwaltungsaufgaben')}</h2>
+<div class="waska_form">
+  <p>Für die Fallakte stehen im Rahmen des Case Management Prozess verschiedene
+  Verwaltungsfunktionen zur Verfügung. Machen Sie jeweils die notwendigen
+  Angaben und führen Sie dann die Verwaltungsfunktion aus.
+  </p>
+    <form method="POST" action="/caselifetime/changeLifetime">
+    ## Verlängerung
+    <br>
+    <%include file="/caselifetime/verlaengerung.mako" />
+    ## Wiederaufnahme 
+    <br>
+    <%include file="/caselifetime/wiederaufnahme.mako" />
+    ## Neuaufnahme 
+    <br>
+    <%include file="/caselifetime/neuaufnahme.mako" />
+    ## Abbruch 
+    <br>
+    <%include file="/caselifetime/abbruch.mako" />
+  </form>
+</div>

Added: wasko/trunk/waskoweb/templates/caselifetime/verlaengerung.mako
===================================================================
--- wasko/trunk/waskoweb/templates/caselifetime/verlaengerung.mako	2010-07-12 14:26:47 UTC (rev 3177)
+++ wasko/trunk/waskoweb/templates/caselifetime/verlaengerung.mako	2010-07-12 14:33:18 UTC (rev 3178)
@@ -0,0 +1,88 @@
+<fieldset class="${not c.show_verlaengerung and 'inactive' or ''}">
+  <legend>Verlängerung des Integrationsprozesses<a target="_blank" href="/case/showhelp/verlaengerung"><img alt="Hilfesymbol" src="/images/icons/form_help.png" border="0"></a></legend>
+  % if c.show_verlaengerung:
+    <strong>Erste Verlängerung</strong>
+    <table class="${c.num_verlaengerung >= 1 and 'inactive' or ''}"> 
+      <tr>
+        <td class="label">
+          <label for="cm_datum_verlaengerung_1">
+            Datum erste Verlängerung bis</td>
+          </label>
+        <td class="field">
+            <input type="text" id="cm_datum_verlaengerung_1" name="cm_datum_verlaengerung_1" value="" ${c.num_verlaengerung >= 1 and 'disabled' or ''}> 
+        </td>
+        <td><form:error name="cm_datum_verlaengerung_1"/></td>
+      </tr>
+      <tr>
+        <td class="label">
+          <label for="cm_bestaet_verlaengerung_1">
+            Schriftliche Bestätigung der fachlichen Einschätzung durch Jugendamt/Schule liegt vor
+          </label>
+        </td>
+        <td class="field">
+          <input type="checkbox" id="cm_bestaet_verlaengerung_1" name="cm_bestaet_verlaengerung_1" value="1" ${c.num_verlaengerung >= 1 and 'disabled' or ''}>
+        </td>
+        <td><form:error name="cm_bestaet_verlaengerung_1"/></td>
+      </tr>
+      <tr>
+        <td class="label">
+          <label for="anmerkungen">
+            Begründung für die Verlängerung
+          </label>
+        </td>
+        <td class="field">
+          <textarea class="" name="cm_anmerk_verlaengerung_1" id="anmerkungen" rows="3" cols="80" onchange="setModification();"  ${c.num_verlaengerung >= 1 and 'disabled' or ''}></textarea>
+        </td>
+        <td><form:error name="cm_anmerk_verlaengerung_1"/></td>
+      </tr>
+    </table>
+    % if c.num_verlaengerung > 0:
+      <strong>Zweite Verlängerung</strong>
+      <table>
+        <tr>
+          <td class="label">
+            <label for="cm_datum_verlaengerung_2">
+              Datum zweite Verlängerung bis</td>
+            </label>
+          <td class="field">
+              <input type="text" id="cm_datum_verlaengerung_2" name="cm_datum_verlaengerung_2" value=""> 
+          </td>
+          <td><form:error name="cm_datum_verlaengerung_2"/></td>
+        </tr>
+        <tr>
+          <td class="label">
+            <label for="cm_bestaet_verlaengerung_2">
+              Schriftliche Bestätigung der fachlichen Einschätzung durch Jugendamt/Schule liegt vor
+            </label>
+          </td>
+          <td class="field">
+            <input type="checkbox" id="cm_bestaet_verlaengerung_2" name="cm_bestaet_verlaengerung_2" value="1">
+          </td>
+          <td><form:error name="cm_bestaet_verlaengerung_2"/></td>
+        </tr>
+        <tr>
+          <td class="label">
+            <label for="anmerkungen_2">
+              Begründung für die Verlängerung
+            </label>
+          </td>
+          <td class="field">
+            <textarea class="" name="cm_anmerk_verlaengerung_2" id="anmerkungen_2" rows="3" cols="80" onchange="setModification();" ></textarea>
+          </td>
+          <td><form:error name="cm_anmerk_verlaengerung_2"/></td>
+        </tr>
+      </table>
+    % endif
+    <input type="submit" name="verlaengerung" value="Ausführen" ${h.hasRole(['admin']) and 'disabled' or ''}>
+  %else:
+    % if c.wiederaufn_abg:
+      Eine Verlängerung ist aufgrund einer abgelehnten Wiederaufnahme nicht möglich.
+    % elif c.num_wiederaufnahme >= 1:
+      Eine Verländerung des Falls ist aufgrund einer bereits vorgenommenen Wiederaufnahme nicht möglich! 
+    % elif c.num_verlaengerung > 1:
+      Die maximale Anzahl von Verlängerungen wurde erreicht! 
+    % else:
+      Eine Verlängerung ist nicht möglich, da sich der Fall nicht im laufendem CM (Phase B) befindet.
+    % endif
+  %endif
+</fieldset>

Added: wasko/trunk/waskoweb/templates/caselifetime/wiederaufnahme.mako
===================================================================
--- wasko/trunk/waskoweb/templates/caselifetime/wiederaufnahme.mako	2010-07-12 14:26:47 UTC (rev 3177)
+++ wasko/trunk/waskoweb/templates/caselifetime/wiederaufnahme.mako	2010-07-12 14:33:18 UTC (rev 3178)
@@ -0,0 +1,107 @@
+<fieldset class="${not c.show_wiedervorlage and 'inactive' or ''}">
+  <legend>Wiederaufnahme nach erfolgreicher Reintegration<a target="_blank" href="/case/showhelp/wiederaufnahme"><img alt="Hilfesymbol" src="/images/icons/form_help.png" border="0"></a></legend>
+  % if c.show_wiedervorlage:
+    <strong>Wiederaufnahme der/des Jugendlichen für 3 Monate</strong>
+    <table class="${c.num_wiederaufnahme >= 1 and 'inactive' or ''}">
+      <tr>
+        <td class="label">
+          <label for="cm_wiederauf_genehm_1">
+            Status
+          </label>
+        </td>
+        <td class="field">
+          <select name="cm_wiederauf_genehm_1" ${c.num_wiederaufnahme >= 1 and 'disabled' or ''}>
+              <option value="1">Wiederaufnahme genehmigt</option>
+              <option value="0">Wiederaufnahme abgelehnt</option>
+          </select>
+        </td>
+        <td><form:error name="cm_wiederauf_genehm_1"/></td>
+      </tr>
+      <tr>
+        <td class="label">
+          <label for="cm_wiederauf_genehm_datum_1">
+            Genehmigt ab
+          </label>
+        </td>
+        <td class="field">
+          <input type="text" name="cm_wiederauf_genehm_datum_1" id="cm_wiederauf_genehm_datum_1" value="" onchange="setModification();" ${c.num_wiederaufnahme >= 1 and 'disabled' or ''}>
+        </td>
+        <td><form:error name="cm_wiederauf_genehm_datum_1"/></td>
+      </tr>
+      <tr>
+        <td class="label">
+          <label for="cm_wiederauf_datum_bis_1">
+            Genehmigt bis
+          </label>
+        </td>
+        <td class="field">
+          <input type="text" name="cm_wiederauf_datum_bis_1" id="cm_wiederauf_datum_bis_1" value="" onchange="setModification();" ${c.num_wiederaufnahme >= 1 and 'disabled' or ''}>
+        </td>
+        <td><form:error name="cm_wiederauf_datum_bis_1"/></td>
+      </tr>
+      <tr>
+        <td class="label">
+          <label for="anmerkungen_1">
+            Begründung Wiederaufnahme 
+          </label>
+        </td>
+        <td class="field">
+          <textarea class="" name="cm2c_t" id="anmerkungen_1" rows="3" cols="80"  onchange="setModification();" ${c.num_wiederaufnahme >= 1 and 'disabled' or ''}></textarea>
+        </td>
+        <td><form:error name="cm2c_t"/></td>
+      </tr>
+    </table>
+    % if c.num_wiederaufnahme >= 1:
+    <strong>Verlängerung der Wiederaufnahme der/des Jugendlichen für weitere 3 Monate</strong>
+    <table>
+      <tr>
+        <td class="label">
+          <label for="cm_wiederauf_genehm_2">
+            Status
+          </label>
+        </td>
+        <td class="field">
+          <select name="cm_wiederauf_genehm_2" id="cm_wiederauf_genehm_2">
+              <option value="1">Wiederaufnahme genehmigt</option>
+              <option value="0">Wiederaufnahme abgelehnt</option>
+          </select>
+        </td>
+        <td></td>
+      </tr>
+      <tr>
+        <td class="label">
+          <label for="cm_wiederauf_datum_bis_2">
+            Genehmigt bis
+          </label>
+        </td>
+        <td class="field">
+          <input type="text" name="cm_wiederauf_datum_bis_2" id="cm_wiederauf_datum_bis_2" value="" onchange="setModification();">
+        </td>
+        <td></td>
+      </tr>
+      <tr>
+        <td class="label">
+          <label for="anmerkungen_2">
+            Begründung Wiederaufnahme 
+          </label>
+        </td>
+        <td class="field">
+          <textarea class="" name="cm2c_t" id="anmerkungen_2" rows="3" cols="80"  onchange="setModification();" ></textarea>
+        </td>
+        <td></td>
+      </tr>
+    </table>
+    %endif
+    <input type="submit" name="wiederaufnahme" value="Ausführen" ${h.hasRole(['admin']) and 'disabled' or ''}>
+  %else:
+    % if c.wiederaufn_abg:
+      Eine Wiederaufnahme ist aufgrund einer abgelehnten Wiederaufnahme nicht möglich.
+    % elif c.num_wiederaufnahme == 1 and c.phase in (3,4,5):
+      Eine Wiederaufnahmen ist nicht möglich, da der Fall nach der ersten Wiederaufnahme bereits beendet wurde.
+    % elif c.num_wiederaufnahme > 1:
+      Die maximale Anzahl von Wiederaufnahmen wurde erreicht! 
+    % else:
+      Eine Wiederaufnahme ist derzeit nicht möglich, da der Fall nicht mit einer erfolgreichen Reintegration beendet wurde.
+    % endif
+  %endif
+</fieldset>

Added: wasko/trunk/waskoweb/templates/casemanagement/main.mako
===================================================================
--- wasko/trunk/waskoweb/templates/casemanagement/main.mako	2010-07-12 14:26:47 UTC (rev 3177)
+++ wasko/trunk/waskoweb/templates/casemanagement/main.mako	2010-07-12 14:33:18 UTC (rev 3178)
@@ -0,0 +1,251 @@
+## -*- coding: utf-8 -*-
+<%inherit file="../main.mako" />
+<%!  import mpulsweb.lib.helper.filters as F %>
+${next.body()}
+
+<%def name="buildNavipath()">
+  ${parent.buildNavipath()}
+  <li><a href="${h.url_for(controller='case')}"
+         onclick="return checkModification();">${_('cm_np_root')}</a></li>
+  <li><a href="${h.url_for(controller='case_overview', action='overview')}" 
+         onclick="return checkModification();">${_('cm_np_overview')}</a></li>
+</%def>
+<%def name="buildModusfield()">
+</%def>
+
+<%def name="buildInfofield()">
+  <% case = session.get('case') %>
+  <div id="infofield">
+    % for f in g.case.get_infofield_fields():
+      <strong>${f.info_label}:</strong>
+      ${h.shorten(case.get_value(f.alias), 15)  | F.NA}
+      <br>
+    % endfor
+    <strong>${_('cm_info_phase')}:</strong> ${ case.getState().getPhaseDescription() | F.NA}<br>
+    <strong>${_('cm_info_status')}:</strong>
+       ${case.getState().getStateLabel()  | F.NA}<br>
+  </div>
+</%def>
+
+<%def name="buildPrivacyfield()">
+  % if g.mpuls_config.is_enabled('case-module', 'privacy'):
+    <div class="menu">
+    <h1>${_('cm_main_header_data_protection')}</h1>
+    <ul class="mainMenu" id="mainMenuPrivacy"> <!--ID only because of IE6 -->
+        <li>${_('Options')}
+            <ul>
+                % if session.get('case').getState().getState() not in (3,4,5):
+                  % if not session.get('case').hasPrivacyStatement():
+                      <li>
+                      <a href="${h.url_for(controller='privacy', action='set',
+                                           id=session.get('case').id)}"
+                         onclick="return checkModification();">${_('cm_main_set_statement')}
+                      </a>
+                      </li>
+                  % elif session.get('case').hasPrivacyStatement():
+                      <li>
+                      <a href="${h.url_for(controller='privacy',
+                                           action='decline', 
+                                           id=session.get('case').id,
+                                           confirmed=0)}" 
+                         onclick="return checkModification();">${_('cm_main_revoke_statement')}
+                      </a>
+                      </li>
+                  % endif
+                  <li>
+                  <a href="${h.url_for(controller='case',
+                                       action='markForAnonymize', 
+                                       id=session.get('case').id,
+                                       confirmed=0)}" 
+                      onclick="return checkModification();">${_('cm_main_anonymize_case')}
+                  </a>
+                  </li>
+                % endif
+                <li>
+                <a href="${h.url_for(controller='privacy',
+                                     action='listStatements')}" 
+                   onclick="return checkModification();"> ${_('statement_list_statement')}
+                </a>
+                </li>
+            </ul>
+        </li>
+    </ul>
+    </div>
+  % endif
+</%def>
+
+<%def name="buildNavigation()">
+  <div class="menu">
+    <h1>${_('cm_menu_header_cases')}</h1>
+    <div class="actions">
+    % if h.hasRole(['cm_ka', 'admin_ka']):
+      ${self.buildInfofield()}
+      <ul>
+        <li>
+            <a href="${h.url_for(controller='/case_overview')}"
+            onclick="return checkModification();">${_('cm_menu_link_backtooverview')}</a>
+        </li>
+        <li>
+            <a href="${h.url_for(controller='case', action='digest',
+                                 id=session.get('case').id)}" 
+               onclick="return checkModification();">
+                ${_('cm_menu_link_digest')}
+            </a>
+        </li>
+        <li>
+            <a href="${h.url_for(controller='phase', action='overview',
+                                 id=session.get('case').id)}"
+               onclick="return checkModification();">${_('case_cm_phase')}</a>
+        </li>
+        <li>
+            <a href="${h.url_for(controller='caselifetime', action='index',
+                                 id=session.get('case').id)}"
+               onclick="return checkModification();">Verwaltung</a>
+        </li>
+        % if h.hasRole(['cm_ka']) and g.mpuls_config.is_enabled('case-module', 'logbook'):
+            <li>
+                <a href="${h.url_for(controller='logbook',
+                                     action='index',
+                                     id=session.get('case').id)}" 
+                    onclick="return checkModification();">
+                    Tagebuch
+                </a>
+            </li>
+        % endif
+      </ul>
+    % endif
+     </div>
+    <ul class="mainMenu" id="mainMenuCase"> <!--ID only because of IE6 -->
+        <li>${_('More options')}
+            <ul>
+            % if h.hasRole(['cm_ka', 'admin_ka']):
+                % if g.mpuls_config.is_enabled('case-module', 'organisation'):
+                <li>
+                    <a href="${h.url_for(controller='case', 
+                                         action='organisation', 
+                                         id=session.get('case').id)}" 
+                    onclick="return checkModification();">
+                        ${_('cm_menu_link_organisation')}
+                    </a>
+                </li>
+                % endif
+                % if g.mpuls_config.is_enabled('case-module', 'tags'):
+                <li>
+                    <a href="${h.url_for(controller='tags',
+                                         action='overview',
+                                         id=session.get('case').id)}" 
+                       onclick="return checkModification();">
+                        ${_('Tags')}
+                    </a>
+                </li>
+                % endif
+                % if g.mpuls_config.is_enabled('case-module', 'appointments'):
+                    <li>
+                        <a href="${h.url_for(controller='caseappointment',
+                                             action='index',
+                                             id=session.get('case').id)}" 
+                           onclick="return checkModification();">
+                            ${_('cm_menu_link_appointment')}
+                        </a>
+                    </li>
+                % endif
+                % if g.mpuls_config.is_enabled('case-module', 'appointments'):
+                <li>
+                    <a href="${h.url_for(controller='caseappointment',
+                                         action='newReminder',
+                                         id=session.get('case').id)}"
+                       onclick="return checkModification();"> ${_('cm_menu_link_create_reminder')}</a>
+                </li>
+                % endif
+                % if g.mpuls_config.is_enabled('case-module', 'documents'):
+                    <li>
+                        <a href="${h.url_for(controller='casedocument',
+                                             action='index',
+                                             id=session.get('case').id)}" 
+                           onclick="return checkModification();">
+                            ${_('cm_menu_link_documents')}
+                        </a>
+                    </li>
+                % endif
+                % if g.mpuls_config.is_enabled('case-module', 'copy'):
+                <li>
+                    <a href="${h.url_for(controller='case', action='copy', 
+                                         id=session.get('case').id,
+                                         confirmed=0)}"
+                    onclick="return checkModification();"
+                    target="_blank">${_('Copy case')}</a>
+                </li>
+                % endif
+                <li>
+                    <a href="${h.url_for(controller='case', action='printAll', 
+                                         id=session.get('case').id,
+                                         confirmed=0)}"
+                    onclick="return checkModification();"
+                    target="_blank">${_('cm_menu_link_print')}</a>
+                </li>
+            % endif
+            </ul>
+        </li>
+      </ul>
+  </div>
+  
+  <!--<div class="menu">
+    <h1>${_('cm_menu_header_seperator')}</h1>
+    <div class="actions">
+      <ul>
+        <li>
+          <a href="${h.url_for(controller='case', action='digest', id=session.get('case').id)}" 
+             onclick="return checkModification();">
+              ${_('cm_menu_link_digest')}
+          </a>
+        </li>
+        % if h.hasRole(['cm_ka', 'admin_ka']):
+          <li>
+            <a href="${h.url_for(controller='phase', action='overview', id=session.get('case').id)}"
+               onclick="return checkModification();">
+                ${_('case_cm_phase')}
+            </a>
+          </li>
+          <li>
+            <a href="${h.url_for(controller='case', action='organisation', id=session.get('case').id)}" 
+               onclick="return checkModification();">
+                ${_('cm_menu_link_organisation')}
+            </a>
+          </li>
+          % if g.mpuls_config.is_enabled('case-module', 'appointments'):
+            <li>
+              <a href="${h.url_for(controller='caseappointment', action='index', id=session.get('case').id)}" 
+                 onclick="return checkModification();">
+                  ${_('cm_menu_link_appointment')}
+              </a>
+            </li>
+          % endif
+          % if h.hasRole(['cm_ka']) and g.mpuls_config.is_enabled('case-module', 'logbook'):
+            <li>
+              <a href="${h.url_for(controller='logbook', action='index', id=session.get('case').id)}" 
+                 onclick="return checkModification();">
+                  Tagebuch
+              </a>
+            </li>
+          % endif
+          % if g.mpuls_config.is_enabled('case-module', 'documents'):
+            <li>
+              <a href="${h.url_for(controller='casedocument', action='index', id=session.get('case').id)}" 
+                 onclick="return checkModification();">
+                 ${_('cm_menu_link_documents')}
+              </a>
+            </li>
+          % endif
+        % endif
+      </ul>
+    </div>
+  </div>-->
+  <div class="menu">
+    <h1>${_('cm_menu_header_structure')}</h1>
+    ${h.literal(h.render_navigation())}
+  </div>
+</%def>
+
+
+<%def name="buildUeberschrift()">
+</%def>



More information about the Mpuls-commits mailing list