MEDICAL OFFICE Forum

Forum-Navigation
ForumAktivität

Variable Patientenalter

Forum-Breadcrumbs – Du bist hier:ForumÖffentlich: FragenVariable Patientenalter
Du musst dich anmelden um Beiträge und Themen zu erstellen.

Variable Patientenalter

Seite 1 von 2Nächste

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

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….

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

{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}
INDAMED GmbH | Support | 0385 77094000 | support@indamed.de

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

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

Funktioniert perfekt! 

Vielen Dank!

Schönes Wochenende.

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

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?

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}
INDAMED GmbH | Support | 0385 77094000 | support@indamed.de
Seite 1 von 2Nächste