| 1 | PSBRPCMO ;BIRMINGHAM/EFC-MED ORDER BUTTON FUNCTIONS ;Mar 2004
 | 
|---|
| 2 |  ;;3.0;BAR CODE MED ADMIN;**6,32**;Mar 2004;Build 32
 | 
|---|
| 3 |  ;Per VHA Directive 2004-038 (or future revisions regarding same), this routine should not be modified.
 | 
|---|
| 4 |  ; Reference/IA
 | 
|---|
| 5 |  ; ^XUSEC("PROVIDER")/10076
 | 
|---|
| 6 |  ; ^%DTC/10000 
 | 
|---|
| 7 |  ; ^XPAR/2263
 | 
|---|
| 8 |  ; File 50/221
 | 
|---|
| 9 |  ; File 50.7/2880
 | 
|---|
| 10 |  ; File 200/10060
 | 
|---|
| 11 |  ; File 52.6/436
 | 
|---|
| 12 |  ; File 52.7/437
 | 
|---|
| 13 |  ; $$EN^ORBCMA2/3616
 | 
|---|
| 14 |  ; C^PSN50P65/4543
 | 
|---|
| 15 | OILST(RESULTS,PSBSCAN,PSBOTYP) ;
 | 
|---|
| 16 |  I PSBOTYP="VAC" D VACLKU Q
 | 
|---|
| 17 |  I $L(PSBSCAN?.N)>31 S PSBSCAN=$E(PSBSCAN,1,31)
 | 
