1 | ORU4 ; slc/dcm - Silent utilities/functions ;12/7/00 13:10
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**11,92**;Dec 17, 1997
|
---|
3 | ;Silent versions of functions found in ^ORU
|
---|
4 | TIME(X,FMT,ORHOOT,ORCL,GCNT,CCNT) ;
|
---|
5 | Q $$TIME^ORU($G(X),$G(FMT))
|
---|
6 | DATE(X,FMT,ORHOOT,ORCL,GCNT,CCNT) ;
|
---|
7 | Q $$DATE^ORU($G(X),$G(FMT))
|
---|
8 | DATETIME(X,FMT,ORHOOT,ORCL,GCNT,CCNT) ;
|
---|
9 | Q $$DATETIME^ORU($G(X),$G(FMT))
|
---|
10 | NAME(X,FMT,ORHOOT,ORCL,GCNT,CCNT) ;
|
---|
11 | Q $$NAME^ORU($G(X),$G(FMT))
|
---|
12 | SSN(X,FMT,ORHOOT,ORCL,GCNT,CCNT) ;
|
---|
13 | Q $$SSN^ORU($G(X),$G(FMT))
|
---|
14 | AGE(X,FMT,ORHOOT,ORCL,GCNT,CCNT) ;
|
---|
15 | Q $$AGE^ORU($G(X),$G(FMT))
|
---|
16 | DOB(X,FMT,ORHOOT,ORCL,GCNT,CCNT) ;
|
---|
17 | Q $$DOB^ORU($G(X),$G(FMT))
|
---|
18 | WORD(OROOT,FMT,ORHOOT,ORCL,GCNT,CCNT) ; Call with X=Word Processing array root, FMT=Wrap Width
|
---|
19 | I '$L($G(OROOT)) Q ""
|
---|
20 | S:'$G(FMT) FMT=80
|
---|
21 | N X,DIWL,DIWF,ORI
|
---|
22 | S ORI=0,CCNT=CCNT+1
|
---|
23 | F S ORI=$O(@OROOT@(ORI)) Q:ORI'>0 S X=@OROOT@(ORI,0) S @ORHOOT@(GCNT,0)=$S($D(@ORHOOT@(GCNT,0)):@ORHOOT@(GCNT,0),1:"")_X D:$O(@OROOT@(ORI)) LN
|
---|
24 | Q ""
|
---|
25 | TEXT(OROOT,FMT,ORHOOT,ORCL,GCNT,CCNT) ;Get text unformatted
|
---|
26 | I '$L($G(OROOT)) Q ""
|
---|
27 | S:'$G(FMT) FMT=80
|
---|
28 | S:'$G(ORCL) ORCL=0
|
---|
29 | S:'$G(CCNT) CCNT=0
|
---|
30 | S:'$G(GCNT) GCNT=1
|
---|
31 | N X,ORI,ORTX,ORINDX
|
---|
32 | S ORINDX=1,ORI=0,CCNT=CCNT+1
|
---|
33 | F S ORI=$O(@OROOT@(ORI)) Q:ORI'>0 S X=@OROOT@(ORI,0),X=$$FMT^ORPRS09(FMT,ORINDX,X)
|
---|
34 | F ORI=0:0 S ORI=$O(ORTX(ORI)) Q:'ORI S @ORHOOT@(GCNT,0)=$S($D(@ORHOOT@(GCNT,0)):@ORHOOT@(GCNT,0),1:"")_$$S(ORCL,CCNT,ORTX(ORI),.CCNT) D:$O(ORTX(ORI)) LN
|
---|
35 | I $G(ORPDAD),$D(ORIFN) D PRT1(ORIFN,OACTION,1,FMT,ORHOOT,.GCNT,.CCNT)
|
---|
36 | Q ""
|
---|
37 | TMPWRAP(OROOT,FMT,ORHOOT,ORCL,GCNT,CCNT) ;Get text formatted
|
---|
38 | I '$L($G(OROOT)) Q ""
|
---|
39 | S:'$G(FMT) FMT=80
|
---|
40 | S:'$G(ORCL) ORCL=0
|
---|
41 | S:'$G(CCNT) CCNT=1
|
---|
42 | S:'$G(GCNT) GCNT=1
|
---|
43 | N X,ORI,ORTX,ORINDX
|
---|
44 | S (ORI,ORINDX)=0,CCNT=CCNT+1
|
---|
45 | F S ORI=$O(@OROOT@(ORI)) Q:ORI'>0 S X=$S($L($G(@OROOT@(ORI))):@OROOT@(ORI),$L($G(@OROOT@(ORI,0))):@OROOT@(0),1:""),ORINDX=ORINDX+1,X=$$FMT^ORPRS09(FMT,ORINDX,X)
|
---|
46 | F ORI=0:0 S ORI=$O(ORTX(ORI)) Q:'ORI S @ORHOOT@(GCNT,0)=$S($D(@ORHOOT@(GCNT,0)):@ORHOOT@(GCNT,0),1:"")_$$S(ORCL,CCNT,ORTX(ORI),.CCNT) D:$O(ORTX(ORI)) LN
|
---|
47 | I $G(ORPDAD),$D(ORIFN) D PRT1(ORIFN,OACTION,1,FMT,ORHOOT,.GCNT,.CCNT) K ORPDAD ;ORPDAD set by print code
|
---|
48 | Q ""
|
---|
49 | S(X,Y,Z,CCNT) ;Pad over
|
---|
50 | ;X=Where to begin placing text; similar to Column # in W ?CL
|
---|
51 | ;Y=Current position in string ; similar to $X
|
---|
52 | ;Z=Text to be added to string
|
---|
53 | ;SP=Return value of formatted text
|
---|
54 | ;CCNT=Line position after text is added; call by value
|
---|
55 | ; Initialize and cleanup CCNT before making call
|
---|
56 | ; Multiple calls to $$S pass CCNT as 2nd parameter (Y)
|
---|
57 | I '$D(Z) Q ""
|
---|
58 | N SP
|
---|
59 | S SP=Z I X,Y,X>Y S SP=$E(" ",1,X-Y)_Z
|
---|
60 | S CCNT=$$INC(CCNT,SP)
|
---|
61 | Q SP
|
---|
62 | INC(X,Y) ;Character position count
|
---|
63 | ;X=Current count
|
---|
64 | ;Y=Text
|
---|
65 | N INC
|
---|
66 | S INC=X+$L(Y)
|
---|
67 | Q INC
|
---|
68 | LN ;Increment the array counter & set node position=1
|
---|
69 | ;GCNT=Global node counter)
|
---|
70 | ;CCNT=Text position on global node
|
---|
71 | S GCNT=GCNT+1,CCNT=1
|
---|
72 | Q
|
---|
73 | LINE(OROOT,GIOM) ;Add a blank line to the array
|
---|
74 | N X
|
---|
75 | S:'$G(GIOM) GIOM=80
|
---|
76 | D LN S X="",$P(X," ",GIOM)="",@OROOT@(GCNT,0)=X
|
---|
77 | Q
|
---|
78 | PRT1(ORIFN,OACTION,ORDAD,LENGTH,ORHOOT,GCNT,CCNT) ;For kids sake
|
---|
79 | ;ORIFN=Internal order # of parent order
|
---|
80 | ;OACTION=Action
|
---|
81 | ;LENGTH=column width length
|
---|
82 | N ORCHLD,OREND,I
|
---|
83 | S (OREND,ORCHLD)=0
|
---|
84 | F S ORCHLD=$O(^OR(100,ORIFN,2,ORCHLD)) Q:ORCHLD<1 D ONE(ORCHLD,OACTION,ORDAD," ",$G(LENGTH),ORHOOT,.GCNT,CCNT)
|
---|
85 | Q
|
---|
86 | ONE(ORIFN,OACTION,ORDAD,ORSEQ,LENGTH,OROOT,GCNT,CCNT) ;Single line format
|
---|
87 | N ORTX,OREL,ORSTS,ORASTS,ORSTRT,ORSTOP,I,Z,X3,X0
|
---|
88 | Q:'$D(^OR(100,ORIFN,3)) S X3=^(3),X0=^(0)
|
---|
89 | S ORSEQ=$G(ORSEQ),ORSTS=$P(X3,"^",3),ORSTRT=$P(X0,"^",8),ORSTOP=$P(X0,"^",9),OREL=$S(ORSTS=11:1,1:"")
|
---|
90 | S:'$G(LENGTH) LENGTH=45
|
---|
91 | I $G(OACTION),$D(^OR(100,ORIFN,8,OACTION,0)) S ORASTS=$P(^(0),"^",15)
|
---|
92 | D LN
|
---|
93 | S @OROOT@(GCNT,0)=ORSEQ_$S($L(ORSEQ)=1:" ",1:"")_$S($G(ORASTS)!(ORSTS):" "_$P(^ORD(100.01,$S($G(ORASTS):ORASTS,1:ORSTS),.1),"^"),1:" ")
|
---|
94 | D TEXT^ORQ12(.ORTX,$S($G(OACTION):ORIFN_";"_OACTION,1:ORIFN),LENGTH)
|
---|
95 | F I=0:0 S I=$O(ORTX(I)) Q:'I D:I>1 LINE(OROOT) S @OROOT@(GCNT,0)=@OROOT@(GCNT,0)_$$S(14,CCNT,ORTX(I),.CCNT)
|
---|
96 | S Z=$S($D(ORDAD):$S(ORDAD:2,1:1),1:1)
|
---|
97 | I Z=2 S ORSTRT=$$FMTE^XLFDT(ORSTRT,"2M"),ORSTOP=$$FMTE^XLFDT(ORSTOP,"2M") D
|
---|
98 | . I (CCNT+9+$L(ORSTRT)+$S($L(ORSTOP):$L(ORSTOP)+8,1:0))>(LENGTH+14) D LN S @OROOT@(GCNT,0)=$$S(14,CCNT,"",.CCNT)
|
---|
99 | . S @OROOT@(GCNT,0)=$$S(14,CCNT," Start: "_ORSTRT,.CCNT)
|
---|
100 | . I $L(ORSTOP) S @OROOT@(GCNT,0)=@OROOT@(GCNT,0)_$$S(CCNT,CCNT," Stop: "_ORSTOP,.CCNT)
|
---|
101 | Q
|
---|