ABSPOS6L ; IHS/FCS/DRS - Cancel a claim ;
;;1.0;PHARMACY POINT OF SALE;;JUN 21, 2001
Q
CANCEL(RXI) ; option to cancel claim would come here
; now done from a protocol on the data entry screen
;
; We merely flag the claim for cancellation.
; Let the transmit program handle the details.
; And if we got here too late, the results reporting takes care of it.
; If we really get fancy, we can have the result processing initiate
; a claim reversal.
;
I $D(RXI) G CANC5
W !,"Enter the prescription number whose claim you wish to cancel.",!
N RXI,ABSBRXI S (ABSBRXI,RXI)=$$GETRX^ABSPOSIV Q:RXI<1
CANC5 ;EP - from ABSPOS6D ; Given RXI=pointer to 9002313.59
Q:'$$LOCKPOS^ABSPOSUD
N DIE,DA,DR S DIE=9002313.59,DA=RXI
S DR="301////"_DUZ_";302///@;7///NOW" D ^DIE
D ULOCKPOS^ABSPOSUD
N INS S INS=$P(^ABSPT(RXI,1),U,6)
I $G(^ABSPEI(INS,101)) D
. N X S X=^ABSPEI(INS,101)
. I $P(X,U,6)=RXI S $P(^ABSPEI(INS,101),U,6)="" ; release Sleep Prober ownership
. I $D(^ABSPT("AD",31)) D TASK^ABSPOSQ1 ; poke other 31s
. D TASK^ABSPOSQ1 ; another 31, if any, will take over
Q
ABSPOS6L ; IHS/FCS/DRS - Cancel a claim ;
+1 ;;1.0;PHARMACY POINT OF SALE;;JUN 21, 2001
+2 QUIT
CANCEL(RXI) ; option to cancel claim would come here
+1 ; now done from a protocol on the data entry screen
+2 ;
+3 ; We merely flag the claim for cancellation.
+4 ; Let the transmit program handle the details.
+5 ; And if we got here too late, the results reporting takes care of it.
+6 ; If we really get fancy, we can have the result processing initiate
+7 ; a claim reversal.
+8 ;
+9 IF $DATA(RXI)
GOTO CANC5
+10 WRITE !,"Enter the prescription number whose claim you wish to cancel.",!
+11 NEW RXI,ABSBRXI
SET (ABSBRXI,RXI)=$$GETRX^ABSPOSIV
IF RXI<1
QUIT
CANC5 ;EP - from ABSPOS6D ; Given RXI=pointer to 9002313.59
+1 IF '$$LOCKPOS^ABSPOSUD
QUIT
+2 NEW DIE,DA,DR
SET DIE=9002313.59
SET DA=RXI
+3 SET DR="301////"_DUZ_";302///@;7///NOW"
DO ^DIE
+4 DO ULOCKPOS^ABSPOSUD
+5 NEW INS
SET INS=$PIECE(^ABSPT(RXI,1),U,6)
+6 IF $GET(^ABSPEI(INS,101))
Begin DoDot:1
+7 NEW X
SET X=^ABSPEI(INS,101)
+8 ; release Sleep Prober ownership
IF $PIECE(X,U,6)=RXI
SET $PIECE(^ABSPEI(INS,101),U,6)=""
+9 ; poke other 31s
IF $DATA(^ABSPT("AD",31))
DO TASK^ABSPOSQ1
+10 ; another 31, if any, will take over
DO TASK^ABSPOSQ1
End DoDot:1
+11 QUIT