The solution we designed calls our custom .dll to pull data directly from the application database:
Our custom .dll then uses a native .dll from the application to open the document natively for editing:
A different custom .dll for searching and selecting physicians: