| [613] | 1 | IBCORC3 ;ALB/CPM - RANK INSURANCE CARRIERS (NEW BULLETIN) ; 02-DEC-94 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**29,47,64,116**;21-MAR-94 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | BULL ; Generate a specially formatted bulletin for the MCCR Program Office. | 
|---|
|  | 5 | ; | 
|---|
|  | 6 | ; - first, invert the list by carrier to rank by number of claims | 
|---|
|  | 7 | S (IBNR,IBINS)=0 F  S IBINS=$O(^TMP("IBORIC",$J,"IC1",IBINS)) Q:'IBINS  S ^TMP("IBORIC",$J,"NUM",-$G(^(IBINS)),IBINS)="",IBNR=IBNR+1 | 
|---|
|  | 8 | ; | 
|---|
|  | 9 | S IBSITE=$P($$SITE^VASITE,"^",3),IBDAT=$$DAT1^IBOUTL(DT) | 
|---|
|  | 10 | S XMSUB="PRQC IBINS: "_IBSITE_" Top "_IBNR_" Billed "_IBDAT | 
|---|
|  | 11 | S XMDUZ="INTEGRATED BILLING PACKAGE" | 
|---|
|  | 12 | K ^TMP($J,"IBORIC") S XMTEXT="^TMP($J,""IBORIC""," | 
|---|
|  | 13 | S XMY(DUZ)="" | 
|---|
|  | 14 | I $$PROD^IBCORC() S XMY(IBMAILTO)="" | 
|---|
|  | 15 | ; | 
|---|
|  | 16 | ; - set up report body | 
|---|
|  | 17 | S IBCNT=0,IBNUM="" | 
|---|
|  | 18 | F  S IBNUM=$O(^TMP("IBORIC",$J,"NUM",IBNUM)) Q:IBNUM=""  D | 
|---|
|  | 19 | .S IBINS=0 F  S IBINS=$O(^TMP("IBORIC",$J,"NUM",IBNUM,IBINS)) Q:'IBINS  D | 
|---|
|  | 20 | ..S IBCNT=IBCNT+1,IBAMT=+$G(^TMP("IBORIC",$J,"IC",IBINS)) | 
|---|
|  | 21 | ..S ^TMP($J,"IBORIC",IBCNT)=IBSITE_"^"_IBCNT_"^"_$$INS(IBINS)_"^"_$J(IBAMT,"",2)_"^"_-IBNUM_"^"_IBINS | 
|---|
|  | 22 | ; | 
|---|
|  | 23 | ; - deliver and quit | 
|---|
|  | 24 | D ^XMD | 
|---|
|  | 25 | K ^TMP($J,"IBORIC"),IBNUM | 
|---|
|  | 26 | K IBAMT,IBCNT,IBC,IBDAT,IBINS,IBSITE,IBT,X,XMSUB,XMDUZ,XMY,XMTEXT,Y | 
|---|
|  | 27 | Q | 
|---|
|  | 28 | ; | 
|---|
|  | 29 | INS(IBCNS) ; Format Insurance Company name and address for bulletin. | 
|---|
|  | 30 | ;  Input:  IBCNS   --   pointer to the insurance company in file #36 | 
|---|
|  | 31 | N IBCNS0,X,Y | 
|---|
|  | 32 | S IBINS0=$G(^DIC(36,IBCNS,0)) | 
|---|
|  | 33 | S Y=$S($P(IBINS0,"^")]"":$P(IBINS0,"^"),1:"CARRIER UNKNOWN") ; name | 
|---|
|  | 34 | S Y=Y_"^"_$S($P(IBINS0,"^",5):0,1:1)            ; 1-active, 0-inactive | 
|---|
|  | 35 | S X=$G(^DIC(36,IBCNS,.11)) | 
|---|
|  | 36 | S Y=Y_"^"_$P(X,"^")                             ; address [line 1] | 
|---|
|  | 37 | S Y=Y_"^"_$P(X,"^",2)                           ; address [line 2] | 
|---|
|  | 38 | S Y=Y_"^"_$P(X,"^",4)                           ; city | 
|---|
|  | 39 | S Y=Y_"^"_$P($G(^DIC(5,+$P(X,"^",5),0)),"^",2)  ; state | 
|---|
|  | 40 | S Y=Y_"^"_$P(X,"^",6)                           ; zip code | 
|---|
|  | 41 | S X=$G(^DIC(36,IBCNS,.13)) | 
|---|
|  | 42 | S Y=Y_"^"_$P(X,"^")                             ; phone number | 
|---|
|  | 43 | S Y=Y_"^"_$P(X,"^",2)                           ; billing phone number | 
|---|
|  | 44 | Q Y | 
|---|
|  | 45 | ; | 
|---|
|  | 46 | ; | 
|---|
|  | 47 | IRM ; IRM Entry Point to queue a one-time (?) job for MCCR. | 
|---|
|  | 48 | ; | 
|---|
|  | 49 | I $S('($D(DUZ)#2):1,'$D(^VA(200,+DUZ,0)):1,'$D(DUZ(0)):1,1:0) D  G IRMQ | 
|---|
|  | 50 | .W !!?3,"The variable DUZ must be set to an active user code and the variable" | 
|---|
|  | 51 | .W !?3,"DUZ(0) must also be defined to run this routine." | 
|---|
|  | 52 | ; | 
|---|
|  | 53 | ; - set parameters, if not defined, as needed for the compilation | 
|---|
|  | 54 | I '$D(IBABEG) S IBABEG=2971001 | 
|---|
|  | 55 | I '$D(IBAEND) S IBAEND=2981231 | 
|---|
|  | 56 | I '$D(IBNR) S IBNR=30 | 
|---|
|  | 57 | I '$D(IBMAILTO) S IBMAILTO="S.PRQC SERVER IBINS@ISC-ALBANY.VA.GOV" | 
|---|
|  | 58 | S IBIRM=1 | 
|---|
|  | 59 | ; | 
|---|
|  | 60 | W !!,"This job will compile a ranking of all your insurance carriers by the total" | 
|---|
|  | 61 | W !,"number of claims billed from ",$$DAT1^IBOUTL(IBABEG)," to ",$$DAT1^IBOUTL(IBAEND),".  The compilation will be" | 
|---|
|  | 62 | W !,"uploaded into a mail message and sent to the MCCR National Database where" | 
|---|
|  | 63 | W !,"it will be re-formatted in a PC-downloadable format and sent to the" | 
|---|
|  | 64 | W !,"MCCR Program Office.  This mail message will also be sent to you." | 
|---|
|  | 65 | ; | 
|---|
|  | 66 | ; - warn that the software is not being executed in Production | 
|---|
|  | 67 | I '$$PROD^IBCORC() D | 
|---|
|  | 68 | .W !!,*7,"   *** Please note ***" | 
|---|
|  | 69 | .W !!?3,"You appear to be executing this routine in a test account." | 
|---|
|  | 70 | .W !?3,"The mail message will only be sent to you." | 
|---|
|  | 71 | ; | 
|---|
|  | 72 | ; - okay to continue? | 
|---|
|  | 73 | S DIR(0)="Y",DIR("A")="Do you want to queue this job now" | 
|---|
|  | 74 | W ! D ^DIR K DIR I 'Y G IRMQ | 
|---|
|  | 75 | ; | 
|---|
|  | 76 | ; - queue the job up to be run | 
|---|
|  | 77 | W !!,"Please enter the date and time to execute this job...",! | 
|---|
|  | 78 | S ZTRTN="DQ^IBCORC1",ZTIO="",ZTDESC="IB - RANKING CARRIERS (FROM IRM)" | 
|---|
|  | 79 | F I="IBABEG","IBAEND","IBNR","IBIRM","IBMAILTO" S ZTSAVE(I)="" | 
|---|
|  | 80 | D ^%ZTLOAD W !!,$S($D(ZTSK):"This job has been queued.  The task number is "_ZTSK_".",1:"") | 
|---|
|  | 81 | ; | 
|---|
|  | 82 | IRMQ K IBABEG,IBAEND,IBMAILTO,IBNR,IBIRM,X,Y,DIRUT,DUOUT,DTOUR,DIROUT,I,ZTSK | 
|---|
|  | 83 | Q | 
|---|