[613] | 1 | A1B2Q ;JLU/ALB; National inquiry of patients; 1/13/90
|
---|
| 2 | ;;Version 1.55 (local for MAS v5 sites);;
|
---|
| 3 | ADD W !!,"Address:"
|
---|
| 4 | I A1B2A1'="" W ?9,A1B2A1,!
|
---|
| 5 | I A1B2A2'="" W ?9,A1B2A2,!
|
---|
| 6 | I A1B2A3'="" W ?9,A1B2A3,!
|
---|
| 7 | W ?9,$S(A1B2A4'="":A1B2A4,1:"")," ",$S(A1B2A5'="":A1B2A5,1:"")," ",$S(A1B2A6'="":A1B2A6,1:"")
|
---|
| 8 | Q
|
---|
| 9 | PG D HOME^%ZIS W @IOF
|
---|
| 10 | Q
|
---|
| 11 | ;
|
---|
| 12 | ST ;For end of screen.
|
---|
| 13 | S DIR(0)="E" D ^DIR S A1B2E=Y
|
---|
| 14 | I A1B2E D PG
|
---|
| 15 | Q
|
---|
| 16 | ;
|
---|
| 17 | B ;Entry point for inquiry display.
|
---|
| 18 | S A1B2X=^A1B2(11500.1,A1B2Y,0)
|
---|
| 19 | I $D(^A1B2(11500.1,A1B2Y,.11)) S A1B2X1=^(.11),A1B2A1=$P(A1B2X1,U,1),A1B2A2=$P(A1B2X1,U,2),A1B2A3=$P(A1B2X1,U,3),A1B2A4=$P(A1B2X1,U,4),A1B2A5=$S($P(A1B2X1,U,5):$P(^DIC(5,$P(A1B2X1,U,5),0),U),1:""),A1B2A6=$P(A1B2X1,U,6)
|
---|
| 20 | S A1B2SS=$P(A1B2X,U),A1B2NA=$P(A1B2X,U,2),A1B2DB=$P(A1B2X,U,3),A1B2BS=$P(A1B2X,U,4),A1B2RA=$P(A1B2X,U,5),A1B2CD=$S($P(A1B2X,U,7)="S":"Seriously Ill",1:"")
|
---|
| 21 | I A1B2RA S A1B2RA=$P(^DIC(25002.1,A1B2RA,0),U)
|
---|
| 22 | I A1B2DB S (X2,Y)=A1B2DB D DD^%DT S A1B2DB=Y,X1=DT D ^%DTC S A1B2AG=X\365.25
|
---|
| 23 | I A1B2BS S A1B2BS=$P(^DIC(23,A1B2BS,0),U)
|
---|
| 24 | F A1B2LP=0:0 S A1B2LP=$O(^A1B2(11500.2,"C",A1B2Y,A1B2LP)) Q:'A1B2LP S Y1=^A1B2(11500.2,A1B2LP,0) I $P(Y1,U,15) D AD
|
---|
| 25 | F A1B2LP=0:0 S A1B2LP=$O(^A1B2(11500.4,"C",A1B2Y,A1B2LP)) Q:'A1B2LP S Y1=^A1B2(11500.4,A1B2LP,0) I $P(Y1,U,15) D RD
|
---|
| 26 | Q
|
---|
| 27 | ;
|
---|
| 28 | AD S A1B2AS=$P(Y1,U,3)
|
---|
| 29 | ;FAC^DT AD^AD SP^DC DT^DC SP^TRAN TO^TRAN TY
|
---|
| 30 | S X=U_+Y1_U_$S(A1B2AS:$P(^DIC(42.4,A1B2AS,0),U),1:"")_U_$P(Y1,U,6)_U_$S($P(Y1,U,5):$P(^DG(405.2,$P(Y1,U,5),0),U),1:"")_U_$P(Y1,U,10)_U_$P(Y1,U,11)
|
---|
| 31 | X ^DD("FUNC",14,1) S $P(X,U)=$P(Y1,U,8),A1B2AD(9999999-+Y1)=X
|
---|
| 32 | Q
|
---|
| 33 | ;
|
---|
| 34 | RD S A1B2DP=$P(Y1,U,5)
|
---|
| 35 | S X=U_+Y1_U_$S(A1B2DP:$P(^DIC(37,A1B2DP,0),U),1:"")
|
---|
| 36 | X ^DD("FUNC",14,1) S $P(X,U)=$P(Y1,U,8),A1B2RD(9999999-+Y1)=X
|
---|
| 37 | Q
|
---|
| 38 | ;
|
---|
| 39 | C ;Entry point for display.
|
---|
| 40 | D PG,HD1
|
---|
| 41 | W !!,"Patient: ",A1B2NA I A1B2CD'="",$S('$D(A1B2NTY):1,1:$P(A1B2NTY,U,3)) W ?45,"*** ",A1B2CD," ***"
|
---|
| 42 | W !,?4,"SSN: ",A1B2SS,?41,"Service Branch: ",$E(A1B2BS,1,23)
|
---|
| 43 | W !,?4,"DOB: ",A1B2DB,?51,"Rank: ",A1B2RA
|
---|
| 44 | W !,?4,"Age: ",$S($D(A1B2AG):A1B2AG,1:"")
|
---|
| 45 | I $D(A1B2NTY),$D(A1B2X1) D ADD
|
---|
| 46 | ;Came from A1B2ZUTL to display
|
---|
| 47 | I $D(A1B2ZU) D EX Q
|
---|
| 48 | S A1B2L="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
|
---|
| 49 | S A1B2E=1
|
---|
| 50 | I $D(A1B2AD) W !,A1B2L F A1B2LP=0:0 S A1B2LP=$O(A1B2AD(A1B2LP)) Q:'A1B2LP D:$Y>(IOSL-5) ST Q:'A1B2E D WA
|
---|
| 51 | I $D(A1B2RD) W !!,A1B2L F A1B2LP=0:0 S A1B2LP=$O(A1B2RD(A1B2LP)) Q:'A1B2LP D:$Y>(IOSL-5) ST Q:'A1B2E D WR
|
---|
| 52 | W !!!
|
---|
| 53 | Q
|
---|
| 54 | ;
|
---|
| 55 | WA W !!,"Admitted to ",$S($L($P(A1B2AD(A1B2LP),U))>2:$E($P(A1B2AD(A1B2LP),U),1,26),1:"UNKNOWN")," on "
|
---|
| 56 | S Y=$P(A1B2AD(A1B2LP),U,2) D DT^DIO2 W " to ",$P(A1B2AD(A1B2LP),U,3)
|
---|
| 57 | I $L($P(A1B2AD(A1B2LP),U,4))>2 W !," Discharged from ",$S($L($P(A1B2AD(A1B2LP),U))>2:$E($P(A1B2AD(A1B2LP),U),1,26),1:"UNKNOWN")," on "
|
---|
| 58 | I $L($P(A1B2AD(A1B2LP),U,4))>2 S Y=$P(A1B2AD(A1B2LP),U,4) D DT^DIO2 W " for ",$P(A1B2AD(A1B2LP),U,5)
|
---|
| 59 | I $L($P(A1B2AD(A1B2LP),U,6))>2 W !," Transferred to ",$P(A1B2AD(A1B2LP),U,6),$S($P(A1B2AD(A1B2LP),U,7)=0:" (VAMC)",1:" (UNKNOWN)")
|
---|
| 60 | Q
|
---|
| 61 | ;
|
---|
| 62 | WR W !!,"Registered at ",$S($L($P(A1B2RD(A1B2LP),U))>2:$E($P(A1B2RD(A1B2LP),U),1,26),1:"UNKNOWN")," on "
|
---|
| 63 | S Y=$P(A1B2RD(A1B2LP),U,2) D DT^DIO2 W " for ",$P(A1B2RD(A1B2LP),U,3)
|
---|
| 64 | Q
|
---|
| 65 | ;
|
---|
| 66 | HD1 ;Header for inquiry report.
|
---|
| 67 | W !,?25,"*** ODS Patient Inquiry ***"
|
---|
| 68 | ;;;W !,"------------------------------------------------------------------------------"
|
---|
| 69 | Q
|
---|
| 70 | ;
|
---|
| 71 | EX ;Kill point.
|
---|
| 72 | K DIC,A1B2X,A1B2SS,A1B2NA,A1B2DB,A1B2BS,A1B2AD,A1B2RD,A1B2DP,A1B2AS,Y,A1B2LP,A1B2Y,A1B2E,A1B2RA,DIR,Y1,A1B2CD,A1B2Y3,Y2,Y3,A1B2A1,A1B2A2,A1B2A3,A1B2A4,A1B2A5,A1B2A6,A1B2X1,X,A1B2L,A1B2AG
|
---|
| 73 | Q
|
---|
| 74 | ;
|
---|
| 75 | A ;Entry point for inquiry lookup.
|
---|
| 76 | S DIC="^A1B2(11500.1,",DIC(0)="AEMQ",DIC("A")="Select Patient: "
|
---|
| 77 | S DIC("S")="I $P(^(0),U,8)=1 N X S X=$S($D(A1B2NTY):$P(A1B2NTY,U,2),1:"""") I $S(X=""""!(X=""A""):1,X=""V"":$D(^A1B2(11500.1,+Y,""NET"",""B"",+A1B2FN))>9,X=""R"":$D(^A1B2(11500.1,+Y,""NET"",""AR"",+A1B2VRG))>9,1:0)"
|
---|
| 78 | D ^DIC K DIC I 'Y!(Y<0) Q
|
---|
| 79 | S A1B2Y=+Y
|
---|
| 80 | D B,C,EX G A
|
---|