1 | ORWDGX ; SLC/KCM - Generic Orders calls for Windows Dialogs [ 08/05/96 8:21 AM ]
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;;Dec 17, 1997
|
---|
3 | ;
|
---|
4 | ACT() N X,RSLT S X=^(0),RSLT=1
|
---|
5 | I "DQ"'[$P(X,U,4) S RSLT=0
|
---|
6 | S X1=$O(^ORD(100.98,"B","ACTIVITY",0))
|
---|
7 | S X2=$O(^ORD(100.98,"B","NURSING",0))
|
---|
8 | I "DQ"'[$P(X,U,4) S RSLT=0
|
---|
9 | I RSLT,((U_X1_U_X2_U)'[(U_$P(X,U,5)_U)) S RSLT=0
|
---|
10 | Q RSLT
|
---|
11 | NURS() N X,RSLT S X=^(0),RSLT=1
|
---|
12 | I "DQ"'[$P(X,U,4) S RSLT=0
|
---|
13 | I RSLT,($P(X,U,5)'=$O(^ORD(100.98,"B","NURSING",0))) S RSLT=0
|
---|
14 | Q RSLT
|
---|
15 | OITEXT(Y,DLG) ; Return Orderable Item Text given dialog or quick order
|
---|
16 | S Y=$P(^ORD(101.41,DLG,0),U,2)
|
---|
17 | Q
|
---|
18 | LOAD(LST,PAR) ; Load a list of activity orders
|
---|
19 | N I,ILST,DLG,NAM,TLST
|
---|
20 | D GETLST^XPAR(.TLST,"ALL",PAR)
|
---|
21 | S I=0,ILST=0 F S I=$O(TLST(I)) Q:'I D
|
---|
22 | . S DLG=$P(TLST(I),U,2),NAM=$P(^ORD(101.41,+DLG,0),U,2)
|
---|
23 | . S ILST=ILST+1,LST(ILST)=DLG_U_NAM
|
---|
24 | Q
|
---|
25 | ;
|
---|
26 | N DLGTYP,OIDLG,FTDLG,OITYP,I,IFN
|
---|
27 | S DLGTYP=$P(^ORD(101.41,DLG,0),U,4)
|
---|
28 | S OIDLG=$O(^ORD(101.41,"B","OR GTX ORDERABLE ITEM",0))
|
---|
29 | S FTDLG=$O(^ORD(101.41,"B","OR GTX FREE TEXT OI",0))
|
---|
30 | I DLGTYP="D" D
|
---|
31 | . S I=0,IFN=0 F S I=$O(^ORD(101.41,DLG,10,I)) S X=^(I,0) D Q:IFN
|
---|
32 | . . I $P(X,U,2)=OIDLG S IFN=I,OITYP="O"
|
---|
33 | . . I $P(X,U,2)=FTDLG S IFN=I,OITYP="F"
|
---|
34 | . S Y="" I $L($G(^ORD(101.41,DLG,10,IFN,7))) X ^(7)
|
---|
35 | . I OITYP="O" S Y=$P(^ORD(101.43,+Y,0),U,1)
|
---|
36 | Q
|
---|
37 | VMDEF(LST) ; Return dialog definition for vitals/measurements
|
---|
38 | N ILST S ILST=0
|
---|
39 | S LST($$NXT)="~Measurements" D MEASURE
|
---|
40 | S LST($$NXT)="~Schedules" D VMSCHED
|
---|
41 | Q
|
---|
42 | MEASURE ; Get measurements available
|
---|
43 | S X="" F S X=$O(^ORD(101.43,"S.V/M",X)) Q:X="" D
|
---|
44 | . S I=$O(^ORD(101.43,"S.V/M",X,0)),LST($$NXT)="i"_I_U_X
|
---|
45 | S LST($$NXT)="dTPR B/P" ; ** do this with a parameter
|
---|
46 | Q
|
---|
47 | VMSCHED ; Get vitals/measurements schedules
|
---|
48 | S X="" F S X=$O(^PS(51.1,"APGMRV",X)) Q:X="" D
|
---|
49 | . S I=$O(^PS(51.1,"APGMRV",X,0)),LST($$NXT)="i"_I_U_X
|
---|
50 | Q
|
---|
51 | NXT() ; Increment index into LST
|
---|
52 | S ILST=ILST+1
|
---|
53 | Q ILST
|
---|