Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: APSQDISP

APSQDISP.m

Go to the documentation of this file.
  1. APSQDISP ;IHS/ASDS/ENM/POC - LOOK UP
  1. ;;6.0;IHS PHARMACY MODIFICATIONS;**3**;FEB 20, 2001
  1. EN1 ;EP
  1. K APSQARR
  1. S APSQCNT=0,APSQLKUP=""
  1. S APSQSEQ=0 F S APSQSEQ=$O(^APSQFAST("S",APSQSEQ)) Q:APSQSEQ="" D
  1. .S APSQLKUP=$$SETSTR^VALM1($J(APSQSEQ,2),APSQLKUP,3,3)
  1. .S APSQIEN=$O(^APSQFAST("S",APSQSEQ,""))
  1. .Q:'APSQIEN
  1. .S APSQNAME=$P(^APSQFAST(APSQIEN,0),U,1)
  1. .S APSQLKUP=$$SETSTR^VALM1(APSQNAME,APSQLKUP,8,15)
  1. .;I $D(^APSQFAST(APSQIEN,2))#10 S APSQSEC="EXPLODE"
  1. .I $O(^APSQFAST(APSQIEN,2,0)) S APSQSEC="EXPLODE"
  1. .E S APSQSEC=$P(^PSDRUG($P(^APSQFAST(APSQIEN,0),U,2),0),U,1)
  1. .S APSQLKUP=$$SETSTR^VALM1(APSQSEC,APSQLKUP,25,20)
  1. .S APSQARR(APSQSEQ,0)=APSQLKUP
  1. .S APSQCNT=APSQCNT+1
  1. .S APSQARR("IDX",APSQCNT,APSQSEQ)=APSQIEN
  1. .S APSQLKUP=""
  1. .Q
  1. ;NEED TO SET VALMCNT=APSQCNT
  1. Q
  1. EN2 ;LOOK UP [ 12/06/98 7:08 PM ]
  1. K APSQARR
  1. S (APSQCNT,APSQLKUP)="",(APSQLAST,APSQKILL)=0
  1. S APSQSEQ=0 F S APSQSEQ=$O(^APSQFAST("S",APSQSEQ)) Q:APSQSEQ="" D ;
  1. .D SUB1
  1. .D SWT
  1. .;S:'APSQKILL APSQCNT=APSQCNT+1
  1. .D FILE:'APSQKILL
  1. I APSQKILL S APSQLAST=1 D FILE ;FOR THE LAST ONE IF ODD
  1. ;D FILE2
  1. Q
  1. SUB1 ;S APSQSEQ=APSQSEQ+1
  1. I $D(APSQ("GOT",APSQSEQ)) S APSQSTAR=1
  1. I 'APSQKILL S APSQLKUP=$$SETSTR^VALM1($J($S($G(APSQSTAR):"*",1:"")_APSQSEQ,2),APSQLKUP,3,3)
  1. I APSQKILL S APSQLKUP=$$SETSTR^VALM1($J($S($G(APSQSTAR):"*",1:"")_APSQSEQ,2),APSQLKUP,40,3)
  1. K APSQSTAR
  1. S APSQIEN=$O(^APSQFAST("S",APSQSEQ,""))
  1. Q:'APSQIEN
  1. S APSQNAME=$P(^APSQFAST(APSQIEN,0),U,1)
  1. I 'APSQKILL S APSQLKUP=$$SETSTR^VALM1(APSQNAME,APSQLKUP,8,10)
  1. I APSQKILL S APSQLKUP=$$SETSTR^VALM1(APSQNAME,APSQLKUP,45,10)
  1. ;I $D(^APSQFAST(APSQIEN,2))#10 S APSQSEC="EXPLODE"
  1. I $O(^APSQFAST(APSQIEN,2,0)) S APSQSEC="EXPLODE"
  1. E S APSQSEC=$P(^PSDRUG($P(^APSQFAST(APSQIEN,0),U,2),0),U,1)
  1. I 'APSQKILL S APSQLKUP=$$SETSTR^VALM1(APSQSEC,APSQLKUP,20,15)
  1. I APSQKILL S APSQLKUP=$$SETSTR^VALM1(APSQSEC,APSQLKUP,57,15)
  1. Q
  1. FILE ;
  1. S APSQCNT=APSQCNT+1
  1. ;S APSQARR(APSQSEQ,0)=APSQLKUP
  1. S APSQARR(APSQCNT,0)=APSQLKUP
  1. S APSQLKUP=""
  1. Q
  1. ;LINE BELOW FOR LAST ONE
  1. I APSQLAST S APSQLAST=0 S APSQARR("TMP",APSQCNT)=(APSQCNT*2-1)
  1. ;THIS WHOLE SERIES OF LINES TO SET IDX IS TO GET AROUND ONE COLUMN
  1. E S APSQARR("TMP",APSQCNT)=(APSQCNT*2-1)_","_(APSQCNT*2)
  1. Q
  1. FILE2 ;FIX IDX
  1. S (I,IDX)=0 F S IDX=$O(APSQARR("TMP",IDX)) Q:IDX="" D
  1. .S I=I+1
  1. .;VALM("BM") IS THE BOTTOM MARGIN MUST BE 6!!! OR MUST CHANGE "4" BELOW
  1. .S APSQBM=VALM("BM")-4 ;GOT FOUR LINES AT BEGINNING OF HEADING
  1. .S APSQARR("IDX",IDX,$S((I=APSQBM)&$P(APSQARR("TMP",IDX),",",2):$P(APSQARR("TMP",IDX),",",2),1:$P(APSQARR("TMP",IDX),",",1)))=""
  1. .I I=VALM("BM") S I=0
  1. ;NEED TO SET VALMCNT=APSQCNT
  1. Q
  1. SWT ;SWITH APSQKILL BACK AND FORTH BETWEEN 1 AND 0
  1. ;APSQKILL IS USED TO SET THE FIRST AND SECOND PART OF VARIABLE APSQLKUP
  1. ;AND SET A APSQARR("DIR",APSQSEQ,APSQIEN)=""
  1. S APSQARR("DIR",APSQSEQ,APSQIEN)=""
  1. I APSQKILL=1 S APSQKILL=0 Q
  1. E S APSQKILL=1
  1. Q
  1. SELECT ;SELECT ENTITIES
  1. ;D EN^VALM2(XQORNOD(0),"O") ;this list man call allows user to select an entry in list
  1. ;I '$D(VALMY) W !,"Nothing selected." Q
  1. D FULL^VALM1 ;give me full control of screen
  1. Q:'$D(APSQARR("DIR"))
  1. S APSQBEG=$O(APSQARR("DIR","")),APSQEND=$O(APSQARR("DIR",""),-1)
  1. K DIR
  1. S DIR(0)="LO^"_APSQBEG_":"_APSQEND
  1. D ^DIR
  1. I '+Y W !,"NO SELECTIONS-BYE" Q
  1. S APSQY="" F S APSQY=$O(Y(APSQY)) Q:APSQY="" D
  1. .F I=1:1 S APSQGOT=$P(Y(APSQY),",",I) Q:APSQGOT="" D
  1. ..S APSQGOTT=$O(APSQARR("DIR",APSQGOT,""))
  1. ..I APSQGOTT="" W !,"NO SUCH CRITTER ",APSQGOT," SO ITEM DELETED!"
  1. ..;E S APSQARR("GOT",APSQGOTT)=""
  1. ..E S APSQARR("GOT",APSQGOT,APSQGOTT)="",APSQ("GOT",APSQGOT,APSQGOTT)=""
  1. D LIST,HANG,EN2,BACK
  1. Q
  1. HANG ;
  1. S DIR(0)="EO",DIR("A")="HIT RETURN TO CONTINUE..." D ^DIR K DIR
  1. Q
  1. LIST ;LIST ENTRIES SELECTED
  1. W !,$S($D(APSQARR("GOT")):"",1:"NO ")," ENTRIES SELECTED:"
  1. S APSQLIST=0 F S APSQLIST=$O(APSQARR("GOT",APSQLIST)) Q:APSQLIST="" D
  1. .S APSQLIS1=$O(APSQARR("GOT",APSQLIST,""))
  1. .W !,$P(^APSQFAST(APSQLIS1,0),U,1)
  1. Q
  1. BACK ;GO BACK
  1. D TERM^VALM0
  1. S VALMBCK="R"
  1. ;D INIT AGAIN
  1. K DIR
  1. Q