|---|
| 18 |  S PSBSCAN=$TR(PSBSCAN,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
 | 
|---|
| 19 |  D NOW^%DTC S PSBDT=%
 | 
|---|
| 20 |  I $$GET^XPAR("DIV","PSB ROBOT RX"),PSBSCAN?1"3"15N!(PSBSCAN?1"3"17N),123[$E(PSBSCAN,12) S PSBSCAN=$E(PSBSCAN,2,11)
 | 
|---|
| 21 |  S PSBCNT=0
 | 
|---|
| 22 |  I PSBSCAN?.N I PSBOTYP'="OIT" D  ;is a scanned bar code
 | 
|---|
| 23 |  .I '$D(^PSDRUG(PSBSCAN)) S PSBSCAN=$$FIND1^DIC(50,"","AX",PSBSCAN,"B^C") I PSBSCAN<1 Q  ; not in the drug file
 | 
|---|
| 24 |  .Q:PSBOTYP="UD"&($P($G(^PSDRUG(PSBSCAN,2)),U,3)'["U")
 | 
|---|
| 25 |  .Q:PSBOTYP="UD"&($G(^PSDRUG(PSBSCAN,"I"))&(+$G(^("I"))'>PSBDT))
 | 
|---|
| 26 |  .S PSBOIEN=$$GET1^DIQ(50,PSBSCAN,"PHARMACY ORDERABLE ITEM","I") Q:PSBOIEN=""  ;orderable item ien
 | 
|---|
| 27 |  .D CPRS
 | 
|---|
| 28 |  .Q:PSBCPRS]""&(PSBCPRS'>PSBDT)
 | 
|---|
| 29 |  .;cprs orderable inact dt?
 | 
|---|
| 30 |  .I $P(A,U,4)="" Q
 | 
|---|
| 31 |  .I +$P(A,U,4)=0 Q  ;not inpat pharm item
 | 
|---|
| 32 |  .S PSBPOI=$$GET1^DIQ(50.7,PSBOIEN,.01)
 | 
|---|
| 33 |  .S PSBDD=$$GET1^DIQ(50,PSBSCAN,.01)
 | 
|---|
| 34 |  .I PSBOTYP="UD" D  Q
 | 
|---|
| 35 |  ..S PSBDRUG="DD"_U_PSBSCAN_U_PSBDD_U_PSBOIEN_U_PSBPOI_U_PSBORIEN_U_PSBORNM
 | 
|---|
| 36 |  ..S PSBCNT=PSBCNT+1,RESULTS(PSBCNT)=PSBDRUG,RESULTS(0)=PSBCNT
 | 
|---|
| 37 |  .I PSBOTYP="IV" D  Q
 | 
|---|
| 38 |  ..S PSBCNT=0
 | 
|---|
| 39 |  ..I $P(A,U,4)=2 D
 | 
|---|
| 40 |  ...I $D(^PSDRUG("A527",PSBSCAN)) D SOLN
 | 
|---|
| 41 |  ...I $D(^PSDRUG("A526",PSBSCAN)) D ADD
 | 
|---|
| 42 |  .S PSBCNT=PSBCNT+1,RESULTS(PSBCNT)="-1^Medication does not match ordertype",RESULTS(0)=PSBCNT Q
 | 
|---|
| 43 |  I PSBSCAN?.N I PSBOTYP="OIT" D  ;scanned?
 | 
|---|
| 44 |  .I '$D(^PS(50.7,PSBSCAN)) S PSBSCAN=$$FIND1^DIC(50.7,"","AX",PSBSCAN,"B^C") I PSBSCAN<1 Q  ; not in the OItem file
 | 
|---|
| 45 |  .S PSBOIEN=PSBSCAN Q:PSBOIEN=""  ;ord item ien
 | 
|---|
| 46 |  .D CPRS
 | 
|---|
| 47 |  .Q:PSBCPRS]""&(PSBCPRS'>PSBDT)
 | 
|---|
| 48 |  .;cprs orderable inact dt?
 | 
|---|
| 49 |  .I $P(A,U,4)="" Q
 | 
|---|
| 50 |  .I +$P(A,U,4)=0 Q  ;not inpat pharm item
 | 
|---|
| 51 |  .S PSBPOI=$$GET1^DIQ(50.7,PSBOIEN,.01)
 | 
|---|
| 52 |  .S PSBDIEN=$$GETDRN^PSBOMT(PSBPOI)
 | 
|---|
| 53 |  .S PSBDD=$$GET1^DIQ(50,PSBDIEN,.01)
 | 
|---|
| 54 |  .S PSBDRUG="OIT"_U_PSBSCAN_U_PSBPOI_U_PSBDIEN_U_PSBDD_U_PSBORIEN_U_PSBORNM
 | 
|---|
| 55 |  .S PSBCNT=PSBCNT+1,RESULTS(PSBCNT)=PSBDRUG,RESULTS(0)=PSBCNT
 | 
|---|
| 56 |  .;
 | 
|---|
| 57 |  I PSBSCAN'?.N D
 | 
|---|
| 58 |  .I PSBOTYP="OIT" D OITMB
 | 
|---|
| 59 |  .I PSBOTYP'="OIT" K PSBMSG D LIST^DIC(50,"","2.1I;2.1","P","","",PSBSCAN,"B","","","^TMP(""PSBLST"",$J)","PSBMSG")
 | 
|---|
| 60 |  .;alpha-numerc look up "B" index drug file
 | 
|---|
| 61 |  .S X=0 F  S X=$O(^TMP("PSBLST",$J,"DILIST",X)) Q:X=""  D
 | 
|---|
| 62 |  ..Q:$P(^TMP("PSBLST",$J,"DILIST",X,0),U,3)=""
 | 
|---|
| 63 |  ..Q:$P(^TMP("PSBLST",$J,"DILIST",X,0),U,4)=""
 | 
|---|
| 64 |  ..I PSBOTYP'="OIT" D
 | 
|---|
| 65 |  ...I $P(^TMP("PSBLST",$J,"DILIST",X,0),U,3)'?.N S $P(^TMP("PSBLST",$J,"DILIST",X,0),U,3,99)=$P(^TMP("PSBLST",$J,"DILIST",X,0),U,4,99) Q
 | 
|---|
| 66 |  ...S ^TMP("PSB",$J,$P(^TMP("PSBLST",$J,"DILIST",X,0),U))=^TMP("PSBLST",$J,"DILIST",X,0)
 | 
|---|
| 67 |  ..I PSBOTYP="OIT" S ^TMP("PSB",$J,$P(^TMP("PSBLST",$J,"DILIST",X,0),U))=^TMP("PSBLST",$J,"DILIST",X,0)
 | 
|---|
| 68 |  .I PSBOTYP="OIT" D OITMC
 | 
|---|
| 69 |  .I PSBOTYP'="OIT"  K ^TMP("PSBLST",$J,"DILIST"),PSBMSG D LIST^DIC(50,"","2.1I;2.1","P","","",PSBSCAN,"C","","","^TMP(""PSBLST"",$J)","PSBMSG")
 | 
|---|
| 70 |  .;alpha-numerc look up "C" index drug file
 | 
|---|
| 71 |  .S X=0 F  S X=$O(^TMP("PSBLST",$J,"DILIST",X)) Q:X=""  D
 | 
|---|
| 72 |  ..Q:$P(^TMP("PSBLST",$J,"DILIST",X,0),U,3)=""
 | 
|---|
| 73 |  ..Q:$P(^TMP("PSBLST",$J,"DILIST",X,0),U,4)=""
 | 
|---|
| 74 |  ..I PSBOTYP'="OIT" D
 | 
|---|
| 75 |  ...I $P(^TMP("PSBLST",$J,"DILIST",X,0),U,3)'?.N S $P(^TMP("PSBLST",$J,"DILIST",X,0),U,3,99)=$P(^TMP("PSBLST",$J,"DILIST",X,0),U,4,99) Q
 | 
|---|
| 76 |  ...S ^TMP("PSB",$J,$P(^TMP("PSBLST",$J,"DILIST",X,0),U))=$P(^TMP("PSBLST",$J,"DILIST",X,0),U)_U_$P($G(^PSDRUG($P(^TMP("PSBLST",$J,"DILIST",X,0),U),0)),U)_U_$P(^TMP("PSBLST",$J,"DILIST",X,0),U,3,99)
 | 
|---|
| 77 |  ..I PSBOTYP="OIT" S ^TMP("PSB",$J,$P(^TMP("PSBLST",$J,"DILIST",X,0),U))=$P(^TMP("PSBLST",$J,"DILIST",X,0),U)_U_$P($G(^PSDRUG($P(^TMP("PSBLST",$J,"DILIST",X,0),U),0)),U)_U_$P(^TMP("PSBLST",$J,"DILIST",X,0),U,3,99)
 | 
|---|
| 78 |  .S PSBCNT=0,RESULTS(0)=0,PSBTLNG=0
 | 
|---|
| 79 |  .S X="" K PSBGOT F  S X=$O(^TMP("PSB",$J,X)) Q:((+X=0)!(PSBTLNG=1))  D
 | 
|---|
| 80 |  ..I PSBOTYP'="OIT" D
 | 
|---|
| 81 |  ...I $P(^TMP("PSB",$J,X),U,3)'?.N S $P(^TMP("PSB",$J,X),U,3,99)=$P(^TMP("PSB",$J,X),U,4,99)
 | 
|---|
| 82 |  ...S PSBOIEN=$P(^TMP("PSB",$J,X),U,3)
 | 
|---|
| 83 |  ...S PSBSCIEN=$P(^TMP("PSB",$J,X),U,1)
 | 
|---|
| 84 |  ..I PSBOTYP'="OIT" Q:PSBOTYP="UD"&($P($G(^PSDRUG(PSBSCIEN,2)),U,3)'["U")
 | 
|---|
| 85 |  ..I PSBOTYP'="OIT" Q:PSBOTYP="UD"&($G(^PSDRUG(PSBSCIEN,"I"))&(+$G(^("I"))'>PSBDT))
 | 
|---|
| 86 |  ..I PSBOTYP="OIT" D
 | 
|---|
| 87 |  ...S PSBOIEN=$P(^TMP("PSB",$J,X),U)
 | 
|---|
| 88 |  ..D CPRS
 | 
|---|
| 89 |  ..Q:PSBCPRS]""&(PSBCPRS'>PSBDT)
 | 
|---|
| 90 |  ..;cprs orderable inact dt?
 | 
|---|
| 91 |  ..I $P(A,U,4)="" Q
 | 
|---|
| 92 |  ..I +$P(A,U,4)=0 Q  ;not inpat pharm item
 | 
|---|
| 93 |  ..I PSBOTYP="OIT" D  Q
 | 
|---|
| 94 |  ...I $D(PSBGOT($P(^TMP("PSB",$J,X),U,4))) S $P(RESULTS(PSBCNT),U,2)=$P(RESULTS(PSBCNT),U,2)_","_$P(^TMP("PSB",$J,X),U) Q
 | 
|---|
| 95 |  ...S PSBDRUG="OIT"_U_$P(^TMP("PSB",$J,X),U)_U_$P(^TMP("PSB",$J,X),U,3,4)_U_PSBORIEN_U_PSBORNM,PSBGOT($P(^TMP("PSB",$J,X),U,4))=""
 | 
|---|
| 96 |  ...S PSBCNT=PSBCNT+1,RESULTS(PSBCNT)=PSBDRUG,RESULTS(0)=PSBCNT
 | 
|---|
| 97 |  ..I PSBOTYP="UD" D  Q
 | 
|---|
| 98 |  ...S PSBDRUG="DD"_U_$P(^TMP("PSB",$J,X),U,1,2)_U_$P(^TMP("PSB",$J,X),U,3,4)_U_PSBORIEN_U_PSBORNM
 | 
|---|
| 99 |  ...S PSBCNT=PSBCNT+1,RESULTS(PSBCNT)=PSBDRUG,RESULTS(0)=PSBCNT
 | 
|---|
| 100 |  ..I PSBOTYP="IV" D  Q
 | 
|---|
| 101 |  ...I $P(A,U,4)=2 D
 | 
|---|
| 102 |  ....I $D(^PSDRUG("A527",PSBSCIEN)) D SOLNAL
 | 
|---|
| 103 |  ....I $D(^PSDRUG("A526",PSBSCIEN)) D ADDAL
 | 
|---|
| 104 |  ..I RESULTS(0)>100 K RESULTS S RESULTS(0)=1,RESULTS(1)=-2,PSBTLNG=1 Q
 | 
|---|
| 105 |  I $G(RESULTS(1))="" S RESULTS(0)=1,RESULTS(1)="-1^Invalid Medication Lookup"
 | 
|---|
| 106 |  K PSBDD,PSBDRUG,PSBDT,PSBDTYP,PSBSCIEN,PSBOIEN,PSBORNM,PSBORIEN,PSBPOI,PSBSCAN,PSBTLNG,PSBID,PSBCPRS,^TMP("PSB",$J),^TMP("PSBLST",$J)
 | 
|---|
| 107 |  Q
 | 
|---|
| 108 | CPRS ;
 | 
|---|
| 109 |  S PSBID=PSBOIEN_";99PSP"
 | 
|---|
| 110 |  S A=$$EN^ORBCMA2(PSBID)
 | 
|---|
| 111 |  S PSBORNM=$P(A,U,2)
 | 
|---|
| 112 |  S PSBORIEN=$P(A,U,1)
 | 
|---|
| 113 |  S PSBCPRS=$P(A,U,3)
 | 
|---|
| 114 |  Q
 | 
|---|
| 115 | SOLN     ;
 | 
|---|
| 116 |  S X="" F  S X=$O(^PSDRUG("A527",PSBSCAN,X)) Q:X=""  D
 | 
|---|
| 117 |  .S PSBINACT=$$GET1^DIQ(52.7,X,8,"I") I PSBINACT]"",PSBINACT'>PSBDT Q
 | 
|---|
| 118 |  .S PSBDRUG="SOL"_U_PSBSCAN_U_PSBDD_U_PSBOIEN_U_PSBPOI_U_PSBORIEN_U_PSBORNM
 | 
|---|
| 119 |  .S PSBCNT=PSBCNT+1,RESULTS(PSBCNT)=PSBDRUG_U_X_U_$$GET1^DIQ(52.7,X_",",.01)_U_$$GET1^DIQ(52.7,X_",",2),RESULTS(0)=PSBCNT
 | 
|---|
| 120 |  Q
 | 
|---|
| 121 | ADD      ;
 | 
|---|
| 122 |  S X="" F  S X=$O(^PSDRUG("A526",PSBSCAN,X)) Q:X=""  D
 | 
|---|
| 123 |  .S PSBINACT=$$GET1^DIQ(52.6,X,12,"I") I PSBINACT]"",PSBINACT'>PSBDT Q
 | 
|---|
| 124 |  .S PSBDRUG="ADD"_U_PSBSCAN_U_PSBDD_U_PSBOIEN_U_PSBPOI_U_PSBORIEN_U_PSBORNM
 | 
|---|
| 125 |  .S PSBCNT=PSBCNT+1,RESULTS(PSBCNT)=PSBDRUG_U_X_U_$$GET1^DIQ(52.6,X_",",.01),RESULTS(0)=PSBCNT
 | 
|---|
| 126 |  Q
 | 
|---|
| 127 | OITMB ;
 | 
|---|
| 128 |  K PSBMSG D LIST^DIC(50.7,"",".01I;.01","P","","",PSBSCAN,"B","","","^TMP(""PSBLST"",$J)","PSBMSG")
 | 
|---|
| 129 |  Q
 | 
|---|
| 130 | OITMC ;
 | 
|---|
| 131 |  K PSBMSG D LIST^DIC(50.7,"",".01I;.01","P","","",PSBSCAN,"C","","","^TMP(""PSBLST"",$J)","PSBMSG")
 | 
|---|
| 132 |  Q
 | 
|---|
| 133 | SOLNAL   ;
 | 
|---|
| 134 |  S Y="" F  S Y=$O(^PSDRUG("A527",PSBSCIEN,Y)) Q:Y=""  D
 | 
|---|
| 135 |  .S PSBINACT=$$GET1^DIQ(52.7,Y,8,"I") I PSBINACT]"",PSBINACT'>PSBDT Q
 | 
