Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: SCDXFU12

SCDXFU12.m

Go to the documentation of this file.
SCDXFU12 ;ALB/JRP - ACRP TRANSMISSION MANAGEMENT FILE UTILS;08-JUL-97
 ;;5.3;Scheduling;**128**;AUG 13, 1993
 ;
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