source: WorldVistAEHR/trunk/r/REGISTRATION-DGQE-DG-DPT-GRPX-VAD-VAF-VAS-VAT-VAU--VA-VIC--DGBT--DGJ--DGYA--VALM/DGPTX52.m@ 1697

Last change on this file since 1697 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 8.1 KB
Line 
1DGPTX52 ; ;12/27/07
2 D DE G BEGIN
3DE S DIE="^DGPT(D0,""M"",",DIC=DIE,DP=45.02,DL=2,DIEL=1,DU="" K DG,DE,DB Q:$O(^DGPT(D0,"M",DA,""))=""
4 I $D(^(0)) S %Z=^(0) S %=$P(%Z,U,7) S:%]"" DE(1)=% S %=$P(%Z,U,8) S:%]"" DE(6)=% S %=$P(%Z,U,9) S:%]"" DE(11)=%
5 I $D(^(300)) S %Z=^(300) S %=$P(%Z,U,2) S:%]"" DE(18)=% S %=$P(%Z,U,3) S:%]"" DE(22)=%
6 K %Z Q
7 ;
8W W !?DL+DL-2,DLB_": "
9 Q
10O D W W Y W:$X>45 !?9
11 I $L(Y)>19,'DV,DV'["I",(DV["F"!(DV["K")) G RW^DIR2
12 W:Y]"" "// " I 'DV,DV["I",$D(DE(DQ))#2 S X="" W " (No Editing)" Q
13TR R X:DTIME E S (DTOUT,X)=U W $C(7)
14 Q
15A K DQ(DQ) S DQ=DQ+1
16B G @DQ
17RE G PR:$D(DE(DQ)) D W,TR
18N I X="" G NKEY:$D(^DD("KEY","F",DP,DIFLD)),A:DV'["R",X:'DV,X:D'>0,A
19RD G QS:X?."?" I X["^" D D G ^DIE17
20 I X="@" D D G Z^DIE2
21 I X=" ",DV["d",DV'["P",$D(^DISV(DUZ,"DIE",DLB)) S X=^(DLB) I DV'["D",DV'["S" W " "_X
22T G M^DIE17:DV,^DIE3:DV["V",P:DV'["S" X:$D(^DD(DP,DIFLD,12.1)) ^(12.1) I X?.ANP D SET I 'DDER X:$D(DIC("S")) DIC("S") I W:'$D(DB(DQ)) " "_% G V
23 K DDER G X
24P I DV["P" S DIC=U_DU,DIC(0)=$E("EN",$D(DB(DQ))+1)_"M"_$E("L",DV'["'") S:DIC(0)["L" DLAYGO=+$P(DV,"P",2) G:DV["*" AST^DIED D NOSCR^DIED S X=+Y,DIC=DIE G X:X<0
25 G V:DV'["N" D D I $L($P(X,"."))>24 K X G Z
26 I $P(DQ(DQ),U,5)'["$",X?.1"-".N.1".".N,$P(DQ(DQ),U,5,99)["+X'=X" S X=+X
27V D @("X"_DQ) K YS
28Z K DIC("S"),DLAYGO I $D(X),X'=U D:$G(DE(DW,"INDEX")) SAVEVALS G:'$$KEYCHK UNIQFERR^DIE17 S DG(DW)=X S:DV["d" ^DISV(DUZ,"DIE",DLB)=X G A
29X W:'$D(ZTQUEUED) $C(7),"??" I $D(DB(DQ)) G Z^DIE17
30 S X="?BAD"
31QS S DZ=X D D,QQ^DIEQ G B
32D S D=DIFLD,DQ(DQ)=DLB_U_DV_U_DU_U_DW_U_$P($T(@("X"_DQ))," ",2,99) Q
33Y I '$D(DE(DQ)) D O G RD:"@"'[X,A:DV'["R"&(X="@"),X:X="@" S X=Y G N
34PR S DG=DV,Y=DE(DQ),X=DU I $D(DQ(DQ,2)) X DQ(DQ,2) G RP
35R I DG["P",@("$D(^"_X_"0))") S X=+$P(^(0),U,2) G RP:'$D(^(Y,0)) S Y=$P(^(0),U),X=$P(^DD(X,.01,0),U,3),DG=$P(^(0),U,2) G R
36 I DG["V",+Y,$P(Y,";",2)["(",$D(@(U_$P(Y,";",2)_"0)")) S X=+$P(^(0),U,2) G RP:'$D(^(+Y,0)) S Y=$P(^(0),U) I $D(^DD(+X,.01,0)) S DG=$P(^(0),U,2),X=$P(^(0),U,3) G R
37 X:DG["D" ^DD("DD") I DG["S" S %=$P($P(";"_X,";"_Y_":",2),";") S:%]"" Y=%
38RP D O I X="" S X=DE(DQ) G A:'DV,A:DC<2,N^DIE17
39I I DV'["I",DV'["#" G RD
40 D E^DIE0 G RD:$D(X),PR
41 Q
42SET N DIR S DIR(0)="SV"_$E("o",$D(DB(DQ)))_U_DU,DIR("V")=1
43 I $D(DB(DQ)),'$D(DIQUIET) N DIQUIET S DIQUIET=1
44 D ^DIR I 'DDER S %=Y(0),X=Y
45 Q
46SAVEVALS S @DIEZTMP@("V",DP,DIIENS,DIFLD,"O")=$G(DE(DQ)) S:$D(^("F"))[0 ^("F")=$G(DE(DQ))
47 I $D(DE(DW,"4/")) S @DIEZTMP@("V",DP,DIIENS,DIFLD,"4/")=""
48 E K @DIEZTMP@("V",DP,DIIENS,DIFLD,"4/")
49 Q
50NKEY W:'$D(ZTQUEUED) "?? Required key field" S X="?BAD" G QS
51KEYCHK() Q:$G(DE(DW,"KEY"))="" 1 Q @DE(DW,"KEY")
52BEGIN S DNM="DGPTX52",DQ=1
531 D:$D(DG)>9 F^DIE17,DE S DQ=1,DW="0;7",DV="*P80'X",DU="",DLB="ICD 3",DIFLD=7
54 S DE(DW)="C1^DGPTX52",DE(DW,"INDEX")=1
55 S DU="ICD9("
56 G RE
57C1 G C1S:$D(DE(1))[0 K DB
58 S X=DE(1),DIC=DIE
59 K ^DGPT(DA(1),"M","AC",$E(X,1,30),DA)
60 S X=DE(1),DIC=DIE
61 X "N X S X=""DGRUDD01"" X ^%ZOSF(""TEST"") Q:'$T N DG1 S DG1=+$P(^DGPT(DA(1),0),""^"",1) D:(DG1>0) ADGRU^DGRUDD01(DG1)"
62C1S S X="" G:DG(DQ)=X C1F1 K DB
63 S X=DG(DQ),DIC=DIE
64 S ^DGPT(DA(1),"M","AC",$E(X,1,30),DA)=""
65 S X=DG(DQ),DIC=DIE
66 X "N X S X=""DGRUDD01"" X ^%ZOSF(""TEST"") Q:'$T N DG1 S DG1=+$P(^DGPT(DA(1),0),""^"",1) D:(DG1>0) ADGRU^DGRUDD01(DG1)"
67C1F1 S DIEZRXR(45.02,DIIENS)=$$OREF^DILF($NA(@$$CREF^DILF(DIE)))
68 F DIXR=464 S DIEZRXR(45.02,DIXR)=""
69 Q
70X1 D ICDEN^DGPTF5 Q:X="" K K S DIC("S")="S DGI=7 D EN^DGPTFJC I 'DGER" S DIC(0)=$P(DIC(0),"E")_$P(DIC(0),"E",2) D ^DIC K DIC S DIC=DIE,X=+Y K:Y<0 X
71 Q
72 ;
732 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=2 D X2 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
74X2 I X K DGPTIT S DGNFLD="@60",Y="@800",DGPTIT(X_$C(59)_"ICD9(")=""
75 Q
763 S DQ=4 ;@60
774 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=4 D X4 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
78X4 I DGADD,$P(DGHOLD,U,8)]"" S Y="@70"
79 Q
805 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=5 D X5 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
81X5 S DGNFLD="@70"
82 Q
836 D:$D(DG)>9 F^DIE17,DE S DQ=6,DW="0;8",DV="*P80'X",DU="",DLB="ICD 4",DIFLD=8
84 S DE(DW)="C6^DGPTX52",DE(DW,"INDEX")=1
85 S DU="ICD9("
86 G RE
87C6 G C6S:$D(DE(6))[0 K DB
88 S X=DE(6),DIC=DIE
89 K ^DGPT(DA(1),"M","AC",$E(X,1,30),DA)
90 S X=DE(6),DIC=DIE
91 X "N X S X=""DGRUDD01"" X ^%ZOSF(""TEST"") Q:'$T N DG1 S DG1=+$P(^DGPT(DA(1),0),""^"",1) D:(DG1>0) ADGRU^DGRUDD01(DG1)"
92C6S S X="" G:DG(DQ)=X C6F1 K DB
93 S X=DG(DQ),DIC=DIE
94 S ^DGPT(DA(1),"M","AC",$E(X,1,30),DA)=""
95 S X=DG(DQ),DIC=DIE
96 X "N X S X=""DGRUDD01"" X ^%ZOSF(""TEST"") Q:'$T N DG1 S DG1=+$P(^DGPT(DA(1),0),""^"",1) D:(DG1>0) ADGRU^DGRUDD01(DG1)"
97C6F1 S DIEZRXR(45.02,DIIENS)=$$OREF^DILF($NA(@$$CREF^DILF(DIE)))
98 F DIXR=465 S DIEZRXR(45.02,DIXR)=""
99 Q
100X6 D ICDEN^DGPTF5 Q:X="" K K S DIC("S")="S DGI=8 D EN^DGPTFJC I 'DGER" S DIC(0)=$P(DIC(0),"E")_$P(DIC(0),"E",2) D ^DIC K DIC S DIC=DIE,X=+Y K:Y<0 X
101 Q
102 ;
1037 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=7 D X7 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
104X7 I X K DGPTIT S DGNFLD="@70",Y="@800",DGPTIT(X_$C(59)_"ICD9(")=""
105 Q
1068 S DQ=9 ;@70
1079 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=9 D X9 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
108X9 I DGADD,$P(DGHOLD,U,9)]"" S Y="@80"
109 Q
11010 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=10 D X10 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
111X10 S DGNFLD="@80"
112 Q
11311 D:$D(DG)>9 F^DIE17,DE S DQ=11,DW="0;9",DV="*P80'X",DU="",DLB="ICD 5",DIFLD=9
114 S DE(DW)="C11^DGPTX52",DE(DW,"INDEX")=1
115 S DU="ICD9("
116 G RE
117C11 G C11S:$D(DE(11))[0 K DB
118 S X=DE(11),DIC=DIE
119 K ^DGPT(DA(1),"M","AC",$E(X,1,30),DA)
120 S X=DE(11),DIC=DIE
121 X "N X S X=""DGRUDD01"" X ^%ZOSF(""TEST"") Q:'$T N DG1 S DG1=+$P(^DGPT(DA(1),0),""^"",1) D:(DG1>0) ADGRU^DGRUDD01(DG1)"
122C11S S X="" G:DG(DQ)=X C11F1 K DB
123 S X=DG(DQ),DIC=DIE
124 S ^DGPT(DA(1),"M","AC",$E(X,1,30),DA)=""
125 S X=DG(DQ),DIC=DIE
126 X "N X S X=""DGRUDD01"" X ^%ZOSF(""TEST"") Q:'$T N DG1 S DG1=+$P(^DGPT(DA(1),0),""^"",1) D:(DG1>0) ADGRU^DGRUDD01(DG1)"
127C11F1 S DIEZRXR(45.02,DIIENS)=$$OREF^DILF($NA(@$$CREF^DILF(DIE)))
128 F DIXR=466 S DIEZRXR(45.02,DIXR)=""
129 Q
130X11 D ICDEN^DGPTF5 Q:X="" K K S DIC("S")="S DGI=9 D EN^DGPTFJC I 'DGER" S DIC(0)=$P(DIC(0),"E")_$P(DIC(0),"E",2) D ^DIC K DIC S DIC=DIE,X=+Y K:Y<0 X
131 Q
132 ;
13312 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=12 D X12 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
134X12 I X K DGPTIT S DGNFLD="@80",Y="@800",DGPTIT(X_$C(59)_"ICD9(")=""
135 Q
13613 S DQ=14 ;@80
13714 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=14 D X14 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
138X14 K DGNFLD,DGDUP,DGADD S Y=""
139 Q
14015 S DQ=16 ;@800
14116 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=16 D X16 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
142X16 D SCAN^DGPTSCAN S:'$D(DGBPC) Y="@899"
143 Q
14417 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=17 D X17 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
145X17 I '$D(DGBPC(2))!(DGDUP(2)) S Y="@810"
146 Q
14718 D:$D(DG)>9 F^DIE17,DE S DQ=18,DW="300;2",DV="SX",DU="",DLB="SUICIDE/SELF INFLICT INDICATOR",DIFLD=300.02
148 S DU="1:Attempted Suicide;2:Accomplished Suicide;3:Self Inflicted Injury;"
149 G RE
150X18 S DGFLAG=2 D 501^DGPTSC01 K:DGER X K DGER,DGFLAG Q
151 Q
152 ;
15319 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=19 D X19 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
154X19 S:X]"" DGDUP(2)=1
155 Q
15620 S DQ=21 ;@810
15721 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=21 D X21 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
158X21 I '$D(DGBPC(3))!(DGDUP(3)) S Y="@820"
159 Q
16022 S DW="300;3",DV="SX",DU="",DLB="LEGIONNAIRE'S DISEASE",DIFLD=300.03
161 S DU="1:Yes;2:No;"
162 G RE
163X22 S DGFLAG=3 D 501^DGPTSC01 K:DGER X K DGER,DGFLAG Q
164 Q
165 ;
16623 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=23 D X23 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
167X23 S:X]"" DGDUP(3)=1
168 Q
16924 S DQ=25 ;@820
17025 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=25 D X25 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
171X25 I '$D(DGBPC(4))!(DGDUP(4)) S Y="@830"
172 Q
17326 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=26 D X26 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
174X26 D DRUG^DGPTSC01 I $D(DGTX) S Y="@825"
175 Q
17627 D:$D(DG)>9 F^DIE17 G ^DGPTX53
Note: See TracBrowser for help on using the repository browser.