Well, since you know Java, I have heard good things about
medsphere.com's Java interfacing code i.e. OVID
Here is a link to a whitepaper on OVID:
http://www.medsphere.com/ovid-white-paper
and the OVID home page.
https://medsphere.org/community/project/ovidAs to the GUI stuff, it is always a good idea to do things small and then add to them. So something small would be, for example,
to write a GUI that allowed you to choose a patient and retrieve
some very simple information about that patient. I expect that you could just use the RPC call used by CPRS. i.e.
Select REMOTE PROCEDURE NAME: ORWPT PTINQ
ANOTHER ONE:
STANDARD CAPTIONED OUTPUT? Yes// (Yes)
Include COMPUTED fields: (N/Y/R/B): NO// BOTH Computed Fields and Record Number
(IEN)
NUMBER: 319 NAME: ORWPT PTINQ
TAG: PTINQ ROUTINE: ORWPT
RETURN VALUE TYPE: GLOBAL ARRAY WORD WRAP ON: TRUE
DESCRIPTION:
Returns formatted patient inquiry text for display in GUI environment.
You can also use this link and put in the name of the REMOTE PROCEDURE:
http://apidocs.medsphere.org/openvista-server/latest/CPRS Broker Call log of Remote Procedure:
ORWPT PTINQ
Params ------------------------------------------------------------------
literal 123
Results -----------------------------------------------------------------
ADAMS,N EVES 112-23-3445 JAN 1,1919
=============================================================================
Address: UNKNOWN/HOMELESS Temporary: NO TEMPORARY
<etc>
Code definition:
PTINQ(REF,DFN) ; Return formatted pt inquiry report
K ^TMP("ORDATA",$J,1)
D DGINQ^ORCXPND1(DFN)
S REF=$NA(^TMP("ORDATA",$J,1))
Q
The task ahead of you, of course, is going to be to understand HOW to use all the stuff I just told you to make your simple GUI.
But I think that can be done.
David