Reading Scanned documents into OpenMRS


Is there an already existing way(module) someone can read scanned documents, process them and later save the information into respective OpenMRS tables? I have a use case where clinicians are seeing patients using paper forms, then scan the form for processing. The goal is, one should be able to find the information in the OpenMRS for decision making and reporting needs.

Ideally, if there is anything that can interpret those check boxes, option buttons that are checked/shed and maybe link those to respective concepts, then push to the encounter/obs table would be helpful, and if it is NOT there, then suggestions on how I can achieve those will be great. @dkayiwa @darius @pascal @burke


@ningosi you could look into the Visit Documents module by @mksd for capturing and storing the images in the patient profile. Obviously transcription will be a different path

It has been refactored into ‘Attachments’ and version 2.0 shall be part of the Ref App!

@ningosi it doesn’t do anything like processing scanned documents though. But should you want to put that on its roadmap, let me know and we could discuss this further with the community. I suspect that it wouldn’t be a small piece of work…

@ningosi, I do not know of any existing work on processing and interpreting scanned documents. It would be cool, but as Dimitri says it will probably take a significant amount of work.

Can we discuss this in details during the OpenMRS conference in Malawi? If this feature is available, I assure you things will be good for OpenMRS @christine can we get time slot for this?

@ningosi I won’t attend the conference, so if you want to discuss the Attachments module specifically we will have to do it remotely.

@ningosi, I suggest that if you want to have a constructive conversation about this you should do some preliminary research to find existing open source libraries that could do some or all of the image recognition and scanning.

(Otherwise the outcome will be: could be done in theory but someone will have to write too much code.)