
Die vollständige Konfiguration der MCDMS-WebAkte befindet sich unter:
{APPPATH}\Web
Beispiel:
D:\Kliniken\KLINIK\MCDMS\Web
{APPPATH} bezeichnet dabei das Stammverzeichnis der jeweiligen MCDMS-Installation.
Die wichtigsten Konfigurationsdateien der MCDMS-WebAkte sind:
WEB.INI
FORMULARE.INI
PATIENTEN.INI
AKTENSTRUKTUR.INI
Zusätzlich verwendet die MCDMS-WebAkte bestimmte Einstellungen aus der vorhandenen MCDMS-Konfiguration:
{APPPATH}\CONFIG\STDConf.INI
Diese bestehende MCDMS-Konfiguration wird von der WebAkte lediglich gelesen.
Die Definition der einzelnen Formulare, SQL-Datenquellen, Scripts und Formularaktionen über FORMULARE.INI wird ausführlich unter 04 Formulare & Scripts beschrieben.
WEB.INI
Die WEB.INI enthält die allgemeinen Einstellungen der MCDMS-WebAkte.
Sie befindet sich unter:
{APPPATH}\Web\WEB.INI
Typische Bereiche sind:
[GENERAL]
[PATIENT]
[SERVER]
[AUTHENTICATION]
[SESSION]
[LOGGING]
[BRANDING]
[SETTINGS]
[GENERAL]
Beispiel:
[GENERAL]
StartForm=PATIENT_HOME
ScriptPatientSelect=CONFIG\Scripts\MAIN.MCFSCR;CONFIG\Scripts\KILOPS.MCFSCR
StartForm
Definiert das Formular, das nach erfolgreicher Patientenauswahl geöffnet wird.
Beispiel:
StartForm=PATIENT_HOME
Die angegebene Formular-ID muss in der FORMULARE.INI definiert sein.
ScriptPatientSelect
Über ScriptPatientSelect können optional MCDMS-Scripts hinterlegt werden, die nach erfolgreicher Auswahl bzw. Initialisierung eines Patienten ausgeführt werden.
Ohne Script:
ScriptPatientSelect=
Ein Script:
ScriptPatientSelect=CONFIG\Scripts\MAIN.MCFSCR
Mehrere Scripts:
ScriptPatientSelect=CONFIG\Scripts\MAIN.MCFSCR;CONFIG\Scripts\KILOPS.MCFSCR
Mehrere Scripts werden von links nach rechts ausgeführt.
Die Scriptpfade werden relativ zu {APPPATH} angegeben.
Beispiel:
CONFIG\Scripts\MAIN.MCFSCR
entspricht:
{APPPATH}\CONFIG\Scripts\MAIN.MCFSCR
Beim Patientenwechsel wird der bisherige Patientenkontext kontrolliert beendet und der neue Patient initialisiert.
Dabei wird der bestehende PatientVar-Kontext vor der Initialisierung des neuen Patienten zurückgesetzt.
Anschließend stehen die für den aktuellen Patienten initialisierten MCDMS-Variablen zur Verfügung.
Zusätzlich stellt die WebAkte nach erfolgreicher Patienteninitialisierung ausgewählte Benutzerinformationen aus dem angemeldeten MCDMS-Benutzer als PatientVar bereit.
Dazu gehören:
USERID
USERNAME
USERVORNAME
USERLOGINNAME
USERABTEILUNG
USERGRUPPE
USERSTATION
USERMAIL
USERTYPE
Dadurch können diese Variablen auch in nachfolgenden MCDMS-Scripts verwendet werden.
Beispiel:
ERSTELLTVON={USERID}
Systemvariablen wie beispielsweise:
APPPATH
DATE
TIME
werden weiterhin durch den normalen MCDMS-Patientenkontext bereitgestellt.
[PATIENT]
Beispiel:
[PATIENT]
HomeForm=PATIENT_HOME
RecentPatientCount=10
HomeForm
Definiert das Patientenstammblatt bzw. die Startseite des ausgewählten Patienten.
Beispiel:
HomeForm=PATIENT_HOME
Die angegebene Formular-ID wird in der FORMULARE.INI definiert.
Ein typischer Eintrag kann beispielsweise lauten:
[PATIENT_HOME]
Title=Patientenstammblatt
HTML=HTML\MAIN.HTML
Edit=FALSE
MultiRecord=FALSE
Delete=FALSE
Roles=
RenderMode=Document
ScriptLoadHTML=
ScriptSaveHTML=
ScriptDelete=
Database=
Die genaue Beschreibung der Formularparameter erfolgt unter 04 Formulare & Scripts.
RecentPatientCount
Bestimmt die Anzahl der Patienten, die unter Zuletzt angezeigt werden.
Beispiel:
RecentPatientCount=10
Zulässig sind bis zu 50 Einträge.
Fehlt der Eintrag oder ist er ungültig, wird der Standardwert verwendet.
Die Liste dient lediglich dem schnellen erneuten Zugriff auf zuletzt verwendete Patienten. Sie begrenzt nicht die Anzahl der insgesamt verfügbaren Patienten.
[SERVER]
Beispiel:
[SERVER]
EnvironmentName=Production
Prefixes=https://mcdms-webakte.klinik.local:8443/
AllowedHosts=mcdms-webakte.klinik.local
MaxRequestBodyBytes=1048576
AllowInsecureHttpDevelopment=FALSE
Bei der Installation über Install.ps1 können bestimmte Serverwerte anhand des angegebenen HTTPS-Prefixes automatisch gesetzt werden.
Dazu gehören insbesondere:
EnvironmentName
Prefixes
AllowedHosts
AllowInsecureHttpDevelopment
Andere Einstellungen der vorhandenen WEB.INI bleiben erhalten.
Für den Produktivbetrieb gilt:
EnvironmentName=Production
AllowInsecureHttpDevelopment=FALSE
EnvironmentName
Definiert die Betriebsumgebung.
Für den Produktivbetrieb:
EnvironmentName=Production
Prefixes
Definiert die Adresse, unter der die MCDMS-WebAkte erreichbar ist.
Beispiel:
Prefixes=https://mcdms-webakte.klinik.local:8443/
Auch der Betrieb über eine interne IP-Adresse ist möglich, wenn die entsprechende HTTPS-Konfiguration dafür eingerichtet wurde.
Die MCDMS-WebAkte verwendet dabei den konfigurierten HTTP-/HTTPS-Endpunkt direkt und benötigt keinen IIS.
AllowedHosts
Definiert die zugelassenen Hostnamen.
Beispiel:
AllowedHosts=mcdms-webakte.klinik.local
Der Hostname wird ohne Port angegeben.
MaxRequestBodyBytes
Definiert die maximale Größe eines HTTP-Requests in Bytes.
Beispiel:
MaxRequestBodyBytes=1048576
AllowInsecureHttpDevelopment
Steuert, ob ein unsicherer HTTP-Betrieb für Entwicklungszwecke zugelassen wird.
Produktiv:
AllowInsecureHttpDevelopment=FALSE
Im normalen Klinikbetrieb sollte HTTPS verwendet werden.
[AUTHENTICATION]
Beispiel:
[AUTHENTICATION]
Provider=MCDMS
FailedLoginLimit=5
FailedLoginWindowMinutes=15
Provider
Aktuell wird die vorhandene MCDMS-Benutzerverwaltung verwendet.
Provider=MCDMS
Die Anmeldung erfolgt damit gegen die bestehenden MCDMS-Benutzer.
FailedLoginLimit
Maximale Anzahl fehlgeschlagener Loginversuche innerhalb des angegebenen Zeitraums.
Beispiel:
FailedLoginLimit=5
FailedLoginWindowMinutes
Zeitraum für die Begrenzung fehlgeschlagener Anmeldeversuche.
Beispiel:
FailedLoginWindowMinutes=15
[SESSION]
Beispiel:
[SESSION]
CookieName=MCDMS_SESSION
IdleTimeoutMinutes=30
AbsoluteTimeoutHours=8
MaxSessionsPerUser=3
CookieName
Name des Session-Cookies.
Beispiel:
CookieName=MCDMS_SESSION
Die Session enthält die serverseitige Zuordnung des angemeldeten Benutzers und des aktuell ausgewählten Patienten.
IdleTimeoutMinutes
Beendet eine Sitzung nach der angegebenen Zeit ohne Aktivität.
Beispiel:
IdleTimeoutMinutes=30
AbsoluteTimeoutHours
Definiert die maximale Lebensdauer einer Sitzung unabhängig von der Aktivität.
Beispiel:
AbsoluteTimeoutHours=8
MaxSessionsPerUser
Definiert die maximale Anzahl gleichzeitig aktiver Sitzungen eines Benutzers.
Beispiel:
MaxSessionsPerUser=3
[LOGGING]
Beispiel:
[LOGGING]
DeleteLogsAfterDays=30
DetailedFormDiagnostics=FALSE
Die Logdateien befinden sich unter:
{APPPATH}\Web\LOGS
DeleteLogsAfterDays
Bestimmt die automatische Aufbewahrungsdauer der Logdateien.
0 = keine automatische Löschung
1–3650 = Anzahl der Tage
leer = 30 Tage
ungültig = 30 Tage
Beispiel:
DeleteLogsAfterDays=30
DetailedFormDiagnostics
Aktiviert eine erweiterte Diagnose für das Laden von Formularen.
Im normalen Betrieb:
DetailedFormDiagnostics=FALSE
Fehlt der Eintrag, gilt ebenfalls:
FALSE
Für die Fehlersuche kann vorübergehend gesetzt werden:
DetailedFormDiagnostics=TRUE
Dann können zusätzliche Verarbeitungsschritte und Laufzeiten protokolliert werden, beispielsweise:
Config
DatabaseLoad
DatabaseReload
HtmlFile
ScriptLoad
TemplateReplacement
Render
Response
Die detaillierte Diagnose sollte nur zur Fehlersuche aktiviert werden, damit das normale Logging übersichtlich bleibt.
Patienteninhalte oder medizinische Formularwerte werden dabei nicht als Diagnoseinhalt protokolliert.
Weitere Informationen zur Formulardiagnose befinden sich unter 04 Formulare & Scripts.
[BRANDING]
Über [BRANDING] werden grundlegende Angaben zur Darstellung der MCDMS-WebAkte konfiguriert.
Beispiel:
[BRANDING]
ApplicationName=MCDMS-WebAkte
Logo=IMAGES\logo.svg
ApplicationName
Definiert den angezeigten Namen der Anwendung.
Beispiel:
ApplicationName=MCDMS-WebAkte
Logo
Definiert das verwendete Logo relativ zum Web-Verzeichnis.
Beispiel:
Logo=IMAGES\logo.svg
entspricht:
{APPPATH}\Web\IMAGES\logo.svg
Klinikname
Der Klinikname kann zur Laufzeit aus der vorhandenen MCDMS-Konfiguration bzw. der MCDMS-Variable
KL_NAME
übernommen werden.
Dadurch kann dieselbe WebAkte ohne fest eingebauten Kliniknamen in unterschiedlichen MCDMS-Installationen verwendet werden.
[SETTINGS]
Über [SETTINGS] kann die Darstellung der eigentlichen MCDMS-WebAkte angepasst werden.
Diese Einstellungen betreffen die WebAkte-Oberfläche, beispielsweise Navigation und Speichern-Schaltflächen.
Sie verändern nicht automatisch die Gestaltung eines eingebetteten Formulars.
Insbesondere Formulare mit:
RenderMode=Document
besitzen ihr eigenes HTML und CSS und können unabhängig von der äußeren WebAkte gestaltet werden.
Beispiel:
[SETTINGS]
BackColor=#FFFFFF
ForeColor=#28282B
SaveBackColor=#1473E6
SaveHoverBackColor=#0F5FC0
SaveHoverForeColor=#FFFFFF
SaveClickBackColor=#0B4F9F
SaveClickForeColor=#FFFFFF
NavigationBackColor=#FFFFFF
NavigationForeColor=#28282B
NavigationHoverBackColor=#EAF3FC
NavigationHoverForeColor=#28282B
NavigationClickBackColor=#1473E6
NavigationClickForeColor=#FFFFFF
NavigationSelectedBackColor=#69C5EB
NavigationSelectedForeColor=#28282B
BackColor
Allgemeine Hintergrundfarbe der WebAkte.
BackColor=#FFFFFF
ForeColor
Allgemeine Textfarbe.
ForeColor=#28282B
SaveBackColor
Hintergrundfarbe der Speichern-Schaltfläche.
SaveBackColor=#1473E6
SaveHoverBackColor / SaveHoverForeColor
Farben der Speichern-Schaltfläche, wenn sich der Mauszeiger darüber befindet.
SaveHoverBackColor=#0F5FC0
SaveHoverForeColor=#FFFFFF
SaveClickBackColor / SaveClickForeColor
Farben während des Anklickens der Speichern-Schaltfläche.
SaveClickBackColor=#0B4F9F
SaveClickForeColor=#FFFFFF
NavigationBackColor / NavigationForeColor
Grundfarben der Navigation.
NavigationBackColor=#FFFFFF
NavigationForeColor=#28282B
NavigationHoverBackColor / NavigationHoverForeColor
Farben eines Navigationseintrags beim Überfahren mit der Maus.
NavigationHoverBackColor=#EAF3FC
NavigationHoverForeColor=#28282B
NavigationClickBackColor / NavigationClickForeColor
Farben während des Anklickens eines Navigationseintrags.
NavigationClickBackColor=#1473E6
NavigationClickForeColor=#FFFFFF
NavigationSelectedBackColor / NavigationSelectedForeColor
Farben des aktuell ausgewählten Navigationsbereichs.
NavigationSelectedBackColor=#69C5EB
NavigationSelectedForeColor=#28282B
Für die Farbeinstellungen sollten gültige Hex-Farbangaben verwendet werden, beispielsweise:
#FFFFFF
#28282B
#1473E6
Ungültige Farbwerte werden nicht ungeprüft in die Browseroberfläche übernommen.
Wichtig: Formularfarben
[SETTINGS] steuert die äußere WebAkte.
Das eigentliche Formular kann weiterhin eigene CSS-Regeln besitzen.
Beispiel:
<style>
body {
background: #f7f9fc;
}
</style>
Dadurch können beispielsweise unterschiedliche Dashboards, Fachbereiche oder klinikspezifische Formulare individuell gestaltet werden, ohne die globale WebAkte-Konfiguration verändern zu müssen.
AKTENSTRUKTUR.INI
Die AKTENSTRUKTUR.INI bestimmt die Reihenfolge der Aktenbereiche in der Navigation.
Beispiel:
Start
Verwaltung
Arzt
Therapie
Medikation
Aufnahme
Pflege
Eine Zeile entspricht einem Unterordner unter:
{APPPATH}\Web\HTML
Beispielsweise entspricht:
Pflege
dem Verzeichnis:
{APPPATH}\Web\HTML\Pflege
Die Reihenfolge der Einträge bestimmt gleichzeitig die Reihenfolge der Bereiche in der WebAkte.
Leerzeilen werden ignoriert.
Kommentare beginnen mit:
;
Beispiel:
Start
Verwaltung
; medizinische Bereiche
Arzt
Therapie
Medikation
Pflege
Vorhandene HTML-Unterordner, die nicht ausdrücklich in der AKTENSTRUKTUR.INI aufgeführt sind, können anschließend alphabetisch ergänzt werden.
Wichtig
Die AKTENSTRUKTUR.INI definiert die Bereiche und deren Reihenfolge.
Die eigentlichen Formulare werden dagegen in der:
FORMULARE.INI
definiert.
Ein Formular wird einem Bereich über seinen konfigurierten HTML-Pfad zugeordnet.
Beispiel:
HTML=HTML\Pflege\LeistungsMinutenerfassung.html
gehört zum Bereich:
Pflege
Ein Formularname muss dabei nicht mit dem Dateinamen identisch sein.
PATIENTEN.INI
Die PATIENTEN.INI steuert die Patientensuche, die Patientenliste sowie die Liste der zuletzt verwendeten Patienten.
Sie befindet sich unter:
{APPPATH}\Web\PATIENTEN.INI
Die Datei ist in drei Bereiche aufgeteilt:
[RECENT]
[SEARCH]
[COLUMN_...]
Dabei gilt:
[RECENT]
= zuletzt verwendete Patienten
[SEARCH]
= Datenquelle, Feldzuordnung, Filter und Seitengröße
[COLUMN_...]
= sichtbare Bezeichnung und Darstellung der Patientenspalten
[RECENT]
Beispiel:
[RECENT]
Enabled=TRUE
MaxEntries=20
Der Bereich [RECENT] steuert die Liste der zuletzt verwendeten Patienten.
Enabled
Enabled=TRUE
aktiviert die Funktion.
Mit:
Enabled=FALSE
wird die Liste der zuletzt verwendeten Patienten deaktiviert.
MaxEntries
MaxEntries=20
bestimmt, wie viele zuletzt verwendete Patienten maximal vorgehalten werden.
Die tatsächlich sichtbare Anzahl kann zusätzlich über die WEB.INI begrenzt werden.
Beispiel:
[PATIENT]
RecentPatientCount=10
Damit können beispielsweise intern 20 Patienten vorgehalten, aber nur 10 direkt angezeigt werden.
[SEARCH]
Der Bereich [SEARCH] definiert, aus welcher Datenquelle die Patientensuche liest und wie die vorhandenen MCDMS-Felder den internen WebAkte-Feldern zugeordnet werden.
Beispiel:
[SEARCH]
Provider=Jet
Table=Patientenstammdaten
PatientIdField=PatientID
LastNameField=Name
FirstNameField=Vorname
BirthDateField=GebDatum
CaseNumberField=PatientFallNr
AdmissionDateField=AufDatum
DischargeDateField=EntDatum
StationField=Station
RoomField=ZiNr
AdmissionTypeField=AufTyp
CurrentPatientsOnly=TRUE
CurrentPatientDischargeGraceDays=1
DefaultPageSize=20
MaximumPageSize=50
VisibleColumns=lastName;firstName;patientId;birthDate;caseNumber;admissionDate;dischargeDate;station;room;admissionType
Provider
Provider=Jet
definiert den verwendeten Datenzugriff.
Bei:
Provider=Jet
wird die vorhandene Access-/Jet-Datenquelle der MCDMS-Installation verwendet.
Table
Table=Patientenstammdaten
definiert die Tabelle, aus der die Patientendaten gelesen werden.
Beispiel:
STAMMDAT.MDB
└─ Patientenstammdaten
Feldzuordnung
Die folgenden Einstellungen ordnen die tatsächlichen MCDMS-/Access-Felder den internen WebAkte-Feldnamen zu.
Dadurch müssen die realen Datenbankfeldnamen nicht fest im Programm codiert sein.
PatientIdField
PatientIdField=PatientID
definiert das Feld für die Patienten-ID.
LastNameField
LastNameField=Name
definiert das Feld für den Nachnamen.
FirstNameField
FirstNameField=Vorname
definiert das Feld für den Vornamen.
BirthDateField
BirthDateField=GebDatum
definiert das Feld für das Geburtsdatum.
CaseNumberField
CaseNumberField=PatientFallNr
definiert das Feld für die Fallnummer.
AdmissionDateField
AdmissionDateField=AufDatum
definiert das Feld für das Aufnahmedatum.
DischargeDateField
DischargeDateField=EntDatum
definiert das Feld für das Entlassungsdatum.
StationField
StationField=Station
definiert das Feld für die Station.
RoomField
RoomField=ZiNr
definiert das Feld für die Zimmernummer.
AdmissionTypeField
AdmissionTypeField=AufTyp
definiert das Feld für die Aufnahmeart.
CurrentPatientsOnly
CurrentPatientsOnly=TRUE
bestimmt, ob standardmäßig nur aktuell relevante Patienten in der Patientenliste angezeigt werden.
Bei:
CurrentPatientsOnly=TRUE
wird die Patientenliste entsprechend auf aktuelle Patienten eingeschränkt.
Bei:
CurrentPatientsOnly=FALSE
wird diese Einschränkung nicht verwendet.
CurrentPatientDischargeGraceDays
CurrentPatientDischargeGraceDays=1
definiert eine zusätzliche Nachlaufzeit nach der Entlassung.
Mit:
CurrentPatientDischargeGraceDays=1
kann ein Patient beispielsweise noch einen Tag nach seiner Entlassung als aktuell berücksichtigt werden.
Damit lassen sich Patienten unmittelbar nach Entlassung weiterhin bequem in der aktuellen Patientenliste erreichen.
DefaultPageSize
DefaultPageSize=20
bestimmt die Anzahl der Patienten, die standardmäßig pro Such-/Ladevorgang angefordert werden.
Beispiel:
20 Patienten
MaximumPageSize
MaximumPageSize=50
definiert die maximal zulässige Anzahl von Patienten pro einzelner Anforderung.
Dies ist kein Gesamtlimit für die Patientenanzahl.
Auch bei mehreren tausend Patienten können weitere Datensätze nachgeladen werden.
VisibleColumns
VisibleColumns=lastName;firstName;patientId;birthDate;caseNumber;admissionDate;dischargeDate;station;room;admissionType
definiert:
- welche Spalten in der Patientenliste angezeigt werden
- in welcher Reihenfolge sie erscheinen
Die einzelnen Werte sind interne WebAkte-Spaltennamen.
Beispiel:
lastName
firstName
patientId
birthDate
caseNumber
admissionDate
dischargeDate
station
room
admissionType
Diese internen Namen werden über die zuvor beschriebenen ...Field-Einträge mit den tatsächlichen Datenbankfeldern verbunden.
Beispiel:
VisibleColumns:
birthDate
↓
BirthDateField=GebDatum
↓
Access-Feld:
GebDatum
Damit ist die sichtbare Patientenliste von den konkreten Datenbankfeldnamen entkoppelt.
[COLUMN_…]
Für jede sichtbare Spalte kann eine eigene Darstellungssektion definiert werden.
Beispiel:
[COLUMN_lastName]
Label=Name
Format=text
Die COLUMN_-Sektionen bestimmen nicht die Datenquelle, sondern ausschließlich die sichtbare Darstellung.
COLUMN_lastName
[COLUMN_lastName]
Label=Name
Format=text
Darstellung des Nachnamens.
COLUMN_firstName
[COLUMN_firstName]
Label=Vorname
Format=text
Darstellung des Vornamens.
COLUMN_patientId
[COLUMN_patientId]
Label=Patienten-ID
Format=integer
Darstellung der Patienten-ID als Ganzzahl.
COLUMN_birthDate
[COLUMN_birthDate]
Label=Geburtsdatum
Format=date
Darstellung des Geburtsdatums.
COLUMN_caseNumber
[COLUMN_caseNumber]
Label=Fallnummer
Format=text
Darstellung der Fallnummer.
COLUMN_admissionDate
[COLUMN_admissionDate]
Label=Aufnahme
Format=date
Darstellung des Aufnahmedatums.
COLUMN_dischargeDate
[COLUMN_dischargeDate]
Label=Entlassung
Format=date
Darstellung des Entlassungsdatums.
COLUMN_station
[COLUMN_station]
Label=Station
Format=text
Darstellung der Station.
COLUMN_room
[COLUMN_room]
Label=Zimmer
Format=text
Darstellung der Zimmernummer.
COLUMN_admissionType
[COLUMN_admissionType]
Label=Aufnahmeart
Format=text
Darstellung der Aufnahmeart.
Unterstützte Formatangaben
In der aktuellen PATIENTEN.INI werden unter anderem folgende Formatwerte verwendet:
text
integer
date
Beispiel:
Format=text
für normale Textwerte.
Format=integer
für Ganzzahlen.
Format=date
für Datumswerte.
Zusammenspiel der Einstellungen
Eine Spalte wird immer aus mehreren Einstellungen zusammengesetzt.
Beispiel für das Geburtsdatum:
VisibleColumns=birthDate
↓
BirthDateField=GebDatum
↓
[COLUMN_birthDate]
Label=Geburtsdatum
Format=date
Damit werden drei Dinge sauber getrennt:
interner WebAkte-Name
birthDate
reales Datenbankfeld
GebDatum
sichtbare Darstellung
Geburtsdatum / date
Dasselbe Prinzip gilt für alle weiteren Patientenspalten.
Beispiel: Spaltenreihenfolge ändern
Soll beispielsweise die Fallnummer direkt hinter der Patienten-ID angezeigt werden, kann lediglich VisibleColumns angepasst werden.
Aus:
VisibleColumns=lastName;firstName;patientId;birthDate;caseNumber
wird:
VisibleColumns=lastName;firstName;patientId;caseNumber;birthDate
Eine Änderung am Programmcode oder an der Access-Datenbank ist dafür nicht erforderlich.
Beispiel: Überschrift ändern
Soll statt:
Patienten-ID
nur:
Pat.-ID
angezeigt werden, genügt:
[COLUMN_patientId]
Label=Pat.-ID
Format=integer
Die Datenquelle bleibt:
PatientIdField=PatientID
unverändert.
Beispiel einer vollständigen PATIENTEN.INI
[RECENT]
Enabled=TRUE
MaxEntries=20
[SEARCH]
Provider=Jet
Table=Patientenstammdaten
PatientIdField=PatientID
LastNameField=Name
FirstNameField=Vorname
BirthDateField=GebDatum
CaseNumberField=PatientFallNr
AdmissionDateField=AufDatum
DischargeDateField=EntDatum
StationField=Station
RoomField=ZiNr
AdmissionTypeField=AufTyp
CurrentPatientsOnly=TRUE
CurrentPatientDischargeGraceDays=1
DefaultPageSize=20
MaximumPageSize=50
VisibleColumns=lastName;firstName;patientId;birthDate;caseNumber;admissionDate;dischargeDate;station;room;admissionType
[COLUMN_lastName]
Label=Name
Format=text
[COLUMN_firstName]
Label=Vorname
Format=text
[COLUMN_patientId]
Label=Patienten-ID
Format=integer
[COLUMN_birthDate]
Label=Geburtsdatum
Format=date
[COLUMN_caseNumber]
Label=Fallnummer
Format=text
[COLUMN_admissionDate]
Label=Aufnahme
Format=date
[COLUMN_dischargeDate]
Label=Entlassung
Format=date
[COLUMN_station]
Label=Station
Format=text
[COLUMN_room]
Label=Zimmer
Format=text
[COLUMN_admissionType]
Label=Aufnahmeart
Format=text
STDConf.INI
Die vorhandene MCDMS-Konfiguration befindet sich unter:
{APPPATH}\CONFIG\STDConf.INI
Die MCDMS-WebAkte verwendet daraus insbesondere vorhandene Einstellungen aus:
[DATABASE]
für die Patientenauswahl,
[SELECTIONS]
für zusätzliche Patientenauswahlen und
[SQL-SERVER]
für den Zugriff auf SQL-Formulardaten.
Die konkreten Werte stammen aus der bestehenden MCDMS-Konfiguration der jeweiligen Klinik.
Die WebAkte verwendet damit die bereits vorhandene Datenbank- und SQL-Konfiguration und benötigt hierfür keine davon losgelöste zweite Klinikkonfiguration.
Verzeichnisstruktur
Eine typische Struktur sieht beispielsweise so aus:
{APPPATH}\Web\
│
├─ WEB.INI
├─ FORMULARE.INI
├─ PATIENTEN.INI
├─ AKTENSTRUKTUR.INI
│
├─ PROGRAM\
├─ SETUP\
├─ LOGS\
│
├─ HTML\
│ ├─ Start\
│ ├─ Verwaltung\
│ ├─ Arzt\
│ ├─ Therapie\
│ ├─ Medikation\
│ ├─ Aufnahme\
│ └─ Pflege\
│
├─ CSS\
├─ JS\
└─ IMAGES\
Das Verzeichnis:
PROGRAM
enthält die Programmdateien der WebAkte.
HTML, CSS, JS und IMAGES enthalten die Weboberfläche und die kundenspezifischen Formulare.
LOGS enthält die Server-Logdateien.
Die Konfigurationsdateien liegen direkt im Web-Verzeichnis.
Trennung zwischen WebAkte und bestehendem MCDMS
Die MCDMS-WebAkte verwendet vorhandene MCDMS-Daten und Konfigurationen, hält die eigene Web-Konfiguration jedoch bewusst unter:
{APPPATH}\Web
Davon ausgenommen sind ausdrücklich konfigurierte MCDMS-Scripts, deren Pfade relativ zu {APPPATH} angegeben werden können, beispielsweise:
CONFIG\Scripts\WEB\DRUCKEN.MCFSCR
Die WebAkte verändert nicht selbstständig bestehende MCDMS-Konfigurationsdateien außerhalb ihres eigenen Web-Verzeichnisses.
Fachliche Änderungen außerhalb des Web-Verzeichnisses erfolgen nur über ausdrücklich konfigurierte und ausgeführte MCDMS-Scripts bzw. die dafür vorgesehenen MCDMS-Funktionen.
Änderungen an der Konfiguration
Ein wichtiger Unterschied besteht zwischen HTML-Dateien und serverseitiger Konfiguration.
HTML-Dateien werden beim Öffnen eines Formulars neu eingelesen.
Änderungen an einer HTML-Datei können deshalb in der Regel unmittelbar beim erneuten Öffnen sichtbar werden.
Serverseitige Konfigurationen wie insbesondere:
FORMULARE.INI
WEB.INI
werden dagegen beim Start des WebServers eingelesen.
Werden dort beispielsweise neue Formulare, Rollen, Scripts oder Actions konfiguriert, muss der Dienst anschließend neu gestartet werden, damit der aktuelle Formularkatalog verwendet wird.
Beispiel:
Stop-Service MCDMS.WebAkte
Start-Service MCDMS.WebAkte
Sicherheit der Konfiguration
Die WebAkte verarbeitet Formulare immer serverseitig im Kontext:
- der aktuellen Sitzung
- des angemeldeten MCDMS-Benutzers
- des ausgewählten Patienten
- des aktuellen Formulardatensatzes
- der konfigurierten Rollen
SQL-Tabellen, Primärschlüssel, Patientenfelder, Scriptpfade und Action-Zuordnungen stammen aus der serverseitigen Konfiguration.
Der Browser bestimmt diese sicherheitsrelevanten Pfade und Datenquellen nicht selbst.
Insbesondere Scriptpfade werden nicht vom Browser übermittelt.
Der Browser kann bei einer Formularaktion lediglich einen konfigurierten Action-Namen übergeben.
Die Zuordnung zum tatsächlichen MCDMS-Script erfolgt ausschließlich serverseitig über die FORMULARE.INI.
Die genaue Konfiguration von SQL-Formularen, Scripts, Actions und ActionReload wird unter 04 Formulare & Scripts beschrieben.
