QuickForms arbeitet als dynamische Formularschicht zwischen bestehenden Stammdaten und einer konfigurierbaren Zusatzdatenbank. Die Darstellung des Formulars, die verfügbaren Felder sowie die Art der Speicherung werden vollständig über APF-Konfigurationsdateien gesteuert. Dadurch kann ein einziges System viele unterschiedliche Formularstrukturen verarbeiten.
Projektstruktur
Ein QuickForms-Projekt besteht technisch aus einem Projektverzeichnis, in dem die Konfigurationsdateien des Projekts gespeichert werden.
Die eigentlichen Formular-Dateien (.APF) sind nicht Bestandteil dieses Projektverzeichnisses, sondern werden über das QuickForms-Setup in das Projekt eingebunden.
Projektverzeichnis
Das Projektverzeichnis enthält ausschließlich die Projektkonfiguration.
Innerhalb dieses Verzeichnisses können mehrere CFG-Dateien existieren.
Diese Dateien werden automatisch durch das QuickForms-Setup erzeugt und verwaltet.
Beispiel:
...\FORMULAR\ANSCHREIBEN\
Aufnahmemitteilung.cfg
Unterbrechung.cfg
Entlassungsmitteilung.cfg
Jede CFG-Datei beschreibt eine eigene Formular-Konfiguration innerhalb des Projekts.
Erstellung der CFG-Dateien
Die CFG-Dateien werden nicht vom Formular-Designer erzeugt, sondern durch das QuickForms-Setup erstellt.
Im Setup werden dazu die gewünschten Formulare ausgewählt und in das Projekt eingebunden.
Dabei legt QuickForms automatisch die entsprechenden CFG-Dateien im Projektverzeichnis an.
Einbindung von Formularen
Die Formular-Dateien (.APF) können sich an beliebigen Stellen im Formularverzeichnis befinden.
Sie müssen nicht im Projektverzeichnis gespeichert werden.
Im QuickForms-Setup werden die gewünschten APF-Dateien ausgewählt und dem Projekt hinzugefügt.
Das Setup erzeugt daraufhin die passende CFG-Konfiguration.
Erweiterung eines Projekts
Ein bestehendes Projekt kann jederzeit erweitert werden.
Dazu können im QuickForms-Setup:
- neue APF-Formulare ausgewählt
- zusätzliche CFG-Konfigurationen erzeugt
- bestehende Formularzuordnungen angepasst
werden.
Die Änderungen werden automatisch in den entsprechenden CFG-Dateien im Projektverzeichnis gespeichert.
Der Ablauf lässt sich in mehrere Schritte unterteilen.
Daten laden
Beim Öffnen eines Formulars werden zunächst die Stammdaten aus der Hauptdatenbank geladen. Diese Daten können aus unterschiedlichen Datenquellen stammen, beispielsweise:
- SQL Server
- Microsoft Access
- andere OLEDB-Datenquellen
Die Stammdaten enthalten typischerweise Informationen wie Patienten, Fälle oder andere administrative Daten. Jeder Datensatz besitzt einen eindeutigen Schlüssel, der in der Regel über ein Feld wie beispielsweise PatientID definiert ist.
Dieser Schlüssel dient als Verbindung zwischen den Stammdaten und den Formular-Zusatzdaten.
Laden der Formular-Zusatzdaten
Nachdem die Stammdaten geladen wurden, ermittelt QuickForms alle vorhandenen Schlüsselwerte der angezeigten Datensätze. Anschließend werden die zugehörigen Formular-Zusatzdaten aus der konfigurierten SQL-Zusatztabelle geladen.
Dabei werden nur die Datensätze geladen, die tatsächlich zu den aktuell angezeigten Stammdatensätzen gehören. Dies geschieht über eine SQL-Abfrage mit einer gefilterten Liste der vorhandenen Schlüsselwerte.
Bei großen Datenmengen wird diese Liste automatisch in kleinere Blöcke aufgeteilt, um Datenbankgrenzen für IN-Abfragen zu vermeiden.
Die geladenen Zusatzdaten enthalten typischerweise folgende Informationen:
- den Verknüpfungsschlüssel zum Stammdatensatz
- die Formularfelder
- interne Identifikationsfelder wie beispielsweise FRMID
- optionale Zeitstempel wie ErstelltAm oder GeändertAm
Zusammenführen der Daten
Nachdem sowohl die Stammdaten als auch die Formular-Zusatzdaten geladen wurden, werden beide Datenquellen miteinander zusammengeführt.
Dabei entsteht eine gemeinsame Datenstruktur, die sowohl die Stammdaten als auch die Formularfelder enthält. Diese Struktur wird anschließend in der Benutzeroberfläche dargestellt.
Für jeden Stammdatensatz wird eine Zeile im Formular angezeigt. Existieren bereits Zusatzdaten, werden diese automatisch in die entsprechenden Felder übernommen.
Falls noch keine Formularinformationen vorhanden sind, bleiben die entsprechenden Felder leer.
Dynamischer Aufbau der Oberfläche
Die Darstellung der Felder im Formular wird vollständig über die APF-Konfiguration gesteuert.
Dabei werden unter anderem folgende Eigenschaften berücksichtigt:
- Feldnamen
- Datentypen
- Pflichtfelder
- maximale Feldlängen
- Feldreihenfolge
- Anzeigeoptionen
Die Oberfläche wird dynamisch aufgebaut und passt sich automatisch an die konfigurierte Formularstruktur an.
Stammdatenfelder können optional schreibgeschützt dargestellt werden, während Formularfelder bearbeitet werden können.
Änderungserkennung
QuickForms erkennt automatisch, wenn ein Benutzer Änderungen an Formularfeldern vornimmt.
Für jede Zeile wird intern eine Struktur geführt, die den aktuellen Zustand des Datensatzes speichert. Dabei wird unterschieden zwischen:
- neuen Formularzeilen
- geänderten Formularzeilen
- unveränderten Datensätzen
Sobald ein Benutzer ein Formularfeld verändert, wird die entsprechende Zeile als geändert markiert.
Diese Änderungserkennung ermöglicht es, beim Speichern nur die tatsächlich betroffenen Datensätze zu verarbeiten.
Validierung vor dem Speichern
Bevor Daten gespeichert werden, führt QuickForms mehrere Prüfungen durch.
Dazu gehören unter anderem:
- Prüfung von Pflichtfeldern
- Prüfung der maximalen Feldlängen
- Datentypprüfungen
Wenn eine Prüfung fehlschlägt, wird der Speichervorgang abgebrochen und der Benutzer erhält eine entsprechende Meldung.
Speichern der Daten
Beim Speichern werden ausschließlich Datensätze verarbeitet, die entweder neu angelegt oder geändert wurden.
Für neue Datensätze wird ein INSERT-Befehl ausgeführt. Dabei wird ein neuer Eintrag in der SQL-Zusatztabelle erstellt und die erzeugte Datensatz-ID übernommen.
Für bestehende Datensätze wird ein UPDATE-Befehl ausgeführt. Die Aktualisierung erfolgt über den Primärschlüssel des Formular-Datensatzes, beispielsweise über das Feld FRMID.
Während des Speichervorgangs wird ein Fortschrittsdialog angezeigt, der den aktuellen Bearbeitungsstand darstellt und einen Abbruch ermöglicht.
Nach erfolgreichem Speichern werden die internen Änderungsmarkierungen zurückgesetzt.
Script-Ausführung nach dem Speichern
Optional können nach dem Speichern zusätzliche Aktionen ausgeführt werden.
Über die Konfiguration kann ein Script definiert werden, das nach jedem erfolgreichen Speichervorgang gestartet wird. Dieses Script kann beispielsweise verwendet werden für:
- Berechnungen
- Datenübertragungen
- weitere Verarbeitungsschritte
Mehrfachformulare
QuickForms unterstützt optional mehrere Formularinstanzen pro Stammdatensatz.
In diesem Fall können zu einem einzelnen Stammdatensatz mehrere Formular-Datensätze existieren. Die Auswahl oder Anzeige dieser zusätzlichen Datensätze erfolgt über eine separate Funktion innerhalb der Benutzeroberfläche.
Damit lassen sich beispielsweise Verlaufsdokumentationen oder wiederkehrende Ereignisse abbilden.
Durch diese Funktionsweise kann QuickForms flexibel an unterschiedliche Anforderungen angepasst werden und ermöglicht eine strukturierte Erweiterung bestehender Datenbanken ohne Änderung der ursprünglichen Datenstruktur.
