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.
  1. SCDXFU12 ;ALB/JRP - ACRP TRANSMISSION MANAGEMENT FILE UTILS;08-JUL-97
  1. ;;5.3;Scheduling;**128,1013,1015**;AUG 13, 1993;Build 21
  1. ;
  1. PTR4MID(MID) ;Find entry in ACRP Transmission History file (#409.77) for
  1. ; a given HL7 Message Control ID
  1. ;
  1. ;Input : MID - HL7 Message Control ID for the transmitted encounter
  1. ;Output : HistPtr ^ XmitPtr
  1. ; HistPtr = Pointer to ACRP Transmission History file
  1. ; XmitPtr = Pointer to related Transmitted Outpatient
  1. ; Encounter file (#409.73) entry
  1. ; 0 - Entry not found (bad input)
  1. ;
  1. ;Check input
  1. S MID=$G(MID)
  1. Q:(MID="") 0
  1. ;Declare variables
  1. N HISTPTR,XMITPTR
  1. ;Find entry in history file
  1. S HISTPTR=+$O(^SD(409.77,"AMID",MID,0))
  1. ;Bad x-ref entry
  1. Q:('$D(^SD(409.77,HISTPTR,0))) 0
  1. ;Get pointer to transmission file (.01 field of history file)
  1. S XMITPTR=+$G(^SD(409.77,HISTPTR,0))
  1. ;Done
  1. Q HISTPTR_"^"_XMITPTR
  1. ;
  1. PTRS4BID(BID,ARRAY) ;Find all entries in ACRP Transmission History file
  1. ; (#409.77) for a given HL7 Batch Control ID
  1. ;
  1. ;Input : BID - HL7 Batch Control ID for the transmitted encounters
  1. ; ARRAY - Array to place output into (full global reference)
  1. ; - Defaults to ^TMP("SCDXFU12",$J,"PTRS4BID")
  1. ;Output : X - Number of entries found
  1. ; ARRAY(HistPtr) = XmitPtr
  1. ; HistPtr = Pointer to ACRP Transmission History file
  1. ; XmitPtr = Pointer to related Transmitted Outpatient
  1. ; Encounter file (#409.73) entry
  1. ;Notes : It is the responsibility of the calling procedure to
  1. ; initialize (i.e. KILL) the output array
  1. ; : Zero (0) will be returned if no entries are found (bad input)
  1. ;
  1. ;Check input
  1. S BID=$G(BID)
  1. Q:(BID="") 0
  1. S ARRAY=$G(ARRAY)
  1. S:(ARRAY="") ARRAY=$NA(^TMP("SCDXFU12",$J,"PTRS4BID"))
  1. ;Declare variables
  1. N HISTPTR,XMITPTR,COUNT
  1. ;Find/count entries in history file
  1. S COUNT=0
  1. S HISTPTR=0
  1. F S HISTPTR=+$O(^SD(409.77,"ABID",BID,HISTPTR)) Q:('HISTPTR) D
  1. .;Bad x-ref entry (ignore)
  1. .Q:('$D(^SD(409.77,HISTPTR,0)))
  1. .;Get pointer to transmission file (.01 field of history file)
  1. .S XMITPTR=+$G(^SD(409.77,HISTPTR,0))
  1. .;Put into output array
  1. .S @ARRAY@(HISTPTR)=XMITPTR
  1. .;Increment counter
  1. .S COUNT=COUNT+1
  1. ;Done
  1. Q COUNT
  1. ;
  1. ACKMID(MID,ACKDATE,ACKCODE) ;Store/update acknowledgement information
  1. ; for entry in ACRP Transmission History file (#409.77) with given
  1. ; HL7 Message Control ID
  1. ;
  1. ;Input : MID - HL7 Message Control ID for transmitted encounters
  1. ; ACKDATE - Date/time of acknowledgement (value for field #21)
  1. ; - Pass in FileMan format
  1. ; - Defaults to current date/time (NOW)
  1. ; ACKCODE - Acknowledgemnt code (value for field #22)
  1. ; - A = Accepted R = Rejected E = Error
  1. ; - Defaults to E (Error)
  1. ;Output : None
  1. ;
  1. ;Check input
  1. S MID=$G(MID)
  1. Q:(MID="")
  1. S ACKDATE=+$G(ACKDATE)
  1. S:('ACKDATE) ACKDATE=$$NOW^XLFDT()
  1. S ACKCODE=$TR($G(ACKCODE),"are","ARE")
  1. S:(ACKCODE="") ACKCODE="E"
  1. S:($L(ACKCODE)>1) ACKCODE="E"
  1. S:("ARE"'[ACKCODE) ACKCODE="E"
  1. ;Declare variables
  1. N HISTPTR
  1. ;Find entry in history file - quit if none found
  1. S HISTPTR=+$$PTR4MID(MID)
  1. Q:('HISTPTR)
  1. ;Store/update ack data
  1. D ACKHIST^SCDXFU10(HISTPTR,ACKDATE,ACKCODE)
  1. ;Done
  1. Q
  1. ;
  1. ACKBID(BID,ACKDATE,ACKCODE) ;Store/update acknowledgement information
  1. ; for all entries in ACRP Transmission History file (#409.77) for
  1. ; given HL7 Batch Control ID
  1. ;
  1. ;Input : BID - HL7 Batch Control ID for transmitted encounters
  1. ; ACKDATE - Date/time of acknowledgement (value for field #21)
  1. ; - Pass in FileMan format
  1. ; - Defaults to current date/time (NOW)
  1. ; ACKCODE - Acknowledgemnt code (value for field #22)
  1. ; - A = Accepted R = Rejected E = Error
  1. ; - Defaults to E (Error)
  1. ;Output : None
  1. ;
  1. ;Check input
  1. S BID=$G(BID)
  1. Q:(BID="")
  1. S ACKDATE=+$G(ACKDATE)
  1. S:('ACKDATE) ACKDATE=$$NOW^XLFDT()
  1. S ACKCODE=$TR($G(ACKCODE),"are","ARE")
  1. S:(ACKCODE="") ACKCODE="E"
  1. S:($L(ACKCODE)>1) ACKCODE="E"
  1. S:("ARE"'[ACKCODE) ACKCODE="E"
  1. ;Declare variables
  1. N HISTARR,HISTPTR
  1. S HISTARR=$NA(^TMP("SCDXFU12",$J,"ACKBID"))
  1. K @HISTARR
  1. ;Find entries in history file - quit if none found
  1. Q:('$$PTRS4BID(BID,HISTARR))
  1. ;Loop through list of entries and store/update ack data
  1. S HISTPTR=0
  1. F S HISTPTR=+$O(@HISTARR@(HISTPTR)) Q:('HISTPTR) D ACKHIST^SCDXFU10(HISTPTR,ACKDATE,ACKCODE)
  1. ;Done - clean up and quit
  1. K @HISTARR
  1. Q