Variable Patientenalter
Zitat von Sebastian Fornaschon am 13. Juni 2025, 14:57 UhrMoin,
ich habe hier gelesen, dass es die Variablen {Patient.Alter} und {Patient.AlterTage} gibt. Wichtig wäre als Kinderarzt noch die Variable „{Patient.AlterMoante}“. Gibt es die? Kann man die einführen? Gibt es Workarounds für die Ausgabe des Alters in Monaten als Variable?
Vielen Dank im voraus,
Gruß
Sebastian Foranschon
Moin,
ich habe hier gelesen, dass es die Variablen {Patient.Alter} und {Patient.AlterTage} gibt. Wichtig wäre als Kinderarzt noch die Variable „{Patient.AlterMoante}“. Gibt es die? Kann man die einführen? Gibt es Workarounds für die Ausgabe des Alters in Monaten als Variable?
Vielen Dank im voraus,
Gruß
Sebastian Foranschon
Zitat von Peter Quick am 15. Juni 2025, 14:37 UhrDie Frage ist, wofür brauchen Sie das.
Ich hatte in einem anderen Thread hier mein Python Script gepostet, mit dem man automatisiert die Ausgabe „2 Woche altes männliches Neugeborenes“ passend dann neugeborene, Säuglinge, Kleinkinder, Schulkinder und Jugendliche in Wochen, Monaten und Jahren bekommt. Schauen Sie doch einfach mal, ob sie das nicht für ihre Dokumentation gebrauchen können….
Die Frage ist, wofür brauchen Sie das.
Ich hatte in einem anderen Thread hier mein Python Script gepostet, mit dem man automatisiert die Ausgabe „2 Woche altes männliches Neugeborenes“ passend dann neugeborene, Säuglinge, Kleinkinder, Schulkinder und Jugendliche in Wochen, Monaten und Jahren bekommt. Schauen Sie doch einfach mal, ob sie das nicht für ihre Dokumentation gebrauchen können….
Zitat von Sebastian Fornaschon am 16. Juni 2025, 12:30 UhrIch brauche das Alter im Monaten um in einem Formular einen Score zu berechnen. In dem Link zum PHP-Forum sind relativ viele Lösungswege eröffnet. Kopiere ich das Skritp dann einfach in das Formularfeld? Findet MO denn dann die Variablen automatisch? Muss ich da etwas anpassen?
Ich überlege mir gerade ob ich nicht die Variable {Patient.AlterTage} nehme und sie durch 30,5 teile. Dann komme ich auch auf die Monate. Allerdings kenne ich mich mit PHP gar nicht aus. Wie programmiere ich das im Feld „Formel/Datenbindung“? Der Versuch „({Patient.AlterTage}/30,5)“ in guter alter Excel Manier wirft das hier aus „(746/30,5)“ 😅
Können Sie das in PHP übersetzten?
Vielen Dank und Gruß
Sebastian Fornaschon
Ich brauche das Alter im Monaten um in einem Formular einen Score zu berechnen. In dem Link zum PHP-Forum sind relativ viele Lösungswege eröffnet. Kopiere ich das Skritp dann einfach in das Formularfeld? Findet MO denn dann die Variablen automatisch? Muss ich da etwas anpassen?
Ich überlege mir gerade ob ich nicht die Variable {Patient.AlterTage} nehme und sie durch 30,5 teile. Dann komme ich auch auf die Monate. Allerdings kenne ich mich mit PHP gar nicht aus. Wie programmiere ich das im Feld „Formel/Datenbindung“? Der Versuch „({Patient.AlterTage}/30,5)“ in guter alter Excel Manier wirft das hier aus „(746/30,5)“ 😅
Können Sie das in PHP übersetzten?
Vielen Dank und Gruß
Sebastian Fornaschon
Zitat von Tilo Kassebaum am 16. Juni 2025, 13:20 Uhr{PHP} //Wert der Variable holen $tage = "{Patient.AlterTage}"; //Tage durch 30,4 Tage je Monat teilen und auf 0 Stellen aufrunden (24,53 => 25) $month = round($tage / 30.4, 0); //Alternativ die Monate abrunden (24,53 => 24) //$month = floor($tage / 30.4); echo $month; {/PHP}
{PHP}
//Wert der Variable holen
$tage = "{Patient.AlterTage}";
//Tage durch 30,4 Tage je Monat teilen und auf 0 Stellen aufrunden (24,53 => 25)
$month = round($tage / 30.4, 0);
//Alternativ die Monate abrunden (24,53 => 24)
//$month = floor($tage / 30.4);
echo $month;
{/PHP}
Zitat von Sebastian Fornaschon am 20. Juni 2025, 10:13 UhrMoin,
vielen Dank für die schnelle „Übersetzung“. Ich habe es jetzt mit
<?php $tage = "{Patient.AlterTage}"; $month = floor($tage / 30.4); echo $month; ?>
ausprobiert. Leider wird es nicht als Code erkannt:
Wo liegt mein Fehler?
Gruß
Sebastian Fornaschon
Moin,
vielen Dank für die schnelle „Übersetzung“. Ich habe es jetzt mit
<?php
$tage = "{Patient.AlterTage}";
$month = floor($tage / 30.4);
echo $month;
?>
ausprobiert. Leider wird es nicht als Code erkannt:
Wo liegt mein Fehler?
Gruß
Sebastian Fornaschon

