Kalenderfragen divers
Hallo, ich bin der Neue bei Ninox. Leider hat mein privater Servicetermin irgendwie nicht geklappt und so versuche ich mich mal hier mein Glück. Ich bastele für ein Hilfsprojekt in Afrika eine Patientendatenbank. Ich finde sie ist auch schon ganz schön geworden. Jetzt will ich sie noch ein wenig verbessern und bitte euch mir zu helfen.So sieht meine Tabellenverbindung aus....
so die Maske
so der Kalender...
so das Script im Terminfeld....
in Textform...
"Pat.ID:" + 'Pat. ID' + " " + "/" + " " + 'm/w' + " " + "/" + " " + 'First Name' + "-" + 'Last Name' + " " + "/" + " " + "Geburtsdatum:" + Alter + " " + "/" + " " + "OP:" + OP + " " + "/" + " " + "'OP-Dauer':" + 'OP-Dauer (h)' + " " + "/" + " " + "Anästhesie:" + 'Anästhesie' + " " + "/" + " " + "Besonderheiten:" + Besonderheiten
jetzt zeigt es mir alle wichtigen Informationen zum Patienten im Kalender an. Jetzt Problem Nummer eins. Es wird an zwwei OP-Tischen operiert. Dieses habe ich mit einem Schiebeschalter (Auswahlfeld) farbig markiert. Jetzt will ich den Kalendereintrag in der jeweiligen Farbe darstellen. Das klappte auch in einer Testtabelle mit einem Textfeld super. Nur möchte ich im Kalender mehrere Felder anzeigen lassen und bekomme den Script nicht angepasst.
styled(Text, color(Auswahl))
das zweite Problem wäre....wir wollen eine OP-Zeit festlegen. Jetzt ist der Kalendereintrag immer nur eine Stunde. Wie kann man den Eintrag mit der OP-Länge verknüpfen?
dritte Frage...kann man den Kalender in 24h Anzeige bringen? ich meine die AM/PM Anzeige verändern?
vierte Frage...gibt es eine Möglichkeit eingefügte Bilder mit der Tabelle zu exportieren und an anderer Stelle wieder zu importieren? Bei einem Versuch dazu konnten wir nur die Daten importieren...die Bilder waren nicht mit dabei....
Ich danke im Voraus für Eure Hilfe.
Christoph
PS...ich glaube die Bilder sehen in der Vorschau ganz komich aus.... Frage 5
13 Antworten
-
Frage 5 hat sich erledigt...die Bilder sind einwandfrei übernommen worden....
-
Hallo Christoph ...
»styled(Text, color(Auswahl))«
Ist eigentlich korrekt (unter "Anzeige als" in den Optionen eines Terminfeldes). Allerdings muss man bei der Zusammenstellung des anzuzeigenden Textes nicht jedes Zeichen einzeln mit "+" verketten. Es gilt immer: String + Feld + String + Feld ... Wobei ein String beliebig lang sein und auch Leerzeichen enthalten kann. So sollte es also auch gehen (ohne Gewähr):
styled("Pat.ID:" + 'Pat. ID' + " / " + 'm/w' + " / " + 'First Name' + "-" + 'Last Name' + " / Geburtsdatum:" + Alter + " / OP:" + OP + " / OP-Dauer:" + 'OP-Dauer (h)' + " / Anästhesie:" + 'Anästhesie' + " / Besonderheiten:" + Besonderheiten, color('OP-Tisch'))
Der besseren Übersicht wegen könnte man das auch in Einzelschritte zerlegen:
let CalText := "Pat.ID:" + 'Pat. ID' + " / " + 'm/w' + " / " + 'First Name' + "-" + 'Last Name' + " / Geburtsdatum:" + Alter + " / OP:" + OP + " / OP-Dauer:" + 'OP-Dauer (h)' + " / Anästhesie:" + 'Anästhesie' + " / Besonderheiten:" + Besonderheiten;
let CalColor := color('OP-Tisch');
styled(CalText, CalColor)
»Jetzt ist der Kalendereintrag immer nur eine Stunde.«
Also, in deinem Kalender-Screenshot oben nehmen die ersten beiden Termine jeweils etwa zwei Stunden ein.
»Wie kann man den Eintrag mit der OP-Länge verknüpfen?«
Im Kalender werden Terminfelder dargestellt. Terminfelder bestehen aus zwei Werten vom Typ "Datum + Uhrzeit" (Zeitstempel) für den Start- und den Endzeitpunkt des Termins. Aus diesen beiden Werten lässt sich die Dauer berechnen:
ZEITDAUER := duration(TERMIN)
Man kann aber auch den Startzeitpunkt und die Dauer vorgeben, und daraus den Endzeitpunkt des Termins berechnen. Ich würde deshalb statt des Terminfeldes 'OP-Start/Zeit' ein Feld vom Typ "Datum + Uhrzeit" nehmen (OPSTART) und statt des numerischen Feldes 'OP-Dauer (h)' ein Feld vom Typ "Zeitdauer" (DAUER). Und dann in beiden Feldern einen Trigger "Nach Änderung" einrichten:
TERMIN := if OPSTART and DAUER then
appointment(OPSTART, OPSTART + DAUER)
else
null
end
Und dieses Feld namens TERMIN (oder wie auch immer es heißt) lässt man im Kalender anzeigen und gibt in den Optionen bei "Anzeige als" die eingangs beschriebene styled()-Formel an.
»kann man den Kalender in 24h Anzeige bringen? ich meine die AM/PM Anzeige verändern?«
Der Kalender selbst hat bei mir immer 24-Stunden-Anzeige, selbst wenn ich Englisch als Sprache einstelle. Oder meinst du den Picker zur Eingabe des Datums/Termins im Datenformular? Der lässt sich meines Wissens nicht umstellen. Allerdings spart man sich bei einem Feld vom Typ "Datum + Uhrzeit" immerhin die Angabe des Endzeitpunktes, denn der würde nach meinem Vorschlag ja automatisch berechnet.
-
Hallo,
vielen lieben Dank. Der Kalender ist jetzt bunt und das mit der Terminlänge probieren wir noch aus...ein wenig Angst habe ich, dass ich mir unsere Maske zerschieße. Es greifen ja mittlerweile viele Sachen ineinander. Ich werde es die Tage mal in Ruhe austesten. Also noch mal Danke, Danke, Danke...
Viele Grüße Christoph
-
Warum solltest du dir eure "Maske zerschießen"? Das ist ja das Schöne an Ninox: Man kann quasi im laufenden Betrieb Dinge ausprobieren und Änderungen vornehmen, ohne die Funktionalität zu beeinträchtigen.
Mit 'OP-Tag/Zeit' (Termin) und 'OP-Dauer (h)' (Zahl) habt ihr jetzt zwei Felder, die vom Typ her nicht zueinander passen und augenscheinlich auch nicht direkt miteinander in Verbindung stehen ("08:25 - 11:25" Uhr vs. "2,5 Std.").
Die statt dessen empfohlenen Felder für den 'OP-Start' (Datum + Uhrzeit), die 'OP-Dauer' (Zeitdauer) und den daraus per Trigger ermittelten 'OP-Termin' (Termin) könnte man ja erst mal zusätzlich erstellen und damit herumprobieren. Platz ist im Formular ja genug. Und wenn es dann zuverlässig funktioniert, könnte man ggf. per Schaltfläche oder Massendatenänderung sogar die vorhandenen "echten Daten" aus dem vorhandenen Terminfeld 'OP-Tag/Zeit' übernehmen.
Wobei mir, nebenbei bemerkt, das Datenmodell nicht ganz klar ist. Laut deinem Screenshot gibt es neben der Tabelle 'Patienten' auch eine namens 'OP-Plan'. OP-Daten wie 'OP-Tag/Zeit' und 'OP-Tisch' werden aber auch im Formular 'Patienten' erfasst, und in selbigem ist unten eine Verknüpfung zu einer 'Tabelle1' zu sehen, welche ebenfalls wieder OP-Daten des betreffenden Patienten enthält. Hat ja vielleicht alles seinen Grund, sieht aber etwas seltsam aus.
-
Hallo,
sie haben recht, das Problem sitzt vor dem Rechner..ich habe in die Maske den neuen Termin eingefügt und konnte nichts eintragen ohne die Maske zu speichern...und da habe ich mich nicht getraut da ich auch nicht so dei rechte Ruhe für das Projekt hatte....werde es aber gleich noch mal ausprobieren.
Die zweite Tabelle OP-Plan war ein Test. Ich wollte einen druckbaren OP-Plan pro Tag erstellen und habe die Patientendatei damit verknüpft. Ist wohl sinnlos, da man aus der Patiententabelle eine Untertabelle erstellen und dann dort die OP-Tage filtern kann, um diesse Tabelle dann auszudrucken. ich denke ich werde sie nicht brauchen....
ich bleibe am Ball und werde weiter berichten.
Gibt es eine Möglichkeit die Tabelle zu sichern und den Datensatz auf einem anderen Computer einzufügen, der prinzipiell die gleichen Daten hat, ohne zu doppeln? Ich meine wir müsssten vielleicht offline regelmäßig Daten zusammenführen. Unser Problem könnte das Internet werden, welches manchmal im tiefen Afrika nicht so dolle ist. Wir konnten auch die Bilder auf diese Weise nicht mit übernehmen.
-
Was mir gerade auffällt. Ich habe wenn ich den OP-'Termin' durch ein 'Datum und Uhrzeitfeld' ersetze, keinen 'Termin' mehr zum anzeigen.
-
Vielleicht ist es am besten, wenn wir die OP-Dauer im 'Kopf' zur Termineingabe ausrechnen. Dann zeigt es den Kalendereintrag automatisch richtig an.
-
Genau, eine Untertabelle mit den OP-Daten inkl. Termin, Dauer, Tisch usw. erscheint mir auch am sinnvollsten.
»Was mir gerade auffällt. Ich habe wenn ich den OP-'Termin' durch ein 'Datum und Uhrzeitfeld' ersetze, keinen 'Termin' mehr zum anzeigen.«
Verstehe ich nicht. In der Untertabelle mit den OP-Daten braucht man zur Termindarstellung und -Berechnung die drei oben beschriebenen Felder (Feldnamen sind natürlich nur exemplarisch):
OP-Start (Feldtyp: "Datum + Uhrzeit")
OP-Dauer (Feldtyp: Zeitdauer)
OP-Termin (Feldtyp: Termin)In 'OP-Start' und 'OP-Dauer' gehört der noch weiter oben beschriebene Trigger "Nach Änderung". 'OP-Termin' wird dann automatisch befüllt und mit der ganz oben erwähnten styled()-Formel zur Anzeige im Kalender gebracht. In der Patienten-Tabelle erscheinen mir die Felder zu den OP-Daten überflüssig. Sofern ich das Ziel nicht völlig falsch verstanden habe.
»Vielleicht ist es am besten, wenn wir die OP-Dauer im 'Kopf' zur Termineingabe ausrechnen.«
Das wäre m. E. die denkbar schlechteste Lösung. Dann kann man's gleich auf Papier machen. Sowas erledigt Ninox mit links, und auch, wenn man sich am Anfang ein bisschen reinwurschteln muss: Es ist defintiv kein Hexenwerk. Und hier im Forum sowie beim Support gibt es immer Hilfe! Hat man die ersten kleinen Hürden dann erst mal überwinden, eröffnen sich mit Ninox ganz neue Horizonte.
-
Was das Problem mit dem Offline-Datenaustausch betrifft: Übermitteln muss man die Daten ja immer irgendwie. Von daher wäre für eine solche Konstellation wohl die Cloud-Version am geeignetsten. Ansonsten dürfte es schwierig werden, die Daten manuell synchron zu halten. Die Datenbank selbst mit den Formularen, Triggern und Steuerlementen sollte auf jeden Fall nur an einer Stelle geändert werden. Sonst bekommt man das nie wieder zusammen. Die Inhalte, also die Patienten- und OP-Daten könnte man bei Bedarf immerhin über Ex- und Import im CSV-Format aktualisieren.
Zu dieser wichtigen Frage solltest du ggf. aber noch mal einen eigenen Thread erstellen und dabei die genaue Ausgangssituation beschreiben (wo Cloud, wo Mac- oder sonstige App, wo wird wann was geändert?). Es gibt da sicher Nutzer, die mehr Erfahrung mit Synchronisation, Im- und Export haben als ich. Und hier geht die Frage vielleicht unter.
-
Jetzt ist mein schöner Text weg
-
was war denn jetzt los...ich konnte nicht absenden. So..noch mal das ganze. Ich fang noch mal ganz von vorne an. Einen Termin erstellt man mit einem 'Terminfeld'. Das besteht aus Datum sowie Start- und Endzeit.Ein 'Datums und Uhrzeigenfeld' kann man nicht im Kalender sehen. Wenn ich jetzt zum 'Terminfeld' noch ein 'Datums und Uhrzeigenfeld' eingeben muss, finde ich es schneller, wenn ich die Endzeit im Kopf aus der 'OP-Dauer' und Startzeit des 'OP-Termins' ausrechne. Es handelt sich bei 'OP-Dauer' um runde halbe Stunden. Und mir geht es nur um die Länge des Kalendereintrages. Welcher ja dank deiner Hilfe schon schön farbig ist...
Ich habe die Extratabelle gelöscht und habe eine Tabellenspalte angelegt und stelle über die Filder die einzelnen OP-Tage an sortiere sie nach OP-Tisch und habe einen feinen druckbaren Plan...perfekt..
und ich werde einen neuen Thread wegen der Syncronisation aufmachen....
-
Die entscheidende Frage ist, ob die Dauer als Einzelinformation (z. B. "2:30" bzw. "2,5") benötigt wird, also irgendwo angezeigt werden soll oder nicht. Und in deinen Screenshots findet sich halt die Dauer der OP als Einzelinformation sowohl im Formular als auch in der Kalenderanzeige. Wenn ich sie aber sowieso irgendwo zusätzlich eintippen muss, dann ist es halt effektiver, wenn ich statt des Terminfeldes mit Start- und Endzeitpunkt nur den Startzeitpunkt angebe. Und den vollständigen Termin dann aus den Angaben Startzeitpunkt plus Dauer berechnen lasse. Deshalb der Vorschlag.
Wenn man die Dauer als Einzelinformation(!) aber gar nicht benötigt, nicht speichern und auch nirgendwo anzeigen lassen will, dann kann man's natürlich einfach bei dem einen Terminfeld belassen und braucht dann auch keine Trigger, Berechnungs- oder sonstige Felder.
Welche der verschiedenen Möglichkeiten man wählt, hängt halt davon ab, was einem nach persönlichen Anforderungen und Abläufen am effizientesten erscheint. Von daher: Wenn es für dich so, wie du es beschrieben hast, am besten funktioniert, dann ist dagegen natürlich nichts zu sagen.
-
Hallo...ich muß mich entschuldigen...ich hab es heute über Nacht verstanden...und es funktioniert super....danke...ich dachte immer ich soll das Terminfeld dann löschen, da es meiner Meinung nach doppelt gemoppelt ist...aber das sich der Termin dann alleine erstellt ist natürlich großartig....
Content aside
- vor 4 JahrenZuletzt aktiv
- 13Antworten
- 2515Ansichten