View Categories

04 Beispielprojekt

Damit ein neues QuickForms-Projekt genutzt werden kann, müssen die Formularstruktur, die Projektkonfiguration und die Datenbankanbindung passend eingerichtet werden. Für Benutzer, die noch nie mit QuickForms gearbeitet haben, ist wichtig zu wissen, dass ein Teil dieser Arbeit bereits durch das Setup unterstützt wird.

Empfohlene Vorgehensweise für Einsteiger

Für Benutzer, die erstmals ein Projekt anlegen, empfiehlt sich folgende Reihenfolge:

AktionAusführung
Vorbereiten
1. APF-Datei(en) erstellen oder übernehmenMCDMS>>Designer
2. APF-Datei(en) für SQL-Server konfigurierenAkte>>Aktendefinition
3. Formular in der Akte starten
Beim Erststart wird eine neue SQL-Tabelle erzeugt
4. MCHOME für Projekt konfigurierenEditor>>\HCFG\
Ausführen
5. Projekt starten und APF auswählenMCHOME>>QuickForms
5.1 Automatisch erzeugte Konfiguration prüfenEditor
5.2 Titel, Matchcode und Formularpfad kontrollierenEditor
5.3 Stammdatenquelle prüfen/einrichtenEditor
5.4 SQL-Zusatztabelle anbindenEditor
5.5 Feldlisten und Sichtbarkeit definierenEditor
5.6 Suchfelder und Selektionen ergänzenEditor
5.7 optionale Scripts einbindenEditor
5.8 Projekt starten und mit Testdaten prüfenQuickForms

Wird im Setup eine APF-Datei ausgewählt, erzeugt das System die zugehörige Projektkonfiguration automatisch. Dadurch muss die projekt.cfg nicht immer komplett manuell von Grund auf erstellt werden. In der Praxis wird die automatisch erzeugte Konfiguration anschließend nur noch geprüft und an die gewünschten Anforderungen angepasst.

Der typische Ablauf sieht wie folgt aus.

Projekt vorbereiten

Zunächst wird festgelegt, welches Formular abgebildet werden soll. Dabei sollte klar sein:

  • welche Stammdaten als Basis dienen
  • welche zusätzlichen Formularfelder erfasst werden sollen
  • ob pro Stammdatensatz nur ein Eintrag oder mehrere Einträge möglich sein sollen
  • ob zusätzliche Scripte für Neu, Speichern oder Löschen benötigt werden

Ein neues Projekt besteht in der Regel mindestens aus:

  • einer APF-Datei für die Felddefinition
  • einem Eintrag in der Projektkonfiguration
  • optional einer SQL-Zusatztabelle
  • optional zusätzlichen Scripts

APF-Datei erstellen oder bereitstellen

Im ersten Schritt wird die APF-Datei erstellt oder aus einem bestehenden Projekt übernommen. In dieser Datei wird definiert, welche Felder im Formular vorhanden sind und wie sie dargestellt werden.

Die APF-Datei enthält insbesondere:

  • die Formularfelder
  • Feldtypen
  • Pflichtfeldkennzeichen
  • maximale Feldlängen
  • Auswahlwerte für Comboboxen
  • Farben
  • Aliasnamen
  • ReadOnly-Eigenschaften

Die APF-Dateien bilden damit die fachliche Grundlage des Formularprojekts.

Formular für die Verwendung vorbereiten

Konfigurieren Sie die Formulare so, das auf die entsprechenden SQL-Tabellen verwiesen werden kann, wie z.B.:

Konfigurieren Sie in der Akte die entsprechenden Berechtigungen Akte>>Benutzer

Grundeinstellungen

Konfigurieren Sie das Projekt für die Ausführung in MCHOME. In unserem Beispiel verwenden wir eine eigene INI-Datei. Sie können den Teil [Anschreiben] auch in einer bestehenden Konfigurationsdatei verwenden:

\HCFG\CFG-Beispiel QuickForms.INI
[MAIN]
TITLE=Beispiel QuickForms
BUTTONBASE=\BACKBUTTONS\SHADDOWRECT-GLASS.PNG
CHANGECOLOR=
SCALEFACTOR=1,0
OFFSETTOP=0
OFFSETLEFT=0

