- SCDXFU10 ;ALB/JRP - ACRP TRANSMISSION MANAGEMENT FILE UTILS;03-JUL-97
- ;;5.3;Scheduling;**128,1015**;AUG 13, 1993;Build 21
- ;
- CRTHIST(XMITPTR,XMITDATE,MID4XMIT,BID4XMIT) ;Create entry in ACRP
- ; Transmission History file (#409.77) for entry in Transmitted
- ; Outpatient Encounter file (#409.73)
- ;
- ;Input : XMITPTR - Pointer to entry in Transmitted Outpatient
- ; Encounter file
- ; XMITDATE - Date/time of transmission (value for field #11)
- ; - Pass in FileMan format
- ; - Defaults to current date/time (NOW)
- ; MID4XMIT - Message ID of transmission (value for field #12)
- ; BID4XMIT - Batch ID of transmission (value for field #13)
- ;Output : HistPtr - Pointer to entry created
- ; -1^ErrorText - Error/bad input
- ;
- ;Check input
- S XMITPTR=+$G(XMITPTR)
- Q:('$D(^SD(409.73,XMITPTR,0))) "-1^Did not pass valid pointer to TRANSMITTED OUTPATIENT ENCOUNTER file"
- S XMITDATE=+$G(XMITDATE)
- S:('XMITDATE) XMITDATE=$$NOW^XLFDT()
- S MID4XMIT=$G(MID4XMIT)
- Q:(MID4XMIT="") "-1^Did not pass HL7 Message Control ID given to the transmitted encounter"
- S BID4XMIT=$G(BID4XMIT)
- Q:(BID4XMIT="") "-1^Did not pass HL7 Batch Control ID given to the transmitted encounter"
- ;Declare variables
- N SCDXFDA,SCDXIEN,SCDXMSG,HISTPTR,TMP
- ;Build FDA array
- S SCDXFDA(409.77,"+1,",.01)=XMITPTR
- ;Encounter date/time
- S TMP=+$$EDT4XMIT^SCDXFU11(XMITPTR)
- Q:('TMP) "-1^Unable to determine encounter date/time"
- S SCDXFDA(409.77,"+1,",.02)=TMP
- ;Patient
- S TMP=+$$PAT4XMIT^SCDXUTL4(XMITPTR)
- Q:('TMP) "-1^Unable to determine patient"
- S SCDXFDA(409.77,"+1,",.03)=TMP
- ;Clinic
- S TMP=+$$LOC4XMIT^SCDXFU11(XMITPTR)
- Q:('TMP) "-1^Unable to determine encounter's clinic"
- S SCDXFDA(409.77,"+1,",.04)=TMP
- ;Division
- S TMP=+$$DIV4XMIT^SCDXFU11(XMITPTR)
- Q:('TMP) "-1^Unable to determine encounter's division"
- S SCDXFDA(409.77,"+1,",.05)=TMP
- ;Visit ID
- S TMP=$$VID4XMIT^SCDXFU11(XMITPTR)
- Q:(TMP="") "-1^Unable to determine encounter's Unique Visit ID"
- S SCDXFDA(409.77,"+1,",.06)=TMP
- ;Transmission date/time
- S SCDXFDA(409.77,"+1,",11)=XMITDATE
- ;Message ID
- S SCDXFDA(409.77,"+1,",12)=MID4XMIT
- ;Batch ID
- S SCDXFDA(409.77,"+1,",13)=BID4XMIT
- ;Create entry
- D UPDATE^DIE("S","SCDXFDA","SCDXIEN","SCDXMSG")
- ;Get entry number created
- S HISTPTR=+$G(SCDXIEN(1))
- ;Error
- Q:(('HISTPTR)!($D(SCDXMSG("DIERR")))) "-1^Unable to create entry in ACRP TRANSMISSION HISTORY file"
- ;Done
- Q HISTPTR
- ;
- XMITHIST(HISTPTR,MID4XMIT,BID4XMIT) ;Store/update transmission information
- ; for entry in ACRP Transmission History file (#409.77)
- ;
- ;Input : HISTPTR - Pointer to entry in ACRP Transmission History file
- ; MID4XMIT - Message ID of transmission (value for field #12)
- ; BID4XMIT - Batch ID of transmission (value for field #13)
- ;Output : None
- ;Note : This call does not update the Date/time of Transmission
- ; field (#11)
- ;
- ;Check input
- S HISTPTR=+$G(HISTPTR)
- Q:('$D(^SD(409.77,HISTPTR,0)))
- S MID4XMIT=$G(MID4XMIT)
- Q:(MID4XMIT="")
- S BID4XMIT=$G(BID4XMIT)
- Q:(BID4XMIT="")
- ;Declare variables
- N SCDXFDA,SCDXMSG,SCDXIENS
- ;Set up FDA array
- S SCDXIENS=HISTPTR_","
- S SCDXFDA(409.77,SCDXIENS,12)=MID4XMIT
- S SCDXFDA(409.77,SCDXIENS,13)=BID4XMIT
- ;Store/update transmission info
- D FILE^DIE("S","SCDXFDA","SCDXMSG")
- ;Done
- Q
- ;
- ACKHIST(HISTPTR,ACKDATE,ACKCODE) ;Store/update acknowledgement
- ; information for entry in ACRP Transmission History file (#409.77)
- ;
- ;Input : HISTPTR - Pointer to entry in ACRP Transmission History file
- ; ACKDATE - Date/time of acknowledgement (value for field #21)
- ; - Pass in FileMan format
- ; - Defaults to current date/time (NOW)
- ; ACKCODE - Acknowledgement code (value for field #22)
- ; - A = Accepted R = Rejected E = Error
- ; - Defaults to E (Error)
- ;Output : None
- ;
- ;Check input
- S HISTPTR=+$G(HISTPTR)
- Q:('$D(^SD(409.77,HISTPTR,0)))
- 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 SCDXFDA,SCDXMSG,SCDXIENS
- ;Set up FDA array
- S SCDXIENS=HISTPTR_","
- S SCDXFDA(409.77,SCDXIENS,21)=ACKDATE
- S SCDXFDA(409.77,SCDXIENS,22)=ACKCODE
- ;Store/update transmission info
- D FILE^DIE("S","SCDXFDA","SCDXMSG")
- ;Done
- Q
- ;
- DELHIST(HISTPTR) ;Delete entry in ACRP Transmission History file
- ; (#409.77)
- ;
- ;Input : HISTPTR - Pointer to entry in ACRP Transmission History file
- ;Output : None
- ;
- ;Check input
- S HISTPTR=+$G(HISTPTR)
- Q:('HISTPTR)
- ;Declare variables
- N DIK,DA,DIC,DIE,X,Y
- ;Delete
- S DIK="^SD(409.77,"
- S DA=HISTPTR
- D ^DIK
- ;Done
- Q
- ;
- DELAHIST(XMITPTR) ;Delete all entries in ACRP Transmission History file
- ; (#409.77) for entry in Transmitted Outpatient Encounter file (#409.73)
- ;
- ;Input : XMITPTR - Pointer to entry in Transmitted Outpatient
- ; Encounter file
- ;Output : None
- ;
- ;Check input
- S XMITPTR=+$G(XMITPTR)
- Q:('$D(^SD(409.73,XMITPTR,0)))
- ;Declare variables
- N HISTPTR
- ;Loop through 'B' x-ref of history file and delete all entries found
- S HISTPTR=0
- F S HISTPTR=+$O(^SD(409.77,"B",XMITPTR,HISTPTR)) Q:('HISTPTR) D DELHIST(HISTPTR)
- ;Done
- Q
- ;
- WIPEHIST(HISTPTR,WIPEFLAG) ;Delete transmission and acknowledgement
- ; information for entry in ACRP Transmission History file (#409.77)
- ;
- ;Input : HISTPTR - Pointer to entry in ACRP Transmission History file
- ; WIPEFLAG - Flag indicating which information to delete
- ; 0 = Transmission & acknowledgment info (default)
- ; 1 = Transmission information
- ; 2 = Acknowledgement information
- ;Output : None
- ;Notes : This call should be used when the history information needs
- ; to be deleted and the actual entry can not
- ; : This call does not delete required fields (.01 - .06 & 11)
- ;
- ;Check input
- S HISTPTR=+$G(HISTPTR)
- Q:('$D(^SD(409.77,HISTPTR,0)))
- S WIPEFLAG=+$G(WIPEFLAG)
- S:((WIPEFLAG<0)!(WIPEFLAG>2)) WIPEFLAG=0
- ;Declare variables
- N SCDXFDA,SCDXMSG,SCDXIENS
- ;Set up FDA array
- S SCDXIENS=HISTPTR_","
- ;Transmission info
- I (WIPEFLAG'=2) D
- .S SCDXFDA(409.77,SCDXIENS,12)=""
- .S SCDXFDA(409.77,SCDXIENS,13)=""
- ;Acknowledgement info
- I (WIPEFLAG'=1) D
- .S SCDXFDA(409.77,SCDXIENS,21)=""
- .S SCDXFDA(409.77,SCDXIENS,22)=""
- ;Delete requested info
- D FILE^DIE("S","SCDXFDA","SCDXMSG")
- ;Done
- Q
- SCDXFU10 ;ALB/JRP - ACRP TRANSMISSION MANAGEMENT FILE UTILS;03-JUL-97
- +1 ;;5.3;Scheduling;**128,1015**;AUG 13, 1993;Build 21
- +2 ;
- CRTHIST(XMITPTR,XMITDATE,MID4XMIT,BID4XMIT) ;Create entry in ACRP
- +1 ; Transmission History file (#409.77) for entry in Transmitted
- +2 ; Outpatient Encounter file (#409.73)
- +3 ;
- +4 ;Input : XMITPTR - Pointer to entry in Transmitted Outpatient
- +5 ; Encounter file
- +6 ; XMITDATE - Date/time of transmission (value for field #11)
- +7 ; - Pass in FileMan format
- +8 ; - Defaults to current date/time (NOW)
- +9 ; MID4XMIT - Message ID of transmission (value for field #12)
- +10 ; BID4XMIT - Batch ID of transmission (value for field #13)
- +11 ;Output : HistPtr - Pointer to entry created
- +12 ; -1^ErrorText - Error/bad input
- +13 ;
- +14 ;Check input
- +15 SET XMITPTR=+$GET(XMITPTR)
- +16 IF ('$DATA(^SD(409.73,XMITPTR,0)))
- QUIT "-1^Did not pass valid pointer to TRANSMITTED OUTPATIENT ENCOUNTER file"
- +17 SET XMITDATE=+$GET(XMITDATE)
- +18 IF ('XMITDATE)
- SET XMITDATE=$$NOW^XLFDT()
- +19 SET MID4XMIT=$GET(MID4XMIT)
- +20 IF (MID4XMIT="")
- QUIT "-1^Did not pass HL7 Message Control ID given to the transmitted encounter"
- +21 SET BID4XMIT=$GET(BID4XMIT)
- +22 IF (BID4XMIT="")
- QUIT "-1^Did not pass HL7 Batch Control ID given to the transmitted encounter"
- +23 ;Declare variables
- +24 NEW SCDXFDA,SCDXIEN,SCDXMSG,HISTPTR,TMP
- +25 ;Build FDA array
- +26 SET SCDXFDA(409.77,"+1,",.01)=XMITPTR
- +27 ;Encounter date/time
- +28 SET TMP=+$$EDT4XMIT^SCDXFU11(XMITPTR)
- +29 IF ('TMP)
- QUIT "-1^Unable to determine encounter date/time"
- +30 SET SCDXFDA(409.77,"+1,",.02)=TMP
- +31 ;Patient
- +32 SET TMP=+$$PAT4XMIT^SCDXUTL4(XMITPTR)
- +33 IF ('TMP)
- QUIT "-1^Unable to determine patient"
- +34 SET SCDXFDA(409.77,"+1,",.03)=TMP
- +35 ;Clinic
- +36 SET TMP=+$$LOC4XMIT^SCDXFU11(XMITPTR)
- +37 IF ('TMP)
- QUIT "-1^Unable to determine encounter's clinic"
- +38 SET SCDXFDA(409.77,"+1,",.04)=TMP
- +39 ;Division
- +40 SET TMP=+$$DIV4XMIT^SCDXFU11(XMITPTR)
- +41 IF ('TMP)
- QUIT "-1^Unable to determine encounter's division"
- +42 SET SCDXFDA(409.77,"+1,",.05)=TMP
- +43 ;Visit ID
- +44 SET TMP=$$VID4XMIT^SCDXFU11(XMITPTR)
- +45 IF (TMP="")
- QUIT "-1^Unable to determine encounter's Unique Visit ID"
- +46 SET SCDXFDA(409.77,"+1,",.06)=TMP
- +47 ;Transmission date/time
- +48 SET SCDXFDA(409.77,"+1,",11)=XMITDATE
- +49 ;Message ID
- +50 SET SCDXFDA(409.77,"+1,",12)=MID4XMIT
- +51 ;Batch ID
- +52 SET SCDXFDA(409.77,"+1,",13)=BID4XMIT
- +53 ;Create entry
- +54 DO UPDATE^DIE("S","SCDXFDA","SCDXIEN","SCDXMSG")
- +55 ;Get entry number created
- +56 SET HISTPTR=+$GET(SCDXIEN(1))
- +57 ;Error
- +58 IF (('HISTPTR)!($DATA(SCDXMSG("DIERR"))))
- QUIT "-1^Unable to create entry in ACRP TRANSMISSION HISTORY file"
- +59 ;Done
- +60 QUIT HISTPTR
- +61 ;
- XMITHIST(HISTPTR,MID4XMIT,BID4XMIT) ;Store/update transmission information
- +1 ; for entry in ACRP Transmission History file (#409.77)
- +2 ;
- +3 ;Input : HISTPTR - Pointer to entry in ACRP Transmission History file
- +4 ; MID4XMIT - Message ID of transmission (value for field #12)
- +5 ; BID4XMIT - Batch ID of transmission (value for field #13)
- +6 ;Output : None
- +7 ;Note : This call does not update the Date/time of Transmission
- +8 ; field (#11)
- +9 ;
- +10 ;Check input
- +11 SET HISTPTR=+$GET(HISTPTR)
- +12 IF ('$DATA(^SD(409.77,HISTPTR,0)))
- QUIT
- +13 SET MID4XMIT=$GET(MID4XMIT)
- +14 IF (MID4XMIT="")
- QUIT
- +15 SET BID4XMIT=$GET(BID4XMIT)
- +16 IF (BID4XMIT="")
- QUIT
- +17 ;Declare variables
- +18 NEW SCDXFDA,SCDXMSG,SCDXIENS
- +19 ;Set up FDA array
- +20 SET SCDXIENS=HISTPTR_","
- +21 SET SCDXFDA(409.77,SCDXIENS,12)=MID4XMIT
- +22 SET SCDXFDA(409.77,SCDXIENS,13)=BID4XMIT
- +23 ;Store/update transmission info
- +24 DO FILE^DIE("S","SCDXFDA","SCDXMSG")
- +25 ;Done
- +26 QUIT
- +27 ;
- ACKHIST(HISTPTR,ACKDATE,ACKCODE) ;Store/update acknowledgement
- +1 ; information for entry in ACRP Transmission History file (#409.77)
- +2 ;
- +3 ;Input : HISTPTR - Pointer to entry in ACRP Transmission History file
- +4 ; ACKDATE - Date/time of acknowledgement (value for field #21)
- +5 ; - Pass in FileMan format
- +6 ; - Defaults to current date/time (NOW)
- +7 ; ACKCODE - Acknowledgement code (value for field #22)
- +8 ; - A = Accepted R = Rejected E = Error
- +9 ; - Defaults to E (Error)
- +10 ;Output : None
- +11 ;
- +12 ;Check input
- +13 SET HISTPTR=+$GET(HISTPTR)
- +14 IF ('$DATA(^SD(409.77,HISTPTR,0)))
- QUIT
- +15 SET ACKDATE=+$GET(ACKDATE)
- +16 IF ('ACKDATE)
- SET ACKDATE=$$NOW^XLFDT()
- +17 SET ACKCODE=$TRANSLATE($GET(ACKCODE),"are","ARE")
- +18 IF (ACKCODE="")
- SET ACKCODE="E"
- +19 IF ($LENGTH(ACKCODE)>1)
- SET ACKCODE="E"
- +20 IF ("ARE"'[ACKCODE)
- SET ACKCODE="E"
- +21 ;Declare variables
- +22 NEW SCDXFDA,SCDXMSG,SCDXIENS
- +23 ;Set up FDA array
- +24 SET SCDXIENS=HISTPTR_","
- +25 SET SCDXFDA(409.77,SCDXIENS,21)=ACKDATE
- +26 SET SCDXFDA(409.77,SCDXIENS,22)=ACKCODE
- +27 ;Store/update transmission info
- +28 DO FILE^DIE("S","SCDXFDA","SCDXMSG")
- +29 ;Done
- +30 QUIT
- +31 ;
- DELHIST(HISTPTR) ;Delete entry in ACRP Transmission History file
- +1 ; (#409.77)
- +2 ;
- +3 ;Input : HISTPTR - Pointer to entry in ACRP Transmission History file
- +4 ;Output : None
- +5 ;
- +6 ;Check input
- +7 SET HISTPTR=+$GET(HISTPTR)
- +8 IF ('HISTPTR)
- QUIT
- +9 ;Declare variables
- +10 NEW DIK,DA,DIC,DIE,X,Y
- +11 ;Delete
- +12 SET DIK="^SD(409.77,"
- +13 SET DA=HISTPTR
- +14 DO ^DIK
- +15 ;Done
- +16 QUIT
- +17 ;
- DELAHIST(XMITPTR) ;Delete all entries in ACRP Transmission History file
- +1 ; (#409.77) for entry in Transmitted Outpatient Encounter file (#409.73)
- +2 ;
- +3 ;Input : XMITPTR - Pointer to entry in Transmitted Outpatient
- +4 ; Encounter file
- +5 ;Output : None
- +6 ;
- +7 ;Check input
- +8 SET XMITPTR=+$GET(XMITPTR)
- +9 IF ('$DATA(^SD(409.73,XMITPTR,0)))
- QUIT
- +10 ;Declare variables
- +11 NEW HISTPTR
- +12 ;Loop through 'B' x-ref of history file and delete all entries found
- +13 SET HISTPTR=0
- +14 FOR
- SET HISTPTR=+$ORDER(^SD(409.77,"B",XMITPTR,HISTPTR))
- IF ('HISTPTR)
- QUIT
- DO DELHIST(HISTPTR)
- +15 ;Done
- +16 QUIT
- +17 ;
- WIPEHIST(HISTPTR,WIPEFLAG) ;Delete transmission and acknowledgement
- +1 ; information for entry in ACRP Transmission History file (#409.77)
- +2 ;
- +3 ;Input : HISTPTR - Pointer to entry in ACRP Transmission History file
- +4 ; WIPEFLAG - Flag indicating which information to delete
- +5 ; 0 = Transmission & acknowledgment info (default)
- +6 ; 1 = Transmission information
- +7 ; 2 = Acknowledgement information
- +8 ;Output : None
- +9 ;Notes : This call should be used when the history information needs
- +10 ; to be deleted and the actual entry can not
- +11 ; : This call does not delete required fields (.01 - .06 & 11)
- +12 ;
- +13 ;Check input
- +14 SET HISTPTR=+$GET(HISTPTR)
- +15 IF ('$DATA(^SD(409.77,HISTPTR,0)))
- QUIT
- +16 SET WIPEFLAG=+$GET(WIPEFLAG)
- +17 IF ((WIPEFLAG<0)!(WIPEFLAG>2))
- SET WIPEFLAG=0
- +18 ;Declare variables
- +19 NEW SCDXFDA,SCDXMSG,SCDXIENS
- +20 ;Set up FDA array
- +21 SET SCDXIENS=HISTPTR_","
- +22 ;Transmission info
- +23 IF (WIPEFLAG'=2)
- Begin DoDot:1
- +24 SET SCDXFDA(409.77,SCDXIENS,12)=""
- +25 SET SCDXFDA(409.77,SCDXIENS,13)=""
- End DoDot:1
- +26 ;Acknowledgement info
- +27 IF (WIPEFLAG'=1)
- Begin DoDot:1
- +28 SET SCDXFDA(409.77,SCDXIENS,21)=""
- +29 SET SCDXFDA(409.77,SCDXIENS,22)=""
- End DoDot:1
- +30 ;Delete requested info
- +31 DO FILE^DIE("S","SCDXFDA","SCDXMSG")
- +32 ;Done
- +33 QUIT