# Return data unchanged (pass to next process) return $data
proc route_by_type data args "] set msg_type [lindex $fields 8] set event [lindex $fields 9] switch "$msg_type^$event" "ADT^A01" # Route to Thread: EHR_ADT_OUT return [list "EHR_ADT_OUT" $data] "ADT^A03" # Route to Thread: PHARMACY_UPD_OUT return [list "PHARMACY_UPD_OUT" $data] default # Send to error queue error "Unhandled message type: $msg_type^$event" $data cloverleaf interface engine tutorial pdf
$HCI_ROOT/error/<site>/<thread>/
# Log to a custom file set logfile [open "$HCI_ROOT/log/adt_inbound.log" a] puts $logfile "[clock format [clock seconds]] - Received $msg_type^$event" close $logfile # Return data unchanged (pass to next process)
set sql "INSERT INTO inbound_log (mrn, hl7_raw, received_dt) VALUES ('$mrn', '$hl7_text', GETDATE())" hciodbc::exec $conn $sql hciodbc::disconnect $conn received_dt) VALUES ('$mrn'
# process_msg.tcl - Basic HL7 logging proc process_msg data args "] set msg_type [lindex $fields 8] ; # MSH-9.1 set event [lindex $fields 9] ; # MSH-9.2
Send ADT^A01 to an EHR, but ADT^A03 to a Pharmacy system.