Charlie Bursell

Forum Replies Created

Viewing 15 replies – 1 through 15 (of 1,825 total)
  • Author
    Replies
  • in reply to: smat db enryption default key v19.1.1 #121828
    Charlie Bursell
    Participant

      Looks like you got your answer.   Thanks Feda.  :-0

      Charlie Bursell
      Participant

        If you want to roll your own (Cloverleaf upgrade is better) you could look into chilkat Tcl extension.  https://www.chilkatsoft.com/tcl.asp

        6.2 is REALLY old 🙂

         

        Charlie Bursell
        Participant

          This can be done but how would you keep from reading the same file over and over if not deleted?  Perhaps you could archive them a different directory?

          Try fileset-local protocol

          in reply to: Faulting – hcitcl.exe – nightly scripts #121766
          Charlie Bursell
          Participant

            Usually cause by memory overwrites.  Try put all the command in catch statements.  A shot in the dark would be to unset variables once used.

             

            Good luck with it.  Problems like this can be a bitch troubleshoot

            Charlie Bursell
            Participant

              Variables in Xlate are NOT Tcl variables.

              in reply to: remote side probably shut down in CL 2022.09 #121547
              Charlie Bursell
              Participant

                Have you notified Support?

                in reply to: Does Cloverleaf Client Compatible with Windows 11 #121513
                Charlie Bursell
                Participant

                  Look at the release notes.  Latest version supports W11 for client, sever for demo only

                  in reply to: TCL Error #121470
                  Charlie Bursell
                  Participant

                    Shouldn’t
                    if { [hl7::get_field hl7 PID.3.($1).5] eq “MR”} {
                    Be
                    if { [hl7::get_field hl7 PID.3.($i).5] eq “MR”} {

                    With that said I don’t understand the repeated use of the hl7 package when it is so easy to simply split the message into segments and then into fields to get what you need.  The package is not very ergonomic since with each call it needs to parse the message.

                    I guess to each his own 🙂

                    in reply to: So long, and thanks for all the fish. #121428
                    Charlie Bursell
                    Participant

                      HCI Link!  That brings back ghostly memories (an inside joke).  Rob is the last of us (HCI/Quovadx/Infor and others) from those days.   Not very many in the customer base either.

                      You are so right Jim.  He will be sorely missed!

                      in reply to: Retrieving the active Alert file #121385
                      Charlie Bursell
                      Participant

                        Seems to me to be overkill unless I am missing something.

                        Simply create multiple Alert files and give each some meaningful name like weekend.alrt, etc.   Make sure you save a copy of your stardard alerts file to something like standard.alrt. Then when you need your special alerts simply rename the alert file you want to use to default.alrt.  Then run hcisitectl.  When no longer needed rename standard.alrt to default.alrt and run hcisitectl again.

                        This could be easily scripted if need be and, INHO, much easier than traversing and editing an alert file.

                        As I said, maybe I am missing something here.

                        Charlie Bursell
                        Participant

                          Must be large messages where multiple packets are received.  Should it be inherent on the receiving application to buffer those packets until a complete message is received? For example, assuming MLP HL7 data, Cloverleaf noting a packet with a start character of x0b (vertical Tab),  would buffer the message until 1c0d (File separator/Carriage Return)  is received

                          Am I missing something?

                          in reply to: Running a shell script in an alert #121159
                          Charlie Bursell
                          Participant

                            As I have said before, stopping and starting threads can be a bit ify at times.  You don’t know how much more the thread might attempt to do before stopping or even if it stops at all.  It all depends on busy the process is.  The command may time out before it is executed.

                            I find it safer to stop the process even if it means putting a thread in a process by itself or with other threads you don’t mind stopping/starting a the same time.  The process stop command will kick the process to death if it does not stop naturally.

                            Just my $0.02.

                            in reply to: x12 raw ack help #121158
                            Charlie Bursell
                            Participant

                              If you used the splitX12 proc prior to Xlate the ISA data should be in the metadata.

                              Here is a snippet from the X12MetaData_template that resides in $HCIROOT/tclprocs.

                              Perhaps you could use it as a template to extract the fields you need.

                              set USER_DATA [msgmetaget $mh USERDATA]
                              if {[catch {set ISA_DATA [keylget USER_DATA ISA]}] == 0} {
                              set i 1
                              while { $i <= 16 } {
                              if {[info exists ISA($i)] == 0} {
                              set ISA($i) [lindex $ISA_DATA $i]
                              }
                              incr i
                              }
                              }

                              in reply to: NetConfig extract “DEST” and “TRXID” #121120
                              Charlie Bursell
                              Participant

                                As Jim said you can use the NCI interface.  The commands are in the online docs.

                                If me I would do something like: (Assuming you want current site NetConfig)

                                netconfig load $::HciSiteDir/NetConfig

                                foreach conn [netconfig get connection list] {

                                set data [netconfig get connection data $conn]
                                set klst [keylget data DATAXLATE]

                                foreach {full part} [regexp -all -inline {DEST (.*?)\}} $klst] {
                                echo THREAD $conn –> $part
                                }
                                }

                                Note: Only threads with destinations will be listed as others will return empty from regexp command

                                Note the use of the regexp inline command.  To me, much easier than trying to drill down further as now you get into lists of keyed lists, etc.

                                I hope I did not misunderstand what you wanted.  If so this will still give you a kick start.

                                 

                                Charlie Bursell
                                Participant

                                  The “copy” method

                                  The “copy” method copies data from a file into a table. It returns the number of rows processed successfully from the file. The syntax of the copy method looks like this:

                                  <i>dbcmd</i>  <b>copy</b>  <i>conflict-algorithm</i>   <i>table-name </i>  <i>file-name </i>     ?<i>column-separator</i>?   ?<i>null-indicator</i>?

                                  Conflict-algorithm must be one of the SQLite conflict algorithms for the INSERT statement: <i>rollback</i>, <i>abort</i>, <i>fail</i>,<i>ignore</i>, or <i>replace</i>. See the SQLite Language section for ON CONFLICT for more information. The conflict-algorithm must be specified in lower case.

                                  Table-name must already exists as a table. File-name must exist, and each row must contain the same number of columns as defined in the table. If a line in the file contains more or less than the number of columns defined, the copy method rollbacks any inserts, and returns an error.

                                  Column-separator is an optional column separator string. The default is the ASCII tab character \t.

                                  Null-indicator is an optional string that indicates a column value is null. The default is an empty string. Note that column-separator and null-indicator are optional positional arguments; if null-indicator is specified, a column-separator argument must be specified and precede the null-indicator argument.

                                  The copy method implements similar functionality to the <b>.import</b> SQLite shell command.

                                Viewing 15 replies – 1 through 15 (of 1,825 total)