AZP3EDT ;EDIT INSURANCE DATA [ 10/01/90 3:46 PM ]
;FCJ PAO 10/1/90
VAR S U="^",RXDSP=$P(^AZPPI(0,DUZ(2),1),U,2)
S DIC="^AZPPI(1,",DIC(0)="MEZA",DIC("A")="Enter Bill Number: ",DR="[AZP3ED]",DIE="^AZPPI(1,"
A1 D ^DIC G:Y<0 EXIT S DA=$P(Y,U) D ^DIE
RX S RXTOT=0 G:'$D(^AZPPI(1,DA,3)) CPT
RX1 S ND=0 F S ND=$O(^AZPPI(1,DA,3,ND)) Q:ND'?1N.N S PRX=$P(^(ND,0),U) D
.S PRX1=0,RXDATA=^PSRX(PRX,0),PDRG=$P(RXDATA,U,6),RXDT=$P(^PSRX(PRX,3),U),RXQTY=$P(RXDATA,U,7)
.I $D(^PSRX(1,PRX,"B",RXDT)) S PRX1=$O(^PSRX(1,PRX,"B",RXDT,PRX1)),RXDATA1=^PSRX(PRX,1,PRX1,0),RXQTY=$P(RXDATA1,U,4)
.S DRGCST=$S($D(^PSDRUG(PDRG,660)):$P(^(660),U,6),1:0),RXCST=RXQTY*DRGCST,RXCST=RXDSP+RXCST,RXTOT=RXCST+RXTOT
CPT S (PDOS,TOT)=0 F S PDOS=$O(^AZPPI(1,DA,4,PDOS)) Q:PDOS'?1N.N S PCPT=0 D
.F S PCPT=$O(^AZPPI(1,DA,4,PDOS,1,PCPT)) Q:PCPT'?1N.N D
..S DATA=^(PCPT,0),DATA1=$P(DATA,U),DATA1=^AZPPI(2,DATA1,0)
..S TOT=$P(DATA1,U,3)+TOT
S $P(^AZPPI(1,DA,5),U)=TOT+RXTOT,$P(^AZPPI(1,DA,1),U,9)=RXTOT W !! G A1
EXIT K RXDSP,DIC,DIC(0),DIC("A"),DA,DR,DIE,YR,ND,RX,RXCST,RXDPS,RXTOT,TOT,U,PRX,PRX1,RXDATA,PDRG,RXDT,RXQTY,RXDATA1,DRGCST,PDOS,PCPT,DATA,DATA1 Q
AZP3EDT ;EDIT INSURANCE DATA [ 10/01/90 3:46 PM ]
+1 ;FCJ PAO 10/1/90
VAR SET U="^"
SET RXDSP=$PIECE(^AZPPI(0,DUZ(2),1),U,2)
+1 SET DIC="^AZPPI(1,"
SET DIC(0)="MEZA"
SET DIC("A")="Enter Bill Number: "
SET DR="[AZP3ED]"
SET DIE="^AZPPI(1,"
A1 DO ^DIC
IF Y<0
GOTO EXIT
SET DA=$PIECE(Y,U)
DO ^DIE
RX SET RXTOT=0
IF '$DATA(^AZPPI(1,DA,3))
GOTO CPT
RX1 SET ND=0
FOR
SET ND=$ORDER(^AZPPI(1,DA,3,ND))
IF ND'?1N.N
QUIT
SET PRX=$PIECE(^(ND,0),U)
Begin DoDot:1
+1 SET PRX1=0
SET RXDATA=^PSRX(PRX,0)
SET PDRG=$PIECE(RXDATA,U,6)
SET RXDT=$PIECE(^PSRX(PRX,3),U)
SET RXQTY=$PIECE(RXDATA,U,7)
+2 IF $DATA(^PSRX(1,PRX,"B",RXDT))
SET PRX1=$ORDER(^PSRX(1,PRX,"B",RXDT,PRX1))
SET RXDATA1=^PSRX(PRX,1,PRX1,0)
SET RXQTY=$PIECE(RXDATA1,U,4)
+3 SET DRGCST=$SELECT($DATA(^PSDRUG(PDRG,660)):$PIECE(^(660),U,6),1:0)
SET RXCST=RXQTY*DRGCST
SET RXCST=RXDSP+RXCST
SET RXTOT=RXCST+RXTOT
End DoDot:1
CPT SET (PDOS,TOT)=0
FOR
SET PDOS=$ORDER(^AZPPI(1,DA,4,PDOS))
IF PDOS'?1N.N
QUIT
SET PCPT=0
Begin DoDot:1
+1 FOR
SET PCPT=$ORDER(^AZPPI(1,DA,4,PDOS,1,PCPT))
IF PCPT'?1N.N
QUIT
Begin DoDot:2
+2 SET DATA=^(PCPT,0)
SET DATA1=$PIECE(DATA,U)
SET DATA1=^AZPPI(2,DATA1,0)
+3 SET TOT=$PIECE(DATA1,U,3)+TOT
End DoDot:2
End DoDot:1
+4 SET $PIECE(^AZPPI(1,DA,5),U)=TOT+RXTOT
SET $PIECE(^AZPPI(1,DA,1),U,9)=RXTOT
WRITE !!
GOTO A1
EXIT KILL RXDSP,DIC,DIC(0),DIC("A"),DA,DR,DIE,YR,ND,RX,RXCST,RXDPS,RXTOT,TOT,U,PRX,PRX1,RXDATA,PDRG,RXDT,RXQTY,RXDATA1,DRGCST,PDOS,PCPT,DATA,DATA1
QUIT