- SCDXFU12 ;ALB/JRP - ACRP TRANSMISSION MANAGEMENT FILE UTILS;08-JUL-97
- ;;5.3;Scheduling;**128,1013,1015**;AUG 13, 1993;Build 21
- ;
- PTR4MID(MID) ;Find entry in ACRP Transmission History file (#409.77) for
- ; a given HL7 Message Control ID
- ;
- ;Input : MID - HL7 Message Control ID for the transmitted encounter
- ;Output : HistPtr ^ XmitPtr
- ; HistPtr = Pointer to ACRP Transmission History file
- ; XmitPtr = Pointer to related Transmitted Outpatient
- ; Encounter file (#409.73) entry
- ; 0 - Entry not found (bad input)
- ;
- ;Check input
- S MID=$G(MID)
- Q:(MID="") 0
- ;Declare variables
- N HISTPTR,XMITPTR
- ;Find entry in history file
- S HISTPTR=+$O(^SD(409.77,"AMID",MID,0))
- ;Bad x-ref entry
- Q:('$D(^SD(409.77,HISTPTR,0))) 0
- ;Get pointer to transmission file (.01 field of history file)
- S XMITPTR=+$G(^SD(409.77,HISTPTR,0))
- ;Done
- Q HISTPTR_"^"_XMITPTR
- ;
- PTRS4BID(BID,ARRAY) ;Find all entries in ACRP Transmission History file
- ; (#409.77) for a given HL7 Batch Control ID
- ;
- ;Input : BID - HL7 Batch Control ID for the transmitted encounters
- ; ARRAY - Array to place output into (full global reference)
- ; - Defaults to ^TMP("SCDXFU12",$J,"PTRS4BID")
- ;Output : X - Number of entries found
- ; ARRAY(HistPtr) = XmitPtr
- ; HistPtr = Pointer to ACRP Transmission History file
- ; XmitPtr = Pointer to related Transmitted Outpatient
- ; Encounter file (#409.73) entry
- ;Notes : It is the responsibility of the calling procedure to
- ; initialize (i.e. KILL) the output array
- ; : Zero (0) will be returned if no entries are found (bad input)
- ;
- ;Check input
- S BID=$G(BID)
- Q:(BID="") 0
- S ARRAY=$G(ARRAY)
- S:(ARRAY="") ARRAY=$NA(^TMP("SCDXFU12",$J,"PTRS4BID"))
- ;Declare variables
- N HISTPTR,XMITPTR,COUNT
- ;Find/count entries in history file
- S COUNT=0
- S HISTPTR=0
- F S HISTPTR=+$O(^SD(409.77,"ABID",BID,HISTPTR)) Q:('HISTPTR) D
- .;Bad x-ref entry (ignore)
- .Q:('$D(^SD(409.77,HISTPTR,0)))
- .;Get pointer to transmission file (.01 field of history file)
- .S XMITPTR=+$G(^SD(409.77,HISTPTR,0))
- .;Put into output array
- .S @ARRAY@(HISTPTR)=XMITPTR
- .;Increment counter
- .S COUNT=COUNT+1
- ;Done
- Q COUNT
- ;
- ACKMID(MID,ACKDATE,ACKCODE) ;Store/update acknowledgement information
- ; for entry in ACRP Transmission History file (#409.77) with given
- ; HL7 Message Control ID
- ;
- ;Input : MID - HL7 Message Control ID for transmitted encounters
- ; ACKDATE - Date/time of acknowledgement (value for field #21)
- ; - Pass in FileMan format
- ; - Defaults to current date/time (NOW)
- ; ACKCODE - Acknowledgemnt code (value for field #22)
- ; - A = Accepted R = Rejected E = Error
- ; - Defaults to E (Error)
- ;Output : None
- ;
- ;Check input
- S MID=$G(MID)
- Q:(MID="")
- S ACKDATE=+$G(ACKDATE)
- S:('ACKDATE) ACKDATE=$$NOW^XLFDT()
- S ACKCODE=$TR($G(ACKCODE),"are","ARE")
- S:(ACKCODE="") ACKCODE="E"
- S:($L(ACKCODE)>1) ACKCODE="E"
- S:("ARE"'[ACKCODE) ACKCODE="E"
- ;Declare variables
- N HISTPTR
- ;Find entry in history file - quit if none found
- S HISTPTR=+$$PTR4MID(MID)
- Q:('HISTPTR)
- ;Store/update ack data
- D ACKHIST^SCDXFU10(HISTPTR,ACKDATE,ACKCODE)
- ;Done
- Q
- ;
- ACKBID(BID,ACKDATE,ACKCODE) ;Store/update acknowledgement information
- ; for all entries in ACRP Transmission History file (#409.77) for
- ; given HL7 Batch Control ID
- ;
- ;Input : BID - HL7 Batch Control ID for transmitted encounters
- ; ACKDATE - Date/time of acknowledgement (value for field #21)
- ; - Pass in FileMan format
- ; - Defaults to current date/time (NOW)
- ; ACKCODE - Acknowledgemnt code (value for field #22)
- ; - A = Accepted R = Rejected E = Error
- ; - Defaults to E (Error)
- ;Output : None
- ;
- ;Check input
- S BID=$G(BID)
- Q:(BID="")
- S ACKDATE=+$G(ACKDATE)
- S:('ACKDATE) ACKDATE=$$NOW^XLFDT()
- S ACKCODE=$TR($G(ACKCODE),"are","ARE")
- S:(ACKCODE="") ACKCODE="E"
- S:($L(ACKCODE)>1) ACKCODE="E"
- S:("ARE"'[ACKCODE) ACKCODE="E"
- ;Declare variables
- N HISTARR,HISTPTR
- S HISTARR=$NA(^TMP("SCDXFU12",$J,"ACKBID"))
- K @HISTARR
- ;Find entries in history file - quit if none found
- Q:('$$PTRS4BID(BID,HISTARR))
- ;Loop through list of entries and store/update ack data
- S HISTPTR=0
- F S HISTPTR=+$O(@HISTARR@(HISTPTR)) Q:('HISTPTR) D ACKHIST^SCDXFU10(HISTPTR,ACKDATE,ACKCODE)
- ;Done - clean up and quit
- K @HISTARR
- Q
- SCDXFU12 ;ALB/JRP - ACRP TRANSMISSION MANAGEMENT FILE UTILS;08-JUL-97
- +1 ;;5.3;Scheduling;**128,1013,1015**;AUG 13, 1993;Build 21
- +2 ;
- PTR4MID(MID) ;Find entry in ACRP Transmission History file (#409.77) for
- +1 ; a given HL7 Message Control ID
- +2 ;
- +3 ;Input : MID - HL7 Message Control ID for the transmitted encounter
- +4 ;Output : HistPtr ^ XmitPtr
- +5 ; HistPtr = Pointer to ACRP Transmission History file
- +6 ; XmitPtr = Pointer to related Transmitted Outpatient
- +7 ; Encounter file (#409.73) entry
- +8 ; 0 - Entry not found (bad input)
- +9 ;
- +10 ;Check input
- +11 SET MID=$GET(MID)
- +12 IF (MID="")
- QUIT 0
- +13 ;Declare variables
- +14 NEW HISTPTR,XMITPTR
- +15 ;Find entry in history file
- +16 SET HISTPTR=+$ORDER(^SD(409.77,"AMID",MID,0))
- +17 ;Bad x-ref entry
- +18 IF ('$DATA(^SD(409.77,HISTPTR,0)))
- QUIT 0
- +19 ;Get pointer to transmission file (.01 field of history file)
- +20 SET XMITPTR=+$GET(^SD(409.77,HISTPTR,0))
- +21 ;Done
- +22 QUIT HISTPTR_"^"_XMITPTR
- +23 ;
- PTRS4BID(BID,ARRAY) ;Find all entries in ACRP Transmission History file
- +1 ; (#409.77) for a given HL7 Batch Control ID
- +2 ;
- +3 ;Input : BID - HL7 Batch Control ID for the transmitted encounters
- +4 ; ARRAY - Array to place output into (full global reference)
- +5 ; - Defaults to ^TMP("SCDXFU12",$J,"PTRS4BID")
- +6 ;Output : X - Number of entries found
- +7 ; ARRAY(HistPtr) = XmitPtr
- +8 ; HistPtr = Pointer to ACRP Transmission History file
- +9 ; XmitPtr = Pointer to related Transmitted Outpatient
- +10 ; Encounter file (#409.73) entry
- +11 ;Notes : It is the responsibility of the calling procedure to
- +12 ; initialize (i.e. KILL) the output array
- +13 ; : Zero (0) will be returned if no entries are found (bad input)
- +14 ;
- +15 ;Check input
- +16 SET BID=$GET(BID)
- +17 IF (BID="")
- QUIT 0
- +18 SET ARRAY=$GET(ARRAY)
- +19 IF (ARRAY="")
- SET ARRAY=$NAME(^TMP("SCDXFU12",$JOB,"PTRS4BID"))
- +20 ;Declare variables
- +21 NEW HISTPTR,XMITPTR,COUNT
- +22 ;Find/count entries in history file
- +23 SET COUNT=0
- +24 SET HISTPTR=0
- +25 FOR
- SET HISTPTR=+$ORDER(^SD(409.77,"ABID",BID,HISTPTR))
- IF ('HISTPTR)
- QUIT
- Begin DoDot:1
- +26 ;Bad x-ref entry (ignore)
- +27 IF ('$DATA(^SD(409.77,HISTPTR,0)))
- QUIT
- +28 ;Get pointer to transmission file (.01 field of history file)
- +29 SET XMITPTR=+$GET(^SD(409.77,HISTPTR,0))
- +30 ;Put into output array
- +31 SET @ARRAY@(HISTPTR)=XMITPTR
- +32 ;Increment counter
- +33 SET COUNT=COUNT+1
- End DoDot:1
- +34 ;Done
- +35 QUIT COUNT
- +36 ;
- ACKMID(MID,ACKDATE,ACKCODE) ;Store/update acknowledgement information
- +1 ; for entry in ACRP Transmission History file (#409.77) with given
- +2 ; HL7 Message Control ID
- +3 ;
- +4 ;Input : MID - HL7 Message Control ID for transmitted encounters
- +5 ; ACKDATE - Date/time of acknowledgement (value for field #21)
- +6 ; - Pass in FileMan format
- +7 ; - Defaults to current date/time (NOW)
- +8 ; ACKCODE - Acknowledgemnt code (value for field #22)
- +9 ; - A = Accepted R = Rejected E = Error
- +10 ; - Defaults to E (Error)
- +11 ;Output : None
- +12 ;
- +13 ;Check input
- +14 SET MID=$GET(MID)
- +15 IF (MID="")
- QUIT
- +16 SET ACKDATE=+$GET(ACKDATE)
- +17 IF ('ACKDATE)
- SET ACKDATE=$$NOW^XLFDT()
- +18 SET ACKCODE=$TRANSLATE($GET(ACKCODE),"are","ARE")
- +19 IF (ACKCODE="")
- SET ACKCODE="E"
- +20 IF ($LENGTH(ACKCODE)>1)
- SET ACKCODE="E"
- +21 IF ("ARE"'[ACKCODE)
- SET ACKCODE="E"
- +22 ;Declare variables
- +23 NEW HISTPTR
- +24 ;Find entry in history file - quit if none found
- +25 SET HISTPTR=+$$PTR4MID(MID)
- +26 IF ('HISTPTR)
- QUIT
- +27 ;Store/update ack data
- +28 DO ACKHIST^SCDXFU10(HISTPTR,ACKDATE,ACKCODE)
- +29 ;Done
- +30 QUIT
- +31 ;
- ACKBID(BID,ACKDATE,ACKCODE) ;Store/update acknowledgement information
- +1 ; for all entries in ACRP Transmission History file (#409.77) for
- +2 ; given HL7 Batch Control ID
- +3 ;
- +4 ;Input : BID - HL7 Batch Control ID for transmitted encounters
- +5 ; ACKDATE - Date/time of acknowledgement (value for field #21)
- +6 ; - Pass in FileMan format
- +7 ; - Defaults to current date/time (NOW)
- +8 ; ACKCODE - Acknowledgemnt code (value for field #22)
- +9 ; - A = Accepted R = Rejected E = Error
- +10 ; - Defaults to E (Error)
- +11 ;Output : None
- +12 ;
- +13 ;Check input
- +14 SET BID=$GET(BID)
- +15 IF (BID="")
- QUIT
- +16 SET ACKDATE=+$GET(ACKDATE)
- +17 IF ('ACKDATE)
- SET ACKDATE=$$NOW^XLFDT()
- +18 SET ACKCODE=$TRANSLATE($GET(ACKCODE),"are","ARE")
- +19 IF (ACKCODE="")
- SET ACKCODE="E"
- +20 IF ($LENGTH(ACKCODE)>1)
- SET ACKCODE="E"
- +21 IF ("ARE"'[ACKCODE)
- SET ACKCODE="E"
- +22 ;Declare variables
- +23 NEW HISTARR,HISTPTR
- +24 SET HISTARR=$NAME(^TMP("SCDXFU12",$JOB,"ACKBID"))
- +25 KILL @HISTARR
- +26 ;Find entries in history file - quit if none found
- +27 IF ('$$PTRS4BID(BID,HISTARR))
- QUIT
- +28 ;Loop through list of entries and store/update ack data
- +29 SET HISTPTR=0
- +30 FOR
- SET HISTPTR=+$ORDER(@HISTARR@(HISTPTR))
- IF ('HISTPTR)
- QUIT
- DO ACKHIST^SCDXFU10(HISTPTR,ACKDATE,ACKCODE)
- +31 ;Done - clean up and quit
- +32 KILL @HISTARR
- +33 QUIT