[Anschreiben]
ACTIVATE=True
CtrlTyp=BUTTON
AdminOnly=False
ONLY_USERS=
TooltipText=MC-DMS Anschreiben
Internal=True
Execute=MCDMS-QuickForms.exe
ExecParam={APPPATH}\FORMULAR\BSP_PROJEKT
ProcessName=mcstammdat
ClosebyTerminate=True
OnlyOne=True
AssigndMatchcode=
Image=STANDARD\VerwaltungMCDMS.png

Projekt starten und im Setup anlegen

Anschließend wird das Projekt im Setup eingerichtet. Dabei wird die gewünschte APF-Datei(en) ausgewählt.

Wichtig ist: Bei der Auswahl der APF-Datei wird die zugehörige Konfiguration automatisch erzeugt. Das bedeutet, dass das System bereits einen Grundaufbau für das Projekt anlegt. Dazu gehören typischerweise:

  • der Projektname
  • der Titel
  • der Verweis auf die APF-Datei
  • grundlegende Einstellungen für das Formular

Dadurch entfällt für neue Benutzer ein großer Teil der manuellen Ersteinrichtung.

Nach diesem Schritt sollte die erzeugte Konfiguration geöffnet und geprüft werden.

In dem Projektverzeichnis \BSP_PROJEKT\ befinden sich jetzt z. B.:

Projektdefinition prüfen und ergänzen

Nach der automatischen Erstellung wird die Projektdefinition in der projekt.cfg überprüft und angepasst.

Wichtige Einstellungen im Abschnitt [SETTINGS] sind:

  • MATCHCODE
    eindeutiger interner Name des Projekts
  • TITEL
    Bezeichnung, die in der Oberfläche angezeigt wird
  • ENABLED
    aktiviert oder deaktiviert das Projekt
  • LISTVIEW
    steuert die Listenansicht
  • MEHRMALIGERSTELLBAR
    legt fest, ob mehrere Formulareinträge pro Stammdatensatz möglich sind
  • PRIMARYID
    fachlicher Schlüssel der Stammdaten, meist PatientID
  • FORMULAR
    Pfad zur APF-Datei

Optional können hier auch zusätzliche Funktionen aktiviert werden, etwa:

  • RUN_NEW
  • RUN_SAVE
  • RUN_DELETE
  • AKTECHECK
  • MATCHCODEMENU

Wenn ein Projekt nur einen Formulareintrag pro Patient haben soll, wird MEHRMALIGERSTELLBAR entsprechend deaktiviert. Wenn Verlaufs- oder wiederkehrende Dokumentationen erfasst werden sollen, wird diese Option aktiviert.

Stammdatenquelle einrichten

Im nächsten Schritt wird die Datenquelle für die Stammdaten konfiguriert. Diese Stammdaten bilden die Basisliste, auf der das Formular arbeitet.

Dafür werden im Abschnitt [DATABASE] unter anderem folgende Angaben benötigt:

  • DATABASE_TYP
  • DATABASE_CONNECTIONSTRING
  • StandardDatabase
  • DATABASE_StandardOrder
  • DATABASE_EDIT

Hier wird festgelegt, ob die Stammdaten aus Access, SQL Server oder einer anderen unterstützten Quelle geladen werden.

In vielen Projekten werden die Stammdaten nur angezeigt und nicht bearbeitet. In diesem Fall bleibt DATABASE_EDIT=FALSE.

SQL-Zusatztabelle konfigurieren

Wenn das Formular zusätzliche Daten speichern soll, wird eine konnektierte Formulardatenbank eingerichtet.

Dafür sind insbesondere diese Einstellungen relevant:

  • DB_CONNECT=TRUE
  • DB_CONNECT_EDIT=TRUE oder FALSE
  • DB_CONNECT_TYP
  • DB_CONNECT_SOURCE
  • DB_CONNECT_PRIMARYID
  • DB_CONNECT_FIELDS

Hier ist die Unterscheidung der beiden Schlüssel besonders wichtig:

  • PRIMARYID ist der fachliche Schlüssel des Stammdatensatzes, zum Beispiel PatientID
  • DB_CONNECT_PRIMARYID ist der technische Primärschlüssel des Formulardatensatzes, zum Beispiel FRMID

Diese beiden Werte dürfen nicht verwechselt werden.

DB_CONNECT_SOURCE verweist auf die Tabelle oder Datenquelle, in der die Formulardaten gespeichert werden.

