Multiple Improvements to Layout Based Forms

sunsetsystems wrote on Sunday, December 07, 2014:

The 8 top commits here represent LBF improvements ported from work done for IPPF over the past year:

https://github.com/sunsetsystems/openemr/commits/lbfskip

The improvements are:

  1. Additional plug-in hooks from Kevin.

  2. The field type for Billing Codes was improved so that the code descriptions are shown instead of their IDs.

  3. A “Source” attribute may now be selected for each layout item in an encounter LBF. You can now reference a field from demographics (“Patient”) or history (“History”) or the New Encounter form (“VisForm”), or specify that the field is an attribute of the visit as a whole rather than just the form instance (“Visit”). Thus you can now have encounter forms that reference each other’s data.

  4. Some cosmetic improvements of column widths in the layout editor.

  5. 3 new Edit Options were introduced for layout items.
    0 = Make the field Read Only
    A = For a Date field only, display the age in years corresponding to the date.
    B = Like A, but showing in Gestational Age format (weeks and days).

  6. Added a “P” edit option to make the field default to its previous value.

  7. Added a “field skipping” feature, where you can enter the conditions referencing other fields for which the field in question will be hidden from the form. Click the “?” on the right side of the layout editor to access this area.

Review and comments are welcomed.

Rod
http://www.sunsetsystems.com/

bradymiller wrote on Monday, December 08, 2014:

Wow,

Lots of really useful features. I reviewed all the commits; see commits for comments.(I didn’t test it; just reviewed the code)

-brady
OpenEMR

blankev wrote on Monday, December 08, 2014:

Seems good to have this in a Demo. For testing purposes and for making a WIKI page. Where should this be in the WIKI: make some changes in the LBV-Forms, inclusions etc, or in a separate page?

bradymiller wrote on Monday, December 08, 2014:

Hi,

Pointed an “up for grabs” demo to the code here:
http://www.open-emr.org/wiki/index.php/Development_Demo#192.168.1.135

-brady
OpenEMR

bradymiller wrote on Monday, December 08, 2014:

Hi,

One thing I noted on testing when I place a DOB field in the LBF form. It shows up in the edit form and works, however the DOB entry does not show up on the report.php output (so not on encounter screen or the patient->report output).

-brady
OpenEMR

blankev wrote on Monday, December 08, 2014:

Tnx,

last sentence under REPO should this not be changed into “Extra LBV-Forms options”?

sapiens110 wrote on Monday, December 08, 2014:

I built another quick test form and once I press save, nothing saves but it updates in demographics. Check it out before it resets.The example form works though!

Overall nice job. But one big thing. How do we connect to medical issues? For instance I want to have a form with Medications. Filling the form would also change the patient summary. Is it possible to add a source for these?Problems,Allergies and Medications? Do these also have IDs?

blankev wrote on Monday, December 08, 2014:

In the Demo the Male/Female option and DOB can be changed and show as changed in the Report section.

Need more time to see how Medical etc options.

arnabnaha wrote on Monday, December 08, 2014:

Awesome Rod…Thanks to you and your whole team of sunsetsystem…Great work.

sunsetsystems wrote on Monday, December 08, 2014:

Whoops, I forgot to port one of the commits. That would be the reason for the report.php omissions and the “nothing saves” issue. Will try to get to that and the review suggestions today.

Rod
http://www.sunsetsystems.com/

sunsetsystems wrote on Monday, December 08, 2014:

I’ve added a commit to the branch to address the reported problems. I guess the demo won’t update until tomorrow.

Re the question about medical issues - sorry, not currently supported.

Rod
http://www.sunsetsystems.com/

sunsetsystems wrote on Monday, December 08, 2014:

Oh I see the demo just reset itself. So the latest updates can be tested now.

Rod
http://www.sunsetsystems.com/

arnabnaha wrote on Monday, December 08, 2014:

Hi rod,
was testing your LBF improvement. its mindblowing and great contribution. Can you please explain me the “visit” source functionality? please tell in details a bit with one or two examples. will be very handy.

Thanks and regards
Arnab Naha

arnabnaha wrote on Monday, December 08, 2014:

One more query…

How can the LBF calculate Age? Is it possible? I have made a field called age and inserted the option A in the options field, but nothing happens. I know I am doing something wrong. Please help in it.

sunsetsystems wrote on Monday, December 08, 2014:

Thanks Arnab. “Visit” source is useful when you want multiple LBF encounter forms in the same visit with them sharing a common field. Most fields in encounter forms could be candidates for this, but ones that might have multiple instances per visit would not.

Rod
http://www.sunsetsystems.com/

sunsetsystems wrote on Monday, December 08, 2014:

To get age select “Text-date” in the Data Type column and put an A or B in the Options column of the layout.

Rod
http://www.sunsetsystems.com/

arnabnaha wrote on Monday, December 08, 2014:

Thanks Rod, for the explanation. its a great contribution and definitely LBFs has expanded OPENEMR possibilities even further. What a work! Thanks a lot!

sunsetsystems wrote on Monday, December 08, 2014:

You can thank IPPF for their sponsorship of these features and for their understanding that sharing with the community is a win-win. Not everyone gets the value of that, and I generally won’t work with those who don’t.

Thanks for the help with testing!

Rod
http://www.sunsetsystems.com/

arnabnaha wrote on Monday, December 08, 2014:

Absolutely true Rod. A big thanks to IPPF for allowing this great piece of work to be shared with millions. Thats the true beauty of being open source.

I have tested it well…loved each and every feature of it. The conditionals added has been of great help.

arnabnaha wrote on Monday, December 08, 2014:

the conditionals are not working I guess…can you please check