David Barr

Forum Replies Created

Viewing 15 replies – 1 through 15 (of 869 total)
  • Author
    Replies
  • in reply to: TCP/IP SSL connection between Cloverleaf and Epic #121822
    David Barr
    Participant

      For connections from Cloverleaf to Epic we’re using ClientAuth mode, TLS 1.2.

      This is what the TLS settings look like on the Epic side:

      Server, TLS 1.2 – Client authentication required Key type: RSA Cipher List/Suites: AES/STRONG Cert validity: 2023/10/16-2025/10/15 CN: epicprd.Valleymed.net Issued by: UW-Valley Medical Center Issuing CA2 CA validity: CN: Issued by:

      For Epic to Cloverleaf we’re using Server mode, same version.

      in reply to: proc not available #121795
      David Barr
      Participant

        I had tried opening and closing the NetConfig within the IDE which didn’t help, but totally restarting the IDE seemed to fix it. Thanks.

        in reply to: Faulting – hcitcl.exe – nightly scripts #121765
        David Barr
        Participant

          Exception code 0xc0000374 is “heap corruption”. The codes are documented here. I’m not sure what could cause this.

          in reply to: Log control #121735
          David Barr
          Participant

            If you’re doing an output cycle, wouldn’t you want to be removing *.log.old and *.err.old? I haven’t tested this, so this is just a guess.

            in reply to: Log control #121733
            David Barr
            Participant

              I think your exec command may work, but you’re missing the “eval”.

              in reply to: Log control #121732
              David Barr
              Participant

                If you want to change sites within a TCL script, you need to do something like this:

                eval [exec $::env(CL_INSTALL_DIR)/integrator/sbin/hcisetenv -site tcl $site]

                 

                in reply to: We’re back online! #121685
                David Barr
                Participant

                  I was wondering what happened. Thanks for the update.

                  in reply to: JSON Acknowledgement Script #121593
                  David Barr
                  Participant

                    It depends on what kind of conversion you’re looking for. For example, our state department of health wants to receive HL7 in the body of an HTTPS POST request. The raw HL7 message contents are wrapped in a simple JSON object. I can send you this code if that’s what you need. If you need to translate the message field by field into JSON, then I agree with Robert.

                    in reply to: Can Cloverleaf query Active Directory for additional data? #121564
                    David Barr
                    Participant

                      You can use the ldapsearch command on Red Hat. You may need to install the openldap-clients package. You would have to call the command through a script (TPS or XLTP).

                      in reply to: Forums are now open #121529
                      David Barr
                      Participant

                        I agree. At the very least fix the editor so it doesn’t remove indentation from source code examples that are pasted into the editor.

                        I’ve found a workaround for this. If you paste RTF instead of plain text then the formatting is preserved, so I just make a draft Outlook email, paste the code in there, then copy and paste from Outlook into the forum.

                        in reply to: Message split/join issue #121527
                        David Barr
                        Participant
                          Also, you’re better off storing the position of the PID segment in a variable (PIDpos below) so you don’t have to assume it’s the second segment when putting it back in the message. I haven’t tested these changes at all, so there may be other issues.
                          proc tps_epic2athg_ORUfilter { args } {
                              global HciConnName
                              keylget args MODE mode
                              set ctx “” ; keylget args CONTEXT ctx
                              set module “tps_res2athg_ORUfilter/$HciConnName/$ctx”
                              set uargs {} ; keylget args ARGS uargs
                              set debug 0
                              catch {keylget uargs DEBUG debug}
                              set dispList {}
                              set disp “KILL”
                              switch -exact — $mode {
                                start {}
                                run {
                                    keylget args MSGID mh
                                    set msg [msgget $mh]
                                    set fieldSep [string index $msg 3]
                                    set subSep [string index $msg 4]
                                    set repSep [string index $msg 5]
                                    set segList [split $msg \r]
                                    set MSH [lsearch -all -inline -regexp $segList “^MSH”]
                                    # echo $MSH
                                    set MSHSplit [split $MSH $fieldSep]
                                    echo “MSHSPlit: $MSHSplit”
                                    set PIDpos [lsearch -regexp $segList “^PID”]
                                    set PID [lindex $segList $PIDpos]
                                    set PIDSplit [split $PID $fieldSep]
                                    set PV1 [lsearch -all -inline -regexp $segList “^PV1”]
                                    set obrList [lsearch -all -inline -regexp $segList “^OBR”]
                                    set obrCount 0
                                    # set obr16_ID “”
                                    foreach obr $obrList {
                                      set obr25 [lindex [split $obr $fieldSep] 25]
                                      # if { $obrCount == 0} {
                                      # set obr16_ID [lindex [split [lindex [split $obr $fieldSep] 16] $subSep] 0]
                                      # set obrCount 1
                                      # }
                                      if {$obr25 == “F”} {
                                          set disp “CONTINUE”
                                          # echo $disp
                                          break
                                      }
                                    }
                                    # set MSHSplit [lreplace $MSHSplit 5 5 “”]
                                    # set PIDSplit [lreplace $PIDSplit 3 3 “”]
                                    #build data to send
                                    set thread [msgmetaget $mh DESTCONN]
                                    set dbName “db_eMFCC_PatList”
                                    set env [lindex [split $::env(HCISITE) _] 0]
                                    set mode “select”
                                    set fac [lindex $MSHSplit 3]
                                    set key [lindex [split $PV1 $fieldSep] 19]
                                    # DB call and return.
                                    set ret [sub_dataBase “thread=$thread” “dbName=$dbName” “env=$env” “mode=$mode” “fac=$fac” “key=$key”]
                                    echo “PidSplitb4: $PIDSplit”
                                    set retStatus [lindex [split $ret |] 0]
                                    set retData [lindex [split $ret |] 2]
                                    if { $retStatus != “Okay” } {
                                      set disp “KILL”
                                    } else {
                                      set PIDSplit [lreplace $PIDSplit 3 3 $retData]
                                      # set retDatLen [string length $retData]
                                      # echo $retDatLen
                                      # if {$retDatLen > 0} {
                                      # set MSHSplit [lreplace $MSHSplit 5 5 “1215”]
                                      # } else {
                                      # set MSH6 [tbllookup epic2athG-context.tbl $obr16_ID]
                                      # echo $MSH6
                                      # echo $obr16_ID
                                      # if {$MSH6 != “UNKNOWN”} {
                                      # set MSHSplit [lreplace $MSHSplit 5 5 $MSH6]
                                      # } else {
                                      # set disp “KILL”
                                      # }
                                      # }
                                    }
                                    echo “Before $segList”
                                    set segList [lreplace $segList $PIDpos $PIDpos [join $PIDSplit $fieldSep]]
                                    echo “After: $segList”
                                    set msg [join $segList \r]
                                    # echo $msg
                                    msgset $mh $msg
                                    # echo $mh
                                    lappend dispList “$disp $mh”
                                    # echo $dispList
                                }
                                time {}
                                shutdown {}
                                default {
                                    error “Unknown mode ‘$mode’ in $module”
                                }
                              }
                              return $dispList
                          }
                          in reply to: Message split/join issue #121525
                          David Barr
                          Participant

                            This code:

                            set PID [lsearch -all -inline -regexp $segList “^PID”]

                            returns a list in $PID. This code:

                            set PIDSplit [split $PID $fieldSep]

                            expects $PID to contain a string, not a list.

                            You might be able to able to fix this by getting rid of the -all. If you really do need to handle more than one PID segment then you would probably need to add a loop to your code to iterate over all the matched segments.

                             

                            • This reply was modified 7 months ago by David Barr.
                            in reply to: Python problem #121515
                            David Barr
                            Participant

                              Modifying bashrc alone didn’t solve my issue. The variables were not getting picked up by the autostart process. I opened a support ticket, and this was the resolution:

                              R&D suggested to try to add the path in /usr/lib/systemd/system/cloverleaf-autostart.service in line 3 and 4 before “export“ like:

                              /usr/bin/bash -c “export PATH=yourpythonpath:$PATH export LD_LIBRARY_PATH=yourpythonpath:$LD_LIBRARY_PATH export …..”

                              in reply to: Forums are now open #121510
                              David Barr
                              Participant

                                Also, the home page of the forum (https://usspvlclovertch2.infor.com/forums/) is not getting updated at all. The last post times are years out of date, and the login status indicators are not accurate.

                                in reply to: Forums are now open #121509
                                David Barr
                                Participant

                                  I agree. At the very least fix the editor so it doesn’t remove indentation from source code examples that are pasted into the editor.

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