| [613] | 1 | PRCH516P ;WOIFO/CR-VENDOR LOOKUP AND CONVERSION ;1/08/01 9:36 AM
 | 
|---|
 | 2 |  ;;5.1;IFCAP;**16**;Oct 20, 2000
 | 
|---|
 | 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 |  W !!,?10,"Illegal entry point...terminating",$C(7)
 | 
|---|
 | 6 |  Q
 | 
|---|
 | 7 | A1 ;
 | 
|---|
 | 8 |  ; This routine is used by patch PRC*5.1*16 to complete a conversion of
 | 
|---|
 | 9 |  ; vendors, file #440, and to update the socioeconomic groups in
 | 
|---|
 | 10 |  ; the CODE INDEX file #420.6.
 | 
|---|
 | 11 |  ;
 | 
|---|
 | 12 |  W !,?10,">>>>>>  VENDOR CONVERSION - FILE #440  <<<<<<"
 | 
|---|
 | 13 |  W !!,?10,">>>>>> CODE INDEX UPDATE - FILE #420.6 <<<<<<"
 | 
|---|
 | 14 |  W !!,?5,"This program will gather all the vendors from the VENDOR file"
 | 
|---|
 | 15 |  W !,?5,"(#440) with the socioeconomic group codes 'Q' and 'R' to"
 | 
|---|
 | 16 |  W !,?5,"perform the following:"
 | 
|---|
 | 17 |  W !
 | 
|---|
 | 18 |  W !,?5,"The code 'Q' will be deleted and the code 'S'"
 | 
|---|
 | 19 |  W !,?5,"will be added to the vendor if it does not have it."
 | 
|---|
 | 20 |  W !
 | 
|---|
 | 21 |  W !,?5,"The code 'R' will be replaced by the new code 'RV' and the"
 | 
|---|
 | 22 |  W !,?5,"code 'S' will be added to the vendor if it does not have it."
 | 
|---|
 | 23 |  W !
 | 
|---|
 | 24 |  W !,?5,"The codes 'Q' and 'R' in the CODE INDEX file (#420.6)"
 | 
|---|
 | 25 |  W !,?5,"will be deactivated as part of this patch.",!
 | 
|---|
 | 26 |  W !,?5,"PLEASE OBTAIN A PRINTOUT OF ALL THE VENDORS BEFORE AND"
 | 
|---|
 | 27 |  W !,?5,"AFTER THE CONVERSION AND SAVE BOTH FOR FUTURE REFERENCE."
 | 
|---|
 | 28 |  ;
 | 
|---|
 | 29 |  K ^TMP($J,"PRCH516P")
 | 
|---|
 | 30 |  S CONV=0
 | 
|---|
 | 31 |  I $D(^TMP($J,"PRCH516P")) G START
 | 
|---|
 | 32 |  E  D START1 I '$D(^TMP($J,"PRCH516P")) D  Q
 | 
|---|
 | 33 |  . W !!,?5,"NO RECORDS FOUND...TERMINATING.",$C(7) D EXIT
 | 
|---|
 | 34 | START ;
 | 
|---|
 | 35 |  W !!,?5,"Searching for all the eligible vendors, please wait..." H 2
 | 
|---|
 | 36 |  W !!,?5,"...list completed and ready to be printed!!!",!,$C(7)
 | 
|---|
 | 37 |  W !,?5,"(Enter '^' at the DEVICE prompt to quit.)",!!
 | 
|---|
 | 38 |  I $D(^TMP($J,"PRCH516P"))&($G(CONV)=0) D A4 Q:POP
 | 
|---|
 | 39 |  W !
 | 
|---|
 | 40 |  S %A="Continue with the conversion",%B="",%=2
 | 
|---|
 | 41 |  D ^PRCFYN G:%=2 EXIT
 | 
|---|
 | 42 |  W !! S:%=1 CONV=1
 | 
|---|
 | 43 |  Q:$G(CONV)'=1
 | 
|---|
 | 44 |  ;
 | 
|---|
 | 45 |  S %ZIS("B")="",%ZIS="MQ" D ^%ZIS Q:POP
 | 
|---|
 | 46 |  I $D(IO("Q")) S ZTDESC="VENDOR LOOKUP FOR CONVERSION - PATCH PRC*5.1*16",ZTRTN="A2^PRCH516P",ZTSAVE("^TMP($J,")="",ZTSAVE("CONV")="" D ^%ZTLOAD,HOME^%ZIS,EXIT Q
 | 
|---|
 | 47 |  D A2,EXIT,^%ZISC
 | 
|---|
 | 48 |  Q
 | 
|---|
 | 49 |  ;
 | 
|---|
 | 50 | START1 S X="" F  S X=$O(^PRC(440,X)) Q:X=""  S Z11=$G(^PRC(440,X,1.1,0)),CNTR=$P(Z11,"^",4) I CNTR>0 D
 | 
|---|
 | 51 |  .S SEG="" F  S SEG=$O(^PRC(440,X,1.1,SEG)) Q:SEG=""  S:$G(SEG)=158 $P(^TMP($J,"PRCH516P",X),"^",1)=SEG S:$G(SEG)=159 $P(^TMP($J,"PRCH516P",X),"^",2)=SEG
 | 
|---|
 | 52 |  .S CNTR=$G(CNTR)-1
 | 
|---|
 | 53 |  .Q:CNTR=0
 | 
|---|
 | 54 |  Q
 | 
|---|
 | 55 |  ;
 | 
|---|
 | 56 | EXIT K CNTR,CONV,COUNT,EX,I,J,N,P,PRCINDX,SEG,TDATE,X,XXZ,Y,Z11,^TMP($J,"PRCH516P")
 | 
|---|
 | 57 |  Q
 | 
|---|
 | 58 |  ;
 | 
|---|
 | 59 | A2 ;Convert the vendor with intenal code 'Q'=158 to code 'S'=162 if code
 | 
|---|
 | 60 |  ;'S' is not present. If code 'S' is present, just delete code 'Q' and
 | 
|---|
 | 61 |  ;update the multiple header.
 | 
|---|
 | 62 |  ;
 | 