DB_CONNECT_FIELDS enthält alle Felder, die aus der Formulartabelle geladen und gespeichert werden sollen. Dazu gehören in der Regel:

  • der technische Primärschlüssel
  • der fachliche Verknüpfungsschlüssel
  • die Formularfelder
  • optionale technische Felder wie ErstelltAm oder GeändertAm

Sichtbarkeit und Verhalten der Felder festlegen

Nachdem die Felder grundsätzlich angebunden sind, können weitere Einstellungen ergänzt werden.

Wichtige Optionen sind:

  • DB_CONNECT_HIDDENFIELDS
    Felder, die intern vorhanden sind, aber nicht angezeigt werden sollen
  • DB_CONNECT_NOCOPYFIELDS
    Felder, die bei neuen Einträgen oder Kopiervorgängen nicht übernommen werden sollen
  • DB_CONNECT_SORTFIELDS
    Felder, die in der Oberfläche sortierbar sein sollen
  • DB_CONNECT_SELECT
    Feld, das bei mehrfach vorhandenen Datensätzen als sprechende Bezeichnung verwendet wird

Diese Einstellungen sind besonders dann wichtig, wenn technische Felder wie PATIENTID, FRMID oder interne Statusfelder nicht sichtbar sein sollen.

Formularfelder definieren

Im Abschnitt [DB_FORMULAR_FIELDS] werden die einzelnen Felder des Formulars fachlich beschrieben.

Jedes Feld erhält dort seine Eigenschaften, beispielsweise:

  • Feldtyp
  • Feldlänge
  • Pflichtkennzeichen
  • Format
  • Farben
  • Aliasname
  • ReadOnly-Status

Ein typischer Eintrag kann zum Beispiel so aussehen:

PSA=1;9;N;;Black;#98dede;PSA Wert;0

Ein Auswahlfeld kann beispielsweise so definiert werden:

MELDEANLASS=5;255;J;statusaenderung,statusmeldung;Black;White;Anlass;1

Damit ist direkt festgelegt:

  • dass es sich um ein Auswahlfeld handelt
  • welche Werte erlaubt sind
  • dass das Feld ein Pflichtfeld ist
  • wie es angezeigt wird
  • ob es editierbar ist

Suchabfragen definieren

Im Abschnitt [SELECTIONS] können vorbereitete Abfragen hinterlegt werden. Diese dienen dazu, unterschiedliche Datenbestände oder Filter direkt auswählbar zu machen.

Beispiele sind:

  • alle aktuellen Patienten
  • Patienten der letzten 90 Tage
  • nur bestimmte Fachabteilungen
  • Test- oder Musterabfragen

Das erleichtert den Einstieg für Benutzer, weil nicht jedes Mal eine neue Abfrage erstellt werden muss.

Suchfelder konfigurieren

Im Abschnitt [SUCHFELDER] wird festgelegt, nach welchen Feldern innerhalb der Daten gesucht werden kann.

Typischerweise sind das zum Beispiel:

  • Name
  • Vorname
  • Fallnummer
  • Geburtsdatum
  • PatientID

Damit wird die Standardsuche für den Benutzer definiert.

Optionale Scripts einbinden

Wenn das Projekt zusätzliche Abläufe benötigt, können Scripts eingebunden werden.

Dazu gehören insbesondere:

  • RUN_NEW für die Vorbelegung oder Neuerstellung
  • RUN_SAVE für Aktionen nach dem Speichern
  • RUN_DELETE für Folgeaktionen nach dem Löschen
  • Menüeinträge im Abschnitt [RUN]

Gerade bei RUN_NEW ist wichtig, dass das Script die Variable SCRIPT.RESULT zurückliefert. Nur wenn sie auf TRUE gesetzt ist, werden die zurückgegebenen Werte in die aktuelle Zeile übernommen.

Scripts können verwendet werden, um:

  • Felder automatisch vorzubelegen
  • Folgeprozesse zu starten
  • Exporte zu erzeugen
  • Register- oder Schnittstellenprozesse anzustoßen

Projekt erstmals starten

Nach der Konfiguration wird das Projekt zum ersten Mal gestartet.

Dabei sollte Schritt für Schritt geprüft werden:

  • wird das Projekt in der Oberfläche angezeigt
  • wird die richtige APF-Datei geladen
  • werden die Stammdaten korrekt angezeigt
  • werden die Formularfelder korrekt eingeblendet
  • sind Pflichtfelder, Farben und Aliasnamen wie gewünscht gesetzt
  • werden versteckte Felder tatsächlich nicht angezeigt
  • funktioniert die Suche
  • funktionieren vorbereitete Selektionen

