Integration is Language for Robots

HL7 is nothing but a conversation over a cup of coffee

Components of Language

  1. The formation of communicative motivation or reason.
  2. Message composition (further internal or technical elaboration on what exactly to express).
  3. Message encoding (for example, into digital data, written text, speech, pictures, gestures and so on).
  4. Transmission of the encoded message as a sequence of signals using a specific channel or medium).
  5. Noise sources such as natural forces and in some cases human activity (both intentional and accidental) begin influencing the quality of signals propagating from the sender to one or more receivers.
  6. Reception of signals and reassembling of the encoded message from a sequence of received signals.
  7. Decoding of the reassembled encoded message.
  8. Interpretation and making sense of the presumed original message.
  1. Identity verification is important as a step in communication so that each party understands who they are communicating with, especially when dealing with secure information.
  1. Motivation/reason: Caffeine is life and I just woke up.
  2. Message composition: I realized that Bailey was near the coffee machine and that if I played my cards right, I might be able to get that caffeine without moving.
  3. Message encoding: I encoded all that into “Bailey, can you grab me a cup?”.
  4. Identity verification: I can see Bailey in the kitchen and recognize her
  5. Transmission: I spoke those words over the medium of sound.
  6. Noise quality: It’s early, so high quality as there’s none of the typical background noise of SF, such as honking cars or people on nearby Haight-Ashbury trying to relive the 1960s.
  7. Reception: Bailey hears the noises.
  8. Decoding: Bailey knows English and therefore is able to decode the noises to meaning.
  9. Identity verification 2: Bailey recognizes my voice
  10. Interpretation: Bailey understands my noises as an ask for coffee and decides whether she wants to bring me a cup. ¹
  1. Motivation/reason: New Year’s is a conflicted holiday for me.² To reduce that conflict, I want to figure out a plan early.
  2. Message composition: My brother is pretty cool (he’s a clone of me, so judge that as you will), so I thought I’d hit him up.
  3. Identity verification: I use my fingerprint to get into my phone and have an ongoing Whatsapp conversation with my brother.
  4. Message encoding: I typed in “What it do for NYE, bro?”.
  5. Message encoding (actual): Just kidding. I don’t speak that way. I typed “Hey, how’s it going? You have any plans for New Year’s yet?”.
  • Reason to have this joke/duplicate step: The way information is encoded (according to rules of language, social norms, set agreements, etc) matters a ton. These standards help influence understanding on the recipient’s end.
  • Note that I encoded it into writing, which follows different encoding rules than speech.
The US trade deficit to China this year for single-use NYE related garbage will exceed $500 million this year.⁴
You know it’s fun because they’re wearing sunglasses inside at midnight

Same thing, but now for robots

Couldn’t decide between a caption of “Oh shit, no no no this is my nightmare.” and “Just your normal on Market St in SF”
  • JSON
  • XML
  • HL7v2
  • FHIR data format
  • Basic Authentication
  • SAML (Security Assertion Markup Language)
  • API Keys
  • OAuth2 (at least the OpenID authentication piece that’s generally layered in there)
  • JWT
  • TCP/IP
  • HTTPS
  • SFTP
  • SOAP XDS/XDR
  • IPsec VPN
  • HTTPS
  • SSH
  • In the examples of our humans, Bailey was not deaf, so she could hear. Colin was literate and not blind, so he could read.
  • The analogous situation for systems is that they can receive HTTP traffic, MLLP traffic, etc.
  • In the example of our humans, Bailey took the spoken words and reconciled it using her knowledge of spoken English grammar and pronunciation rules into thought. Colin took the written words and reconciled it against his knowledge of written English spelling and grammar rules into thought.
  • Likewise, systems take the encoded format (such as HL7 message) and reconcile it against their knowledge of that format’s rules.
  1. Motivation/reason (trigger point): An EHR user marks that a patient has been admitted into the hospital. This is a set trigger to send information.
  2. Message composition: The system gathers up all relevant information from their database necessary regarding the patient (the demographics, the admitted location, the providers, etc).
  3. Message encoding (data format): The EHR system is set up to send HL7v2 ADT messages, so it encodes the data into that format.
  4. Identity Verification: An EHR will include a sort of system identifier on the message (in the MSH segment). Not a whole lot of authentication with these basic communications.
  5. Transmission (comm method/transport protocol): The connection to the ancillary system is via TCP/IP (specifically MLLP).
  6. Noise quality (security/credentials/auth): The connection is secured by an IPsec VPN.
  7. Reception: The receiving system is a lab system (LIS) that has the capability to receive via TCP/IP (that is to say, it’s literate in TCP/IP). Note: in most cases, the LIS would receive this message after it passes through the interface engine if the HCO has one. For the purposes of our metaphor, the interface engine is really a middleman playing somewhat of a telephone game with us.
  8. Decoding: The lab system has learned the requisite language (HL7v2) and understand the topic of conversation (ADT), so it decodes it to its internal format.
  9. Identity Verification: The lab system recognizes the identifier for the sender in the MSH segment
  10. Interpretation: The lab system interprets the ADT information and updates the necessary internal database tables.
