[613] | 1 | DGPTC2 ;ALN/MJK - Census Record Processing; jAN 27,2005
|
---|
| 2 | ;;5.3;Registration;**58,189,643**;Aug 13, 1993
|
---|
| 3 | ;
|
---|
| 4 | SETP ; -- P node processing
|
---|
| 5 | ;I DGCSUF="9AA"!(DGCSUF="BU") S I=999 G SETPQ
|
---|
| 6 | G SETPQ:X<DGBEG!(X>DGEND) S ^DGPT(DGCI,"P",I,0)=X
|
---|
| 7 | S:'$D(^DGPT(DGCI,"P",0)) ^(0)="^45.05D^^" S X=^(0),^(0)=$P(X,U,1,2)_"^"_I_"^"_($P(X,U,4)+1)
|
---|
| 8 | SETPQ Q
|
---|
| 9 | ;
|
---|
| 10 | SETS ; -- S node processing
|
---|
| 11 | D GETSUFF
|
---|
| 12 | I $G(DGSFLAG) S I=999 G SETSQ
|
---|
| 13 | G SETSQ:X<DGBEG!(X>DGEND) S ^DGPT(DGCI,"S",I,0)=X
|
---|
| 14 | S:'$D(^DGPT(DGCI,"S",0)) ^(0)="^45.01D^^" S X=^(0),^(0)=$P(X,U,1,2)_"^"_I_"^"_($P(X,U,4)+1)
|
---|
| 15 | SETSQ K DGSFLAG Q
|
---|
| 16 | ;
|
---|
| 17 | SET535 ; -- 535 node processing
|
---|
| 18 | D GETSUFF
|
---|
| 19 | I '$P(X,U,7),$G(DGSFLAG) G SET535Q
|
---|
| 20 | I $P(X,U,7) D CONE G SET535Q
|
---|
| 21 | G SET535Q:$P(X,U,10)<DGBEG!($P(X,U,10)>DGEND) S ^DGPT(DGCI,535,I,0)=X
|
---|
| 22 | S:'$D(^DGPT(DGCI,535,0)) ^(0)="^45.0535^^" S X=^(0),^(0)=$P(X,U,1,2)_"^"_I_"^"_($P(X,U,4)+1)
|
---|
| 23 | SET535Q K DGSFLAG Q
|
---|
| 24 | ;
|
---|
| 25 | SETM ; -- M node processing
|
---|
| 26 | D GETSUFF
|
---|
| 27 | I I'=1,$G(DGSFLAG) S I=999 G SETMQ
|
---|
| 28 | I I=1 D ONE G SETMQ
|
---|
| 29 | G SETMQ:($P(X,U,10)<DGBEG)!($P(X,U,10)>DGEND) S ^DGPT(DGCI,"M",I,0)=X
|
---|
| 30 | S:'$D(^DGPT(DGCI,"M",0)) ^(0)="^45.02AI^^" S X=^(0),^(0)=$P(X,U,1,2)_"^"_I_"^"_($P(X,U,4)+1)
|
---|
| 31 | S:$D(^DGPT(PTF,"M",I,"P")) ^DGPT(DGCI,"M",I,"P")=^("P")
|
---|
| 32 | SETMQ K DGSFLAG Q
|
---|
| 33 | ;
|
---|
| 34 | BSEC ; -- set bed sec in 1 mvt ; input X := one node of "M" ; output := same
|
---|
| 35 | N Y
|
---|
| 36 | S Y=+$O(^DGPM("ATS",DFN,DGPMCA,9999999.9999999-DGEND)),Y=+$O(^(Y,0))
|
---|
| 37 | S $P(X,U,2)=$S($D(^DIC(45.7,+Y,0)):$P(^(0),U,2),1:0)
|
---|
| 38 | Q
|
---|
| 39 | ;
|
---|
| 40 | BS ; -- determine bed status on census date
|
---|
| 41 | S I=+$O(^DGPM("APMV",DFN,DGPMCA,9999999.9999999-Y)),I=+$O(^(I,0))
|
---|
| 42 | S I=$S($D(^DGPM(I,0)):$P(^(0),U,18),1:0),Y=1
|
---|
| 43 | I I S I=U_I_U,Y=$S("^43^44^13^45^"[I:4,"^1^"[I:2,"^2^3^"[I:3,1:1)
|
---|
| 44 | Q
|
---|
| 45 | ;
|
---|
| 46 | CONE ;-- find last 535 before last census date
|
---|
| 47 | S DGX=$O(^DGPT(PTF,535,"AM",DGEND)) S DGX=+$S(DGX:$O(^(DGX,0)),1:$O(^DGPT(PTF,535,"ADC",1,0))) I $D(^DGPT(PTF,535,DGX,0)) S ^DGPT(DGCI,535,DGX,0)=^DGPT(PTF,535,DGX,0),$P(^DGPT(DGCI,535,DGX,0),U,10)=DGEND
|
---|
| 48 | S:'$D(^DGPT(DGCI,535,0)) ^(0)="^45.0535^^" S X=^(0),^(0)=$P(X,U,1,2)_"^"_I_"^"_($P(X,U,4)+1)
|
---|
| 49 | Q
|
---|
| 50 | ;
|
---|
| 51 | ONE ; -- find last mvt before census date
|
---|
| 52 | S M=$O(^DGPT(PTF,"M","AM",DGEND)),M=$S('M:M,1:$O(^(M,0))),M=$S(M:M,1:1)
|
---|
| 53 | I M>1,$D(^DGPT(PTF,"M",M,0)) S X="1^"_$P(^(0),U,2,99)
|
---|
| 54 | I M=1,DGFEE=0 D BSEC
|
---|
| 55 | S $P(X,U,10)=DGEND,^DGPT(DGCI,"M",1,0)=X
|
---|
| 56 | S:'$D(^DGPT(DGCI,"M",0)) ^(0)="^45.02AI^^" S X=^(0),^(0)=$P(X,U,1,2)_"^1^"_($P(X,U,4)+1)
|
---|
| 57 | ;;Following code added to transmit GAF scores in Census Record
|
---|
| 58 | ;;Code added by EDS-GRR 6/4/1998
|
---|
| 59 | ;;
|
---|
| 60 | M ^DGPT(DGCI,"M",M,300)=^DGPT(PTF,"M",M,300)
|
---|
| 61 | ;;
|
---|
| 62 | ;;End of GAF enhancement
|
---|
| 63 | ;;
|
---|
| 64 | S:$D(^DGPT(PTF,"M",M,"P")) ^DGPT(DGCI,"M",1,"P")=^("P")
|
---|
| 65 | Q
|
---|
| 66 | GETSUFF ; -- get suffix if from Va Domiciliary or VA Nursing home
|
---|
| 67 | F DGSTA=30,40 D
|
---|
| 68 | .D NUMACT^DGPTSUF(DGSTA)
|
---|
| 69 | .I DGANUM>0 D
|
---|
| 70 | ..F DGCTR=1:1:DGANUM I DGCSUF=DGSUFNAM(DGCTR) S DGSFLAG=1
|
---|
| 71 | .K DGANUM,DGCTR,DGSUFNAM
|
---|
| 72 | K DGSTA
|
---|
| 73 | Q
|
---|