|---|
| 136 |  .S PSBDRUG="SOL"_U_$P(^TMP("PSB",$J,X),U,1,2)_U_$P(^TMP("PSB",$J,X),U,3,4)_U_PSBORIEN_U_PSBORNM
 | 
|---|
| 137 |  .S PSBCNT=PSBCNT+1,RESULTS(PSBCNT)=PSBDRUG_U_Y_U_$$GET1^DIQ(52.7,Y_",",.01)_U_$$GET1^DIQ(52.7,Y_",",2),RESULTS(0)=PSBCNT
 | 
|---|
| 138 |  Q
 | 
|---|
| 139 | ADDAL    ;
 | 
|---|
| 140 |  S Y="" F  S Y=$O(^PSDRUG("A526",PSBSCIEN,Y)) Q:Y=""  D
 | 
|---|
| 141 |  .S PSBINACT=$$GET1^DIQ(52.6,Y,12,"I") I PSBINACT]"",PSBINACT'>PSBDT Q
 | 
|---|
| 142 |  .S PSBDRUG="ADD"_U_$P(^TMP("PSB",$J,X),U,1,2)_U_$P(^TMP("PSB",$J,X),U,3,4)_U_PSBORIEN_U_PSBORNM
 | 
|---|
| 143 |  .S PSBCNT=PSBCNT+1,RESULTS(PSBCNT)=PSBDRUG_U_Y_U_$$GET1^DIQ(52.6,Y_",",.01),RESULTS(0)=PSBCNT
 | 
