Do you use or administer OpenEMR? Take the General Satisfaction Survey to help improve the product

Undefined error on Portal Dashboard

I found this other error, when I tried to open Portal Dashboard… This is after installing 6.0 version and after applying the latest patch for 6.0.
I am just wondering what causes this error

Use of undefined constant php - assumed ‘php’ (this will throw an Error in a future version of PHP) in _ProviderHeader.tpl.php at line 45

1 Like

Are you on PHP 8?
It’s weird that suddenly PHP interpreter no likey empty tags <?php// echo $GLOBALS['web_root']; ?>
If you can just delete L-42 through end of script of portal/patient/templates/_ProviderHeader.tpl.php

Hi Jerry,
As we are still testing this script, we are using the hosting company’s server. Their PHP is 7.3 I think. I have to double check.
I deleted that line and it resulted to another error message:


Oh Snap!

Use of undefined constant php - assumed ‘php’ (this will throw an Error in a future version of PHP) in _ProviderHeader.tpl.php at line 44

You may want to try returning to the the previous page and verifying that all fields have been filled out correctly.
If you continue to experience this error please contact support.

no sir, delete all line beginning at L-42 through L-55
After edit should be:


 * Patient Portal
 * @package   OpenEMR
 * @link
 * @author    Jerry Padgett <>
 * @copyright Copyright (c) 2016-2020 Jerry Padgett <>
 * @license GNU General Public License 3

 use OpenEMR\Core\Header;

<!DOCTYPE html>
<!-- Language grabbed by PDF var that has the correct format !-->
<html lang="<?php echo $GLOBALS['pdf_language']; ?>">
        <title><?php $this->eprint($this->title); ?></title>
        <meta name="description" content="Provider Portal" />
        <meta name="author" content="Dashboard |" />

        <?php Header::setupHeader(['no_main-theme', 'patientportal-style', 'datetime-picker']); ?>
        <link href="<?php echo $GLOBALS['web_root']; ?>/portal/patient/styles/style.css?v=<?php echo $GLOBALS['v_js_includes']; ?>" rel="stylesheet" />
        <link href="<?php echo $GLOBALS['web_root']; ?>/portal/sign/css/signer_modal.css?v=<?php echo $GLOBALS['v_js_includes']; ?>" rel="stylesheet">
        <script src="<?php echo $GLOBALS['web_root']; ?>/portal/sign/assets/signature_pad.umd.js?v=<?php echo $GLOBALS['v_js_includes']; ?>"></script>
        <script src="<?php echo $GLOBALS['web_root']; ?>/portal/sign/assets/signer_api.js?v=<?php echo $GLOBALS['v_js_includes']; ?>"></script>

        <script src="<?php echo $GLOBALS['web_root']; ?>/portal/patient/scripts/libs/LAB.min.js"></script>
            $LAB.script("<?php echo $GLOBALS['assets_static_relative']; ?>/underscore/underscore-min.js")
                .script("<?php echo $GLOBALS['assets_static_relative']; ?>/moment/moment.js")
                .script("<?php echo $GLOBALS['assets_static_relative']; ?>/backbone/backbone-min.js")
                .script("<?php echo $GLOBALS['web_root']; ?>/portal/patient/scripts/app.js?v=<?php echo $GLOBALS['v_js_includes']; ?>")
                .script("<?php echo $GLOBALS['web_root']; ?>/portal/patient/scripts/model.js?v=<?php echo $GLOBALS['v_js_includes']; ?>").wait()
                .script("<?php echo $GLOBALS['web_root']; ?>/portal/patient/scripts/view.js?v=<?php echo $GLOBALS['v_js_includes']; ?>").wait()

    <body class="pt-2">

Also note that install/upgrade instructions say to change error_reporting directive in php.ini to include

1 Like

Hi Jerry,
I deleted line 42 to 55. Now it looks great!
Since we are still in the test mode, I hope this will work in our own server. In our own server, we will be using PHP 8, using Fedora.
Is this going to work too? I guess we have to install it and see.
Thank you so much.

1 Like

Should be okay however, I highly recommend adding the

You’ll save some grief down the road for sure.
I’ll have this fixed in patch 2. also note change for portal for patch 2:

That’s awesome man!
I just checked the php.ini. that ~E_DEPRECATED is not included. We applied all the changes as suggested for error_reporting directives.

Also, I am wondering about that script “Allscript Integration” for eRx. Does this still works? And where do you upload this javascript?
Maybe you can integrate this in patch 2. That would be great!
Thank you man!

yep, only took me four years to get around to doing it! This is why whenever I used to tell one of the kids; Okay tomorrow, I’d always get an eye roll!:slight_smile:

Monkey scripts didn’t work any longer but Violentmonkey replaced. Still the oemr script doesn’t work because of newer cross scripting issues and Allscripts changed the front page etc. So, no joy there. Take a look at iPrescribe maybe.
I was going to update the script but I never have the time and there are many that used it.
Still kind of works with violentmonkey but no page integration with demographics.

LOL! So, now you are close to perfection with openEMR’s new version 6.0!
I checked iPrescribe, can we integrate their app? But it’s not an open source though. I have been looking into all the github’s or hotscript for open source to find something newer there but t didn’t find anything.
But for now, I think this is good for openEMR.

We have new Weno in v6 and NewCrops. Both fee based. Search forum for info.

I think this a great free software for all clinicians. CERNER EMR is way too expensive for newer clinics.

Also, I am wondering if there’s a way we can link openEMR to all the database of the insurance to check for patient’s eligibility. This would be awesome too.

You know that subscription is a killer. I’ll check that out–for Weno and NewCrops.

I added insurance eligibilities check back in v5.0.2 using Office Ally

you’ll have to look through forum for threads on this…