View Categories

03 Konfiguration

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.