|---|
 | 63 |  S J="" F  S J=$O(^TMP($J,"PRCH516P",J)) Q:J=""!(J'>0)  D:$P($G(^TMP($J,"PRCH516P",J)),"^",1)=158
 | 
|---|
 | 64 |  .S PRCINDX=$P(^PRC(440,J,1.1,0),"^",4)
 | 
|---|
 | 65 |  .I PRCINDX>0 D
 | 
|---|
 | 66 |  ..K ^PRC(440,J,1.1,158,0) S $P(^PRC(440,J,1.1,0),"^",4)=$P(^PRC(440,J,1.1,0),"^",4)-1
 | 
|---|
 | 67 |  ..I '$D(^PRC(440,J,1.1,162,0)) S $P(^PRC(440,J,1.1,162,0),"^",1)="162",$P(^PRC(440,J,1.1,0),"^",3)="162",$P(^PRC(440,J,1.1,0),"^",4)=$P(^PRC(440,J,1.1,0),"^",4)+1
 | 
|---|
 | 68 |  ..I $D(^PRC(440,J,1.1,162,0)) S $P(^PRC(440,J,1.1,0),"^",3)="162"
 | 
|---|
 | 69 |  ;
 | 
|---|
 | 70 |  ;Convert any vendor with code 'R'=159 to code 'RV'=167.
 | 
|---|
 | 71 |  S J="" F  S J=$O(^TMP($J,"PRCH516P",J)) Q:J=""!(J'>0)  D:$P($G(^TMP($J,"PRCH516P",J)),"^",2)=159
 | 
|---|
 | 72 |  .S PRCINDX=$P(^PRC(440,J,1.1,0),"^",4)
 | 
|---|
 | 73 |  .I PRCINDX>0 D
 | 
|---|
 | 74 |  ..K ^PRC(440,J,1.1,159,0) S $P(^PRC(440,J,1.1,0),"^",4)=$P(^PRC(440,J,1.1,0),"^",4)-1
 | 
|---|
 | 75 |  ..;If code 'S' is not present, add it and update multiple header.
 | 
|---|
 | 76 |  ..I '$D(^PRC(440,J,1.1,162,0)) S $P(^PRC(440,J,1.1,162,0),"^",1)="162",$P(^PRC(440,J,1.1,0),"^",3)="162",$P(^PRC(440,J,1.1,0),"^",4)=$P(^PRC(440,J,1.1,0),"^",4)+1
 | 
|---|
 | 77 |  ..S $P(^PRC(440,J,1.1,0),"^",3)="167"
 | 
|---|
 | 78 |  ..S $P(^PRC(440,J,1.1,167,0),"^",1)="167",$P(^PRC(440,J,1.1,0),"^",4)=$P(^PRC(440,J,1.1,0),"^",4)+1
 | 
|---|
 | 79 |  D A3
 | 
|---|
 | 80 |  Q
 | 
|---|
 | 81 |  ;
 | 
|---|
 | 82 | A3 ;Get a record of vendors before and after conversion.
 | 
|---|
 | 83 |  U IO
 | 
|---|
 | 84 |  D NOW^%DTC S Y=% D DD^%DT S TDATE=Y
 | 
|---|
 | 85 |  S (EX,P)=1,COUNT=0
 | 
|---|
 | 86 |  I '$D(^TMP($J,"PRCH516P")) S P=1 D HEADER W !!!!!!,?10,"*** NO RECORDS TO PRINT ***" Q
 | 
|---|
 | 87 |  ;
 | 
|---|
 | 88 |  S J="" F  S J=$O(^TMP($J,"PRCH516P",J)) Q:EX="^"  Q:J=""!(J'>0)  D
 | 
|---|
 | 89 |  .D:P=1 HEADER
 | 
|---|
 | 90 |  .S PRCINDX=$P(^PRC(440,J,1.1,0),"^",4) I PRCINDX>0 D
 | 
|---|
 | 91 |  ..W ?2,J,?15,$P(^PRC(440,J,0),"^",1)
 | 
|---|
 | 92 |  ..S N="" F  S N=$O(^PRC(440,J,1.1,N)) Q:N=""  W:N>0 ?60,$P(^PRCD(420.6,N,0),"^",1),"  "
 | 
|---|
 | 93 |  ..W !
 | 
|---|
 | 94 |  ..I (IOSL-$Y)<6 D HOLD Q:EX="^"
 | 
|---|
 | 95 |  .S COUNT=COUNT+1
 | 
|---|
 | 96 |  W !!,?5,"Found "_COUNT_" entries."
 | 
|---|
 | 97 |  Q
 | 
|---|
 | 98 |  ;
 | 
|---|
 | 99 | HOLD ;
 | 
|---|
 | 100 |  G HEADER:$P(IOST,"-")="P" W !,"Press return to continue, '^' to exit:" R XXZ:DTIME S:XXZ="^" EX="^" S:'$T EX="^" D:EX'["^" HEADER
 | 
|---|
 | 101 |  Q
 | 
|---|
 | 102 | HEADER ;
 | 
|---|
 | 103 |  W @IOF
 | 
|---|
 | 104 |  W !,"LIST OF VENDORS FOR PATCH PRC*5.1*16",?42,TDATE,?70,"PAGE ",P
 | 
|---|
 | 105 |  W:$G(CONV)=1 !,"(AFTER CONVERSION)",!
 | 
|---|
 | 106 |  W:$G(CONV)=0 !,"(BEFORE CONVERSION)",!
 | 
|---|
 | 107 |  F I=1:1:8 W "----------"
 | 
|---|
 | 108 |  W !,?2,"VENDOR ID",?15,"VENDOR NAME",?60,"VENDOR CODES",!!
 | 
|---|
 | 109 |  S P=P+1
 | 
|---|
 | 110 |  Q
 | 
|---|
 | 111 |  ;
 | 
|---|
 | 112 | A4 ;Allow the user to get a printout before conversion.
 | 
|---|
 | 113 |  S %ZIS("B")="",%ZIS="MQ" D ^%ZIS Q:POP
 | 
|---|
 | 114 |  I $D(IO("Q")) S ZTDESC="VENDOR LOOKUP FOR CONVERSION - PATCH PRC*5.1*16",ZTRTN="A3^PRCH516P",ZTSAVE("^TMP($J,")="",ZTSAVE("CONV")="" D ^%ZTLOAD,HOME^%ZIS Q
 | 
|---|
 | 115 |  D A3,^%ZISC
 | 
|---|
 | 116 |  Q
 | 
|---|
 | 117 |  ;
 | 
|---|
 | 118 | PRE ;Delete all the entries in file #420.6.
 | 
|---|
 | 119 |  ;This entry point is invoked from KIDS for installation of PRC*5.1*16 
 | 
|---|
 | 120 |  ;and should not be used directly.
 | 
|---|
 | 121 |  K ^PRCD(420.6)
 | 
|---|
 | 122 |  Q
 | 
|---|