Ich möchte gern die Zeit Start&Stop auswerten und den Wert in Stunden bzw. Minuten anzeigen.

Hintergrund: Ich habe ein CKE für die Protokollierung von operativen Eingriffen. In manchen Formularen für die Leistungsabrechnung wird die Schnitt Naht Zeit verlangt. Damit man die nicht ausrechnen muss sondern direkt aus dem CKE übernehmen kann, wäre es hilfreich die Berechnung zu automatisieren.

Vielen Dank für entscheidende Tipps?
Gefragt in Frage von (31.4k Punkte)
Bearbeitet von
0 Punkte

1 Antwort

Hallo,

wenn du 2 normale Zeitfelder für Beginn und Ende nimmst, kannst du die subtrahieren. Allerdings ist das Ergebnis immer noch falsch wie vor knapp 2 Jahren schon beschrieben: 

https://forum.tomedo.de/index.php/55429/cke-zeit-bei-anderung-neu-berechnet-liefert-falsches-ergebnis

Beantwortet von (24.9k Punkte)
0 Punkte

Damit könnte an noch umgehen. Ich habe aber nur das Feld Start&Stop

Startet beim Öffnen und stppt sobald man Stopp drückt oder den CKE schließt

Hier sollten dann 16 minuten rauskommen.

Das steht dann im Karteieintrag.

Möglicherweise kann man das mit dem regex Kommando auslesen

Regex für Start wäre: 

$[regex Zeit\:\s+([\d]+[\:]+[\d]+[\:]+[\d]+) x N 1 _ d NN NNNN NNNN _ U _]$

Regex für Stop wäre: 

$[regex \-\s+([\d]+[\:]+[\d]+[\:]+[\d]+) x N 1 _ d NN NNNN NNNN _ U _]$

Wieder einmal brotlose regex-Kunst, da dann ja nur ein String resultiert mit dem man nicht rechnen kann. Oder gibt es innerhalb von tomedo die Funktion String > Zahl (Uhrzeit??) verwandeln. Kenne ich nicht. 

Super! 

Würde Dir gern viele Pluspunkte geben.

Keine brotlose Kunst!

Wie kriegst Du so schnell die passenden regex Kommandos hin. Ich habe das noch nicht durchdrungen.

Mit den fertigen Befehlen konnte ich relativ schnell basteln um den String in seine Einzelheiten zu zerlegen, dabei haben mich nur die Stunden und die Minuten interessiert. Musste nur noch sagen welcher Karteieintrag (OPE) auszulesen ist.

So zerlege ich dann den String

Start
Stunden
$[regex Zeit\:\s+([\d]+) x OPE N 1 _ d NN NNNN NNNN _ U _]$

Minuten
$[regex Zeit\:\s+\d+\:+([\d]+) x OPE N 1 _ d NN NNNN NNNN _ U _]$

Stop
Stunden
$[regex \-\s+([\d]+) x OPE N 1 _ d NN NNNN NNNN _ U _]$

Minuten
$[regex \-\s+\d+:+([\d]+) x OPE N 1 _ d NN NNNN NNNN _ U _]$ 


Dann nur ein bischen Grundrechenarten. In einem Scorefeld die Stunden mit 60 multiplizieren und die so ermittelten Minuten von der Stop Zeit subtrahieren und man erhält die Zeit in Minuten.

($[regex \-\s+([\d]+) x OPE N 1 _ d NN NNNN NNNN _ U _]$*60+$[regex \-\s+\d+:+([\d]+) x OPE N 1 _ d NN NNNN NNNN _ U _]$)-($[regex Zeit\:\s+([\d]+) x OPE N 1 _ d NN NNNN NNNN _ U _]$*60+$[regex Zeit\:\s+\d+\:+([\d]+) x OPE N 1 _ d NN NNNN NNNN _ U _]$)

 

 

 

 

16,244 Beiträge
24,073 Antworten
42,476 Kommentare
12,232 Nutzer