Neuen Datensatz testen F9

Im nächsten Schritt sollte ein neuer Formulareintrag testweise angelegt werden.

In unserem Beispiel sind die RUN-Scripte aktiviert

Beispiel_Aufnahmemitteilung.CFG
RUN_NEW={APPPATH}\FORMULAR\BSP_PROJEKT\DEMO_NEW.MCFSCR
RUN_SAVE={APPPATH}\FORMULAR\BSP_PROJEKT\DEMO_SAVE.MCFSCR
RUN_DELETE={APPPATH}\FORMULAR\BSP_PROJEKT\DEMO_DELETE.MCFSCR

Dabei ist zu prüfen:

  • wird ein neuer Datensatz korrekt erzeugt
  • wird bei Bedarf ein RUN_NEW-Script aufgerufen
  • werden Vorbelegungen übernommen
  • funktioniert die Pflichtfeldprüfung
  • funktioniert die Feldlängenprüfung
  • werden die Daten in die richtige SQL-Zusatztabelle gespeichert
  • wird der technische Schlüssel, zum Beispiel FRMID, korrekt erzeugt

Wichtige Hinweise und Angaben zu den Parametern finden Sie über der jeweiligen Sektion, z.B.:

Beispiel_Aufnahmemitteilung.CFG
//Format:FeldTyp;FeldLänge;FeldPflicht;FeldFormat kann z. B. sein Datum: dd.mm.yyyy und bei Combobox:1,2,3,4,5;Vordergrund;Hintergrund;Aliasname
//Mögliche Werte für Farben: '#000000' oder 'black' siehe auch 'https://www.w3schools.com/colors/colors_picker.asp'
//Die Felder ERSTELLTAM und DATE werden von MCDMS automatisch bei Datenbankerstellung generiert und müssen hier vorhanden sein!

Bestehenden Datensatz ändern

Anschließend sollte ein bestehender Datensatz testweise geändert werden.

Dabei ist zu prüfen:

  • werden Änderungen korrekt erkannt
  • werden nur Formularfelder bearbeitet
  • funktioniert das Speichern ohne Fehler
  • werden Zeitstempel wie GeändertAm korrekt gesetzt
  • bleiben Stammdaten unverändert

Mehrfacherstellbare Projekte testen

Wenn MEHRMALIGERSTELLBAR=TRUE gesetzt ist, sollte zusätzlich geprüft werden:

  • können mehrere Formulareinträge pro Stammdatensatz angelegt werden
  • erscheint die Funktion zur Auswahl vorhandener Einträge
  • wird die definierte Bezeichnung aus DB_CONNECT_SELECT korrekt angezeigt
  • funktionieren Sortierung und Auswahl der vorhandenen Datensätze

Benutzerspezifische Einstellungen prüfen

Zum Abschluss sollte geprüft werden, ob die benutzerspezifischen Einstellungen korrekt übernommen werden. Dazu gehören je nach Projekt und Programmstand beispielsweise:

  • Fensterposition
  • Spaltenbreiten
  • letzte Auswahl
  • Sortierung
  • Suchzustände

Diese Werte werden typischerweise in der user.ini gespeichert und beeinflussen die persönliche Arbeitsumgebung des jeweiligen Benutzers, nicht jedoch die eigentliche Projektdefinition.

Typische Fehlerquellen bei einem neuen Projekt

Gerade bei der ersten Einrichtung treten häufig dieselben Fehler auf. Besonders zu beachten sind:

  • PRIMARYID und DB_CONNECT_PRIMARYID wurden verwechselt
  • Feldnamen in APF und SQL-Tabelle stimmen nicht exakt überein
  • Pflichtfelder wurden definiert, aber beim Test nicht befüllt
  • Feldlängen in der Konfiguration sind zu klein gewählt
  • technische Felder wie PATIENTID oder FRMID fehlen in der Feldliste
  • DB_CONNECT_FIELDS enthält nicht alle benötigten Felder
  • ein Script liefert kein SCRIPT.RESULT=TRUE
  • die SQL-Zusatztabelle ist korrekt angebunden, aber DB_CONNECT=TRUE fehlt
  • das Projekt wurde im Setup angelegt, die automatisch erzeugte Konfiguration wurde aber nicht vollständig geprüft