Pictured: Us and the EHR systems of the future. NBD, just hanging, talking about communication, HBU?
  1. Motivation/reason: I’m still wondering about New Year’s. The clock is ticking.
  2. Message composition: I think about the words to ask him again.
  3. Identity verification: I again use my fingerprint to get into my phone and have an ongoing Whatsapp conversation with my brother
  4. Message encoding: I type in another message like, “Hellllooooo. Earth to Colin. What are you thinking?”
  5. Transmission: I transmitted it via Whatsapp communication method.
  6. Noise quality: Not really applicable here. No lossiness.
  7. Reception: Colin’s Whatsapp receives the message and notifies him. He sees the notification and hands this to his translator friend, Amigo, who is bi-lingual and literate.
  8. Decoding and re-encoding: Amigo reads the message and translates mentally to Spanish.
  9. Transmission: Amigo speaks the message over the medium of sound.
  10. Noise quality: The subtle melodies of Maroon Five’s “Memories” wafts in the background, but the spoken sounds make it to him with minimal disruption.
  11. Reception: Colin is not deaf, so he hears the spoken words.
  12. Decoding: He understands the message, as he understands spoken Spanish.
  13. Interpretation: Colin understands my message and thinks about what he is doing for NYE. He still does not respond.
  1. Motivation/reason (trigger point): An EHR user marks that a patient has been admitted into the hospital. This is a set trigger to send information.
  2. Message composition: The system gathers up all relevant information from their database necessary regarding the patient (the demographics, the admitted location, the providers, etc).
  3. Message encoding (data format): The EHR system is set up to send HL7v2 ADT messages, so it encodes the data into that format.
  4. Transmission (comm method/transport protocol): The connection to the ancillary system is via TCP/IP (specifically MLLP).
  5. Noise quality (security/credentials/auth): The connection is secured by an IPsec VPN.
  6. Reception by Redox: Redox has the capability to receive via TCP/IP (that is to say, it’s literate in TCP/IP).
  7. Decoding and re-encoding: Redox has learned the requisite language (HL7v2) and understand the topic of conversation (ADT), so we decode it to our native Data Model (PatientAdmin).
  8. Transmission 2 (comm method/transport protocol): The connection to the ancillary system is via HTTPS.
  9. Noise quality (security/credentials/auth): The connection is secured by Redox authentication and authorization.
  10. Reception by Redox: The lab system is cutting edge and has developed to the Redox API transmission method (that is to say, they are literate in Redox’s HTTPS).
  11. Decoding: The lab system has developed to the Redox API data format (that is to say, they have learned the requisite language — the Redox Data Model).
  12. Interpretation: The lab system interprets the PatientAdmin information and updates the necessary internal database tables.
Without knowledge of the requisite language, Bill the Billing app is stuck smiling awkwardly at his fellow systems

Trust

Check out this live feed into the healthcare technology community. Grahame Grieve is in there somewhere

Conclusion

Takeaways

Definitely not a robot.
  1. Data formats like HL7v2, X12, FHIR, JSON, and XML are just like languages. A system can be really smart and learn a bunch of different languages, but realistically, most systems shouldn’t be Mayor Buttigieg (and know seven languages).⁵ It’s definitely cool and respectable, but it’s just not an efficient use of time for everyone to learn seven languages. Some (like me) struggle mightily to learn languages, like me in my ongoing quest to learn French as an adult. Rather, a translator like Redox can be very valuable in allowing a system to only learn one language (our JSON formats) and focus on their core competencies and unique skills (like playing basketball or helping surgeons manage their cases).
  2. Comm methods like TCP/IP (MLLP), HTTPS, and SFTP are akin to ways of conveying language like speech, writing, gestures, and body language. While humans use and understand many of these, it’s just additional overhead for our computer system friends, so Redox provides value in that a system only has to use one (our Redox HTTPS-based comm method).
  3. There’s a lot of potential for abuse in healthcare, in that the data is valuable and people would like inappropriate access. Authentication methods like OAuth, Basic, and JWT help protect that. Again, there are many possible variations, so Redox provides another layer of value.

Footnotes

--

--

--

Healthcare integration and interoperability advocate. Language learner. Fierce and unrelenting friend of dogs.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Meet the Reinforced Learning Method in Games

We know very little about Human Brain: Artificial Neural Network vs.

Frost Songs: Using AI to Generate Music from Poems

The State of Computer Vision

Materializing Data Bias(2)| FMP

Pinterest ML/AI Use Case

Expert Labs — Guiding the Journey to AI

2 Ways to Build your FAQBot

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Brendan Keeler

Brendan Keeler

Healthcare integration and interoperability advocate. Language learner. Fierce and unrelenting friend of dogs.

More from Medium

Remote Meetings Suck — The art of wasting US$1,500 per employee per month

Figuring It Out

Traveling India with your pet: what to know before you go?

My pet golden retriever Alzu and I somewhere in the rice fields in Sri Ganganagar, Rajasthan on our road trip together

Of Eastern Slopes and Western Work: A Rookie Conservationist’s Journey Through Fish Education