| 1 | XBDHDSV ; IHS/ADC/GTH - COMPILES HEADER INFO FOR AUTO ENTRY INTO DIP ; [ 02/07/97 3:02 PM ]
|
---|
| 2 | ;;4.0;XB;;Jul 20, 2009;Build 2
|
---|
| 3 | ;
|
---|
| 4 | I '$D(^TMP("XBDH",$J,"HEADER")) Q
|
---|
| 5 | NEW ;
|
---|
| 6 | NEW XBDHC,XBDHHDX,DIRPIPE,XBDHI,XBDHLJ,XBDHLPTH,XBDHMORE,XBDHN,XBDHNN,XBDHL,XBDHPDFN,XBDHRJ,XBDHSTG,XBDHTPTH,XBDHWW,XBDHX,XBDHY,I,J,L,P,X,Y,BY,DALL,DIC,DIJ,DP,DPP,FR,IOP,IOX,IOY,TO,XBDHCHLW,XBDHPDNA,%
|
---|
| 7 | INIT ;
|
---|
| 8 | S ^TMP("XBDH",$J,"HELPR",0)="]",^(99)="",X=^TMP("XBDH",$J,"HEADER"),XBDHCHLW=1,XBDHPDFN=$P(X,U),XBDHPDNA=$P(X,U,2),XBDHTHLW=$P(X,U,3),V="|"
|
---|
| 9 | KILL X
|
---|
| 10 | S XBDHLPTH="",(XBDHN,XBDHI)=0
|
---|
| 11 | INCN ;
|
---|
| 12 | S XBDHN=XBDHN+1
|
---|
| 13 | G:'$D(^TMP("XBDH",$J,"HEADER",XBDHN)) CLOSE S XBDHX=^(XBDHN)
|
---|
| 14 | D MUMPS,PRELIM
|
---|
| 15 | S XBDHLPTH=XBDHTPTH
|
---|
| 16 | D NORMAL
|
---|
| 17 | G INCN
|
---|
| 18 | ;
|
---|
| 19 | CLOSE ;
|
---|
| 20 | I XBDHTPTH]"" S X=$L(XBDHTPTH,";")-1,Y="" F X=1:1:X D SET
|
---|
| 21 | D STD
|
---|
| 22 | S DIR(0)="YO",DIR("A")="Want to make any more changes",DIR("B")="NO"
|
---|
| 23 | D ^DIR
|
---|
| 24 | KILL DIR
|
---|
| 25 | I Y=1 G EXIT
|
---|
| 26 | I Y=U S XBDHQUIT="" Q
|
---|
| 27 | KILL ^TMP("XBDH",$J,"SAVE")
|
---|
| 28 | EXIT ;
|
---|
| 29 | Q
|
---|
| 30 | ;
|
---|
| 31 | SET ;
|
---|
| 32 | S XBDHI=XBDHI+1,^TMP("XBDH",$J,"HELPR",XBDHI)=Y
|
---|
| 33 | Q
|
---|
| 34 | ;
|
---|
| 35 | MUMPS ;
|
---|
| 36 | S XBDHJ=""
|
---|
| 37 | F L=0:0 S XBDHJ=$O(^TMP("XBDH",$J,"HEADER",XBDHN,XBDHJ)) Q:XBDHJ="" S XBDHI=XBDHI+1,^TMP("XBDH",$J,"HELPR",XBDHI)=^TMP("XBDH",$J,"HEADER",XBDHN,XBDHJ)
|
---|
| 38 | KILL XBDHJ
|
---|
| 39 | Q
|
---|
| 40 | ;
|
---|
| 41 | PRELIM ;
|
---|
| 42 | S X=$P(^TMP("XBDH",$J,"HEADER",XBDHN),V),XBDHTPTH=$P(X,"~",4)
|
---|
| 43 | I XBDHLPTH=XBDHTPTH Q
|
---|
| 44 | I $E(XBDHTPTH,1,$L(XBDHLPTH))=XBDHLPTH D DOWN Q
|
---|
| 45 | I $E(XBDHLPTH,1,$L(XBDHTPTH))=XBDHTPTH D UP Q
|
---|
| 46 | D PATH
|
---|
| 47 | Q
|
---|
| 48 | ;
|
---|
| 49 | DOWN ;
|
---|
| 50 | S X=$L(XBDHLPTH,";")
|
---|
| 51 | F I=X:1 S Y=$P(XBDHTPTH,";",I) Q:Y="" D SET
|
---|
| 52 | Q
|
---|
| 53 | ;
|
---|
| 54 | UP ;
|
---|
| 55 | S X=$L(XBDHTPTH,";"),Y=$L(XBDHLPTH,";"),X=Y-X,Y=""
|
---|
| 56 | F I=1:1:X D SET
|
---|
| 57 | Q
|
---|
| 58 | ;
|
---|
| 59 | PATH ;
|
---|
| 60 | F I=1:1 I $P(XBDHLPTH,";",I)="" S A=I-1 Q
|
---|
| 61 | F I=1:1 I $P(XBDHTPTH,";",I)="" S B=I-1 Q
|
---|
| 62 | F I=1:1:A Q:$P(XBDHLPTH,";",1,I)'=$P(XBDHTPTH,";",1,I)
|
---|
| 63 | S C=I-1,N=A-C,Y=""
|
---|
| 64 | F I=1:1:N D SET
|
---|
| 65 | S C=C+1
|
---|
| 66 | F I=C:1:B S Y=$P(XBDHTPTH,";",I) D SET
|
---|
| 67 | KILL A,B,C,I,N
|
---|
| 68 | Q
|
---|
| 69 | ;
|
---|
| 70 | NORMAL ;
|
---|
| 71 | S XBDHC=XBDHCHLW,XBDHNN=$J("",$P(XBDHX,V,5))_$P(XBDHX,V,3),XBDHLJ=$P(XBDHX,V,4),XBDHRJ=$P(XBDHX,V,6),XBDHWW=$P(XBDHX,V,7),XBDHCHLW=XBDHCHLW+$P(XBDHX,V,4)+$P(XBDHX,V,8)
|
---|
| 72 | S XBDHSTG=$P($P(XBDHX,V),"~",2)
|
---|
| 73 | I XBDHNN'=$P(XBDHX,V,2) S XBDHSTG=XBDHSTG_";"""_XBDHNN_""""
|
---|
| 74 | S XBDHSTG=XBDHSTG_";C"_XBDHC
|
---|
| 75 | I XBDHLJ S XBDHSTG=XBDHSTG_$S(XBDHWW="+":";W",1:";L")_XBDHLJ
|
---|
| 76 | I XBDHRJ="+" S XBDHSTG=XBDHSTG_";R"_$P(XBDHX,V,4)
|
---|
| 77 | S XBDHI=XBDHI+1,^TMP("XBDH",$J,"HELPR",XBDHI)=XBDHSTG
|
---|
| 78 | Q
|
---|
| 79 | ;
|
---|
| 80 | STD ;
|
---|
| 81 | W !!,"I AM ABOUT TO PRINT A SAMPLE REPORT.",!
|
---|
| 82 | S DIR(0)="YO",DIR("A")="For this demo, do you want the 'standard' print options",DIR("B")="YES",DIR("?")="Standard options: SORT BY '@NUMBER', DEVICE = 'HOME'"
|
---|
| 83 | D ^DIR
|
---|
| 84 | KILL DIR
|
---|
| 85 | I Y=U S XBDHQUIT="" Q
|
---|
| 86 | W !!,"HMMM, LET ME THINK ABOUT THIS...",!!
|
---|
| 87 | I Y=1 S BY="NUMBER;@",FR="",TO="",IOP=$I,DUZ(0)="@"
|
---|
| 88 | DIP ;
|
---|
| 89 | S DIC=^DIC(XBDHPDFN,0,"GL")
|
---|
| 90 | S DIRPIPE="D ^XBDHDIP",L="]"
|
---|
| 91 | KILL XBDHHDX
|
---|
| 92 | D EN1^DIP
|
---|
| 93 | Q
|
---|
| 94 | ;
|
---|
| 95 | NOTES ;
|
---|
| 96 | ; CONVERTS THE INFO FROM THE "HEADER" GLOBAL INTO FM SYNATX FOR THE "HELPR" GLOBAL
|
---|
| 97 | ; INPUT = ^TMP("XBDH",$J,"HEADER",XBDHCHN)
|
---|
| 98 | ; OUTPUT = ^TMP("XBDH",$J,"HELPR",N)
|
---|
| 99 | ; ";L" IS SUPERCEEDED BY ";W" IF WORDWRAP IS IN EFFECT
|
---|
| 100 | ; EN1^DIP LEAVES SOME LOCALS HANGING AROUND WHICH ARE KILLED IN DIP+2
|
---|
| 101 | ;
|
---|