Healthcare Data and Postel’s law. Computer Says Yes.

Tim Gentry
2 min readFeb 18, 2022

--

Jon Postel was referring to Transmission Control Protocol (TCP) implementations when he stated that they should follow a general principle of robustness:

be conservative in what you do, be liberal in what you accept from others

As wikipedia explains:

In other words, programs that send messages to other machines (or to other programs on the same machine) should conform completely to the specifications, but programs that receive messages should accept non-conformant input as long as the meaning is clear.

TCP is one of the protocols that make the internet work. Still, you can apply the principle more widely to data processing, especially healthcare data, where that liberalism needs to be about how you receive data so that data providers can concentrate on the quality and completeness of data they’re sending.

For example, even when you mandate that providers submit XML, you can still receive gibberish in a CDATA section of a schema-conformant file. At this point, you have two options.

Option 1. Flag the file as being invalid and chastise the provider.

Option 2. Recognise that the meaning is clear once you realise it is a Base64-encoded Word document. Then you update your ETL engine to transparently decode Base64 strings, convert word documents to plain text (go Ollie 🙌) and thank the provider for such rich clinical information.

That example doesn’t go far enough. Many Trusts will only upgrade individual systems when absolutely necessary. With those system outputs infrequently changing, the meaning can be clear when processing all sorts of files. To this day, the National Disease Registration Service (NDRS) loads Zip files of hundreds of PDF Pathology reports and many other filetypes, turning it into structured data in their systems.

As Sarah Winters says in her brilliant book, Content Design:

Don’t force readers to work your way. Work theirs.

Readers are users. Don’t force users to work your way. Work theirs.

Are you looking for an event-based world? You could, for example, apply Postel’s law to turn batches of data into FHIR messages giving you a complete message-based ecosystem now, rather than wait the decade it will take to upgrade the whole system to use messaging.

You can also go even further and not even need a batched file of data. Turn streaming RS232 serial data from the back of hospital equipment, like an anaesthetic machine, into MQTT or FHIR messages.

And you shouldn’t give up if the meaning isn’t immediately clear, either. Instead, use every tool at your disposal to try to understand the data: subject matter expertise, regular expressions, SNOMEDCT graphs, Damerau–Levenshtein distance, everything. And feed back to providers to validate your thinking and embed those confirmed transformations into your ingestion process for future submission, rather than just say, “computer says no” (but without the cough).

--

--

Tim Gentry

Passionate about improving health outcomes, using data. Data and tech geek. Views mine.