1 | DGRURB ; ALB/SCK - LIST MANAGER INTERFACE FOR ROOM-BED TRANSLATION; 16-FEB-2000
|
---|
2 | ;;5.3;Registration;**190,312**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | EN ; -- main entry point for DGRU ROOM-BED
|
---|
5 | K XQORS,VALMEVL
|
---|
6 | N VALMCNT,DGRUCNT,VALMI,VALMY,XQORNOD,VALMBCK,VALMHDR
|
---|
7 | D EN^VALM("DGRU ROOM-BED")
|
---|
8 | Q
|
---|
9 | ;
|
---|
10 | HDR ; -- header code
|
---|
11 | S VALMHDR(1)="RAI/MDS COTS Room-Bed Translation"
|
---|
12 | S VALMHDR(2)="Data Entry Screen"
|
---|
13 | Q
|
---|
14 | ;
|
---|
15 | INIT ; -- init variables and list array
|
---|
16 | ; Variables
|
---|
17 | ; DGIEN - ien of the file #46.13 entry
|
---|
18 | ; DGNODE - Zero node of file #46.13
|
---|
19 | ; DGCNT - Count of entries in the LM array
|
---|
20 | ; DGTRN - File #46.13 ien^translated Room-Bed^Bed description
|
---|
21 | ; DGRM - Room-Bed name in external format
|
---|
22 | ;
|
---|
23 | N DGIEN,DGNODE,DGTRN,DGCNT,X,DGRM
|
---|
24 | ;
|
---|
25 | K ^TMP("DGRURB",$J)
|
---|
26 | K ^TMP("DGRUSRT",$J)
|
---|
27 | ;
|
---|
28 | D CLEAN^VALM10
|
---|
29 | ;; Sort Room-Beds first
|
---|
30 | S (DGIEN,VALMCNT)=0
|
---|
31 | F S DGIEN=$O(^DGRU(46.13,DGIEN)) Q:'DGIEN D
|
---|
32 | . S DGNODE=$G(^DGRU(46.13,DGIEN,0))
|
---|
33 | . Q:DGNODE']""
|
---|
34 | . S ^TMP("DGRUSRT",$J,$E($$GET1^DIQ(405.4,+DGNODE,.01),1,20),+DGNODE)=DGIEN_"^"_$P(DGNODE,"^",2)_"^"_$E($$GET1^DIQ(405.4,+DGNODE,.02),1,30)
|
---|
35 | ;
|
---|
36 | ;; Build display list
|
---|
37 | S DGRM="",DGCNT=1
|
---|
38 | F S DGRM=$O(^TMP("DGRUSRT",$J,DGRM)) Q:DGRM="" D
|
---|
39 | . S DGIEN=0
|
---|
40 | . F S DGIEN=$O(^TMP("DGRUSRT",$J,DGRM,DGIEN)) Q:'DGIEN D
|
---|
41 | . . S DGTRN=^TMP("DGRUSRT",$J,DGRM,DGIEN)
|
---|
42 | . . S X=$$SETFLD^VALM1(DGCNT,"","NUM")
|
---|
43 | . . S X=$$SETFLD^VALM1(DGRM,X,"VISTA")
|
---|
44 | . . S X=$$SETFLD^VALM1($P(DGTRN,"^",2),X,"COTS")
|
---|
45 | . . S X=$$SETFLD^VALM1($P(DGTRN,"^",3),X,"RMDESC")
|
---|
46 | . . D SET(X,DGCNT,+DGTRN)
|
---|
47 | . . S DGCNT=DGCNT+1
|
---|
48 | Q
|
---|
49 | ;
|
---|
50 | HELP ; -- help code
|
---|
51 | S X="?" D DISP^XQORM1 W !!
|
---|
52 | Q
|
---|
53 | ;
|
---|
54 | EXIT ; -- exit code
|
---|
55 | K ^TMP("DGRURB",$J)
|
---|
56 | K ^TMP("DGRUSRT",$J)
|
---|
57 | D FULL^VALM1
|
---|
58 | D CLEAN^VALM10
|
---|
59 | Q
|
---|
60 | ;
|
---|
61 | ADD ; Add a new room-bed translation value
|
---|
62 | N DIR,DIRUT,DGVM,DGTR,FDA
|
---|
63 | ;
|
---|
64 | D FULL^VALM1
|
---|
65 | S DIR(0)="PAO^405.4:EMZ",DIR("A")="Vista Room-Bed: "
|
---|
66 | S DIR("S")="I $$RAI^DGRURB(Y)"
|
---|
67 | D ^DIR K DIR
|
---|
68 | Q:$D(DIRUT)
|
---|
69 | S DGVM=+Y
|
---|
70 | ;
|
---|
71 | K DIRUT
|
---|
72 | S DIR(0)="FA^3:8^K:'X?.5UN1""-"".2UN"
|
---|
73 | S DIR("A")="Enter Translated Room-Bed: "
|
---|
74 | S DIR("?",1)="Answer must be 3-8 characters in length"
|
---|
75 | S DIR("?",2)="in the format xxxxx-xx, where the first piece does"
|
---|
76 | S DIR("?")="not exceed 5 characters, and the second does not exceed 2."
|
---|
77 | D ^DIR K DIR
|
---|
78 | Q:$D(DIRUT)
|
---|
79 | S DGTR=$G(Y)
|
---|
80 | ;
|
---|
81 | S FDA(1,46.13,"?+1,",.01)=DGVM
|
---|
82 | S FDA(1,46.13,"?+1,",.02)=DGTR
|
---|
83 | D UPDATE^DIE("","FDA(1)")
|
---|
84 | ;
|
---|
85 | D INIT
|
---|
86 | Q
|
---|
87 | ;
|
---|
88 | DEL ; Delete an existing room-bed translation value
|
---|
89 | N DA,DIK
|
---|
90 | ;
|
---|
91 | D FULL^VALM1
|
---|
92 | D EN^VALM2(XQORNOD(0),"OS")
|
---|
93 | S VALMI=0
|
---|
94 | S VALMI=$O(VALMY(VALMI))
|
---|
95 | Q:'VALMI
|
---|
96 | ;
|
---|
97 | S DIR(0)="YAO",DIR("A")="Are you sure you want to delete this translation? "
|
---|
98 | S DIR("B")="NO"
|
---|
99 | D ^DIR K DIR
|
---|
100 | Q:$D(DIRUT)
|
---|
101 | I Y D
|
---|
102 | . S DA=^TMP("DGRURB",$J,"IDX",VALMI,VALMI)
|
---|
103 | . S DIK="^DGRU(46.13,"
|
---|
104 | . D ^DIK
|
---|
105 | . D INIT
|
---|
106 | Q
|
---|
107 | ;
|
---|
108 | RAI(DGIEN) ; Screening logic for room lookup. Associated ward must have the
|
---|
109 | ; RAI/MDS WARD field = "Yes"
|
---|
110 | N DGOK,DGNDX
|
---|
111 | ;
|
---|
112 | S DGNDX=0,DGOK=0
|
---|
113 | F S DGNDX=$O(^DG(405.4,DGIEN,"W",DGNDX)) Q:'DGNDX D G:DGOK=1 EXITSC
|
---|
114 | . S DGOK=$$GET1^DIQ(42,DGNDX,.035,"I")
|
---|
115 | EXITSC Q DGOK
|
---|
116 | ;
|
---|
117 | SET(X,DGCNT,DGIEN) ;
|
---|
118 | S VALMCNT=$G(VALMCNT)+1
|
---|
119 | S ^TMP("DGRURB",$J,VALMCNT,0)=X
|
---|
120 | S ^TMP("DGRURB",$J,"IDX",VALMCNT,DGCNT)=DGIEN
|
---|
121 | S ^TMP("DGRURB",$J,"INIT",VALMCNT,DGCNT)=""
|
---|
122 | Q
|
---|