|---|
| 144 |  Q
 | 
|---|
| 145 | PROVLST(RESULTS,PSBIN) ;
 | 
|---|
| 146 |  K ^TMP("PSB",$J) D NOW^%DTC
 | 
|---|
| 147 |  S PSBIN=$TR(PSBIN,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
 | 
|---|
| 148 |  S RESULTS(0)=1,RESULTS(1)="-1^No provider matching input.",PSBTLNG=0
 | 
|---|
| 149 |  D LIST^DIC(200,"","","P","","",PSBIN,"B","","","^TMP(""PSB"",$J)","PSBMSG")
 | 
|---|
| 150 |  S X=0 F  S X=$O(^TMP("PSB",$J,"DILIST",X)) Q:((X="")!(PSBTLNG=1))  D
 | 
|---|
| 151 |  .S PSBIEN=$P(^TMP("PSB",$J,"DILIST",X,0),U,1)
 | 
|---|
| 152 |  .I '$D(^XUSEC("PROVIDER",PSBIEN)) Q
 | 
|---|
| 153 |  .S PSBIACT=$$GET1^DIQ(200,PSBIEN_",",53.4,"I")
 | 
|---|
| 154 |  .Q:PSBIACT'=""&(+PSBIACT'>%)  ;if Inactive date and date is less than now Q
 | 
