Download current version: Alpha6_1 2015OCT22 http://starfrontiers.org/oemr/Printapatient_dev.zip
Some of you are familiar with the test database tool “PrintaPatient”. This is a massive (exhaustive) expansion of that, ported to HTML5/JS, a windows executable, Mac, and Ubuntu. Current status: estimated 65% complete. Encounters and associated appointments just added with Version Alpha6_1. Future appointments will be added in the next release. Current project item: Refactoring to clean up the output. Only need one INSERT INTO clause for multiple rows of VALUES. This requires bigger chunks of memory when running, but reduces write times and results in a much smaller SQL file output.
INPUT DESIRED: Upcoming Work List:
Determine full list of mime types to be selected for document upload. This section presents a large issue for the HTML5/js version, as it creates a lot of files that would need to be downloaded. Also, there are issues with coming up with some video content such as echo studies and the like. I don’t have any of that stuff. I was thinking about using Openemr instructional videos. This got me thinking about alternate file storage locations for documents or link placeholders and all that. I also do not have a handle yet on how to run this for testing with CouchDB.
Procedure codes and fee-sheet dropdowns: Diagnosis codes are no sweat. We have a list of code categories that will be a standard. It pulls a random selection of 5-15 codes from the ICD10 list, then puts them into a heading category, such as all F codes go into “Psych” etc. Left side of the fee sheet has drop-downs for procedures, right has diagnosis. I have to kill the stuff that is in the default database, and only use the categorization that is available with the “Codes” admin interface. I feel we probably need the ability to supply test data for all code types. I am less familiar with those. I also don’t have a complete CPT list I can parse. ICD-10 PCS is easy enough though.
3. Users. One big failure of current testing environments is the tendency to test code as a superuser/provider only, and in a database that only has a couple of users. Things get freaky pretty quickly when you have more than a handful of providers, and you see a lot more weaknesses when looking at the system from a non-billing provider, enhanced front desk, or other aspect. Plugging 40 providers into the system, and making half of them non-billing type will exemplify some of these issues, like not being able to use the calendar in an all provider view, having authorship of notes being set to whoever the billing provider is, screwingup reporting, and other problems.Harley is assigned to this…
** 4. Billing data.** I have to generate billing table contents, files, and an array of other stuff to make a real-world test scenario. This is some deep stuff. Anyone want to help write some algorithims? We nees a full past billing history complete with 837,835,posted eob html, logs and all that. I would do something with the 270/271 system but that does not work in the main branch anyway.
Could use some help if anyone cares to (or just needs a particular test environment:
Users. I would like to create a list of users with proper salted passwords. I think I can write a library for hashing them (but have never touched RSA stuff, only SHA and MD5), but I am thinking that maybe we should just do a standard list of demo users. That would be easiest. If anyone cares to make a cool list of 20 users or so, each with various roles, then give me the dump from it, that would be a really coool thing. The biggest interest is the ability to have a lot of providers on the calendar, plus a non-provider in every role in the standard ACL. Extended provider data would also be nice. So would full address book entries, and of course, a written list of the user passwords and usernames.
Encounters: How many encounters over what time periods are really useful for testing reporting and the like? Obviously having vitals filled in for every visit would be nice…but what other standard forms? Obviously not CAMOS. What forms might be good to include in a demo package for testing patient reports/CCD/CCR and all that? This will require pretty deep scripts to generate. Table structures for forms with accompanying random data choices for each column in the table would be appreciated, especially if they are clinically relevant.
Appointments: I have this pretty much squared away (I think). If there are any special things desired here, let me know.
Issues and Medications: There has got to be a need for testing things that use these. Any particular values/sets desired?
Documents: I am including .jpg and .png files for patient photos. Expect to see a lot of LOLcats. I also am generating .txt, .rtf, .odt, .pdf, .doc and .htm files. I doubt I can do video files in this round. Anyone have any wants here?
Billing. Oh Boy. First, I need to identify what is really needed in the DB to show everything from Unbilled, Billed, and Paid/charged off items. I think this is limited to just the billing, ar_session, and ar_activity. What else? Do we really need mocked up html from EDI data? Perhaps we do. How to get it? Anyone have good scripts for generating 837’s and matching 835’s that can be uploaded for demonstrations?
http://starfrontiers.org/oemr/Printapatient_dev.zip
…if any of you care to poop on a test install to try one out.
This update merely adds simple encounters.
I am leaving the hole open to shove a list of users in, and to utilize them for the encounters and forms. Thanks for chucking Harley at it. When he manages to find time, it will be a big help.
Currently refactoring to take into account different file and system time issues for the various OS ports.
http://starfrontiers.org/oemr/Printapatient_logic_source.zip
If anyone wants to tap into this to use as a resource for a non-compiled version, or just wants to see what it is doing, here you go.
Version is A6.2 now, and includes encounters and appointments.
Both C++/Delphi7 and GML. I am using GML at the moment, because that will let me export to HTML5/.js Min, native OSX, Native Ubuntu, Android app or whatever (not that we need it on Windows8 phone…but it could do that…sort of).
I somehow don’t think that anyone here can do much with a .gml resource, but you are welcome to it!
Though it actually only has two data struct types, GMLC compiles GML to clean and safe C++ before compiling it (using CLANG) to machine language with level 4 optimization, making it a pretty snappy thing for anything not requiring uber-heavy 3d libraries.