Craig Weldy

Forum Replies Created

Viewing 15 replies – 1 through 15 (of 37 total)
  • Author
    Replies
  • in reply to: Delay Sending Messages #85897
    Craig Weldy
    Participant

      Van,

         There may be more elegant ways to go about this, but in the past what we have done in this situation is to put a tcl script on the “TPS inbound data ” side of the thread coming from the sending system (SEND_SYS_IN).  The script will look for A38 messages and write the whole message to a file (one message per file).

           Then I have a cron entry that starts a unix (AIX system) shell script every hour that looks at the directory where the files are written and finds every file that is more than 24 hours old and using the command line version of the cloverleaf commands, replays the messages on a second inbound thread (REPLAY_THREAD_IN) used specifically for the message replay.  Both the initial inbound thread and the replay inbound thread are routed to the outbound thread to the receiving system.

                 SEND_SYS_IN  ============>  REC SYS_OUT

                                                              /

                                                           /

                 REPLAY_THREAD_IN ====/

           Any Xlating that needs to be done can be done on the route from REPLAY_THREAD_IN to REC_SYS_OUT.

      Let me know if you have any questions.

      Craig Weldy
      Senior Interface Analyst
      Beacon Health System
      South Bend, In, 46615

      in reply to: segment to "root" hl7 formats directory #74219
      Craig Weldy
      Participant

        I mirror what James and Ross stated, that I use the master site option and don’t put any interfaces in the master site.  But I only use it on my production server.

        I found that you can only have one master site per server.

        On my test server, I run up to 3 copies of my production environment (15 sites each) depending on the current projects in the pipe.  Since I don’t want all of these environments to use the same master site, I use the symbolic link method to tie each of the environments to its own “master site”.

        I am hoping that the one master site per server restriction will be changed in the future.

        Craig Weldy
        Senior Interface Analyst
        Beacon Health System
        South Bend, In, 46615

        in reply to: Cloverleaf 6.1.2 SMAT DB corrupted #84565
        Craig Weldy
        Participant

          Helen, are you using encrypted SMATDB’s?

          I found that since the engine is running as user “hci” if you are logged in as yourself and you try to do anything to the encrypted SmatDB files it will corrupt them.  Once that happens, there is no going back.  Stop the thread, delete the SmatDB files, restart the thread and move on from there.

          Craig W.

          Craig Weldy
          Senior Interface Analyst
          Beacon Health System
          South Bend, In, 46615

          in reply to: Cloverleaf 6.1.1 – Smatfiles DB #84164
          Craig Weldy
          Participant

            The only issue I know about like this with smat files was that if the disk partition (AIX) your cloverleaf root directory is in (/hci) reaches 90% full, cloverleaf will automatically stop writing to smat databases (probably to prevent filling up the disk and having cloverleaf crash).

            To help prevent this, I have a softlink that I place in each SmatHistory folder named HISTORY which points to a seperate partition called “/smathist” that has a directory for each process.  Then every week I move any smat databases in SmatHistory that are older than one month into the HISTORY folder.  This helps keep my SmatHistory folders clear, and I can keep as many smat databases as disk space allows without causing any issues with Cloverleaf.

            Also, with the HISTORY link being in the SmatHistory folders, you can get to them directly using the smatdb tool or with global monitor.

            NOTE:  if you are encrypting your smatdb’s, then make sure your cron job is running as the same user that your cloverleaf application runs, or you will corrupt your smatdb’s by trying to move them (learned the hard way).

            SITE:

               prod_ADT

                     Process:

                            ADT1

                                Thread1.smatdb

                                Thread2.smatdb

                                SmatHistory

                                       Thread1.20160505.smatdb

                                       Thread2.20160505.smatdb

                                       HISTORY  (softlink to /smathist/ADT1)

                            ADT2

                                 Thread3.smatdb

                                 SmatHistory

                                       Thread3.20160505.smatdb

                                       HISTORY  (softlink to /smathist/ADT2)

            /smathist

                 ADT1

                       Thread1.20160405.smatdb

                       Thread1.20160305.smatdb

                       Thread1.20160205.smatdb

                       Thread2.20160405.smatdb

                       Thread2.20160305.smatdb

                       Thread2.20160205.smatdb

                  ADT2

                       Thread3.20160405.smatdb

                       Thread3.20160305.smatdb

                       Thread3.20160205.smatdb

            Craig Weldy
            Senior Interface Analyst
            Beacon Health System
            South Bend, In, 46615

            in reply to: Operation on each field #83795
            Craig Weldy
            Participant

              Tahir,

                  We have found that you probably don’t want to change every field in an HL7 message to Mixed case, just those in the Name/address/notes type fields.  If you have a department code “ECC” and it turns into “Ecc” it may not be received well by the receiving system.  

                  I run an Xlate shop so in my xlates I put a .xltp script on any field that I want to convert to mixed (code is included below).

                  It adds a little work up front, but I find it is much easier to include or exclude the script as you find fields that you want to change to mixed and those that you don’t want modified.

              FILE:  tomixedcast_xltp.tcl

              proc tomixedcase {} {

                 upvar xlateId       xlateId        

                   xlateInList   xlateInList    

                   xlateInTypes  xlateInTypes    

                   xlateInVals   xlateInVals    

                   xlateOutList  xlateOutList    

                   xlateOutTypes xlateOutTypes    

                   xlateOutVals  xlateOutVals

              set inp [lindex $xlateInVals 0]

              if { $inp > ” ” } {

                foreach el $inp {

                   set el [string totitle $el]

                   lappend outList $el

                }

                set xlateOutVals

                ]

                } else {

                  set xlateOutVals

                  }

                  }

                  Hope it helps!!

                Craig Weldy
                Senior Interface Analyst
                Beacon Health System
                South Bend, In, 46615

                in reply to: gzip-ing smatdb files #83712
                Craig Weldy
                Participant

                  I ran into the same issue with CL 6.1.1.   What I have found is that since I am running with the SMATDB encrypted, and the engine runs as user “hci”, if I try to do anything with the smatdb files as a different user, they are corrupted and can’t be accessed again.   You can’t even move the files to another directory as a different user.

                  From what I have seen, it dosn’t help much to gzip the smatdb files anyway, they don’t compress much.  For long term storage I am looking at converting them to the old smat file format and then gzipping them up.

                  I have not finished working out this process yet.  For the time being I have created an additional partition on my box with more storage space /smathist and in each of the process directories in the SmatHistory directory (if you have smat history turned on)  I am creating a soft link (AIX os) to /smathist/ and naming it “HISTORY”.  Then any smat files older than 60 days I am moving to HISTORY.  This way when you are in the smatdb tool you can drill down to files in the SmatHistory folder and in there is another filder called HISTORY where you can see everything that is on the additional partition.

                  I am currently working on the script that will go through all the process directories and create the link if it dosn’t exist and move the older files to the HISTORY folder/link.

                  Craig Weldy
                  Senior Interface Analyst
                  Beacon Health System
                  South Bend, In, 46615

                  in reply to: Reroute ACK/NACK #80316
                  Craig Weldy
                  Participant

                    Sorry for the confusion, all of the threads (in/out) are in relation to cloverleaf.  When I have a thread with “out” in the name I am sending a message to a system outside of cloverleaf.  When I send a message out, I am expecting to get an ACK back to that thread from the external system.

                    The problem is that the external system is not sending the ACK back to the thread that sent it the message, it is sending the ACK in the normal data flow to a different thread that is Inbound from that same external system.  It is not coming back to the original outbound thread as an acknowledgement that they received the message I sent out.

                    Hope I didn’t just muddy the water even more.

                    Craig Weldy
                    Senior Interface Analyst
                    Beacon Health System
                    South Bend, In, 46615

                    in reply to: Trouble Starting Monitor Daemon #79509
                    Craig Weldy
                    Participant

                      Robert,

                          Thanks for the reply and you hit the problem right on the head.  I passed the info to one of my SA’s and he had it reset in no time flat.

                          Thanks for the help.

                      Craig Weldy
                      Senior Interface Analyst
                      Beacon Health System
                      South Bend, In, 46615

                      in reply to: 6.0 Update #77339
                      Craig Weldy
                      Participant

                        There are Cloverleaf 6 Roadshow’s going on across the country.  Check on the one closest to you!

                        https://usspvlclovertch2.infor.com/viewtopic.php?t=6126&start=0&postdays=0&postorder=asc&highlight=

                        Barring production issues, I will be at the one in Chicago in just a couple weeks.

                        Craig Weldy
                        Senior Interface Analyst
                        Beacon Health System
                        South Bend, In, 46615

                        in reply to: CL 5.8 – Inter-Site routing support. #71624
                        Craig Weldy
                        Participant

                          Stefan,  to answer your question, you should only use the inter-site routing if that is the best tool for the job.  For those of you with unlimited thread licenses, you will probably not use it, you can keep using the additional threads to pass data from site to site.  

                          If on the other hand you are paying for each thread license used, only having to use 2 licenses to pass data from an inbound thread in one site to an outbound thread in a second site, is much better than having to pay for 4 licenses to do the same thing.  Just the use of this new feature made me a superstar to by boss, since I was able to split my threads up between 5 sites instead of cramming them into 2, they process faster as a whole and I didn’t have to buy a bunch more licenses to make it happen.

                          Inter-site routing is just a tool, and like all tools it should only be used when it will solve a problem.  If I had unlimited licenses, I would probably not use it since there are some things about it that I need to work around, but these issues are small potatos compared with the solution it has provided for me.

                          Still needs some work, but I feel like they created this feature just for me!  Thanks guys!

                          Craig Weldy
                          Senior Interface Analyst
                          Beacon Health System
                          South Bend, In, 46615

                          in reply to: CL 5.8 – Inter-Site routing support. #71621
                          Craig Weldy
                          Participant

                            Simone,

                                I agree with you that I love this new feature.  We just went live with 5.8.5 last Wednesday and so far so good.

                                You had mentioned that you couldn’t remove the bad messge from the database, you should still be able to use the message id [0.0.0] to specifically locate and remove any message that is there.  I have not tried this yet in the new version but it always worked in the past.

                                I have not run into the problem with the bad message yet, but my biggest issue is one that is know and in the release notes.  The problem that if you take down a thread with an inter-site routeing port, you can’t bring it back up right away because the OS has not released the port yet, and the whole process panics and shuts down.   I have just had to create a script that takes the thread down, waits for 10 min (the safe amount of time it takes to release the port on my system [AIX]) and then brings it back up.   With this I have been able to successfully deal with any hung threads I get from time to time without taking down whole process.

                                 But I am waiting for any word that there is a fix for this little challenge!  

                            😀

                            Craig Weldy
                            Senior Interface Analyst
                            Beacon Health System
                            South Bend, In, 46615

                            in reply to: How to use purge cache command #76631
                            Craig Weldy
                            Participant

                              I tend to only use the purge cache command when I have modified an entry in a lookup table and want the process to reread the table with the new entry.

                              If I make any other modifications to processes, threads, scripts or xlates, I always bounce the process.  Perhaps overkill but from past performance, that is how I use it.

                              I have never seen a situation where existing xlates where messed up through purging cache.  Unless of course you had added the last line and that was what you where trying to have take effect through purging the cache, then I would expect that which was added to not work.

                              Craig Weldy
                              Senior Interface Analyst
                              Beacon Health System
                              South Bend, In, 46615

                              in reply to: Inter-Siter Routing with Cloverleaf 5.8 #75829
                              Craig Weldy
                              Participant

                                I think the real advantage of the inter-site routing in 5.8.5, is for the smaller shops that have to pay for each individual thread license.  I can’t justify 2 additional ($1,700 for each prod/test pair, plus yearly support) threads each time I want to just pass data to another site.  Because of this I have 90 threads packed into a single site.  

                                Now, instead of having to use 4 threads to get data from the inbound thread in site A to the outbound thread in site B, I only have to use 2.  

                                I am in the process of redesigning my site right now for my 5.8.5 upgrade and I am loving the fact that I can now split my installation up into 6 different sites.

                                I will be using the old method to split up my inbound adt (sends out to 30 outbound threads at this point) so that I can distribute the processing between different processes, but I will still be way ahead of where I was with no additional threads licenses used.

                                Craig Weldy
                                Senior Interface Analyst
                                Beacon Health System
                                South Bend, In, 46615

                                in reply to: Help me Give Lawson Money…..Please! #75841
                                Craig Weldy
                                Participant

                                  Thanks for all of those that sent me contact info.  I am now in communication with someone who can help me out.

                                  Thanks CloverTechers!

                                  Craig Weldy
                                  Senior Interface Analyst
                                  Beacon Health System
                                  South Bend, In, 46615

                                  in reply to: Running production and test 5.7 on same hcihostid? #75752
                                  Craig Weldy
                                  Participant

                                    Keep in mind that this will work ok as long as you have an unlimited thread license.  If you have a 120 thread license for Productiion and a 120 thread license for Test, I doubt you can have them both running on the same box.  And you can’t just switch to a single 240 thread license since the cost of prod threads are different than the cost of test threads.  [Perhaps I am the only one still out there with a limited thread license  :^(  ]

                                    Craig Weldy
                                    Senior Interface Analyst
                                    Beacon Health System
                                    South Bend, In, 46615

                                  Viewing 15 replies – 1 through 15 (of 37 total)