- ABSPOS6A ; IHS/FCS/DRS - Data Entry & Status Disp ;
- ;;1.0;PHARMACY POINT OF SALE;;JUN 21, 2001
- ;
- ; ALL writes of screen lines should be done as follows:
- ; IF $$VISIBLE(line) DO WRITE^VALM10(line)
- ; When appropriate, set NODISPLY=true and $$VISIBLE will return false
- Q
- ERROR D FULL^VALM1 Q ; how to do ZQUIT acceptably? ; ZQUIT
- DISPHIST(MSG,HANG) ; DEBUGGING - to record history and pause
- Q:'$P($G(^ABSP(9002313.99,1,"ABSPOS6*")),U)
- D DISPHIST^ABSPOS6H(MSG,HANG)
- Q
- EN(USER,TIME) ;EP - from ABSPOS in prog mode ; option ABSP USER SCREEN
- ;S $ZT="ERROR^"_$T(+0) ; you lose the stack printout when you do this!
- N DISMISS,DISP,DISPHIST,DISPLINE,DISPIDX,CHGCOUNT,NODISPLY,INFO,ONEPAT
- D MYPARAMS^ABSPOS6C
- K @DISP,@DISPLINE,@DISPIDX,@DISPHIST,@DISMISS S (@DISPLINE,@DISPHIST)=0
- D EN^VALM("ABSP USER SCREEN")
- Q
- HDR G HDR^ABSPOS6C ; -- header code
- INIT ; -- init variables and list array
- N DISMISS,DISP,DISPHIST,DISPLINE,DISPIDX,CHGCOUNT,NODISPLY
- D MYPARAMS^ABSPOS6C
- D CLEAN^VALM10
- ;INIT1 ; to bypass setting of MYPARAMS
- S VALMCNT=0 ; 0 lines so far
- D HDR
- D UPD
- Q
- UPD ;EP - protocol ABSP P1 UPDATE ; update the screen, once
- ; called from ABSPOS6C,ABSPOS6D,ABSPOS6J,ABSPOSI
- D UPDATE^ABSPOS6I(1)
- S VALMBCK="",XQORM("B")="UD" Q
- CONTUPD ; protocol ABSP P1 CONTINUOUS ; continuous update of the display
- W !!!!! D UPDATE^ABSPOS6I(-1) S VALMBCK=""
- ; returned from Continuous Update - what's next?
- I $P($G(^ABSP(9002313.99,1,"INPUT")),U,3) D
- . ; input method is via RX calling POS or by background monitor
- . S XQORM("B")="CU" ; default is to go back into continuous update
- E D ; input method is manual input
- . S XQORM("B")="NEW" ; default is to do more data entry
- Q
- HELP ; -- help code
- N X S X="?" D DISP^XQORM1 W !!
- Q
- ;
- EXIT ; -- exit code
- D FULL^VALM1
- Q
- ;
- EXPND ; -- expand code
- Q
- ;
- ABSPOS6A ; IHS/FCS/DRS - Data Entry & Status Disp ;
- +1 ;;1.0;PHARMACY POINT OF SALE;;JUN 21, 2001
- +2 ;
- +3 ; ALL writes of screen lines should be done as follows:
- +4 ; IF $$VISIBLE(line) DO WRITE^VALM10(line)
- +5 ; When appropriate, set NODISPLY=true and $$VISIBLE will return false
- +6 QUIT
- ERROR ; how to do ZQUIT acceptably? ; ZQUIT
- DO FULL^VALM1
- QUIT
- DISPHIST(MSG,HANG) ; DEBUGGING - to record history and pause
- +1 IF '$PIECE($GET(^ABSP(9002313.99,1,"ABSPOS6*")),U)
- QUIT
- +2 DO DISPHIST^ABSPOS6H(MSG,HANG)
- +3 QUIT
- EN(USER,TIME) ;EP - from ABSPOS in prog mode ; option ABSP USER SCREEN
- +1 ;S $ZT="ERROR^"_$T(+0) ; you lose the stack printout when you do this!
- +2 NEW DISMISS,DISP,DISPHIST,DISPLINE,DISPIDX,CHGCOUNT,NODISPLY,INFO,ONEPAT
- +3 DO MYPARAMS^ABSPOS6C
- +4 KILL @DISP,@DISPLINE,@DISPIDX,@DISPHIST,@DISMISS
- SET (@DISPLINE,@DISPHIST)=0
- +5 DO EN^VALM("ABSP USER SCREEN")
- +6 QUIT
- HDR ; -- header code
- GOTO HDR^ABSPOS6C
- INIT ; -- init variables and list array
- +1 NEW DISMISS,DISP,DISPHIST,DISPLINE,DISPIDX,CHGCOUNT,NODISPLY
- +2 DO MYPARAMS^ABSPOS6C
- +3 DO CLEAN^VALM10
- +4 ;INIT1 ; to bypass setting of MYPARAMS
- +5 ; 0 lines so far
- SET VALMCNT=0
- +6 DO HDR
- +7 DO UPD
- +8 QUIT
- UPD ;EP - protocol ABSP P1 UPDATE ; update the screen, once
- +1 ; called from ABSPOS6C,ABSPOS6D,ABSPOS6J,ABSPOSI
- +2 DO UPDATE^ABSPOS6I(1)
- +3 SET VALMBCK=""
- SET XQORM("B")="UD"
- QUIT
- CONTUPD ; protocol ABSP P1 CONTINUOUS ; continuous update of the display
- +1 WRITE !!!!!
- DO UPDATE^ABSPOS6I(-1)
- SET VALMBCK=""
- +2 ; returned from Continuous Update - what's next?
- +3 IF $PIECE($GET(^ABSP(9002313.99,1,"INPUT")),U,3)
- Begin DoDot:1
- +4 ; input method is via RX calling POS or by background monitor
- +5 ; default is to go back into continuous update
- SET XQORM("B")="CU"
- End DoDot:1
- +6 ; input method is manual input
- IF '$TEST
- Begin DoDot:1
- +7 ; default is to do more data entry
- SET XQORM("B")="NEW"
- End DoDot:1
- +8 QUIT
- HELP ; -- help code
- +1 NEW X
- SET X="?"
- DO DISP^XQORM1
- WRITE !!
- +2 QUIT
- +3 ;
- EXIT ; -- exit code
- +1 DO FULL^VALM1
- +2 QUIT
- +3 ;
- EXPND ; -- expand code
- +1 QUIT
- +2 ;