NOSH 2.0 has been redesigned from the ground up, starting with the use of Laravel 5.3 as the PHP framework. This is a huge step up from Laravel 4.2 which was the foundation for NOSH 1.84 and has allowed better support for modern extensions including making PDF documents for printing (courtesy of TCPDF, which replaced wkhtmltopdf), an updated OpenIDConnect library (for single-sign-on) and the ability to parse YAML, which serves as the foundation of the new template library.
Here’s a snippet of what YAML looks like compared to a CSV (comma separated values) file:
So it’s more readable, right? For templates, this is cool so that even non-technical doctors can create their own templates if they have a text editor. Soon enough, we can have all these template YAML’s so that they can be shared (since there is no license or restrictions on YAML’s). There is a pretty good default one already set up for each user for a standard NOSH installation, but one can customize it on the fly or one can copy and paste from one user to another. It’s super flexible. See the screenshot below where the templates (on the right) are tied to a large text box (which is set up on NOSH to be the default). Each text box has it’s own template groups and each group as a set of items to copy into the text box.
YAML’s are also great for another reason in that it gives a lot more flexibility for sections of the patient encounter that can possibly grow (infinitely) without being limited by database field or character size. For instance, the family history is one such section that needs to have an adaptable database field and is used to build a tree (thanks to sigma.js). So you get a view of this from a YAML text:
Vital signs are another area where YAML makes an entrance on NOSH 2.0. And you get graphs like this:
(That poor fake patient grows like a rubber band, but that is beside the point…)
So that’s a brief snippet of YAML on NOSH. Hope you enjoy and more to come about what else is under the hood of NOSH 2.0. Check out the demo, if you haven’t already.