Infor-Med Medical Information Systems Inc. (“Infor-Med”) used gmStudio to develop an advanced Custom Upgrade Solution for their Praxis EMR Product. Praxis® EMR is more than an electronic records (EMR/EHR) system. Praxis is a template-free medical tool. Unlike rigid and cumbersome templates, Praxis uses artificial intelligence called Concept Processing that learns from you. No other EHR allows smarter and higher quality medicine than Praxis EMR.
Metric | Comments |
FILES | 1,484K LOC Logic and 95K LOC GUI in 6,794 code files |
BINARIES | 4 EXEs, 59 DLLs, 50 Controls, 11 OLE EXEs, |
MEMBERS | 85,019 unique subprograms |
UI | 1,274 unique UI containers containing 9,362 instances of 737 different kinds of controls. |
COM | 128,010 calls to external COM components. |
WIN32 | 2,572 calls to 355 unique entry-point APIs from 22 libraries. |
GM assisted with the following three phases of the project:
GM and Praxis followed the Tool Assisted Rewrite Methodology. All three phases were completed in nine months with a staffing level of one part-time GM resource and four full-time client developers.
The Custom Upgrade Phase was conducted over a six months period and produced a Custom Upgrade Solution that could be used to automatically rewrite the Praxis EMR codebase to C# with all of the custom upgrade features listed below. On a fast Windows 10 development machine, the custom upgrade process runs, from start to finish, in about 10 minutes generating the 156 application projects and integrating them in a VS2019 solution.
The collection of features integrated and delivered in the Custom Upgrade Solution are summarized below:
COM API/Control Upgrades
Language Upgrades
Structural Matters
Win32
Value Added Features
Thank you, Mark Juras, for all your wonderful help this year. We could not have done it without you!
Sincerely,
Richard Low MD,
CEO Praxis EMR.
Working with Great Migrations, a tech company that specializes in upgrading software, we were able to automatically translate millions of lines of code from Visual Basic Code to C#, thus solving a daunting task and saving our team many years of work. We were left with only about five percent of the code which needed to be completed by hand...
We started on late June 2020 with a test project which was successfully completed and served as a hand-on learning process.
Then (mid-July 2020) we received a pretty complete introductory course to the concepts and usage of gmStudio along with an almost fully translated project of our own code.
We froze development on that baseline code and, with the invaluable help from Mark Juras, we started the journey to transform the translations into correctly executing code.
We received prompt responses to our requests when shortcomings of the tool were found (we cannot call them errors or failures, they mostly related to VB6 idioms we use that were not solved by the general solutions in the tool).
By the end of October, we reached a point where the executables actually ran. We made the decision to stop using gmStudio regularly and start the final stage of the migration finishing the translations. (We did run yet another full translation in November with the latest release of gmStudio to see improvements).
By now (mid-March, 2021) the three applications that compose our product are about 90% complete and we expect to have them fully functional around May.
Some comments on using gmStudio:
I will just add here that gmStudio performed for us better than expected in regard to the overall process.
Miguel Pinkas
Development Manager at Praxis EMR