Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ABSPOSR5

ABSPOSR5.m

Go to the documentation of this file.
  1. ABSPOSR5 ;IHS/OIT/SCR - REJECTION REPORT BY REJECTION REASON
  1. ;;1.0;PHARMACY POINT OF SALE;**29,30,34,35,39,40**;JUN 21, 2001;Build 38
  1. ; DISPLAYS POS CLAIMS BY REJECT CODE
  1. ; PATCH 40 NOTES: This routine was removed from POS MENUs and replaced with routine ABSPOSRY which does not use
  1. ; ABSP REPORT MASTER file or the ^ABSPT("NON-FILEMAN" cross-reference. It is staying with the build for comparison
  1. ;
  1. UPD ; UPDATE THE REPORT MASTER FILE IN ABSP
  1. N ABSPQUIT,ABSPDONE,ABSPSTRT,ABSPEND,ABSPLCNT
  1. ;D AUTO^ABSPOSM1() ;IHS/OIT/CNI/SCR patch 40 - can't run this from the prompt
  1. I $D(ZTQPARAM) D START
  1. S ABSPDONE=0
  1. S ABSPQUIT=0
  1. F Q:ABSPDONE=1 D
  1. .S ABSPSTRT=$$BDT()
  1. .I ABSPSTRT=-1 D
  1. ..S ABSPQUIT=1
  1. ..S ABSPDONE=1
  1. .Q:ABSPQUIT
  1. .S ABSPEND=$$EDT()
  1. .I ABSPEND=-1 D
  1. ..S ABSPQUIT=1
  1. ..S ABSPDONE=1
  1. .Q:ABSPQUIT
  1. .I ABSPSTRT<0 S ABSPDONE=1 Q
  1. .I ABSPEND<0 S ABSPDONE=1 Q
  1. .S X2=ABSPSTRT,X1=ABSPEND D ^%DTC
  1. .I X<0 D EN^DDIOL("Ending Date is BEFORE Beginning Date Please enter new dates","","!!,*7")
  1. .I X>=0 S ABSPDONE=1
  1. Q:ABSPQUIT
  1. S ABSPQUIT=$$CLNC()
  1. Q:ABSPQUIT=-1
  1. S ABSPQUIT=$$INS()
  1. Q:ABSPQUIT=-1
  1. S ABSPQUIT=$$CODE() ;IHS/OIT/SCR 092109 patch 34 - screen by selected reject code
  1. Q:ABSPQUIT=-1
  1. S ABSPQUIT=$$RTYPE()
  1. Q
  1. CLNC() ; PICK WHICH OR ALL CLINIC PHARMACIES
  1. N DIC,X,Y
  1. S DIC="^ABSP(9002313.56,"
  1. S DIC(0)="AEMQVZ"
  1. S DIC("A")="Please Select a Pharmacy or leave blank for ALL: "
  1. D ^DIC K DIC
  1. I X["^" Q -1
  1. I Y=-1 S ABSPPPHM="ALL"
  1. I Y>-1 S ABSPPPHM=$P(Y,"^",1),ABSPPHMN=$P(Y,"^",2)
  1. Q 1
  1. INS() ; SELECT THE INSURER OR CHOOSE ALL INSURERS
  1. N DIC,X,Y
  1. S DIC="^ABSPEI("
  1. S DIC(0)="AEMNQZ"
  1. S DIC("A")="Please choose an insurer or leave blank for ALL POS electronic insurers: "
  1. D ^DIC K DIC
  1. I X["^" Q -1
  1. I Y=-1 S ABSPINS="ALL"
  1. I Y'=-1 S ABSPINS=$P(Y,"^",1),ABSPINSN=$P(Y,"^",2)
  1. Q 1
  1. CODE() ;SELECT THE REJECTION CODE OR CHOOSE ALL CODES
  1. ;IHS/OIT/SCR 082109 START changes patch 34
  1. N DIC,X,Y
  1. S DIC="^ABSPRJC("
  1. S DIC(0)="AEMNQZ"
  1. S DIC("A")="Please choose a REJECTION CODE or leave blank for ALL: "
  1. D ^DIC K DIC
  1. I X["^" Q -1
  1. I Y=-1 S ABSPREJ="ALL"
  1. I Y'=-1 S ABSPREJ=$P(Y,"^",1),ABSPREJX=$P(Y,"^",2)
  1. Q 1
  1. RTYPE() ; SELECT IF YOU WANT SUMMARY, OR DETAILED
  1. N DIR,STARTIME,STOPTIME
  1. S DIR(0)="S^S:SUMMARY;D:DETAILED"
  1. S DIR("B")="D"
  1. S DIR("A")="Please select S for Summary or D for Detailed"
  1. D ^DIR
  1. I $D(DIRUT) Q -1
  1. S ABSPRTYP=X ; SET REPORT TYPE
  1. D DEVSEL
  1. D ^XBCLS
  1. S STARTIME=$H
  1. D FIND
  1. S STOPTIME=$H
  1. S ^TMP("ABSPOSR5-RUNLOG",$J,STARTIME)=ABSPSTRT_"^"_$P(ABSPEND,".")_"^"_($P(STOPTIME,",",2)-$P(STARTIME,",",2)) ;IHS/OIT/CNI/RAN patch 40 081810 for benchmark
  1. D NEXT
  1. Q 1
  1. DEVSEL ; SELECT DEVICE
  1. N ABSPSTOP
  1. S ABSPSTOP=0
  1. D ^%ZIS
  1. I POP D
  1. .D ^%ZIS
  1. I $D(DUOUT) D
  1. .D ZEND
  1. .S ABSPSTOP=1
  1. Q:ABSPSTOP
  1. I POP D
  1. .W "DEVICE UNAVAILABLE" G DEVSEL
  1. Q
  1. FIND ; FIND REJECTIONS BY RELEASE DATE "B" CROSS REFERENCE
  1. N ABSPDONE,ABSPRDT,ABSPCARD,ABSPGRP,ABSPCLMI,ABSPRCNT,ABSPRNUM
  1. N ABSPCODE,ABSPQUIT ;IHS/OIT/SCR 082109 patch 34
  1. S ABSPRDT=ABSPSTRT-1
  1. S ABSPDONE=0
  1. S ABSPRMI=""
  1. F S ABSPRDT=$O(^ABSPECX("RPT","B",ABSPRDT)) Q:ABSPRDT=""!ABSPDONE D
  1. .I ABSPRDT>ABSPEND S ABSPDONE=1 Q
  1. .S ABSPTMP(ABSPRDT)=""
  1. .F ABSPJ=1:1 S ABSPRMI=$O(^ABSPECX("RPT","B",ABSPRDT,ABSPRMI)) Q:ABSPRMI'=+ABSPRMI D
  1. ..S ABSPQUIT=0
  1. ..I $P(^ABSPECX("RPT",ABSPRMI,0),U,6)'=1 Q ; NOT A REJECTED CLAIM
  1. ..S ABSPTRNS=$P(^ABSPECX("RPT",ABSPRMI,0),U,3),ABSPTINS=$P(^ABSPTL(ABSPTRNS,1),U,6)
  1. ..S ABSPPHM1=""
  1. ..I ABSPINS'="ALL" Q:ABSPTINS'=ABSPINS ; NOT SELECTED INSURER
  1. ..I ABSPPPHM'="ALL" D
  1. ...I $P(^ABSPTL(ABSPTRNS,1),U,7)'=ABSPPPHM Q ; NOT SELECTED PHARMACY
  1. ...S ABSPPHM1=ABSPPPHM
  1. ...Q
  1. ..I ABSPPPHM="ALL" S ABSPPHM1=$P(^ABSPTL(ABSPTRNS,1),U,7) ; SET PHARMACY
  1. ..I ABSPPHM1="" Q
  1. ..;IHS/OIT/SCR 082109 START changes patch 34
  1. ..I ABSPREJ'="ALL" D ;QUIT IF NOT SELECTED REJECT CODE
  1. ...I $D(^ABSPECX("RPT",ABSPRMI,"R",0)) D
  1. ....S ABSPREA=$P($G(^ABSPECX("RPT",ABSPRMI,"R",1,0)),U,1)
  1. ....S ABSPNUM=$P(ABSPREA,":",1)
  1. ...I ABSPREJX'=ABSPNUM S ABSPQUIT=1
  1. ...Q
  1. ..Q:ABSPQUIT
  1. ..;IHS/OIT/SCR 082109 END changes patch 34
  1. ..I $D(^ABSPECX("RPT",ABSPRMI,"R",0)) D
  1. ...S ABSPREA=$P(^ABSPECX("RPT",ABSPRMI,"R",1,0),U,1)
  1. ...S ABSPRNUM=$P(ABSPREA,":",1)
  1. ...S ABSPRCD="R"
  1. ...Q
  1. ..I '$D(^ABSPECX("RPT",ABSPRMI,"R",0)) D
  1. ...S ABSPREA=$P($G(^ABSPECX("RPT",ABSPRMI,"M",1,0)),U,1)
  1. ...S:ABSPREA="" ABSPREA="UKN"
  1. ...S ABSPRNUM="999"
  1. ...S ABSPRCD="M" ; GET reason
  1. ...Q
  1. ..S ABSPCLMI=$P(^ABSPTL(ABSPTRNS,0),"^",4)
  1. ..S ABSPGRP=""
  1. ..S ABSPCARD=""
  1. ..I ABSPCLMI'="" D
  1. ...S ABSPCARD=$P($G(^ABSPC(ABSPCLMI,300)),"^",2) ;TRANSACTION:CLAIM:Cardholder ID Number
  1. ...S ABSPCARD=$E(ABSPCARD,3,$L(ABSPCARD)) ;STRIP THE 2 CHARACTER QUALIFIER
  1. ...S ABSPGRP=$P($G(^ABSPC(ABSPCLMI,300)),"^",1) ;TRANSACTION:CLAIM:Group Number
  1. ...S ABSPGRP=$E(ABSPGRP,3,$L(ABSPGRP)) ;STRIP THE 2 CHARACTER QUALIFIER
  1. ..;S ABSPRCNT=$P($G(ABSPREAS(ABSPRNUM)),"^",1)+1
  1. ..S ABSPRCNT=$P($G(ABSPREAS(ABSPRNUM,ABSPPHM1)),"^",1)+1 ;IHS/OIT/SCR 110309 patch 35
  1. ..;S ABSPREAS(ABSPRNUM)=ABSPRCNT_"^"_ABSPREA ;COUNT OF REJECT REASON TYPE^REJECT REASON
  1. ..S ABSPREAS(ABSPRNUM,ABSPPHM1)=ABSPRCNT_"^"_ABSPREA ;IHS/OIT/SCR 110309 patch 35
  1. ..S ABSPTMP(ABSPRDT,ABSPPHM1,ABSPTINS,ABSPRNUM,ABSPRMI)=ABSPREA_"^"_$P(^ABSPTL(ABSPTRNS,5),U,5)_"^"_$P(^ABSPTL(ABSPTRNS,0),U,6)_"^"_$P(^ABSPTL(ABSPTRNS,1),U,6)_"^"_ABSPCARD_"^"_ABSPGRP
  1. Q
  1. NEXT ; WHAT TO DO NEXT
  1. N ABSPSTOP,ABSPOUT
  1. S (ABSPSTOP,ABSPOUT)=0
  1. I $O(ABSPTMP(""))="" D
  1. .D PRHDR
  1. .W !!," NO REJECTIONS FOUND FOR THE SELECTED DATE(S)"
  1. .D ZEND
  1. .S ABSPSTOP=1
  1. .Q
  1. Q:ABSPSTOP
  1. D SUM
  1. D PRNTSUM
  1. I ABSPOUT D ZEND Q
  1. I ABSPRTYP["D" D PRNTDTL
  1. D ZEND
  1. Q
  1. PRHDR ; PRINT HEADER
  1. N ABSPFEDT,ABSPFBDT
  1. U IO W:$D(ABSPSUM) @IOF
  1. S Y=ABSPSTRT
  1. D DD^%DT
  1. S ABSPFBDT=Y
  1. S Y=ABSPEND
  1. D DD^%DT
  1. S ABSPFEDT=Y
  1. W @IOF
  1. W !,?19,"Pharmacy Point of Sale Rejection Report"
  1. W !,?22,"Claims sorted by Rejection Reason"
  1. W !?22,"From "_ABSPFBDT_" TO "_ABSPFEDT
  1. W !?30,"***SUMMARY REPORT***",!
  1. Q
  1. SUM ; PRINT SUMMARY PAGE
  1. ; TOTAL COUNTS BY REJECT CODE (1ST ON LIST)
  1. ; AND TOTAL AMT PER EACH THAT WAS REJECTED
  1. N ABSPPCNT
  1. S ABSPSRDT=""
  1. F S ABSPSRDT=$O(ABSPTMP(ABSPSRDT)) Q:ABSPSRDT="" D
  1. .S ABSPSPHM=""
  1. .F S ABSPSPHM=$O(ABSPTMP(ABSPSRDT,ABSPSPHM)) Q:ABSPSPHM="" D
  1. ..S ABSPSTIN=""
  1. ..F S ABSPSTIN=$O(ABSPTMP(ABSPSRDT,ABSPSPHM,ABSPSTIN)) Q:ABSPSTIN="" D
  1. ...S ABSPSRNM=""
  1. ...F S ABSPSRNM=$O(ABSPTMP(ABSPSRDT,ABSPSPHM,ABSPSTIN,ABSPSRNM)) Q:ABSPSRNM="" D
  1. ....S ABSPSTTL=0,ABSPSRMI="",ABSPSTL1=0
  1. ....F S ABSPSRMI=$O(ABSPTMP(ABSPSRDT,ABSPSPHM,ABSPSTIN,ABSPSRNM,ABSPSRMI)) Q:ABSPSRMI="" D
  1. .....S ABSPSREA=$P(ABSPTMP(ABSPSRDT,ABSPSPHM,ABSPSTIN,ABSPSRNM,ABSPSRMI),U,1)
  1. .....;S ABSPPCNT=$P(ABSPREAS(""_ABSPSRNM_""),U,1) ; GET COUNT OF THIS REJECTION REASON
  1. .....S ABSPPCNT=$P(ABSPREAS(""_ABSPSRNM_"",ABSPSPHM),U,1) ;IHS/OIT/SCR 110309 patch 35
  1. .....S ABSPSTTL=ABSPSTTL+$P(ABSPTMP(ABSPSRDT,ABSPSPHM,ABSPSTIN,ABSPSRNM,ABSPSRMI),U,2)
  1. ....S ABSPSTL1=ABSPSTTL+$P($G(ABSPSUM(ABSPSPHM,ABSPSRNM)),U,2)
  1. ....S ABSPSUM(ABSPSPHM,ABSPSRNM)=ABSPSREA_"^"_ABSPSTL1_"^"_ABSPSTIN_"^"_ABSPPCNT
  1. Q
  1. PRNTSUM ; PRINT THE SUMMARY REPORT
  1. N ABSPGCNT,ABSPPCNT,ABSPSTOP
  1. S ABSPSTOP=0
  1. S ABSPPPHM=""
  1. S ABSPRTOT=0
  1. S ABSPPCNT=0
  1. S ABSPGTOT=0
  1. S ABSPGCNT=0
  1. S ABSPBTOT=0
  1. S ABSPSTOP=0
  1. S ABSPQUIT=0
  1. S ABSPOUT=0
  1. D PRHDR
  1. F S ABSPPPHM=$O(ABSPSUM(ABSPPPHM)) Q:(ABSPPPHM="")!(ABSPSTOP) D
  1. .I ABSPOUT S ABSPSTOP=1 Q
  1. .S ABSPPHMN=$P(^ABSP(9002313.56,ABSPPPHM,0),U,1)
  1. .;IHS/OIT/CNI/RAN 04272010 patch 39 - When printing to screen, use paging.
  1. .S ABSPOUT=$$WRITE^ABSPOSUU("!!,""PHARMACY: "",ABSPPHMN")
  1. .Q:ABSPOUT
  1. .S ABSPPRNM=""
  1. .S ABSPRTOT=0
  1. .S ABSPPCNT=0 ;IHS/OIT/SCR 110309 this is pharmacy count
  1. .;IHS/OIT/CNI/RAN 05042010 patch 39 - When printing to screen, use paging.
  1. .S ABSPOUT=$$WRITE^ABSPOSUU("!?2,""REJECTION CODE: "",?58,"" TOTALED: "",?68,"" RX COUNT: """)
  1. .Q:ABSPOUT
  1. .F S ABSPPRNM=$O(ABSPSUM(ABSPPPHM,ABSPPRNM)) Q:(ABSPPRNM="")!(ABSPSTOP) D
  1. ..I ABSPOUT S ABSPSTOP=1 Q
  1. ..S ABSPDRTR=$P(ABSPSUM(ABSPPPHM,ABSPPRNM),U,1)
  1. ..I ABSPDRTR'="" D
  1. ...;IHS/OIT/CNI/RAN 04272010 patch 39 - When printing to screen, use paging.
  1. ...S ABSPOUT=$$WRITE^ABSPOSUU("!?0,$P(ABSPSUM(ABSPPPHM,ABSPPRNM),U,1),?60,$J($P(ABSPSUM(ABSPPPHM,ABSPPRNM),U,2),7,2),?72,$P(ABSPSUM(ABSPPPHM,ABSPPRNM),U,4)")
  1. ...Q:ABSPOUT
  1. ...S ABSPRTOT=ABSPRTOT+$P(ABSPSUM(ABSPPPHM,ABSPPRNM),U,2)
  1. ...S ABSPPCNT=ABSPPCNT+$P(ABSPSUM(ABSPPPHM,ABSPPRNM),U,4)
  1. ..Q:ABSPOUT
  1. .Q:ABSPSTOP
  1. .Q:ABSPOUT
  1. .S ABSPGTOT=ABSPGTOT+ABSPRTOT
  1. .S ABSPGCNT=ABSPGCNT+ABSPPCNT
  1. .;IHS/OIT/CNI/RAN 04272010 patch 39 - When printing to screen, use paging
  1. .W:$Y<3 ! S ABSPOUT=$$WRITE^ABSPOSUU("!!,""TOTAL FOR PHARMACY: $"",ABSPRTOT")
  1. .Q:ABSPOUT
  1. .W:$Y<3 ! S ABSPOUT=$$WRITE^ABSPOSUU("!,""# RX REJECTED FOR PHARMACY: "",ABSPPCNT")
  1. .Q:ABSPOUT
  1. Q:ABSPSTOP
  1. Q:ABSPOUT
  1. ;IHS/OIT/CNI/RAN 04272010 patch 39 - When printing to screen, use paging
  1. W:$Y<3 ! S ABSPOUT=$$WRITE^ABSPOSUU("!!,""GRAND TOTAL: $"",ABSPGTOT")
  1. Q:ABSPOUT
  1. W:$Y<3 ! S ABSPOUT=$$WRITE^ABSPOSUU("!,""# RX REJECTED: "",ABSPGCNT")
  1. ;W:$Y<3 ! W !!,"P - Preventable, N - Non-recoverable, B - Both"
  1. Q
  1. PRNTDHD ; PRINT DETAIL HEADER
  1. I ABSPRTYP'["D" D ZEND Q
  1. ;IHS/OIT/CNI/RAN 04272010 patch 39 - When printing to screen, use paging
  1. S ABSPOUT=$$WRITE^ABSPOSUU("!!,?21,""********** Detailed Report **********"",!")
  1. Q:ABSPOUT
  1. S ABSPOUT=$$WRITE^ABSPOSUU("!,""CHT #"",?14,""NAME"",?32,""RX #/FILL #"",?52,""INSURER"",?69,""AMT BILLED""")
  1. Q:ABSPOUT
  1. ;IHS/OIT/CNI/RAN 04282010 patch 39 - Add NDC # and Drug name
  1. S ABSPOUT=$$WRITE^ABSPOSUU("!,?3,""CARD HOLDER ID #"",?27,""GROUP #"",?40,""NDC #"",?60,""DRUG NAME""")
  1. Q
  1. PRNTDTL ; PRINT DETAILED REPORT
  1. N ABSPCARD,ABSPFRDT,ABSPGRP,ABSPSTOP,ABSPNDC,ABSPDRNM,ABSPQUIT,ABSPOUT
  1. S ABSPPRDT=""
  1. S ABSPPPHM=""
  1. S ABSPPRNM=""
  1. ;IHS/OIT/CNI/RAN 04282010 patch 39 - Add NDC # and Drug name on next two lines and New line above
  1. S ABSPNDC=""
  1. S ABSPDRNM=""
  1. S ABSPRTOT=0
  1. S ABSPGTOT=0
  1. S ABSPRDTL=0
  1. S ABSPSTOP=0
  1. S ABSPQUIT=0
  1. S ABSPOUT=0
  1. F S ABSPPRDT=$O(ABSPTMP(ABSPPRDT)) Q:(ABSPPRDT="")!(ABSPQUIT)!(ABSPOUT) D
  1. .S ABSPPPHM=""
  1. .S Y=ABSPPRDT
  1. .D DD^%DT
  1. .S ABSPFRDT=Y ; FORMATTED RELEASE DATE
  1. .S ABSPRDTL=0
  1. .F S ABSPPPHM=$O(ABSPTMP(ABSPPRDT,ABSPPPHM)) Q:(ABSPPPHM="")!(ABSPOUT) D
  1. ..S ABSPPINS=""
  1. ..S ABSPPHMN=$P(^ABSP(9002313.56,ABSPPPHM,0),U,1)
  1. ..D PRNTDHD
  1. ..Q:ABSPOUT
  1. ..;IHS/OIT/CNI/RAN 04272010 patch 39 - When printing to screen, use paging
  1. ..S ABSPOUT=$$WRITE^ABSPOSUU("!!,?5,""PHARMACY: "",ABSPPHMN,"" RELEASED DATE: "",ABSPFRDT")
  1. ..Q:ABSPOUT
  1. ..S ABSPBTOT=0
  1. ..F S ABSPPINS=$O(ABSPTMP(ABSPPRDT,ABSPPPHM,ABSPPINS)) Q:(ABSPPINS="")!(ABSPOUT) D
  1. ...S ABSPPRNM=""
  1. ...F S ABSPPRNM=$O(ABSPTMP(ABSPPRDT,ABSPPPHM,ABSPPINS,ABSPPRNM)) Q:(ABSPPRNM="")!(ABSPOUT) D
  1. ....S ABSPPRMI=""
  1. ....S ABSPRJCD=$P(ABSPREAS(""_ABSPPRNM_"",ABSPPPHM),U,2) ;IHS/OIT/SCR 111309 patch 35
  1. ....;IHS/OIT/CNI/RAN 04272010 patch 39 - When printing to screen, use paging
  1. ....S ABSPOUT=$$WRITE^ABSPOSUU("!!,?15,""REJECTION CODE: "",$E(ABSPRJCD,1,48)")
  1. ....Q:ABSPOUT
  1. ....F S ABSPPRMI=$O(ABSPTMP(ABSPPRDT,ABSPPPHM,ABSPPINS,ABSPPRNM,ABSPPRMI)) Q:(ABSPPRMI="")!(ABSPOUT) D
  1. .....S (ABSPPCHT,ABSPPDIV,ABSPOPS)=""
  1. .....S ABSPPAT=$P(ABSPTMP(ABSPPRDT,ABSPPPHM,ABSPPINS,ABSPPRNM,ABSPPRMI),U,3)
  1. .....S ABSPCARD=$P(ABSPTMP(ABSPPRDT,ABSPPPHM,ABSPPINS,ABSPPRNM,ABSPPRMI),U,5)
  1. .....S ABSPGRP=$P(ABSPTMP(ABSPPRDT,ABSPPPHM,ABSPPINS,ABSPPRNM,ABSPPRMI),U,6)
  1. .....S ABSPPATN=$E($P(^DPT(ABSPPAT,0),U,1),1,20)
  1. .....S ABSPOPS=$P($G(^ABSP(9002313.56,ABSPPPHM,"OPSITE",1,0)),U,1) ;OUTPATIENT SITE MIGHT NOT BE DEFINED
  1. .....S:ABSPOPS'="" ABSPPDIV=$P($G(^PS(59,ABSPOPS,0)),U,6) ;NO OUTPATIENT SITE MEANS NO DIVISION
  1. .....S:ABSPPDIV'="" ABSPPCHT=$P($G(^AUPNPAT(ABSPPAT,41,ABSPPDIV,0)),U,2) ;NO DIVISION MEANS NO CHART #
  1. .....S ABSPPRX=$P(^ABSPECX("RPT",ABSPPRMI,0),U,4)
  1. .....S ABSPPRXR=$P($G(^ABSPECX("RPT",ABSPPRMI,0)),U,5) ; SET INTERNAL RX # AND REFILL #
  1. .....S ABSPPTP=$P(ABSPTMP(ABSPPRDT,ABSPPPHM,ABSPPINS,ABSPPRNM,ABSPPRMI),U,2) ; PRICE
  1. .....S ABSPINSN=$E($P($G(^AUTNINS(ABSPPINS,0)),U,1),1,22) ; INSURER NAME
  1. .....;IHS/OIT/CNI/RAN 04282010 patch 39 - Add NDC # and Drug name BEGIN
  1. .....N ABSPTRNS,ABSPCLMI
  1. .....S ABSPTRNS=$P($G(^ABSPECX("RPT",ABSPPRMI,0)),"^",3)
  1. .....S ABSPCLMI=$P($G(^ABSPTL(ABSPTRNS,0)),"^",4)
  1. .....S NDCDRG=$$GTNDCDRG^ABSPOSUU(ABSPCLMI,ABSPPRX)
  1. .....S ABSPNDC=$P(NDCDRG,"^",1)
  1. .....S ABSPDRNM=$P(NDCDRG,"^",2)
  1. .....;IHS/OIT/CNI/RAN 04272010 patch 39 - When printing to screen, use paging
  1. .....S ABSPOUT=$$WRITE^ABSPOSUU("!,ABSPPCHT,?9,ABSPPATN,?31,ABSPPRX_""/""_ABSPPRXR,?45,ABSPINSN,?70,""$""_$J(ABSPPTP,6,2)")
  1. .....Q:ABSPOUT
  1. .....;IHS/OIT/CNI/RAN 04282010 patch 39 - Add NDC # and Drug name
  1. .....S ABSPOUT=$$WRITE^ABSPOSUU("!,?3,ABSPCARD,?27,ABSPGRP,?40,ABSPNDC,?60,ABSPDRNM")
  1. .....Q:ABSPOUT
  1. .....;IHS/OIT/CNI/RAN 04272010 patch 39 - When printing to screen, use paging.
  1. .....S ABSBPRTT=ABSPRTOT+ABSPPTP
  1. .....S ABSPBTOT=ABSPPTP+ABSPBTOT
  1. .....S ABSPRDTL=ABSPRDTL+ABSPPTP
  1. ...Q:ABSPOUT
  1. ..Q:ABSPOUT
  1. ..;IHS/OIT/CNI/RAN 04272010 patch 39 - When printing to screen, use paging
  1. ..S ABSPOUT=$$WRITE^ABSPOSUU("!!,""TOTAL FOR "",ABSPPHMN,"": $"",$J(ABSPBTOT,6,2),!")
  1. .Q:ABSPOUT
  1. .;IHS/OIT/CNI/RAN 04272010 patch 39 - When printing to screen, use paging
  1. .S ABSPOUT=$$WRITE^ABSPOSUU("!!,""TOTAL FOR RELEASED DATE "",ABSPFRDT,"": $"",$J(ABSPRDTL,6,2)")
  1. .Q:ABSPOUT
  1. .S ABSPGTOT=ABSPGTOT+ABSPRDTL
  1. Q:ABSPSTOP
  1. Q:ABSPOUT
  1. ;I $D(ABSPRTYP) W !!,"TOTAL AMOUNT REJECTED: ",ABSBPRTT,!!,"P - Preventable, N - Non-recoverable, B - Both"
  1. ;IHS/OIT/CNI/RAN 04272010 patch 39 - When printing to screen, use paging
  1. I $D(ABSPRTYP) S ABSPOUT=$$WRITE^ABSPOSUU("!!,""TOTAL AMOUNT REJECTED: $"",$J(ABSPGTOT,6,2),!!")
  1. Q
  1. ZEND ; END AND KILL VARIABLES
  1. D ^%ZISC
  1. K ABSPTMP,ABSPSUM,ABSBPRTT,ABSPBTOT,ABSPGTOT,ABSPRTOT,ABSPINS,ABSPPTP,ABSPPAT,ABSPPCHT,ABSPINSN,ABSPPRX,ABSPPRMI,ABSPPRXR,ABSPPDIV,ABSPOPS,ABSPPATN,ABSPPPHM,ABSPPRDT
  1. K ABSPREAS,ABSPRMI,ABSPSRDT,ABSPSTTL,ABSPSRMI,ABSPSPHM,ABSPSRNM,RNUM,ABSPSTIN,ABSPFBDT,ABSPFEDT,ABSPBDT,ABSPEDT,ABSPTINS,ABSPTRNS,ABSPJ,ABSPRTYP,ABSPDRT,ABSPDRTR,ABSPRJCD
  1. K ABSPPHM1,ABSPPHMN,ABSPPINS,ABSPPRNM,ABSPRCD,ABSPRDTL,ABSPREA,ABSPSREA,ABSPSTL1,ABSPSTRT
  1. Q
  1. START ;
  1. N X,Y,ABSPJ,ABSPRJC,ABSPPAT,ABSPPIEN
  1. I $D(ZTQPARAM) D
  1. .I $P(ZTQPARAM,";",1)["T-1" S ABSPSTRT=DT-1
  1. .I $P(ZTQPARAM,";",2)["T-1" S ABSPEND=DT-1
  1. .S ABSPINS="ALL"
  1. .S ABSPPPHM="ALL"
  1. .S ABSPRTYP="D"
  1. .D FIND
  1. .D ZEND
  1. Q
  1. BDT() ; ENTER BEGINING DATE
  1. N ABSPBDT,DIR,X1,X
  1. W !
  1. K DIR
  1. S DIR(0)="DEX"
  1. S DIR("A")="Enter Beginning Prescription Release Date"
  1. D ^DIR
  1. I $D(DIRUT) Q -1
  1. S ABSPBDT=+Y
  1. S X1=ABSPBDT D C^%DTC
  1. Q X
  1. EDT() ; ENTER END DATE
  1. N ABSPEDT,DIR,X1,X
  1. W !
  1. K DIR
  1. S DIR(0)="DEX"
  1. S DIR("A")="Enter Ending Prescription Release Date"
  1. D ^DIR
  1. I $D(DIRUT) Q -1
  1. S ABSPEDT=+Y
  1. S X1=ABSPEDT D C^%DTC
  1. Q X