- DGPFLMT5 ;ALB/RBS - PRF TRANSMIT REJECT MESSAGE PROCESSING ; 7/12/06 09:30am
- ;;5.3;Registration;**650,1015**;Aug 13, 1993;Build 21
- ;
- ;no direct entry
- QUIT
- ;
- ;
- EN(DGVALMY) ;Entry point to retransmit rejected messages
- ;This function will retransmit all user selected "RJ" Rejected status
- ;entries of the PRF HL7 TRANSMISSION LOG (#26.17) file to the
- ;Treating Facility that rejected it.
- ;
- ; Input:
- ; DGVALMY - VALMY array of user selections, pass by reference
- ;
- ; Output:
- ; Function value - 1 on success, 0 on failure
- ;
- ;- Use the 0 node sort file for all retransmission processing:
- ; ^TMP("DGPFSORT",$J,0,<assignment ien>,<site ien>,<HL7 log ien>)=""
- ; Each patient's PRF Assignment record is grouped with all of the
- ; Treating Facilities that logged a rejected HL7 transmission entry.
- ;
- N DGAIEN ;assignment ien
- N DGFAC ;destination station number
- N DGHLIEN ;loop var
- N DGNODE ;"IDX" data string
- N DGRSLT ;function value
- N DGSEL ;user selection
- N DGSITE ;site transmitted to ien
- ;
- ;set screen to full scroll region
- D FULL^VALM1
- W !
- ;
- ;- Use the "IDX" selection entry to get the assignment info
- ; <assignment ien>^<site ien>^<HL7 log ien>^<patient dfn>^<patient name>^<site name>
- ;
- S DGRSLT=0
- I $O(DGVALMY(""))'="" D
- . S DGSEL=0
- . F S DGSEL=$O(DGVALMY(DGSEL)) Q:'DGSEL D
- . . S DGNODE=$G(^TMP("DGPFLMT",$J,"IDX",DGSEL,DGSEL))
- . . Q:'DGNODE
- . . S DGAIEN=$P(DGNODE,U,1)
- . . Q:'DGAIEN
- . . S DGSITE=$P(DGNODE,U,2)
- . . Q:'DGSITE
- . . ;
- . . ;- retransmit assignment -
- . . ; display patient name and site transmitted to failure & success
- . . ;
- . . I '$$XMIT(DGAIEN,DGSITE) D Q
- . . . W !,">>>",?5,DGSEL,". ",$P(DGNODE,U,5),"...failed to retransmit to...",$P(DGNODE,U,6)
- . . E W !?5,DGSEL,". ",$P(DGNODE,U,5),"...was retransmitted to...",$P(DGNODE,U,6)
- . . ;
- . . ;- Now set all of the Assignment's HL7 transmission log entry's
- . . ; to "RT" RE-TRANSMITTED status.
- . . ;- loop ^TMP("DGPFSORT",$J,0,DGAIEN,DGSITE,n) nodes
- . . S DGHLIEN=0
- . . F S DGHLIEN=$O(^TMP("DGPFSORT",$J,0,DGAIEN,DGSITE,DGHLIEN)) Q:'DGHLIEN D
- . . . ;- update HL7 transmission log entry status
- . . . ;
- . . . D STOSTAT^DGPFHLL(26.17,DGHLIEN,"RT")
- . . ;
- . . S DGRSLT=1
- ;
- Q DGRSLT
- ;
- XMIT(DGAIEN,DGSITE) ;call out to retransmit
- ;This function is used to call the PRF (ORU~R01) function to transmit
- ;a patient's Assignment record and all History records to a single
- ;Treating Facility.
- ;
- ; Supported DBIA #2171: $$STA^XUAF4
- ; This supported DBIA is used to access the Kernel API to convert
- ; a station number to an INSTITUTION (#4) file IEN.
- ;
- ; Input: (required)
- ; DGAIEN - assignment ien
- ; DGSITE - site transmitted to ien
- ;
- ; Output:
- ; Function value - 1 on success, 0 on failure
- ;
- N DGFAC ;destination station number array
- N DGHIENS ;array of assignment history ien's
- N DGRSLT ;function value
- S DGRSLT=0
- ;
- I +$G(DGAIEN)>0 D
- . K DGFAC,DGHIENS
- . ;
- . ;convert institution# to station#
- . S DGFAC(1)=$$STA^XUAF4(DGSITE)
- . Q:'DGFAC(1)
- . ;
- . ;get all assignment history ien's
- . Q:'$$GETALLDT^DGPFAAH(DGAIEN,.DGHIENS)
- . ;
- . ;build and transmit the new message
- . Q:'$$SNDORU^DGPFHLS(DGAIEN,.DGHIENS,.DGFAC)
- . ;
- . S DGRSLT=1
- ;
- Q DGRSLT
- DGPFLMT5 ;ALB/RBS - PRF TRANSMIT REJECT MESSAGE PROCESSING ; 7/12/06 09:30am
- +1 ;;5.3;Registration;**650,1015**;Aug 13, 1993;Build 21
- +2 ;
- +3 ;no direct entry
- +4 QUIT
- +5 ;
- +6 ;
- EN(DGVALMY) ;Entry point to retransmit rejected messages
- +1 ;This function will retransmit all user selected "RJ" Rejected status
- +2 ;entries of the PRF HL7 TRANSMISSION LOG (#26.17) file to the
- +3 ;Treating Facility that rejected it.
- +4 ;
- +5 ; Input:
- +6 ; DGVALMY - VALMY array of user selections, pass by reference
- +7 ;
- +8 ; Output:
- +9 ; Function value - 1 on success, 0 on failure
- +10 ;
- +11 ;- Use the 0 node sort file for all retransmission processing:
- +12 ; ^TMP("DGPFSORT",$J,0,<assignment ien>,<site ien>,<HL7 log ien>)=""
- +13 ; Each patient's PRF Assignment record is grouped with all of the
- +14 ; Treating Facilities that logged a rejected HL7 transmission entry.
- +15 ;
- +16 ;assignment ien
- NEW DGAIEN
- +17 ;destination station number
- NEW DGFAC
- +18 ;loop var
- NEW DGHLIEN
- +19 ;"IDX" data string
- NEW DGNODE
- +20 ;function value
- NEW DGRSLT
- +21 ;user selection
- NEW DGSEL
- +22 ;site transmitted to ien
- NEW DGSITE
- +23 ;
- +24 ;set screen to full scroll region
- +25 DO FULL^VALM1
- +26 WRITE !
- +27 ;
- +28 ;- Use the "IDX" selection entry to get the assignment info
- +29 ; <assignment ien>^<site ien>^<HL7 log ien>^<patient dfn>^<patient name>^<site name>
- +30 ;
- +31 SET DGRSLT=0
- +32 IF $ORDER(DGVALMY(""))'=""
- Begin DoDot:1
- +33 SET DGSEL=0
- +34 FOR
- SET DGSEL=$ORDER(DGVALMY(DGSEL))
- IF 'DGSEL
- QUIT
- Begin DoDot:2
- +35 SET DGNODE=$GET(^TMP("DGPFLMT",$JOB,"IDX",DGSEL,DGSEL))
- +36 IF 'DGNODE
- QUIT
- +37 SET DGAIEN=$PIECE(DGNODE,U,1)
- +38 IF 'DGAIEN
- QUIT
- +39 SET DGSITE=$PIECE(DGNODE,U,2)
- +40 IF 'DGSITE
- QUIT
- +41 ;
- +42 ;- retransmit assignment -
- +43 ; display patient name and site transmitted to failure & success
- +44 ;
- +45 IF '$$XMIT(DGAIEN,DGSITE)
- Begin DoDot:3
- +46 WRITE !,">>>",?5,DGSEL,". ",$PIECE(DGNODE,U,5),"...failed to retransmit to...",$PIECE(DGNODE,U,6)
- End DoDot:3
- QUIT
- +47 IF '$TEST
- WRITE !?5,DGSEL,". ",$PIECE(DGNODE,U,5),"...was retransmitted to...",$PIECE(DGNODE,U,6)
- +48 ;
- +49 ;- Now set all of the Assignment's HL7 transmission log entry's
- +50 ; to "RT" RE-TRANSMITTED status.
- +51 ;- loop ^TMP("DGPFSORT",$J,0,DGAIEN,DGSITE,n) nodes
- +52 SET DGHLIEN=0
- +53 FOR
- SET DGHLIEN=$ORDER(^TMP("DGPFSORT",$JOB,0,DGAIEN,DGSITE,DGHLIEN))
- IF 'DGHLIEN
- QUIT
- Begin DoDot:3
- +54 ;- update HL7 transmission log entry status
- +55 ;
- +56 DO STOSTAT^DGPFHLL(26.17,DGHLIEN,"RT")
- End DoDot:3
- +57 ;
- +58 SET DGRSLT=1
- End DoDot:2
- End DoDot:1
- +59 ;
- +60 QUIT DGRSLT
- +61 ;
- XMIT(DGAIEN,DGSITE) ;call out to retransmit
- +1 ;This function is used to call the PRF (ORU~R01) function to transmit
- +2 ;a patient's Assignment record and all History records to a single
- +3 ;Treating Facility.
- +4 ;
- +5 ; Supported DBIA #2171: $$STA^XUAF4
- +6 ; This supported DBIA is used to access the Kernel API to convert
- +7 ; a station number to an INSTITUTION (#4) file IEN.
- +8 ;
- +9 ; Input: (required)
- +10 ; DGAIEN - assignment ien
- +11 ; DGSITE - site transmitted to ien
- +12 ;
- +13 ; Output:
- +14 ; Function value - 1 on success, 0 on failure
- +15 ;
- +16 ;destination station number array
- NEW DGFAC
- +17 ;array of assignment history ien's
- NEW DGHIENS
- +18 ;function value
- NEW DGRSLT
- +19 SET DGRSLT=0
- +20 ;
- +21 IF +$GET(DGAIEN)>0
- Begin DoDot:1
- +22 KILL DGFAC,DGHIENS
- +23 ;
- +24 ;convert institution# to station#
- +25 SET DGFAC(1)=$$STA^XUAF4(DGSITE)
- +26 IF 'DGFAC(1)
- QUIT
- +27 ;
- +28 ;get all assignment history ien's
- +29 IF '$$GETALLDT^DGPFAAH(DGAIEN,.DGHIENS)
- QUIT
- +30 ;
- +31 ;build and transmit the new message
- +32 IF '$$SNDORU^DGPFHLS(DGAIEN,.DGHIENS,.DGFAC)
- QUIT
- +33 ;
- +34 SET DGRSLT=1
- End DoDot:1
- +35 ;
- +36 QUIT DGRSLT