Zitat von Martin Weinreich am 20. Juni 2025, 10:24 UhrHallo,
da hatte der Kollege vergessen, das Script anzupassen.
In Medical Office muss PHP wie folgt markiert werden: {PHP} {/PHP}Angepasster Code:
{PHP} $tage = "{Patient.AlterTage}"; $month = floor($tage / 30.4); echo $month; {/PHP}
Hallo,
da hatte der Kollege vergessen, das Script anzupassen.
In Medical Office muss PHP wie folgt markiert werden: {PHP} {/PHP}
Angepasster Code:
{PHP}
$tage = "{Patient.AlterTage}";
$month = floor($tage / 30.4);
echo $month;
{/PHP}
Martin Weinreich
-INDAMED- Support
Zitat von Sebastian Fornaschon am 20. Juni 2025, 11:47 UhrFunktioniert perfekt!
Vielen Dank!
Schönes Wochenende.
Funktioniert perfekt!
Vielen Dank!
Schönes Wochenende.

Zitat von Burkhard Strauß am 25. Juni 2025, 14:07 Uhrfür noch mehr php spaß mal PHP tutorial suchen hier: PHP tutorial – MEDICAL OFFICE Forum – MEDICAL OFFICE Wissensportal
insb. wie man das als Autotext benutzt macht es leichter nutzbar im alltag
für noch mehr php spaß mal PHP tutorial suchen hier: PHP tutorial – MEDICAL OFFICE Forum – MEDICAL OFFICE Wissensportal
insb. wie man das als Autotext benutzt macht es leichter nutzbar im alltag
Zitat von Sebastian Fornaschon am 27. Juni 2025, 15:35 UhrIch versuche mich gerade ein bischen in PHP. Das ist ja ein mächstiges Tool! @Burkard Strauß vielen Dank für die Anleitung.
Ich habe jetzt mal was für einen Autotext gebastelt, was aber leider nicht funktioniert / läuft:
{PHP} $geburtsdatum = "{Patient.Geburtsdatum}"; $heute = "{Datum}"; $interval = date_diff($geburtsdatum, $heute); echo $interval format("y" Jahre "m" Monate und "d" Tage); {PHP}
Soll z.B. ausgeben:
2 Jahre 2 Monate und 10 Tage
Tut es aber nicht. Stattdessen wird weder Code noch Ergebnis angezeigt.
Jemand eine Idee was im Syntax falsch ist bzw. warum nichts ausgegeben wird?
Ich versuche mich gerade ein bischen in PHP. Das ist ja ein mächstiges Tool! @Burkard Strauß vielen Dank für die Anleitung.
Ich habe jetzt mal was für einen Autotext gebastelt, was aber leider nicht funktioniert / läuft:
{PHP}
$geburtsdatum = "{Patient.Geburtsdatum}";
$heute = "{Datum}";
$interval = date_diff($geburtsdatum, $heute);
echo $interval format("y" Jahre "m" Monate und "d" Tage);
{PHP}
Soll z.B. ausgeben:
2 Jahre 2 Monate und 10 Tage
Tut es aber nicht. Stattdessen wird weder Code noch Ergebnis angezeigt.
Jemand eine Idee was im Syntax falsch ist bzw. warum nichts ausgegeben wird?
Zitat von Tilo Kassebaum am 27. Juni 2025, 16:02 UhrHallo Herr Fornaschon,
die Funktion date_diff() gibt es erst mit PHP 5.3, wir verwenden noch PHP 5.2. Anbei ein angepasster PHP Code.
{PHP} $geburtsdatum = "{Patient.Geburtdatum}"; $heute = "{Datum}"; // Datumsteile extrahieren list($g_tag, $g_monat, $g_jahr) = explode('.', $geburtsdatum); list($h_tag, $h_monat, $h_jahr) = explode('.', $heute); // In Integer umwandeln $g_tag = (int)$g_tag; $g_monat = (int)$g_monat; $g_jahr = (int)$g_jahr; $h_tag = (int)$h_tag; $h_monat = (int)$h_monat; $h_jahr = (int)$h_jahr; // Differenz berechnen $jahre = $h_jahr - $g_jahr; $monate = $h_monat - $g_monat; $tage = $h_tag - $g_tag; // Korrektur falls Tage negativ if ($tage < 0) { $monate -= 1; $vor_monat = $h_monat - 1; $vor_jahr = $h_jahr; if ($vor_monat == 0) { $vor_monat = 12; $vor_jahr--; } $tage += cal_days_in_month(CAL_GREGORIAN, $vor_monat, $vor_jahr); } // Korrektur falls Monate negativ if ($monate < 0) { $jahre -= 1; $monate += 12; } echo $jahre . " Jahre, " . $monate . " Monate und " . $tage . " Tage"; {/PHP}
Hallo Herr Fornaschon,
die Funktion date_diff() gibt es erst mit PHP 5.3, wir verwenden noch PHP 5.2. Anbei ein angepasster PHP Code.
{PHP}
$geburtsdatum = "{Patient.Geburtdatum}";
$heute = "{Datum}";
// Datumsteile extrahieren
list($g_tag, $g_monat, $g_jahr) = explode('.', $geburtsdatum);
list($h_tag, $h_monat, $h_jahr) = explode('.', $heute);
// In Integer umwandeln
$g_tag = (int)$g_tag;
$g_monat = (int)$g_monat;
$g_jahr = (int)$g_jahr;
$h_tag = (int)$h_tag;
$h_monat = (int)$h_monat;
$h_jahr = (int)$h_jahr;
// Differenz berechnen
$jahre = $h_jahr - $g_jahr;
$monate = $h_monat - $g_monat;
$tage = $h_tag - $g_tag;
// Korrektur falls Tage negativ
if ($tage < 0) {
$monate -= 1;
$vor_monat = $h_monat - 1;
$vor_jahr = $h_jahr;
if ($vor_monat == 0) {
$vor_monat = 12;
$vor_jahr--;
}
$tage += cal_days_in_month(CAL_GREGORIAN, $vor_monat, $vor_jahr);
}
// Korrektur falls Monate negativ
if ($monate < 0) {
$jahre -= 1;
$monate += 12;
}
echo $jahre . " Jahre, " . $monate . " Monate und " . $tage . " Tage";
{/PHP}