- SCDXRT02 ;ALB/JRP - RETRANSMIT REJECTS FROM NPCDB ;10/15/96
- ;;5.3;Scheduling;**68,640**;AUG 13, 1993;Build 8
- ;
- EN ;Entry point for List Manager display
- ;
- ;SD*640 Stop selective retransmit of NPCDB rejections
- Q
- ;
- D EN^VALM("SCDX RETRAN REJECTS FROM NPCDB")
- Q
- ;
- ;Input : Variables as set by List Manager interface
- ;Output : Header for List Manager screen
- ;
- ;Declare variables
- N TMP,SPOT
- ;Build header
- S TMP="Patients whose encounter data has been rejected by the National"
- S SPOT=40-($L(TMP)\2)
- S VALMHDR(1)=$$INSERT^SCDXUTL1(TMP,"",SPOT)
- S TMP="Patient Care Database and not currently marked for retransmission"
- S SPOT=40-($L(TMP)\2)
- S VALMHDR(2)=$$INSERT^SCDXUTL1(TMP,"",SPOT)
- S TMP="(Entries marked by '*' will be flagged for retransmission on exit)"
- S SPOT=40-($L(TMP)\2)
- S VALMHDR(3)=$$INSERT^SCDXUTL1(TMP,"",SPOT)
- Q
- ;
- INIT ;Entry point for building List Manager display & indexes
- ;Input : Variables as set by List Manager interface
- ;Output : List Manager display
- ; VALMAR(Line,0) = Line to display
- ; Indexes
- ; VALMAR("ENTRIES") = Total number of entries
- ; VALMAR("LINES") = Total number of lines
- ; VALMAR("ENTRY2DFN",Entry) = DFN of entry
- ; VALMAR("DFN",DFN,XmitPtr) = Patient's name
- ; XmitPtr => Pointer to TRANSMITTED OUTPATIENT
- ; ENCOUNTER file (#409.73)
- ; VALMAR("NAME",Name) = DFN ^ Total encounters rejected
- ;
- ;Declare variables
- N SPOT,COL4ENT,LINE4ENT,TOTENTRY,DATA,ENTRY,DFN,NAME,NAMEID,VA,BS,VAERR
- ;Initialize global locations being used
- K @VALMAR
- ;Get array of all rejections not currently marked for [re]transmission
- W !!
- W !,"Building list of patients who have encounters that were rejected by"
- W !,"the National Patient Care Database and are not currently marked for"
- W !,"retransmission. This list only includes demographic and other non-"
- W !,"encounter related errors."
- S TOTENTRY=+$$GETREJ^SCDXUTL4(VALMAR,3,20)
- I (TOTENTRY<1) D Q
- .;No rejections on file - print message and quit
- .W !!,"No demographic rejections requiring retransmission are currently on file.",!
- .K @VALMAR
- .H 2
- .S VALMQUIT=1
- ;Determine total number of lines that will be in display
- ; (this is also the last entry number of column 1)
- S VALMCNT=TOTENTRY\2
- S:(TOTENTRY#2) VALMCNT=VALMCNT+1
- ;Remember total number of entries and lines
- S @VALMAR@("ENTRIES")=TOTENTRY
- S @VALMAR@("LINES")=VALMCNT
- ;Build display
- W !!,"Building display screen "
- S ENTRY=1
- ; string of blank characters
- S BS="",$P(BS," ",25)=""
- ; Loop through name index of rejection array
- S NAME=""
- F S NAME=$O(@VALMAR@("NAME",NAME)) Q:(NAME="") D
- .;Write a dot for every 10 entries
- .W:('(ENTRY#10)) "."
- .;Get DFN
- .S DFN=+$G(@VALMAR@("NAME",NAME))
- .D PID^VADPT6
- .;Determine which column & line to put entry in
- .S COL4ENT=(ENTRY>VALMCNT)+1
- .S LINE4ENT=ENTRY
- .S:(ENTRY>VALMCNT) LINE4ENT=ENTRY-VALMCNT
- .;Get data currently stored in display
- .S DATA=$G(@VALMAR@(LINE4ENT,0))
- .;Insert entry number
- .S SPOT=5-$L(ENTRY)
- .S:(COL4ENT=2) SPOT=43-$L(ENTRY)
- .S DATA=$$INSERT^SCDXUTL1(ENTRY,DATA,SPOT)
- .;Insert patient name truncated to 20 characters, then BID
- .S SPOT=6
- .S:(COL4ENT=2) SPOT=44
- .S NAMEID=$E(NAME_BS,1,20)_$S(VA("BID")]"":" ("_VA("BID")_")",1:"")
- .S DATA=$$INSERT^SCDXUTL1(NAMEID,DATA,SPOT)
- .;Put data back into display
- .S @VALMAR@(LINE4ENT,0)=DATA
- .;Store data into indexes
- .S @VALMAR@("ENTRY2DFN",ENTRY)=DFN
- .S @VALMAR@("DFN2ENTRY",DFN)=ENTRY
- .;Increment entry number
- .S ENTRY=ENTRY+1
- ;Done
- S VALMBG=1
- Q
- ;
- MARK(RESET) ;Entry point to prompt user for entry numbers to mark/unmark
- ; for retransmission
- ;
- ;Input : RESET - Flag denoting which process to execute
- ; 0 = Mark entry for retransmission (default)
- ; 1 = Unmark entry for retransmission
- ; Variables as set by List Manager interface
- ;Output : None
- ; The following index is set when marking an entry
- ; VALMAR("MARKED",Entry) = ""
- ; This index is deleted when unmarking an entry
- ; The List Manager display is updated accordingly
- ;Note : Marking/unmarking is done only in the context of the List
- ; Manager display
- ;
- ;Check input
- S RESET=+$G(RESET)
- ;Declare variables
- N ENTRY,SELECT,DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
- ;Switch to full screen
- D FULL^VALM1
- ;Prompt user for selection(s)
- S X=+$O(@VALMAR@("ENTRY2DFN",""))
- S Y=+$O(@VALMAR@("ENTRY2DFN",""),-1)
- S DIR(0)="LAO^"_X_":"_Y_":0"
- S DIR("A")="Select "_VALM("ENTITY")_"(s) ("_X_"-"_Y_"): "
- S DIR("?",1)=" Select the patient(s) whose rejected encounters you want "_$S(RESET:"un",1:"")_"marked"
- S DIR("?")=" for retransmission to the National Patient Care Database"
- D ^DIR
- I $D(DIRUT) S VALMBCK="R" Q
- ;Move selections from Y into SELECT - parse main output of DIR
- ; into individual entries in SELECT() array
- M SELECT=Y
- F X=1:1 S Y=$P(SELECT(0),",",X) Q:('Y) S SELECT(Y)=""
- K SELECT(0)
- ;Loop through selected entries
- S ENTRY=0
- F S ENTRY=+$O(SELECT(ENTRY)) Q:('ENTRY) D
- .;Mark/unmark entry for retransmission
- .D MARKIDX(ENTRY,RESET)
- ;Done
- S VALMBCK="R"
- Q
- ;
- MARKPT(RESET) ; Entry point to prompt user for patients to mark/unmark
- ; for retransmission
- ;
- ; (see description of input/output for MARK call)
- ;
- S RESET=+$G(RESET)
- ;Declare variables
- N ENTRY,DA,DIC,X,Y,DTOUT,DUOUT,DIRUT,DIROUT,VAUTN
- ;Switch to full screen
- D FULL^VALM1
- ;Prompt user for selection(s) via VAUTOMA
- S VAUTNI=2
- S DIC("S")="I $D(@VALMAR@(""DFN2ENTRY"",+Y))"
- D PATIENT^VAUTOMA
- I Y<0 S VALMBCK="R" Q
- I VAUTN=1 D MARKALL(RESET)
- ;Loop through selected entries
- S DFN=0
- F S DFN=+$O(VAUTN(DFN)) Q:('DFN) D
- .S ENTRY=$G(@VALMAR@("DFN2ENTRY",DFN)) Q:'ENTRY
- .;Mark/unmark entry for retransmission
- .D MARKIDX(ENTRY,RESET)
- ;Done
- S VALMBCK="R"
- Q
- ;
- MARKALL(RESET) ;Entry point to mark all entries for retransmission
- ;
- ;Input : RESET - Flag denoting which process to execute
- ; 0 = Mark entry for retransmission (default)
- ; 1 = Unmark entry for retransmission
- ; Variables as set by List Manager interface
- ;Output : None
- ; The following index is set when marking an entry
- ; VALMAR("MARKED",Entry) = ""
- ; This index is deleted when unmarking an entry
- ; The List Manager display is updated accordingly
- ;Note : Marking/unmarking is done only in the context of the List
- ; Manager display
- ;
- ;Check input
- S RESET=+$G(RESET)
- ;Declare variables
- N ENTRY
- ;Loop through all entries in entry & DFN index
- S ENTRY=""
- F S ENTRY=+$O(@VALMAR@("ENTRY2DFN",ENTRY)) Q:('ENTRY) D
- .;Mark/unmark for retransmission
- .D MARKIDX(ENTRY,RESET)
- ;Done
- S VALMBCK="R"
- Q
- ;
- MARKIDX(ENTRY,RESET) ;Entry point to mark/unmark an entry for retransmission
- ;
- ;Input : ENTRY - Entry number in display to mark/unmark
- ; RESET - Flag denoting which process to execute
- ; 0 = Mark entry for retransmission (default)
- ; 1 = Unmark entry for retransmission
- ; Variables as set by List Manager interface
- ;Output : None
- ; The following index is set when marking an entry
- ; VALMAR("MARKED",Entry) = ""
- ; This index is deleted when unmarking an entry
- ; The List Manager display is updated accordingly
- ;Note : Marking/unmarking is done only in the context of the List
- ; Manager display
- ;
- ;Check input
- S ENTRY=+$G(ENTRY)
- Q:(ENTRY<1)
- Q:('$D(@VALMAR@("ENTRY2DFN",ENTRY)))
- S RESET=+$G(RESET)
- ;Declare variables
- N TMP,COL4ENT,LINE4ENT,DATA,SPOT
- ;Set index
- S:('RESET) @VALMAR@("MARKED",ENTRY)=""
- ;Delete index
- K:(RESET) @VALMAR@("MARKED",ENTRY)
- ;Update display
- ; Determine which column & line to put entry in
- S TMP=+$G(@VALMAR@("LINES"))
- S COL4ENT=(ENTRY>TMP)+1
- S LINE4ENT=ENTRY
- S:(ENTRY>TMP) LINE4ENT=ENTRY-TMP
- ;Get data currently stored in display
- S DATA=$G(@VALMAR@(LINE4ENT,0))
- ;Put/remove retransmission mark
- S SPOT=1
- S:(COL4ENT=2) SPOT=39
- S TMP="*"
- S:(RESET) TMP=" "
- S DATA=$$INSERT^SCDXUTL1(TMP,DATA,SPOT)
- ;Put data back into display
- S @VALMAR@(LINE4ENT,0)=DATA
- ;Done
- Q
- ;
- CLEANUP ;Entry point for cleaning up
- ;
- ;Input : Variables as set by List Manager interface
- ;Output : None
- ;
- ;Declare variables
- N ENTRY,DFN,XMITPTR
- ;Switch to full screen
- D FULL^VALM1
- W !
- W !,"Rejected encounters for the selected patient(s) will now be"
- W !,"marked for retransmission "
- ;Loop through index of marked entries
- S ENTRY=""
- F S ENTRY=+$O(@VALMAR@("MARKED",ENTRY)) Q:('ENTRY) D
- .;Get DFN for entry
- .S DFN=+$G(@VALMAR@("ENTRY2DFN",ENTRY))
- .Q:('DFN)
- .;Loop through index of all entries in TRANSMITTED OUTPATIENT
- .; ENCOUNTER file (#409.73) for DFN
- .S XMITPTR=""
- .F S XMITPTR=+$O(@VALMAR@("DFN",DFN,XMITPTR)) Q:('XMITPTR) D
- ..;Mark entry for retransmission
- ..D STREEVNT^SCDXFU01(XMITPTR,0)
- ..;Turn on transmission flag
- ..D XMITFLAG^SCDXFU01(XMITPTR)
- ..W "."
- ;Done - clean up global location used and quit
- K @VALMAR
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSCDXRT02 9349 printed Jan 18, 2025@03:40:39 Page 2
- SCDXRT02 ;ALB/JRP - RETRANSMIT REJECTS FROM NPCDB ;10/15/96
- +1 ;;5.3;Scheduling;**68,640**;AUG 13, 1993;Build 8
- +2 ;
- EN ;Entry point for List Manager display
- +1 ;
- +2 ;SD*640 Stop selective retransmit of NPCDB rejections
- +3 QUIT
- +4 ;
- +5 DO EN^VALM("SCDX RETRAN REJECTS FROM NPCDB")
- +6 QUIT
- +7 ;
- +1 ;Input : Variables as set by List Manager interface
- +2 ;Output : Header for List Manager screen
- +3 ;
- +4 ;Declare variables
- +5 NEW TMP,SPOT
- +6 ;Build header
- +7 SET TMP="Patients whose encounter data has been rejected by the National"
- +8 SET SPOT=40-($LENGTH(TMP)\2)
- +9 SET VALMHDR(1)=$$INSERT^SCDXUTL1(TMP,"",SPOT)
- +10 SET TMP="Patient Care Database and not currently marked for retransmission"
- +11 SET SPOT=40-($LENGTH(TMP)\2)
- +12 SET VALMHDR(2)=$$INSERT^SCDXUTL1(TMP,"",SPOT)
- +13 SET TMP="(Entries marked by '*' will be flagged for retransmission on exit)"
- +14 SET SPOT=40-($LENGTH(TMP)\2)
- +15 SET VALMHDR(3)=$$INSERT^SCDXUTL1(TMP,"",SPOT)
- +16 QUIT
- +17 ;
- INIT ;Entry point for building List Manager display & indexes
- +1 ;Input : Variables as set by List Manager interface
- +2 ;Output : List Manager display
- +3 ; VALMAR(Line,0) = Line to display
- +4 ; Indexes
- +5 ; VALMAR("ENTRIES") = Total number of entries
- +6 ; VALMAR("LINES") = Total number of lines
- +7 ; VALMAR("ENTRY2DFN",Entry) = DFN of entry
- +8 ; VALMAR("DFN",DFN,XmitPtr) = Patient's name
- +9 ; XmitPtr => Pointer to TRANSMITTED OUTPATIENT
- +10 ; ENCOUNTER file (#409.73)
- +11 ; VALMAR("NAME",Name) = DFN ^ Total encounters rejected
- +12 ;
- +13 ;Declare variables
- +14 NEW SPOT,COL4ENT,LINE4ENT,TOTENTRY,DATA,ENTRY,DFN,NAME,NAMEID,VA,BS,VAERR
- +15 ;Initialize global locations being used
- +16 KILL @VALMAR
- +17 ;Get array of all rejections not currently marked for [re]transmission
- +18 WRITE !!
- +19 WRITE !,"Building list of patients who have encounters that were rejected by"
- +20 WRITE !,"the National Patient Care Database and are not currently marked for"
- +21 WRITE !,"retransmission. This list only includes demographic and other non-"
- +22 WRITE !,"encounter related errors."
- +23 SET TOTENTRY=+$$GETREJ^SCDXUTL4(VALMAR,3,20)
- +24 IF (TOTENTRY<1)
- Begin DoDot:1
- +25 ;No rejections on file - print message and quit
- +26 WRITE !!,"No demographic rejections requiring retransmission are currently on file.",!
- +27 KILL @VALMAR
- +28 HANG 2
- +29 SET VALMQUIT=1
- End DoDot:1
- QUIT
- +30 ;Determine total number of lines that will be in display
- +31 ; (this is also the last entry number of column 1)
- +32 SET VALMCNT=TOTENTRY\2
- +33 if (TOTENTRY#2)
- SET VALMCNT=VALMCNT+1
- +34 ;Remember total number of entries and lines
- +35 SET @VALMAR@("ENTRIES")=TOTENTRY
- +36 SET @VALMAR@("LINES")=VALMCNT
- +37 ;Build display
- +38 WRITE !!,"Building display screen "
- +39 SET ENTRY=1
- +40 ; string of blank characters
- +41 SET BS=""
- SET $PIECE(BS," ",25)=""
- +42 ; Loop through name index of rejection array
- +43 SET NAME=""
- +44 FOR
- SET NAME=$ORDER(@VALMAR@("NAME",NAME))
- if (NAME="")
- QUIT
- Begin DoDot:1
- +45 ;Write a dot for every 10 entries
- +46 if ('(ENTRY#10))
- WRITE "."
- +47 ;Get DFN
- +48 SET DFN=+$GET(@VALMAR@("NAME",NAME))
- +49 DO PID^VADPT6
- +50 ;Determine which column & line to put entry in
- +51 SET COL4ENT=(ENTRY>VALMCNT)+1
- +52 SET LINE4ENT=ENTRY
- +53 if (ENTRY>VALMCNT)
- SET LINE4ENT=ENTRY-VALMCNT
- +54 ;Get data currently stored in display
- +55 SET DATA=$GET(@VALMAR@(LINE4ENT,0))
- +56 ;Insert entry number
- +57 SET SPOT=5-$LENGTH(ENTRY)
- +58 if (COL4ENT=2)
- SET SPOT=43-$LENGTH(ENTRY)
- +59 SET DATA=$$INSERT^SCDXUTL1(ENTRY,DATA,SPOT)
- +60 ;Insert patient name truncated to 20 characters, then BID
- +61 SET SPOT=6
- +62 if (COL4ENT=2)
- SET SPOT=44
- +63 SET NAMEID=$EXTRACT(NAME_BS,1,20)_$SELECT(VA("BID")]"":" ("_VA("BID")_")",1:"")
- +64 SET DATA=$$INSERT^SCDXUTL1(NAMEID,DATA,SPOT)
- +65 ;Put data back into display
- +66 SET @VALMAR@(LINE4ENT,0)=DATA
- +67 ;Store data into indexes
- +68 SET @VALMAR@("ENTRY2DFN",ENTRY)=DFN
- +69 SET @VALMAR@("DFN2ENTRY",DFN)=ENTRY
- +70 ;Increment entry number
- +71 SET ENTRY=ENTRY+1
- End DoDot:1
- +72 ;Done
- +73 SET VALMBG=1
- +74 QUIT
- +75 ;
- MARK(RESET) ;Entry point to prompt user for entry numbers to mark/unmark
- +1 ; for retransmission
- +2 ;
- +3 ;Input : RESET - Flag denoting which process to execute
- +4 ; 0 = Mark entry for retransmission (default)
- +5 ; 1 = Unmark entry for retransmission
- +6 ; Variables as set by List Manager interface
- +7 ;Output : None
- +8 ; The following index is set when marking an entry
- +9 ; VALMAR("MARKED",Entry) = ""
- +10 ; This index is deleted when unmarking an entry
- +11 ; The List Manager display is updated accordingly
- +12 ;Note : Marking/unmarking is done only in the context of the List
- +13 ; Manager display
- +14 ;
- +15 ;Check input
- +16 SET RESET=+$GET(RESET)
- +17 ;Declare variables
- +18 NEW ENTRY,SELECT,DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
- +19 ;Switch to full screen
- +20 DO FULL^VALM1
- +21 ;Prompt user for selection(s)
- +22 SET X=+$ORDER(@VALMAR@("ENTRY2DFN",""))
- +23 SET Y=+$ORDER(@VALMAR@("ENTRY2DFN",""),-1)
- +24 SET DIR(0)="LAO^"_X_":"_Y_":0"
- +25 SET DIR("A")="Select "_VALM("ENTITY")_"(s) ("_X_"-"_Y_"): "
- +26 SET DIR("?",1)=" Select the patient(s) whose rejected encounters you want "_$SELECT(RESET:"un",1:"")_"marked"
- +27 SET DIR("?")=" for retransmission to the National Patient Care Database"
- +28 DO ^DIR
- +29 IF $DATA(DIRUT)
- SET VALMBCK="R"
- QUIT
- +30 ;Move selections from Y into SELECT - parse main output of DIR
- +31 ; into individual entries in SELECT() array
- +32 MERGE SELECT=Y
- +33 FOR X=1:1
- SET Y=$PIECE(SELECT(0),",",X)
- if ('Y)
- QUIT
- SET SELECT(Y)=""
- +34 KILL SELECT(0)
- +35 ;Loop through selected entries
- +36 SET ENTRY=0
- +37 FOR
- SET ENTRY=+$ORDER(SELECT(ENTRY))
- if ('ENTRY)
- QUIT
- Begin DoDot:1
- +38 ;Mark/unmark entry for retransmission
- +39 DO MARKIDX(ENTRY,RESET)
- End DoDot:1
- +40 ;Done
- +41 SET VALMBCK="R"
- +42 QUIT
- +43 ;
- MARKPT(RESET) ; Entry point to prompt user for patients to mark/unmark
- +1 ; for retransmission
- +2 ;
- +3 ; (see description of input/output for MARK call)
- +4 ;
- +5 SET RESET=+$GET(RESET)
- +6 ;Declare variables
- +7 NEW ENTRY,DA,DIC,X,Y,DTOUT,DUOUT,DIRUT,DIROUT,VAUTN
- +8 ;Switch to full screen
- +9 DO FULL^VALM1
- +10 ;Prompt user for selection(s) via VAUTOMA
- +11 SET VAUTNI=2
- +12 SET DIC("S")="I $D(@VALMAR@(""DFN2ENTRY"",+Y))"
- +13 DO PATIENT^VAUTOMA
- +14 IF Y<0
- SET VALMBCK="R"
- QUIT
- +15 IF VAUTN=1
- DO MARKALL(RESET)
- +16 ;Loop through selected entries
- +17 SET DFN=0
- +18 FOR
- SET DFN=+$ORDER(VAUTN(DFN))
- if ('DFN)
- QUIT
- Begin DoDot:1
- +19 SET ENTRY=$GET(@VALMAR@("DFN2ENTRY",DFN))
- if 'ENTRY
- QUIT
- +20 ;Mark/unmark entry for retransmission
- +21 DO MARKIDX(ENTRY,RESET)
- End DoDot:1
- +22 ;Done
- +23 SET VALMBCK="R"
- +24 QUIT
- +25 ;
- MARKALL(RESET) ;Entry point to mark all entries for retransmission
- +1 ;
- +2 ;Input : RESET - Flag denoting which process to execute
- +3 ; 0 = Mark entry for retransmission (default)
- +4 ; 1 = Unmark entry for retransmission
- +5 ; Variables as set by List Manager interface
- +6 ;Output : None
- +7 ; The following index is set when marking an entry
- +8 ; VALMAR("MARKED",Entry) = ""
- +9 ; This index is deleted when unmarking an entry
- +10 ; The List Manager display is updated accordingly
- +11 ;Note : Marking/unmarking is done only in the context of the List
- +12 ; Manager display
- +13 ;
- +14 ;Check input
- +15 SET RESET=+$GET(RESET)
- +16 ;Declare variables
- +17 NEW ENTRY
- +18 ;Loop through all entries in entry & DFN index
- +19 SET ENTRY=""
- +20 FOR
- SET ENTRY=+$ORDER(@VALMAR@("ENTRY2DFN",ENTRY))
- if ('ENTRY)
- QUIT
- Begin DoDot:1
- +21 ;Mark/unmark for retransmission
- +22 DO MARKIDX(ENTRY,RESET)
- End DoDot:1
- +23 ;Done
- +24 SET VALMBCK="R"
- +25 QUIT
- +26 ;
- MARKIDX(ENTRY,RESET) ;Entry point to mark/unmark an entry for retransmission
- +1 ;
- +2 ;Input : ENTRY - Entry number in display to mark/unmark
- +3 ; RESET - Flag denoting which process to execute
- +4 ; 0 = Mark entry for retransmission (default)
- +5 ; 1 = Unmark entry for retransmission
- +6 ; Variables as set by List Manager interface
- +7 ;Output : None
- +8 ; The following index is set when marking an entry
- +9 ; VALMAR("MARKED",Entry) = ""
- +10 ; This index is deleted when unmarking an entry
- +11 ; The List Manager display is updated accordingly
- +12 ;Note : Marking/unmarking is done only in the context of the List
- +13 ; Manager display
- +14 ;
- +15 ;Check input
- +16 SET ENTRY=+$GET(ENTRY)
- +17 if (ENTRY<1)
- QUIT
- +18 if ('$DATA(@VALMAR@("ENTRY2DFN",ENTRY)))
- QUIT
- +19 SET RESET=+$GET(RESET)
- +20 ;Declare variables
- +21 NEW TMP,COL4ENT,LINE4ENT,DATA,SPOT
- +22 ;Set index
- +23 if ('RESET)
- SET @VALMAR@("MARKED",ENTRY)=""
- +24 ;Delete index
- +25 if (RESET)
- KILL @VALMAR@("MARKED",ENTRY)
- +26 ;Update display
- +27 ; Determine which column & line to put entry in
- +28 SET TMP=+$GET(@VALMAR@("LINES"))
- +29 SET COL4ENT=(ENTRY>TMP)+1
- +30 SET LINE4ENT=ENTRY
- +31 if (ENTRY>TMP)
- SET LINE4ENT=ENTRY-TMP
- +32 ;Get data currently stored in display
- +33 SET DATA=$GET(@VALMAR@(LINE4ENT,0))
- +34 ;Put/remove retransmission mark
- +35 SET SPOT=1
- +36 if (COL4ENT=2)
- SET SPOT=39
- +37 SET TMP="*"
- +38 if (RESET)
- SET TMP=" "
- +39 SET DATA=$$INSERT^SCDXUTL1(TMP,DATA,SPOT)
- +40 ;Put data back into display
- +41 SET @VALMAR@(LINE4ENT,0)=DATA
- +42 ;Done
- +43 QUIT
- +44 ;
- CLEANUP ;Entry point for cleaning up
- +1 ;
- +2 ;Input : Variables as set by List Manager interface
- +3 ;Output : None
- +4 ;
- +5 ;Declare variables
- +6 NEW ENTRY,DFN,XMITPTR
- +7 ;Switch to full screen
- +8 DO FULL^VALM1
- +9 WRITE !
- +10 WRITE !,"Rejected encounters for the selected patient(s) will now be"
- +11 WRITE !,"marked for retransmission "
- +12 ;Loop through index of marked entries
- +13 SET ENTRY=""
- +14 FOR
- SET ENTRY=+$ORDER(@VALMAR@("MARKED",ENTRY))
- if ('ENTRY)
- QUIT
- Begin DoDot:1
- +15 ;Get DFN for entry
- +16 SET DFN=+$GET(@VALMAR@("ENTRY2DFN",ENTRY))
- +17 if ('DFN)
- QUIT
- +18 ;Loop through index of all entries in TRANSMITTED OUTPATIENT
- +19 ; ENCOUNTER file (#409.73) for DFN
- +20 SET XMITPTR=""
- +21 FOR
- SET XMITPTR=+$ORDER(@VALMAR@("DFN",DFN,XMITPTR))
- if ('XMITPTR)
- QUIT
- Begin DoDot:2
- +22 ;Mark entry for retransmission
- +23 DO STREEVNT^SCDXFU01(XMITPTR,0)
- +24 ;Turn on transmission flag
- +25 DO XMITFLAG^SCDXFU01(XMITPTR)
- +26 WRITE "."
- End DoDot:2
- End DoDot:1
- +27 ;Done - clean up global location used and quit
- +28 KILL @VALMAR
- +29 QUIT