One option is to use your current software as a frontend, and adopt an openEHR backend. There are some open source options, the EHRServer (the one I created) and Ethercis/EHRBASE (I’m currently working on that one for a German project).
The points of contact with your EMR and the openEHR server would be sending documents using the openEHR REST API. This could be implemented using a middle like Mirth connect to minimize the integration code needed to send data from the EMR to the backend. Then you can use any wiring mechanism available on the server to get your data back. Part of my work is doing such integrations. Hope that helps.