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

SCDXFU10.m

Go to the documentation of this file.
  1. SCDXFU10 ;ALB/JRP - ACRP TRANSMISSION MANAGEMENT FILE UTILS;03-JUL-97
  1. ;;5.3;Scheduling;**128,1015**;AUG 13, 1993;Build 21
  1. ;
  1. CRTHIST(XMITPTR,XMITDATE,MID4XMIT,BID4XMIT) ;Create entry in ACRP
  1. ; Transmission History file (#409.77) for entry in Transmitted
  1. ; Outpatient Encounter file (#409.73)
  1. ;
  1. ;Input : XMITPTR - Pointer to entry in Transmitted Outpatient
  1. ; Encounter file
  1. ; XMITDATE - Date/time of transmission (value for field #11)
  1. ; - Pass in FileMan format
  1. ; - Defaults to current date/time (NOW)
  1. ; MID4XMIT - Message ID of transmission (value for field #12)
  1. ; BID4XMIT - Batch ID of transmission (value for field #13)
  1. ;Output : HistPtr - Pointer to entry created
  1. ; -1^ErrorText - Error/bad input
  1. ;
  1. ;Check input
  1. S XMITPTR=+$G(XMITPTR)
  1. Q:('$D(^SD(409.73,XMITPTR,0))) "-1^Did not pass valid pointer to TRANSMITTED OUTPATIENT ENCOUNTER file"
  1. S XMITDATE=+$G(XMITDATE)
  1. S:('XMITDATE) XMITDATE=$$NOW^XLFDT()
  1. S MID4XMIT=$G(MID4XMIT)
  1. Q:(MID4XMIT="") "-1^Did not pass HL7 Message Control ID given to the transmitted encounter"
  1. S BID4XMIT=$G(BID4XMIT)
  1. Q:(BID4XMIT="") "-1^Did not pass HL7 Batch Control ID given to the transmitted encounter"
  1. ;Declare variables
  1. N SCDXFDA,SCDXIEN,SCDXMSG,HISTPTR,TMP
  1. ;Build FDA array
  1. S SCDXFDA(409.77,"+1,",.01)=XMITPTR
  1. ;Encounter date/time
  1. S TMP=+$$EDT4XMIT^SCDXFU11(XMITPTR)
  1. Q:('TMP) "-1^Unable to determine encounter date/time"
  1. S SCDXFDA(409.77,"+1,",.02)=TMP
  1. ;Patient
  1. S TMP=+$$PAT4XMIT^SCDXUTL4(XMITPTR)
  1. Q:('TMP) "-1^Unable to determine patient"
  1. S SCDXFDA(409.77,"+1,",.03)=TMP
  1. ;Clinic
  1. S TMP=+$$LOC4XMIT^SCDXFU11(XMITPTR)
  1. Q:('TMP) "-1^Unable to determine encounter's clinic"
  1. S SCDXFDA(409.77,"+1,",.04)=TMP
  1. ;Division
  1. S TMP=+$$DIV4XMIT^SCDXFU11(XMITPTR)
  1. Q:('TMP) "-1^Unable to determine encounter's division"
  1. S SCDXFDA(409.77,"+1,",.05)=TMP
  1. ;Visit ID
  1. S TMP=$$VID4XMIT^SCDXFU11(XMITPTR)
  1. Q:(TMP="") "-1^Unable to determine encounter's Unique Visit ID"
  1. S SCDXFDA(409.77,"+1,",.06)=TMP
  1. ;Transmission date/time
  1. S SCDXFDA(409.77,"+1,",11)=XMITDATE
  1. ;Message ID
  1. S SCDXFDA(409.77,"+1,",12)=MID4XMIT
  1. ;Batch ID
  1. S SCDXFDA(409.77,"+1,",13)=BID4XMIT
  1. ;Create entry
  1. D UPDATE^DIE("S","SCDXFDA","SCDXIEN","SCDXMSG")
  1. ;Get entry number created
  1. S HISTPTR=+$G(SCDXIEN(1))
  1. ;Error
  1. Q:(('HISTPTR)!($D(SCDXMSG("DIERR")))) "-1^Unable to create entry in ACRP TRANSMISSION HISTORY file"
  1. ;Done
  1. Q HISTPTR
  1. ;
  1. XMITHIST(HISTPTR,MID4XMIT,BID4XMIT) ;Store/update transmission information
  1. ; for entry in ACRP Transmission History file (#409.77)
  1. ;
  1. ;Input : HISTPTR - Pointer to entry in ACRP Transmission History file
  1. ; MID4XMIT - Message ID of transmission (value for field #12)
  1. ; BID4XMIT - Batch ID of transmission (value for field #13)
  1. ;Output : None
  1. ;Note : This call does not update the Date/time of Transmission
  1. ; field (#11)
  1. ;
  1. ;Check input
  1. S HISTPTR=+$G(HISTPTR)
  1. Q:('$D(^SD(409.77,HISTPTR,0)))
  1. S MID4XMIT=$G(MID4XMIT)
  1. Q:(MID4XMIT="")
  1. S BID4XMIT=$G(BID4XMIT)
  1. Q:(BID4XMIT="")
  1. ;Declare variables
  1. N SCDXFDA,SCDXMSG,SCDXIENS
  1. ;Set up FDA array
  1. S SCDXIENS=HISTPTR_","
  1. S SCDXFDA(409.77,SCDXIENS,12)=MID4XMIT
  1. S SCDXFDA(409.77,SCDXIENS,13)=BID4XMIT
  1. ;Store/update transmission info
  1. D FILE^DIE("S","SCDXFDA","SCDXMSG")
  1. ;Done
  1. Q
  1. ;
  1. ACKHIST(HISTPTR,ACKDATE,ACKCODE) ;Store/update acknowledgement
  1. ; information for entry in ACRP Transmission History file (#409.77)
  1. ;
  1. ;Input : HISTPTR - Pointer to entry in ACRP Transmission History file
  1. ; ACKDATE - Date/time of acknowledgement (value for field #21)
  1. ; - Pass in FileMan format
  1. ; - Defaults to current date/time (NOW)
  1. ; ACKCODE - Acknowledgement 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 HISTPTR=+$G(HISTPTR)
  1. Q:('$D(^SD(409.77,HISTPTR,0)))
  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 SCDXFDA,SCDXMSG,SCDXIENS
  1. ;Set up FDA array
  1. S SCDXIENS=HISTPTR_","
  1. S SCDXFDA(409.77,SCDXIENS,21)=ACKDATE
  1. S SCDXFDA(409.77,SCDXIENS,22)=ACKCODE
  1. ;Store/update transmission info
  1. D FILE^DIE("S","SCDXFDA","SCDXMSG")
  1. ;Done
  1. Q
  1. ;
  1. DELHIST(HISTPTR) ;Delete entry in ACRP Transmission History file
  1. ; (#409.77)
  1. ;
  1. ;Input : HISTPTR - Pointer to entry in ACRP Transmission History file
  1. ;Output : None
  1. ;
  1. ;Check input
  1. S HISTPTR=+$G(HISTPTR)
  1. Q:('HISTPTR)
  1. ;Declare variables
  1. N DIK,DA,DIC,DIE,X,Y
  1. ;Delete
  1. S DIK="^SD(409.77,"
  1. S DA=HISTPTR
  1. D ^DIK
  1. ;Done
  1. Q
  1. ;
  1. DELAHIST(XMITPTR) ;Delete all entries in ACRP Transmission History file
  1. ; (#409.77) for entry in Transmitted Outpatient Encounter file (#409.73)
  1. ;
  1. ;Input : XMITPTR - Pointer to entry in Transmitted Outpatient
  1. ; Encounter file
  1. ;Output : None
  1. ;
  1. ;Check input
  1. S XMITPTR=+$G(XMITPTR)
  1. Q:('$D(^SD(409.73,XMITPTR,0)))
  1. ;Declare variables
  1. N HISTPTR
  1. ;Loop through 'B' x-ref of history file and delete all entries found
  1. S HISTPTR=0
  1. F S HISTPTR=+$O(^SD(409.77,"B",XMITPTR,HISTPTR)) Q:('HISTPTR) D DELHIST(HISTPTR)
  1. ;Done
  1. Q
  1. ;
  1. WIPEHIST(HISTPTR,WIPEFLAG) ;Delete transmission and acknowledgement
  1. ; information for entry in ACRP Transmission History file (#409.77)
  1. ;
  1. ;Input : HISTPTR - Pointer to entry in ACRP Transmission History file
  1. ; WIPEFLAG - Flag indicating which information to delete
  1. ; 0 = Transmission & acknowledgment info (default)
  1. ; 1 = Transmission information
  1. ; 2 = Acknowledgement information
  1. ;Output : None
  1. ;Notes : This call should be used when the history information needs
  1. ; to be deleted and the actual entry can not
  1. ; : This call does not delete required fields (.01 - .06 & 11)
  1. ;
  1. ;Check input
  1. S HISTPTR=+$G(HISTPTR)
  1. Q:('$D(^SD(409.77,HISTPTR,0)))
  1. S WIPEFLAG=+$G(WIPEFLAG)
  1. S:((WIPEFLAG<0)!(WIPEFLAG>2)) WIPEFLAG=0
  1. ;Declare variables
  1. N SCDXFDA,SCDXMSG,SCDXIENS
  1. ;Set up FDA array
  1. S SCDXIENS=HISTPTR_","
  1. ;Transmission info
  1. I (WIPEFLAG'=2) D
  1. .S SCDXFDA(409.77,SCDXIENS,12)=""
  1. .S SCDXFDA(409.77,SCDXIENS,13)=""
  1. ;Acknowledgement info
  1. I (WIPEFLAG'=1) D
  1. .S SCDXFDA(409.77,SCDXIENS,21)=""
  1. .S SCDXFDA(409.77,SCDXIENS,22)=""
  1. ;Delete requested info
  1. D FILE^DIE("S","SCDXFDA","SCDXMSG")
  1. ;Done
  1. Q