Message flow question

Clovertech Forums Cloverleaf Message flow question

  • Creator
    Topic
  • #122125
    Mischa Aussems
    Participant

      Hi there,  I have a question about message flow.

      If a receiving system would be down for some time (say a few hours) the messages are buffered in the recovery database. Say during that time a patient gets admitted (ADT A-01 message). The receiving system does not receive this message so it will be stored in the recovery database. Let’s say a few thousand messages are stored during downtime in the recovery database. When the receiving system gets back online how will messages in the recovery database will be prioritized related to real time messages. Right after the system is online again the patient would be discharged (ADT A03 message) what will be the flow of messages. Will real time messages be halted untill the recovery is empty or would they be processed in parallel. In the last case it would be possible for a receiving system to first receive an ADT A03 and then the ADT A01. So a patient would stay inpatient in that receiving system.

       

      What would then be the best approach to handle a planned outage of a receiving system for a few hours?

       

      regards

       

      Mischa Aussems

       

       

    Viewing 3 reply threads
    • Author
      Replies
      • #122126
        James Cobane
        Participant

          Mischa,

          The Recovery DB is going to process the messages in a first in, first out (FIFO) basis unless you have code in place to change the message priority.  So, messages should queue in the order they are received.

          Depending on volume, just allowing the Recovery DB to handle the data is the path of least resistance (i.e. let it queue).  We have a couple of MDM interfaces that have very large messages, so for those we have some thread forwarding configurations in place to write messages to file then when the system comes back up, we read from those files at given pace to not overwhelm the receiving system.

          Jim Cobane – Henry Ford Health

        • #122127
          Mischa Aussems
          Participant

            Hi Jim, I knew how the recovery db would handle the messages. But it takes some time for the recovery database to process all the queued messages but what happens when during that processing a real time message is received? Does the system proces that message AFTER the processing of the message in de REQ DB or simultaneously? if it’s after the order from the sending system can be guaranteed. If is simultaneous the order can’t be guaranteed since a realtime ADT-A03 can be processed real time while the ADT-A01 (or an A02) can still be in the queue of the REQ DB.

            The receiving system gets a discharge message for a patient that is not yet admitted, so it will not be processed then later on when the A01 from the recovery is sent it will admit the patient and will never receive a discharge again.

             

            regards

            Mischa

          • #122129
            Jim Kosloskey
            Participant

              What should happen is the newly arriving messages should go to the end of the queue and be delivered when it is their turn.

              In your scenario the A03 should not arrive before the A01.

              email: jim.kosloskey@jim-kosloskey.com 30+ years Cloverleaf, 60 years IT – old fart.

            • #122130
              Mischa Aussems
              Participant

                Thanks, that’s what I wanted to know.

                regards Mischa.

            Viewing 3 reply threads
            • You must be logged in to reply to this topic.