Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

sequencial or concurrent hl7 message processing

I was wondering what kind of concurrency models do folks do to process inbound hl7 messages (adt,...) and persist them in a normalized data model (relational or no-sql).

I am struggling with the thought of sequential message processing (mapping to a nosql db) and multi-threading when transforming/processing them from the (java, .net, whatever):

example: if I process messages received and transformed by clover leaf (transformed to be compliant with an internal web/rest api expected payload), and set to an internal web/rest api server (multi threaded java web app) then i can't guarantee I am parsing the messages sequentially due to threading.

if I process messages sequentially then mapping will be slow...

like image 629
Sbham Avatar asked Jul 21 '26 18:07

Sbham


1 Answers

Whether you can process the messages asynchronously depends on the characteristics of the messages, and your processing logic. Consider this sequence:

  1. you get a registration for a new patient
  2. you get an episode listed against the patient
  3. you get a merge message merging the new patient with a different patient

If you process the last message before the second last one, what happens? will you treat it as an error because you have a new episode on a merged patient?

This is why there is no simple answer to the question. It depends

like image 83
Grahame Grieve Avatar answered Jul 28 '26 04:07

Grahame Grieve



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!