| 1 | BPSUSCR1 ;BHAM ISC/FLS - STRANDED CLAIMS SCREEN ;10-MAR-2005
|
---|
| 2 | ;;1.0;E CLAIMS MGMT ENGINE;**1,5**;JUN 2004;Build 45
|
---|
| 3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | INIT ; -- init variables and list array
|
---|
| 7 | N BPLN,BPLM,BP59,BPSORT,BPDUZ7,BPRET,CONT
|
---|
| 8 | ;get date/time range
|
---|
| 9 | K ^TMP($J),^TMP("BPSUSCR",$J)
|
---|
| 10 | S BPTMPGL="^TMP(""BPSUSCR"",$J)"
|
---|
| 11 | S CONT=1,VALMCNT=0
|
---|
| 12 | D COLLECT^BPSUSCR4(.BPARR)
|
---|
| 13 | Q
|
---|
| 14 | ;
|
---|
| 15 | HELP ; -- help code
|
---|
| 16 | S X="?" D DISP^XQORM1 W !!
|
---|
| 17 | K X
|
---|
| 18 | Q
|
---|
| 19 | ;
|
---|
| 20 | EXIT ; -- exit code
|
---|
| 21 | Q
|
---|
| 22 | ;
|
---|
| 23 | ; Warning message for 'Transmitting' claims
|
---|
| 24 | MESSAGE() ;
|
---|
| 25 | W !!!,"Please be aware that if there are claims appearing on the ECME User Screen"
|
---|
| 26 | W !,"with a status of 'In progress - Transmitting', then there may be a problem"
|
---|
| 27 | W !,"with HL7 or with system connectivity with the Austin Automation Center (AAC)."
|
---|
| 28 | W !,"Please contact your IRM to verify that connectivity to the AAC is working"
|
---|
| 29 | W !,"and the HL7 link BPS NCPDP is processing messages before using this option"
|
---|
| 30 | W !,"to unstrand claims with a status of 'In progress - Transmitting'.",!
|
---|
| 31 | N DIR,X,Y,BPQ
|
---|
| 32 | S BPQ=0
|
---|
| 33 | S DIR(0)="YA",DIR("A")="Do you want to continue? "
|
---|
| 34 | S DIR("B")="NO"
|
---|
| 35 | D ^DIR
|
---|
| 36 | I Y'=1 S BPQ=1
|
---|
| 37 | W !!
|
---|
| 38 | Q BPQ
|
---|
| 39 | ;
|
---|
| 40 | GETDTS(BPARR) ; Transaction dates to view.
|
---|
| 41 | N DIR
|
---|
| 42 | K DIRUT,DIROUT,DUOUT,DTOUT,Y
|
---|
| 43 | S DIR(0)="DA^:DT:EX",DIR("A")="FIRST TRANSACTION DATE: "
|
---|
| 44 | S DIR("B")="T-1"
|
---|
| 45 | D ^DIR
|
---|
| 46 | Q:$D(DUOUT)!($D(DTOUT))
|
---|
| 47 | S BPARR("BDT")=Y_".000001"
|
---|
| 48 | ENDDT ;
|
---|
| 49 | K DIRUT,DIROUT,DUOUT,DTOUT,Y
|
---|
| 50 | S DIR(0)="DA^"_$P(BPARR("BDT"),".",1)_":DT:EX",DIR("A")="LAST TRANSACTION DATE: "
|
---|
| 51 | S DIR("B")="T"
|
---|
| 52 | D ^DIR
|
---|
| 53 | Q:$D(DUOUT)!($D(DTOUT))
|
---|
| 54 | S BPARR("EDT")=$$EDATE(Y)
|
---|
| 55 | Q
|
---|
| 56 | ;
|
---|
| 57 | EDATE(DATE) ;
|
---|
| 58 | N RTN,%,%H
|
---|
| 59 | S RTN=DATE_".235959"
|
---|
| 60 | D NOW^%DTC
|
---|
| 61 | I $P(%,".")=DATE S $P(%H,",",2)=$P(%H,",",2)-1800 D YX^%DTC S RTN=DATE_%
|
---|
| 62 | Q RTN
|
---|
| 63 | ALL ; Unstrand all claims currently selected.
|
---|
| 64 | D FULL^VALM1
|
---|
| 65 | N D0,DIR,SEQ,LAST
|
---|
| 66 | S LAST=+$O(^TMP($J,2,""),-1)
|
---|
| 67 | I LAST=0 D Q
|
---|
| 68 | . W !,"There are no stranded claims in this date range to unstrand"
|
---|
| 69 | . D PRESSANY^BPSOSU5()
|
---|
| 70 | S DIR(0)="Y",DIR("A")="ARE YOU SURE? (YES/NO) ",DIR("B")="YES" D ^DIR Q:'Y
|
---|
| 71 | W !,"PLEASE WAIT"
|
---|
| 72 | S SEQ=0
|
---|
| 73 | F S SEQ=$O(^TMP($J,2,SEQ)) Q:'SEQ D
|
---|
| 74 | . S D0=""
|
---|
| 75 | . F S D0=$O(^TMP($J,2,SEQ,D0)) Q:'D0 D
|
---|
| 76 | . . D UNSTRAND(D0)
|
---|
| 77 | . . Q
|
---|
| 78 | . Q
|
---|
| 79 | W !,"Done"
|
---|
| 80 | D CLEAN^VALM10
|
---|
| 81 | D COLLECT^BPSUSCR4(.BPARR)
|
---|
| 82 | Q
|
---|
| 83 | SELECT ; Select entries from the list and run each through the unstrand function
|
---|
| 84 | N D0,DIR,I,J,VAR,BPTMPGL,PT,POP,LAST
|
---|
| 85 | S LAST=+$O(^TMP($J,2,""),-1)
|
---|
| 86 | I LAST=0 D Q
|
---|
| 87 | . W !,"There are no stranded claims to select"
|
---|
| 88 | . D PRESSANY^BPSOSU5()
|
---|
| 89 | K DTOUT,DUOUT
|
---|
| 90 | S BPTMPGL="^TMP(""BPSUSCR"",$J)"
|
---|
| 91 | S VAR=""
|
---|
| 92 | S DIR(0)="LO^1:"_LAST
|
---|
| 93 | S DIR("A")="Enter a Selection of Stranded Claims",DIR("B")=""
|
---|
| 94 | D ^DIR
|
---|
| 95 | I $D(DTOUT)!$D(DUOUT) Q
|
---|
| 96 | S VAR=Y
|
---|
| 97 | F I=1:1:$L(VAR,",") S PT=$P(VAR,",",I) D
|
---|
| 98 | . Q:PT=""
|
---|
| 99 | . I PT'["-" S D0=$O(^TMP($J,2,PT,"")) D UNSTRAND(D0) Q
|
---|
| 100 | . F J=$P(PT,"-"):1:$P(PT,"-",2) S D0=$O(^TMP($J,2,J,"")) D UNSTRAND(D0)
|
---|
| 101 | . Q
|
---|
| 102 | D CLEAN^VALM10
|
---|
| 103 | D COLLECT^BPSUSCR4(.BPARR)
|
---|
| 104 | Q
|
---|
| 105 | PRINT ;
|
---|
| 106 | N %ZIS
|
---|
| 107 | S %ZIS="M"
|
---|
| 108 | S %ZIS("A")="Select Printer: ",%ZIS("B")="" D ^%ZIS
|
---|
| 109 | Q:IOPAR=""
|
---|
| 110 | D PHDR
|
---|
| 111 | D PLINE
|
---|
| 112 | D ^%ZISC
|
---|
| 113 | Q
|
---|
| 114 | PHDR ;
|
---|
| 115 | U IO
|
---|
| 116 | W !,"Claims Stranded from ",BPBDT," through ",BPEDT
|
---|
| 117 | ;
|
---|
| 118 | W !!,?4,"TRANS DT",?15,"PATIENT NAME",?36,"ID",?41,"EXTERN RX#",?54,"RF",?57,"FILL DT",?68,"INS CO"
|
---|
| 119 | W !,?4,"--------",?15,"------------",?36,"--",?41,"----------",?54,"--",?57,"-------",?68,"------"
|
---|
| 120 | Q
|
---|
| 121 | PLINE ;
|
---|
| 122 | N SEQ,LINE
|
---|
| 123 | S SEQ=0
|
---|
| 124 | F S SEQ=$O(^TMP("BPSUSCR",$J,SEQ)) Q:'SEQ D
|
---|
| 125 | . S LINE=$G(^TMP("BPSUSCR",$J,SEQ,0))
|
---|
| 126 | . U IO
|
---|
| 127 | . W !,$E(LINE,1,79)
|
---|
| 128 | . Q
|
---|
| 129 | Q
|
---|
| 130 | ;
|
---|
| 131 | ; Unstrand the claim
|
---|
| 132 | ; Fileman read of New Person file (VA(200)) is covered by IA# 10600
|
---|
| 133 | UNSTRAND(IEN59) ;
|
---|
| 134 | N MES
|
---|
| 135 | S MES="E STRANDED"
|
---|
| 136 | I $P($G(^BPST(IEN59,4)),"^",1)!($P($G(^BPST(IEN59,4)),"^",4)]"") S MES="E REVERSAL STRANDED"
|
---|
| 137 | D SETRESU^BPSOSU(IEN59,99,MES)
|
---|
| 138 | D SETSTAT^BPSOSU(IEN59,99)
|
---|
| 139 | S MES=$T(+0)_"-Unstranded"
|
---|
| 140 | I $G(DUZ) S MES=MES_" by "_$$GET1^DIQ(200,DUZ,.01,"E")
|
---|
| 141 | D LOG^BPSOSL(IEN59,MES)
|
---|
| 142 | Q
|
---|