1 | ECXDVSNX ;ALB/JAP - Division Identifier for DSS ;July 16, 1998
|
---|
2 | ;;3.0;DSS EXTRACTS;**8,24,33**;Dec 22, 1997
|
---|
3 | ;
|
---|
4 | EN ;entry point from menu option
|
---|
5 | ;user adds any division to file #727.3
|
---|
6 | N D,L,X,Y,YR,MON,FY,OUT,%,DIR,DIRUT,DTOUT,DUOUT,DIC,DIE,DR
|
---|
7 | D NOW^%DTC S ECX=$$FMTE^XLFDT(%,"5D"),YR=+$P(ECX,"/",3),MON=+$P(ECX,"/",1),FY=$S(MON<10:YR,1:YR+1)
|
---|
8 | S ECXFY=FY-1700,ECFYB=ECXFY-1_"1000",ECFYE=ECXFY_"1001"
|
---|
9 | ;get all divisions active during this fiscal year
|
---|
10 | D ALL^ECXDVSN2(.ECXDIV,1,ECFYB,ECFYE,.ECXERR)
|
---|
11 | D SELECT
|
---|
12 | G EXIT
|
---|
13 | Q
|
---|
14 | ;
|
---|
15 | SELECT ;select division
|
---|
16 | S DIR(0)="PAO^40.8",DIR("A")="Select Medical Center Division: " K X,Y
|
---|
17 | S DIR("S")="I $D(ECXDIV(+Y))" K X,Y D ^DIR K DIR Q:$D(DIRUT)
|
---|
18 | S ECXDIV=+Y
|
---|
19 | W !!,"Division:",?20,$P(ECXDIV(ECXDIV),U,2)
|
---|
20 | I $P(ECXDIV(ECXDIV),U,5)=0 W " **Inactive**"
|
---|
21 | W !,"Station number:",?20,$P(ECXDIV(ECXDIV),U,3)
|
---|
22 | W !,"Primary division?:",?20,$S(+$P(ECXDIV(ECXDIV),U,4):"Yes",1:"No")
|
---|
23 | S DR="1;",DIQ(0)="E",DIQ="ECX",DA=ECXDIV,DIC="^ECX(727.3," K ECX D EN^DIQ1
|
---|
24 | ;if division already has a dss identifier, then display it
|
---|
25 | I $G(ECX(727.3,ECXDIV,1,"E"))]"" D Q:$D(DTOUT) G:Y=0 SELECT
|
---|
26 | .W !,"DSS Identifier:",?20,ECX(727.3,ECXDIV,1,"E"),!
|
---|
27 | .S DIR(0)="YA",DIR("A")="Do you want to change this identifier? ",DIR("B")="NO"
|
---|
28 | .K X,Y D ^DIR K DIR
|
---|
29 | ;allow user to enter/edit dss division identifier
|
---|
30 | S OUT=0
|
---|
31 | F D Q:$D(DIRUT)!(OUT=1)
|
---|
32 | .W !
|
---|
33 | .S DIR(0)="FA^1:1",DIR("A")="Enter the DSS Division Identifier: "
|
---|
34 | .K X,Y D ^DIR K DIR Q:$D(DIRUT)
|
---|
35 | .I X?.P!(X?.L)!($L(X)>1)!(X="0") W !,"Invalid ...try again.",! Q
|
---|
36 | .I '$$CHKCODE(X,ECXDIV) W !,"Already used for another division ...try again.",! Q
|
---|
37 | .S ECXID=X,OUT=1
|
---|
38 | G:$D(DUOUT) SELECT
|
---|
39 | Q:$D(DTOUT)
|
---|
40 | ;if selected division isn't in file #727.3, then add it
|
---|
41 | I '$D(ECX(727.3,ECXDIV)) D
|
---|
42 | .S (X,DINUM)=ECXDIV,DIC(0)="L",DLAYGO=727.3,DIC="^ECX(727.3,"
|
---|
43 | .K DD,DO D FILE^DICN K DINUM,DLAYGO,X,Y
|
---|
44 | ;update with new identifier
|
---|
45 | S DIE="^ECX(727.3,",DA=ECXDIV,DR="1////^S X=ECXID;" D ^DIE
|
---|
46 | W !!
|
---|
47 | G SELECT
|
---|
48 | ;
|
---|
49 | EXIT ;common exit point
|
---|
50 | K ECX,ECXDIV,ECXERR,ECXFY,ECFYB,ECFYE
|
---|
51 | Q
|
---|
52 | ;
|
---|
53 | CHKCODE(X,ECXDIV) ;make sure dss identifier is unique
|
---|
54 | I '$D(^ECX(727.3,"C",X)) Q 1
|
---|
55 | S XX=$O(^ECX(727.3,"C",X,0))
|
---|
56 | I XX'=ECXDIV Q 0
|
---|
57 | Q 1
|
---|