Stream: implementers
Topic: Hospital HL7 message traffic
Mat Coolidge (Mar 31 2016 at 14:49):
Anyone know how many HL7 messages a large hospital system might see in a day?
pete welch (Mar 31 2016 at 15:00):
Yes, but there's a big "depends." At a large public hospital in NYC we saw about 700,000 messages per day which accounted for almost all unique EHR transactions - including ADT activity of about 15,000 per weekday. A large portion of that activity involved the 100 or so clinics operating under the same EHR. Also, most EHRs, aside from McKesson's, won't dump out all transactions so you might get just diagnostic and medication traffic without most documentation events (clinical progress notes from the various caregivers). In any established environment there will be separate HL7 streams to and from each ancillary system: radiology, pharmacy, lab, cardiology, etc. If you count each message from those you'd end up with more messages per day because of the redundancy, perhaps.
Mat Coolidge (Mar 31 2016 at 15:34):
Thanks Pete! We were just spitballing some numbers to compare to our web service traffic
Mat Coolidge (Mar 31 2016 at 15:35):
We are currently pushing around 200k rest requests per day
James Agnew (Mar 31 2016 at 17:58):
That sounds about right for our large hospital in Toronto too.
Grahame Grieve (Mar 31 2016 at 19:41):
I've heard of >20,000,000 per day
Grahame Grieve (Mar 31 2016 at 19:41):
across a network
Grahame Grieve (Mar 31 2016 at 19:41):
and this is the scale at which the NHS backbone operates
pete welch (Mar 31 2016 at 20:26):
Grahame, in my example I helped build the specialized HL7 "everything" interface. Each clinical transaction in the EHR - order, result, documentation event and so on, triggered an outbound message that I parsed into various data marts. Hospital size - about 750 beds. To get more than the 700,000 per day would mean counting redundant message streams - like pharmacy that could have a stream to a Pyxis system and an equivalent stream to a medication dispensing robot but not enough to get to your number. You might be referring to some of the larger hospital systems which would indeed have a huge combined traffic at the 20,000,000 per day level.
Grahame Grieve (Mar 31 2016 at 20:40):
well, combined healthcare systems - multiple hospitals across a region, or a single server for a whole state.
pete welch (Mar 31 2016 at 20:59):
Yes, Mat did say large hospital system -- I interpreted that as a single hospital. A good ballpark would be 500,000 messages per hospital.
pete welch (Mar 31 2016 at 21:05):
This does lead to a follow-up question: is the REST/FHIR combo capable of that scale? Ewout's server does about 4 fhir message bundle posts per second on average hardware (8 cores, 16GB ram) in our current testing.
Grahame Grieve (Mar 31 2016 at 21:07):
technically, yes, it's capable of that. but a particular server solution has it's own set of choices to make. the general purpose servers will be slower, since they handle information generically, and over-index.
Grahame Grieve (Mar 31 2016 at 21:08):
my server can do 10 transactions a second (enough for that scale) on my laptop, but it's prone to deadlock issues.
Grahame Grieve (Mar 31 2016 at 21:09):
but you can throw resources at the problem, parallelise parts of it, pare back the indexing, optimise for the specific problem...
Grahame Grieve (Mar 31 2016 at 21:09):
in principle, REST can scale to social web levels- it's about the what you do behind the front door
pete welch (Mar 31 2016 at 21:10):
That's where the heavy load of fhir resource validation/conformance shows up, I guess.
Grahame Grieve (Mar 31 2016 at 21:13):
yes. validation too - how much of it do you want to do in production. often the answer turns out to be, none
Brian Postlethwaite (Mar 31 2016 at 22:08):
These transaction "messages" very much depend on the resource content also.
Handling a 80k concept codesystem resource (single resource) might take some time to process in, vs a simple POST of an observation. And then there are all the search/get requests that shouldb be much faster as there are no (or little) updates invovled.
Brian Postlethwaite (Mar 31 2016 at 22:08):
As Grahame points out, its what the server does behind the wall.
Kevin Mayfield (Apr 01 2016 at 05:32):
(UK NHS Hospital/trust) Message (hl7v2) transactions: about 100K messages (5-10 Gig Byte). Don't have transaction figures for non messaging systems (mainly FHIR) but it's handled 30+ Gig of data fine per day.
Paul Knapp (Apr 01 2016 at 13:03):
@Grahame Grieve: for what scenario would you propose no validation in production?
Grahame Grieve (Apr 02 2016 at 04:44):
well, what I've often seen is that you have a double of validation - the full validation, and the business rules validation. If you work up the system using full valdiation in prototyping, it should all be good in production. But often it's not; it turns out that real daily clerical practice violates the assumptions that were made, and applying validation introduces operational issues, while not solving any problems. Often, in these caes, people start turning validation pieces off, and then eventually all of it
Grahame Grieve (Apr 02 2016 at 04:44):
note that I'm not proposing anything. I'm merely observing
Paul Knapp (Apr 03 2016 at 13:04):
You are referring to content models exchanged within an organization? If so I can see where that can make sense, in particular because 'what you are doing ' is actual not theoretical. But for content models exchanged between parties there will be some form of relatively complete validation and here again how that is implemented depends on many factors - xml validation requires a lot of additional machinery to try to get anywhere near comprehensive so if people choose not to implement that then what you often see is the least possible xml validation and all the rest at the business level. Either way for processing systems they may record that they got something before that validate but I expect they will validate completely, whatever that means for them, before they process or before they commit the processing.
Grahame Grieve (Apr 07 2016 at 20:47):
well, perhaps a way to express is that often, people start out doing comprehensive validation and then they reduce it to the minumum needed in order to accomplish their task. note that I don't recomend this; I merely observee that it happens
Last updated: Apr 12 2022 at 19:14 UTC