Here is the most common form of clinical lab interface I encounter:
- Secure network connection: TCP/IP over a Cisco VPN
- Bi-directional: orders from client to lab, results from lab to client
- client has a TCP/IP client for sending orders to the lab
- lab has a TCP/IP server for receiving orders from the client
- client has a TCP/IP server for receiving results
- lab has a TCP/IP client to sending results
- HL7: perfect it is not, but it is common and well-understood
- Assay ID translation: someone has to map the client's test codes to the lab's, or vice-versa
(The specs include the mapping of test codes across menus, by the way. Why that mapping often gets left as an exercise to the programmer I will never understand.)
It is becoming increasingly common to set a target of 24 hours for bringing up such an interface: if you have a working interface framework and a reasonably seasoned team, this should be quite doable.
So-called Direct Interfaces are becoming more talked about. I have yet to see one deployed in the real world in my consulting practice, but I like the idea. In theory this would cut do the network configuration time, but I suspect that the added x509 certificate wrangling will often more than make up for it.
So why does it take days or weeks or even months to get an interface up and running? In my experience, the roots causes are two: bureaucracy and misaligned agendas.
The bureaucracy means that I have spent the majority of my time on projects like this walking from cube to cube, paperwork in hand, looking for permission to connect to another organization. Or hours on the phone, chasing up-to-date, accurate specs and precise explanations of terms like "alternate patient ID".
The misaligned agendas make pulling together in the same direction difficult:
- The client's lab wants that labor-saving, time-saving, money-saving interface.
- The client IT department does not want to expose a chink in their armour, which chink will likely never get closed and which chink will be used by an interface which must run 24/7 and always be up.
To many IT ears, this sounds like a lot of work, some real money and an on-going obligation with little upside and huge potential downsides. So the network folks become what my firm calls "stoppable"--any hitch in the plan brings them to a halt. Who knows? If they delay long enough, maybe the project will go away....
So why is it so hard, take so long, often have never-resolved issues? Because navigating bureaucracy is exhausting and overcoming organizational inertia takes a long time.