Project - Hybrid App with Image Processing

@mdsupport , timelime for the GSoC projects are not meant for immediate results:
https://summerofcode.withgoogle.com/how-it-works/#timeline

@im-Amitto , would be good to develop a list of features to support (barcode/qr scanner would be good since could be used to support @Rachel_Ellison work on implantable devices). Also, will this app be to support OpenEMR users or OpenEMR patients or both?

@brady.miller All suggestions are centered around images which was @im-Amitto’s original proposal. They are also expected to be few lines invoking built-in device services i.e I hope he won’t be writing qr image analyzer code but rely on other app if necessary to provide text object. Same would be true of video or photo features.
But sure.

1 Like

@mdsupport , btw, agree there is a need for telehealth with covid (this is something the institution I work at is trying to tackle now that we are migrating patients that don’t need to be seen in person to phone visits); just that goal for gsoc students at this time is to get their proposals in :slight_smile:

The current OpenEMR API supports OpenEMR users(ie. providers) auth, but not patient auth. If need to support patient auth, though, it wouldn’t be too tough to add support for that.

1 Like

Thanks for the ideas @brady.miller and @mdsupport.
After hearing thoughts I have planned to implement the feature shown below.

  1. Create a chat system
  2. Test the chat system for stability and security
  3. Add image/video support to the chat system.
  4. Add video call feature.
  5. Add a barcode+QRcode scanner
  6. Add a text recognition system(beta) to read medicine names.

We will see how many I can complete before March 29.

Also, I am assuming that this app is for both patients as well as users/admin because we are adding features that can benefit both sides.
Now a few questions that I have.

  1. Do we have a chat system in openemr, if yes then I will be extending it to the app or else I will develop it from scratch that can be extended to the openemr?
  2. Any suggestions for the secure video calling implementation.
  3. How the patients will find the doctor, do they need to enter their email to initiate the conversation or it will work like Facebook.
    Thanks
    -Amit
1 Like

Hi Amit,

For provider to provider messaging they use a sql table called pnotes.

So to send a message you’d need to send a command to the SQL database, you’d need to know the login username of the person you’re sending the message to and the patient the message is about. The text goes in the body field.

1 Like

There’s also the ability for patients to send messages to their providers through the patient portal.

When a patient sends a message there are two copies stored in the database. A copy for the clinician and a copy for the patient. That way they each can delete, archive, etc. their copy.


This is table onsite_mail

1 Like

Thanks! for the explanation.

Hey @brady.miller,
I have submitted the draft on gsoc dashboard, let me know if their is any changes required.
Thanks
-Amit

1 Like

Hi @brady.miller,
Just wanna update you with current situation. It’s been a week since my laptop stopped working, you must have already noticed my inactivity. I have asked a friend of mine to lend his laptop and i will receive it by end of this day or in tomorrow morning.
See you @ GitHub :slight_smile:
Thanks
-amit

2 Likes

hi @im-Amitto , thanks for the update! and see you on github :slight_smile:

1 Like

@im-Amitto yes missed you a lot on github :sweat_smile:

1 Like

@brady.miller @mdsupport @sjpadgett
Updated the HOME UI. Let me know your thoughts :slight_smile:.


Next Target: QR/Barcode scanner functionality
Thanks
-Amit

2 Likes

@im-Amitto,
When it comes to UI, start with a target profile for the user and form-factor. For example,

  • For a physician using tablet in the examination room, the ‘Home’ could be list of today’s appointments > Issues for selected patient > Check resolved issues or add new issue using list of common issues
  • For same physician visiting hospital, ‘Home’ could be list of patients at a facility where facility is arrived at by using GPS so without asking app can leverage features commonly available on mobile devices. Always provide fallback of user overriding the selection. From the list patients it could be > create encounter and record total time spent. Details of encounter may not be entered in this EMR but separately in that hospital’s system but billed through this EMR.
  • If logged in user is patient, the ‘Home’ would be completely different.

So it is important for you limit the scope and do it well to get feedback on interface elements - be it lists or cards etc. You always have the expanded menu to provide full scope, including upcoming features.

Currently i just created a quick HOME UI so one can easily test the functionalities.
Once i will be done with the api for patient login and few GUI functionalities i will develop the interface as you suggested.
Also, we can allow the user to customize the interface as per his need similiar to smartphone where we can order apps and widgets.
Currently present scrollbar(Teleheath/Tools) are common UI which will automatically move to the bottom once i start customizing it based n user.

@RachelEllison
I have added the QR/Barcode scanner to GitHub - openemr/app-flutter-openemr: app-flutter-openemr. Currently, it scans and copies the scanned data to the clipboard.
Can you please tell me how the scanned code is saved or used in the openemr system so I can connect them.
P.S. Let me know if you plan to build the app and face any difficulty

Hi Amit,

Great job so far. So there’s a couple of places I can think of where you’d need the barcode/QR code scanner.

Let’s start with vaccines:

Vaccines generally use 1D barcodes to encode vaccine ID, CVX.
https://www2a.cdc.gov/vaccines/IIS/IISStandards/vaccines.asp?rpt=cvx
But are trialing 2D (QR)
https://www.cdc.gov/vaccines/programs/iis/2d-vaccine-barcodes/index.html
But there’s another type of vaccine ID system VIS.
https://www.cdc.gov/vaccines/programs/iis/code-sets/vis-barcode-lookup-table.html

Basically, see whatever information you can pull out from the barcode. If it’s VIS you’ll want to look up the VIS/CVX mapping.
https://www2.cdc.gov/vaccines/iis/iisstandards/vaccines.asp?rpt=cvxvis

The information in the barcode and on the label + other information e.g the clinician name, date, etc. is logged into a SQLtable “immunizations”, and “immunization_observations”.


To get info on what options to put for route, and administration site look at Administration -> Forms -> Lists and look up drug routes. For administration site, look up Immunization administered site list.

You can look this up with SQL query: SELECT * FROM list_options WHERE list_id = “drug_route”

and

SELECT * FROM list_options WHERE list_id = “immunization_administered_site”

data in returned column list_id will be a reference to that option throughout the codebase. The title field should get translated from language to language.

2 Likes

Next Target:
Checkpoint 1. Implement Patient Finder
Checkpoint 2. Edit Immunization

Sounds good?
@brady.miller @RachelEllison @mdsupport

2 Likes

@brady.miller @sjpadgett @stephenwaite @RachelEllison
Update:
New Patient List Implementation


This patient list can be easily moved to the home screen same as clock widget in smartphone.
P.S. Icon is based on the gender
Thanks
-Amit

1 Like

Make sure to build some intelligence in the list. Many practices could have 1000s or 10000+ records. On small form factors any list beyond 15-20 hits degrades user experience.

I would also recommend that you go to pharmacy and take pictures of few packages - medications and injections. Be sure simulate real world for image quality, background and effort involved vs manual data entry. Then review how well formatted the recognizable data is. That will guide your next steps.

@mdsupport The List constructor creates items as they’re scrolled onto the screen and automatically destroy the previous ones so no need to worry about performance degrade or high ram usage.
Currently my city is under total lockdown till April 14 thus we aren’t allowed to leave home till their is a emergency. I will grab some once the lockdown gets over.
Thanks
-Amit