VOLUME LXXXIX              07/07/2021

Success Stories

Versatile CRM for medical consulting company

A QME processing company develops a CRM Solution with Ninox and Nioxus 


Mark Brown is the CEO of Memsco, a consulting firm and Qualified Medical Exam (QME) Data Processing company located on the West Coast of The United States. Qualified Medical Examiners are licensed to evaluate treatment provided to injured workers when the California legal system requires such overviews. Memsco utilizes Ninox and the full NioxusPLUS suite of ReportsPLUS,  CalendarPLUS and DocumentsPLUS.


From paper to digital

QME processing and consulting requires not only an expansive CRM, but also a HIPAA compliant database, an integrated calendar, and powerful reporting tools. In the paper-heavy world of medical reporting, a digital document management system is a must. At first, Mark was searching for a platform that had all of the above in a single, integrated, flexible, and scalable application. Memsco looked at numerous other off-the-shelf, pre-packaged solutions, but quickly realized that they were too expensive and didn’t have the customization options he needed. In discovering Ninox and Nioxus, Mark found the results he had been looking for.


All-in-one solution

With the versatility of Ninox and the expertise and software provided by Nioxus, Memsco deployed an enterprise CRM complete with API connectivity that centralized their medical patient data. Adding ReportsPLUS, CalendarPLUS and DocumentsPLUS enabled Mark and his team to significantly improve data accuracy and operational efficiency while reducing administrative overhead.  ReportsPLUS provides Memsco administrators and physicians with actionable intelligence, while CalendarPLUS and DocumentsPLUS handle all patient scheduling and medical document management requirements. This fully-integrated solution suite enables Memsco to keep track of deadlines and project budgets, as well as managing all of their compliance data documentation. 


Using the power of Ninox and the NioxusPLUS suite, Memsco can now manage the large, complex caseloads more efficiently. Admin tasks that used to take hours are now completed in minutes.  Also, when using Ninox and ReportsPLUS, registration emails can be standardized with all relevant information and forms at the click of a button. As it’s integrated, Memsco employees can manage appointments and multiple deadlines per project with CalendarPLUS, without having to leave the Ninox application.

With the use of DocumentsPLUS, Memsco can manage permissions and create automated workflows while still remaining HIPPA compliant. The Ninox-Nioxus solution offers Memsco an enterprise-wide, customizable tool that is scalable and affordable, offering a high ROI at low cost, one no other database platform or pre-packaged solution can provide.


data entries





Ninox, paired with Nioxus' products, allows all the i's to be dotted and t's crossed. Whether I have 2 or 200 clients, it meets my needs.

Mark Brown, CEO

Office 365 Integration and Team Collaboration Coming Soon to DocumentsPLUS!

Learning Lab

The Learning Lab this week is going to be an open Q&A, so be sure to attend at 12pm EDT on Thursday the 8th. And don’t forget, asking questions can net you Gold Stars!

Remember, gold stars can be redeemed at the end of the year for various prizes, so try and collect as many stars as you can! More information about the Gold Star Program can be found by clicking here.

Check Out Our Templates

Did you know that Nioxus has built over 130 templates which are available to all Standard, Deluxe and Premier Nioxus members?

Nioxus University YouTube Channel

Nioxus has created nearly 100 videos and over 200 hours of content teaching you how to use and optimize Ninox, as well as our supplementary products: CalendarPLUS, ReportsPLUS and DocumentsPLUS!

Undo Button in Ninox

By Adam Davidson, Director of Product Management

Sometimes it is useful to be able to undo an action in a database, which is not always possible to do in Ninox. Here is a way to put a functioning undo button into a Ninox table to be able to revert to the previous state easily.

First create a subtable in the desired table. This sub-table is where snapshots of the record’s state will be stored every time an update is made to the record. We will be allowing an unlimited number of undos but it may be smart to limit the number of undos per record if data is frequently modified in the table. Now we will create a Yes / No field named update (you will see why in a bit), and a button to click to undo the most recent action. In the subtable, we will create a single field named data, where the data for a record snapshot will be stored.

In this example we will be working with a simple table with three fields: Name, Email, and Phone. In the trigger after update function for each of these fields we will place the following code:

					if update then
	let state := formatJSON({
			Name: Name,
			Email: Email,
			Phone: Phone
	let xId := Id;
	let rec := (create 'undo Data');
	rec.(data := state);
	rec.(Undo := xId)
update := true


This code creates a JSON string containing all the fields in the table at the current point in time and creates a new record in the subtable (called “undo Data” in our case) and writes to the data field with the JSON string. This is only done when the update field is set to true to make sure that we can avoid creating a record when the undo button is clicked and modifies the fields. This is also why the function is placed in the trigger after update function for each of the fields rather than in the trigger after update for the whole record.

Now the following code will be placed in the on click function for the undo button:

					if cnt(undoData) > 1 then
	let data := parseJSON(item(undoData, cnt(undoData) - 2).data);
	update := false;
	Name := data.Name;
	Email := data.Email;
	Phone := data.Phone;
	delete item(undoData, cnt(undoData) - 2)


This code gets the most recent undo state from the subtable and sets the fields accordingly. Before it assigns the fields it changes the value of update to false so that the trigger after update function for the fields knows not to create a new record in the subtable.

The subtable and update fields should be hidden from view and now the undo functionality is ready to go. Next week we will take a look at how to build off of this to create a redo button to go alongside our undo button.

Copyright 2021 © All Rights Reserved.

All logos, trademarks and names are the protected property of Nioxus Corporation or their respective owners.

“Ninox,” “Ninox Database” and the blue Ninox owl eye logo are the property of Ninox Berlin and are used with permission.