I'm giving a presentation tomorrow at a pre-conference session at HIMSS Jeddah. My part of the presentation is to cover Interoperable eHealth Exchange, and basically defines the key terms that will be used by the rest of the presenters. So of course I have to define Interoperability, and I've also been asked to discuss Semantic Interoperability.
For me, the difference between simple interoperability and semantic interoperability is the difference between using the information that has been exchanged, and actually understanding that information.
Consider the basic HTML page. The browser doesn't really understand the sematics of the content, it only knows what to do to display the information. When you get into HTML 5 though, there is some markup that actually conveys semantics (see new tags added). E-mail clients are getting better at this too. Apple's e-mail client in iOS identifies package tracking numbers, phone numbers and dates and times, and can do interesting things with these, such as take you to the tracking page, add the number to a contact list, or put something on your calendar. This really highlights the difference between simple interoperability and semantic interoperability.
Using CDA, simple interoperability is what we get when we simply exchange and display CDA documents. Semantic interoperability is what happens when we are able to import the contents of a CDA document into a system, instead of just view it and let the reader understand what is inside.