Blank fee sheet on openemr 5.0.0

biller2 wrote on Thursday, March 02, 2017:

I am in the process of upgrading from version 4.2.2 to 5.0.0.

old system
ubuntu 12.4
php 2.2.22
mysql 14.14 Distrib 5.5.28, for debian-linux-gnu (x86_64)

new system
ubuntu 16.4
php 7.0.15
mysql Distrib 5.7.17, for debian-linux-gnu (x86_64)

Everything seems to be working fine so far except the fee sheet. If I create a new encounter and then click on fee sheet nothing comes up, it appears to do nothing. If I go to a past encounter where the charges were put in using the older version it displays the fee sheet as normal. I would be happy to provide any additional information if needed. Any help/guidance would be greatly appreciated.
Thanks in advance

biller2 wrote on Friday, March 03, 2017:

Some additional information I have found. If I do a fresh install using openemr-5_5.0.0.tar.gz the fee sheet shows up with the default given in the downloaded file. However if I go through the upgrade process of moving my current emr to a back up location and copy over the sql.conf info and then run sql_upgrade on the current database it all completes fine with now errors and I can log in however the fee sheet is blank. It seems like if I go through the install process it installs the necessary tables? So I’m thinking maybe we didn’t have the fee sheet set up correctly although it was working in version 4.2.0? I have checked the data base and there is something in the fee_sheet_options table. What table does the fee_sheet use maybe I could start there. Thanks in advance for any helpr or guidance

bradymiller wrote on Saturday, March 04, 2017:

Hi biller,

Sounds like a potential upgrade bug.

After you get the white screen of death(I am assuming you are getting a blank white screen), what do you see in the php error log?


I am having the same issue. I too upgraded from 4.2.2 to 5.
When I create an encounter the normal way, I get a blank page/tab when I try to access the fee sheet.
However, if I create the encounter via the @arrived method, it works fine.
I have found that for every encounter created via normal methods, the “provider_id” field of the “form_encounter” table of the database defaults to “0”.
If I manually enter the correct provider ID, it all works.
When using the @arrived method, the correct provider is placed in the “provider_id” field.

The reason I looked into the form_encounter table was that randomly I will be able to see a fee sheet and make some entries. But when I tried to save it it would blank-out the whole form. I found that if I was able to access the fee sheet and immediately select the provider (because it was not populated) then save the form, I could re-open it and continue making entries.

I hope this helps.
David Sloan

PS: I am running Linux Mint 18

2 things:

  1. Clear your browser cache and cookies and then try it.

  2. If still getting the white screen of death, what do you see in the php error log?


Are you using Firefox? I’m finding that Safari has functionality glitches in 5.0.0.

Yes, using Firefox on all workstations(4). All with the same issue.

Clearing the cache seems to work! Thanks Brady. I searched for a php error log but couldn’t find one. …not exactly sure where to look.

Hopefully the issue is resolved.

As I’m beginning to work with fee sheets, I’m beginning to have this problem too, on my OSX install of 5.0.0. I’m using Firefox, and clearing the cache has not resolved the problem. This seems to be happening some of the time, not all of the time.

How do you open the form_encounter table and manually enter data into it?

What is the @arrived method of creating a patient encounter?

Good morning Mr. Miller,

I have the same problem in my clinic.

We are having the Blank form issue with the fee sheet. As an example I have one patient that has 7 encounters, but only 3 encounters will open the fee sheet, the other encounters will give a blank page as a result.

I tried doing some debugging but this is what I found for the working and not working one:

I tried this on 3 different browsers/computer combos: Firefox, Edge and Chrome.

The server was functioning perfectly, and is a ubuntu based amazon cloud image(14.04), with the official package of openemr and upgraded to the latest patch version.

Edit: I can also upload the apache2 logs if that helps to solve this problem.

trying to reproduce error, please post output from
cat /var/log/apache2/error.log | grep FeeSheet

Hi Mr. Stephen,

Here is the log.

log file on gdrive


Mr. Stephen,

I was auditing the database, and the error happens on the table form_encounter were the Provider ID have the default 0 value, if I change it to 6 (which is my original provider value) the FeeSheet will start working again.

This corresponds with the date that I added another assisting provider, but I also installed the latest patch around that time.

found this in the log
[Fri Mar 31 15:44:42.542811 2017] [:error] [pid 898] [client] PHP Fatal error: Uncaught Error: Call to undefined function findProvider() in /var/www/openemr/library/FeeSheet.class.php:121 Stack trace 0 /var/www/openemr/library/FeeSheetHtml.class.php(35): FeeSheet->__construct(145, '981') 1 /var/www/openemr/interface/forms/fee_sheet/new.php(393): FeeSheetHtml->__construct() 2 /var/www/openemr/interface/patient_file/encounter/load_form.php(26): include_once('/var/www/openem...') 3 {main} thrown in /var/www/openemr/library/FeeSheet.class.php on line 121, referer:

do you have the findProvider function on line 159 of library/FeeSheet.class.php ?

I have not modified the file, but this is what I have from it:

public function findProvider() {
$find_provider = sqlQuery("SELECT provider_id FROM form_encounter " .
“WHERE pid = ? AND encounter = ? ORDER BY id DESC LIMIT 1”,
array($this->pid, $this->encounter));
$providerid = $find_provider[‘provider_id’];
if (!$providerid) {
$get_authorized = $_SESSION[‘userauthorized’];
if ($get_authorized == 1) {
$providerid = $_SESSION[‘authUserID’];

still investigating :smile_cat:


Let me know if you need anything else regarding this. I’m a MD but I can help and find my way around the technical stuff and even some Meteor development.


hi crisgzmn, did you clear the cache in the browsers?

The “@arrived” method to create an encounter is done by selecting @arrived from the “Status” drop-down in the appointment window/pop-up. It can only create an encounter if the status is changed on the actual date of service.

I thought the problem was resolved by clearing my browser cache. It is not. If I change the provider_ID in the database before accessing the fee sheet, no blank screen.