|---|
| 155 |  .S PSBTERM=$$GET1^DIQ(200,PSBIEN_",",9.2,"I")
 | 
|---|
| 156 |  .Q:PSBTERM'=""&(+PSBTERM'>%)  ;if termination date and date is less than now Q
 | 
|---|
| 157 |  .S PSBAUTH=$$GET1^DIQ(200,PSBIEN_",",53.1,"I") I PSBAUTH'=1 Q  ;is AUTHORIZED TO WRITE MED ORDERS
 | 
|---|
| 158 |  .I RESULTS(1)["-1" S RESULTS(0)=0
 | 
|---|
| 159 |  .S RESULTS(0)=RESULTS(0)+1,RESULTS(RESULTS(0))=$P(^TMP("PSB",$J,"DILIST",X,0),U,1,2)
 | 
|---|
| 160 |  .I RESULTS(0)>100 K RESULTS S RESULTS(0)=1,RESULTS(1)=-2,PSBTLNG=1
 | 
|---|
| 161 |  K ^TMP("PSB",$J),PSBIN,PSBTLNG,PSBIACT,PSBIEN,PSBTERM,PSBAUTH
 | 
|---|
| 162 |  Q
 | 
|---|
| 163 | ORDER(RESULTS,PSBHDR,PSBREC) ;
 | 
|---|
| 164 |  S RESULTS(0)=1,RESULTS(1)="-1^Data not filed"
 | 
|---|
| 165 |  S PSBDFN=$P(PSBHDR,U,1),PSBMON=$P(PSBHDR,U,2),PSBSCH=$P(PSBHDR,U,3)
 | 
|---|
| 166 |  S ^TMP("PSBMO",$J,PSBDFN,PSBMON,0)=PSBDFN_U_PSBMON_U_PSBREC(0)_U_PSBREC(1)_U_PSBREC(2)_U_PSBSCH
 | 
|---|
| 167 |  S ^TMP("PSBMO",$J,PSBDFN,PSBMON,700,0)=0,^TMP("PSBMO",$J,PSBDFN,PSBMON,800,0)=0,^TMP("PSBMO",$J,PSBDFN,PSBMON,900,0)=0
 | 
|---|
| 168 |  I PSBREC(3)>0 D
 | 
|---|
| 169 |  .S ^TMP("PSBMO",$J,PSBDFN,PSBMON,700,0)=PSBREC(3)
 | 
|---|
| 170 |  .F I=1:1:PSBREC(3) D
 | 
|---|
| 171 |  ..S ^TMP("PSBMO",$J,PSBDFN,PSBMON,700,I,0)=$P(PSBREC(4),U,1)_U_$P(PSBREC(4),U,2)
 | 
|---|
| 172 |  ..S PSBREC(4)=$P(PSBREC(4),U,3,99)
 | 
|---|
| 173 |  I PSBREC(5)>0 D
 | 
|---|
| 174 |  .S ^TMP("PSBMO",$J,PSBDFN,PSBMON,800,0)=PSBREC(5)
 | 
|---|
| 175 |  .F I=1:1:PSBREC(5) S ^TMP("PSBMO",$J,PSBDFN,PSBMON,800,I,0)=$P(PSBREC(6),U,I)
 | 
|---|
| 176 |  I PSBREC(7)>0 D
 | 
|---|
| 177 |  .S ^TMP("PSBMO",$J,PSBDFN,PSBMON,900,0)=PSBREC(7)
 | 
|---|
| 178 |  .F I=1:1:PSBREC(7) S ^TMP("PSBMO",$J,PSBDFN,PSBMON,900,I,0)=$P(PSBREC(8),U,I)
 | 
|---|
| 179 |  S ^TMP("PSBMO",$J,PSBDFN,PSBMON,"PSB")=DUZ_U_DUZ(2)_U_PSBREC(9)_U_$G(PSBREC(10))
 | 
|---|
| 180 |  S RESULTS(0)=1,RESULTS(1)="1^Data successfully filed"
 | 
|---|
| 181 |  Q
 | 
|---|
| 182 | VACLKU ; 
 | 
|---|
| 183 |  D C^PSN50P65(,PSBSCAN,"PSBLST")
 | 
|---|
| 184 |  S PSBCNT=0,RESULTS(0)=0,PSBTLNG=0
 | 
|---|
| 185 |  S X=0 F  S X=$O(^TMP($J,"PSBLST",X)) Q:((+X=0)!(PSBTLNG=1))  D
 | 
|---|
| 186 |  .S PSBVAC="VAC"_U_X_U_^TMP($J,"PSBLST",X,1)_U_^TMP($J,"PSBLST",X,.01)
 | 
|---|
| 187 |  .S PSBCNT=PSBCNT+1,RESULTS(PSBCNT)=PSBVAC,RESULTS(0)=PSBCNT
 | 
|---|
| 188 |  .I RESULTS(0)>100 K RESULTS S RESULTS(0)=1,RESULTS(1)=-2,PSBTLNG=1 Q
 | 
|---|
| 189 |  I $G(RESULTS(1))="" S RESULTS(0)=1,RESULTS(1)="-1^Invalid Medication Lookup"
 | 
|---|
| 190 |  K ^TMP($J,"PSBLST"),PSBVAC
 | 
|---|
| 191 |  Q
 | 
|---|