| [613] | 1 | IBATLM3A ;LL/ELZ - TRANSFER PRICING PT INFO SCREEN BUILD ; 16-APR-1999 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**115**;21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | N IBX,IBY,IBINPT,IBINS,IBCNT K ^TMP("IBATPT",$J) | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | S IBCNT=0 | 
|---|
|  | 8 | S VAIP("D")="LAST" D A5^VADPT ; dbia 10061 | 
|---|
|  | 9 | S IBINPT=$G(^DPT(DFN,.105)) ; dbia 10035 | 
|---|
|  | 10 | S IBINS=$$INSURED^IBCNS1(DFN) | 
|---|
|  | 11 | ; | 
|---|
|  | 12 | S IBY="" | 
|---|
|  | 13 | D SET("*** Demographic Information ***",.IBY,24,31) | 
|---|
|  | 14 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 15 | D CNTRL^VALM10(VALMCNT,24,31,IOINHI,IOINORM) | 
|---|
|  | 16 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 17 | ; | 
|---|
|  | 18 | D SET("Sex:",.IBY,21,4) | 
|---|
|  | 19 | D SET($P(VADM(5),"^",2),.IBY,26,15) | 
|---|
|  | 20 | D SET("Date of Birth:",.IBY,52,14) | 
|---|
|  | 21 | D SET($P(VADM(3),"^",2),.IBY,67,13) | 
|---|
|  | 22 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 23 | ; | 
|---|
|  | 24 | D SET("Primary Care Provider:",.IBY,3,22) | 
|---|
|  | 25 | D SET($P($$OUTPTPR^SDUTL3(DFN),"^",2),.IBY,26,15) ; dbia 1252 | 
|---|
|  | 26 | D SET("Date of Death:",.IBY,52,14) | 
|---|
|  | 27 | D SET($$DATE(+VADM(6)),.IBY,67,13) | 
|---|
|  | 28 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 29 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 30 | ; | 
|---|
|  | 31 | D SET("Address:",.IBY,17,8) | 
|---|
|  | 32 | F IBX=1:1:3 D:VAPA(IBX)'="" | 
|---|
|  | 33 | . D SET(VAPA(IBX),.IBY,26,30) | 
|---|
|  | 34 | . D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 35 | D:IBY'="" SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 36 | ; | 
|---|
|  | 37 | D SET(VAPA(4)_", "_$P(VAPA(5),"^",2)_"  "_VAPA(6),.IBY,26,30) | 
|---|
|  | 38 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 39 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 40 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 41 | ; | 
|---|
|  | 42 | D SET("*** Eligibility Information ***",.IBY,24,31) | 
|---|
|  | 43 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 44 | D CNTRL^VALM10(VALMCNT,24,31,IOINHI,IOINORM) | 
|---|
|  | 45 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 46 | ; | 
|---|
|  | 47 | D SET("Patient Type:",.IBY,12,13) | 
|---|
|  | 48 | D SET($P(VAEL(6),"^",2),.IBY,26,15) | 
|---|
|  | 49 | D SET("Means Test Status:",.IBY,48,18) | 
|---|
|  | 50 | D SET($P(VAEL(9),"^",2),.IBY,67,13) | 
|---|
|  | 51 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 52 | ; | 
|---|
|  | 53 | D SET("Primary Eligibility:",.IBY,5,20) | 
|---|
|  | 54 | D SET($P(VAEL(1),"^",2),.IBY,26,15) | 
|---|
|  | 55 | D SET("Enrollment Priority:",.IBY,46,31) | 
|---|
|  | 56 | D SET($$PRIORITY^DGENA(DFN),.IBY,67,3) ; dbia #2918 | 
|---|
|  | 57 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 58 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 59 | ; | 
|---|
|  | 60 | D SET("Secondary Eligibilities:",.IBY,1,24) | 
|---|
|  | 61 | S IBX=0 F  S IBX=$O(VAEL(1,IBX)) Q:IBX<1  D | 
|---|
|  | 62 | . D SET($P(VAEL(1,IBX),"^",2),.IBY,26,30) | 
|---|
|  | 63 | . D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 64 | D:IBY'="" SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 65 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 66 | ; | 
|---|
|  | 67 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 68 | D SET("*** Insurance Information ***",.IBY,25,29) | 
|---|
|  | 69 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 70 | D CNTRL^VALM10(VALMCNT,25,29,IOINHI,IOINORM) | 
|---|
|  | 71 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 72 | ; | 
|---|
|  | 73 | I IBINS D ALL^IBCNS1(DFN,"^TMP(""IBINS"",$J)",1) D  K ^TMP("IBINS",$J) | 
|---|
|  | 74 | . S IBX=0 F  S IBX=$O(^TMP("IBINS",$J,IBX))  Q:IBX<1  S IBX(0)=^(IBX,0) D | 
|---|
|  | 75 | .. D SET($P(^DIC(36,+IBX(0),0),"^"),.IBY,5,30) | 
|---|
|  | 76 | .. D SET($P(IBX(0),"^",2),.IBY,35,15) | 
|---|
|  | 77 | .. I $P(IBX(0),"^",18),$D(^IBA(355.3,$P(IBX(0),"^",18),0)) D SET($P(^IBA(355.3,$P(IBX(0),"^",18),0),"^",3),.IBY,60,20) | 
|---|
|  | 78 | .. D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 79 | E  D SET("Patient has no active insurance information",.IBY,5,75),SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 80 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 81 | ; | 
|---|
|  | 82 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 83 | D SET("*** Inpatient Information ***",.IBY,26,29) | 
|---|
|  | 84 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 85 | D CNTRL^VALM10(VALMCNT,26,29,IOINHI,IOINORM) | 
|---|
|  | 86 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 87 | ; | 
|---|
|  | 88 | D SET("Inpatient Status:",.IBY,8,17) | 
|---|
|  | 89 | D SET($S(IBINPT:"Active",1:"Inactive"),.IBY,26,10) | 
|---|
|  | 90 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 91 | ; | 
|---|
|  | 92 | D SET("Last Admission:",.IBY,10,17) | 
|---|
|  | 93 | D SET($S(VAIP(1)="":"Never Admitted",1:$P(VAIP(13,1),"^",2)),.IBY,26,17) | 
|---|
|  | 94 | D SET("Ward Location:",.IBY,47,14) | 
|---|
|  | 95 | D SET($P(VAIP(13,4),"^",2),.IBY,62,18) | 
|---|
|  | 96 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 97 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 98 | ; | 
|---|
|  | 99 | D APPTS | 
|---|
|  | 100 | ; | 
|---|
|  | 101 | D KVAR^VADPT ; dbia 10061 | 
|---|
|  | 102 | ; | 
|---|
|  | 103 | Q | 
|---|
|  | 104 | APPTS ; -- displays last 5 appointments | 
|---|
|  | 105 | ; | 
|---|
|  | 106 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 107 | D SET("*** Last Outpatient Appointments ***",.IBY,22,36) | 
|---|
|  | 108 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 109 | D CNTRL^VALM10(VALMCNT,22,36,IOINHI,IOINORM) | 
|---|
|  | 110 | D SETVALM(.VALMCNT,"") | 
|---|
|  | 111 | ; | 
|---|
|  | 112 | N IBVAL,IBFILTER | 
|---|
|  | 113 | S IBVAL("DFN")=DFN | 
|---|
|  | 114 | S IBVAL("BDT")=0 | 
|---|
|  | 115 | S IBVAL("EDT")=$$NOW^XLFDT | 
|---|
|  | 116 | ; screen children and inpatient encounters | 
|---|
|  | 117 | S IBFILTER="I '$P(Y0,""^"",6),$P(Y0,""^"",12)'=8" | 
|---|
|  | 118 | ; | 
|---|
|  | 119 | D SCAN^IBSDU("PATIENT/DATE",.IBVAL,IBFILTER,"D APPTCB^IBATLM3A",0,,"BACKWARD") | 
|---|
|  | 120 | ; | 
|---|
|  | 121 | Q | 
|---|
|  | 122 | APPTCB ; call back for scan to set up global | 
|---|
|  | 123 | ; | 
|---|
|  | 124 | D SET($$DATE($P(Y0,"^"),5),.IBY,5,17) | 
|---|
|  | 125 | D SET($P(^SC($P(Y0,"^",4),0),"^"),.IBY,25,30) ; dbia 10040 | 
|---|
|  | 126 | D SET($$EX^IBATUTL(409.68,.12,$P(Y0,"^",12)),.IBY,60,20) | 
|---|
|  | 127 | D SETVALM(.VALMCNT,.IBY) | 
|---|
|  | 128 | ; | 
|---|
|  | 129 | S IBCNT=IBCNT+1 | 
|---|
|  | 130 | S:IBCNT>4 SDSTOP=1 | 
|---|
|  | 131 | Q | 
|---|
|  | 132 | ; | 
|---|
|  | 133 | SET(TEXT,STRING,COL,LENGTH) ; -- set up string with valm1 | 
|---|
|  | 134 | S STRING=$$SETSTR^VALM1($$LOWER^VALM1(TEXT),STRING,COL,LENGTH) | 
|---|
|  | 135 | Q | 
|---|
|  | 136 | SETVALM(LINE,TEXT) ; -- sets line for display | 
|---|
|  | 137 | S LINE=LINE+1 | 
|---|
|  | 138 | S ^TMP("IBATPT",$J,LINE,0)=TEXT | 
|---|
|  | 139 | S TEXT="" | 
|---|
|  | 140 | Q | 
|---|
|  | 141 | DATE(X,Y) ; -- returns date for display | 
|---|
|  | 142 | S:'$D(Y) Y="5D" | 
|---|
|  | 143 | Q $S(X:$$FMTE^XLFDT(X,Y),1:"") | 
|---|