[613] | 1 | VEPEREM3 ;MRM/DAOU - Computed findings for DOQIT extracts. ; 6/30/05 8:03pm
|
---|
| 2 | ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
|
---|
| 3 | ;
|
---|
| 4 | ;==========================================================
|
---|
| 5 | AGE ;
|
---|
| 6 | ; Convert age to months if under 2 years old.
|
---|
| 7 | N FIELDS,DOB,YR,MN,DAY,C,DYR,DMN,DDAY,DC
|
---|
| 8 | S FIELDS=".03",DATE=DT
|
---|
| 9 | D GETS^DIQ(2,DFN,FIELDS,"I","PAT","ERR")
|
---|
| 10 | S DOB=PAT(2,DFN_",",.03,"I")
|
---|
| 11 | Q:'+DOB
|
---|
| 12 | S MN=$E(DT,4,5),DAY=$E(DT,6,7),C=$E(DT,1)
|
---|
| 13 | S YR=1700+(C*100)+$E(DT,2,3)
|
---|
| 14 | S DMN=$E(DOB,4,5),DDAY=$E(DOB,6,7),DC=$E(DOB,1)
|
---|
| 15 | S DYR=1700+(DC*100)+$E(DOB,2,3)
|
---|
| 16 | I (DT-DOB)>20000 S CAGE=YR-DYR_"Y" S:(MN<DMN) CAGE=CAGE-1_"Y" Q
|
---|
| 17 | S MNOLD=(YR-DYR*12)+(12-DMN)-MN I DDAY>DAY S MNOLD=MNOLD-1
|
---|
| 18 | S CAGE=MNOLD_"M"
|
---|
| 19 | Q
|
---|
| 20 | ; The following tags are used for computed findings
|
---|
| 21 | M1(DFN,TEST,DATE,VALUE,TEXT) ;One Month
|
---|
| 22 | N PAT,ERR,CAGE
|
---|
| 23 | D AGE
|
---|
| 24 | I $D(ERR) S TEST=0,TEXT=$G(ERR("DIERR",1,"TEXT",1)) Q
|
---|
| 25 | S VALUE=CAGE,TEXT="AGE"
|
---|
| 26 | I CAGE'["M" S TEST=1 Q
|
---|
| 27 | I +CAGE>0 S TEST=1 Q
|
---|
| 28 | S TEST=0,TEXT=""
|
---|
| 29 | Q
|
---|
| 30 | M2(DFN,TEST,DATE,VALUE,TEXT) ;Two Months
|
---|
| 31 | N PAT,ERR,CAGE
|
---|
| 32 | D AGE
|
---|
| 33 | I $D(ERR) S TEST=0,TEXT=$G(ERR("DIERR",1,"TEXT",1)) Q
|
---|
| 34 | S VALUE=CAGE,TEXT="AGE"
|
---|
| 35 | I CAGE'["M" S TEST=1 Q
|
---|
| 36 | I +CAGE>1 S TEST=1 Q
|
---|
| 37 | S TEST=0,TEXT=""
|
---|
| 38 | Q
|
---|
| 39 | M4(DFN,TEST,DATE,VALUE,TEXT) ;Four Months
|
---|
| 40 | N PAT,ERR,CAGE
|
---|
| 41 | D AGE
|
---|
| 42 | I $D(ERR) S TEST=0,TEXT=$G(ERR("DIERR",1,"TEXT",1)) Q
|
---|
| 43 | S VALUE=CAGE,TEXT="AGE"
|
---|
| 44 | I CAGE'["M" S TEST=1 Q
|
---|
| 45 | I +CAGE>3 S TEST=1 Q
|
---|
| 46 | S TEST=0,TEXT=""
|
---|
| 47 | Q
|
---|
| 48 | M6(DFN,TEST,DATE,VALUE,TEXT) ;Six Months
|
---|
| 49 | N PAT,ERR,CAGE
|
---|
| 50 | D AGE
|
---|
| 51 | I $D(ERR) S TEST=0,TEXT=$G(ERR("DIERR",1,"TEXT",1)) Q
|
---|
| 52 | S VALUE=CAGE,TEXT="AGE"
|
---|
| 53 | I CAGE'["M" S TEST=1 Q
|
---|
| 54 | I +CAGE>5 S TEST=1 Q
|
---|
| 55 | S TEST=0,TEXT=""
|
---|
| 56 | Q
|
---|
| 57 | M12(DFN,TEST,DATE,VALUE,TEXT) ;Twelve Months
|
---|
| 58 | N PAT,ERR,CAGE
|
---|
| 59 | D AGE
|
---|
| 60 | I $D(ERR) S TEST=0,TEXT=$G(ERR("DIERR",1,"TEXT",1)) Q
|
---|
| 61 | S VALUE=CAGE,TEXT="AGE"
|
---|
| 62 | I CAGE'["M" S TEST=1 Q
|
---|
| 63 | I +CAGE>11 S TEST=1 Q
|
---|
| 64 | S TEST=0,TEXT=""
|
---|
| 65 | Q
|
---|
| 66 | M15(DFN,TEST,DATE,VALUE,TEXT) ;Fifteen Months
|
---|
| 67 | N PAT,ERR,CAGE
|
---|
| 68 | D AGE
|
---|
| 69 | I $D(ERR) S TEST=0,TEXT=$G(ERR("DIERR",1,"TEXT",1)) Q
|
---|
| 70 | S VALUE=CAGE,TEXT="AGE"
|
---|
| 71 | I CAGE'["M" S TEST=1 Q
|
---|
| 72 | I +CAGE>14 S TEST=1 Q
|
---|
| 73 | S TEST=0,TEXT=""
|
---|
| 74 | Q
|
---|
| 75 | M18(DFN,TEST,DATE,VALUE,TEXT) ;Eighteen Months
|
---|
| 76 | N PAT,ERR,CAGE
|
---|
| 77 | D AGE
|
---|
| 78 | I $D(ERR) S TEST=0,TEXT=$G(ERR("DIERR",1,"TEXT",1)) Q
|
---|
| 79 | S VALUE=CAGE,TEXT="AGE"
|
---|
| 80 | I CAGE'["M" S TEST=1 Q
|
---|
| 81 | I +CAGE>17 S TEST=1 Q
|
---|
| 82 | S TEST=0,TEXT=""
|
---|
| 83 | Q
|
---|
| 84 | M24(DFN,TEST,DATE,VALUE,TEXT) ;Twentyfour Months
|
---|
| 85 | N PAT,ERR,CAGE
|
---|
| 86 | D AGE
|
---|
| 87 | I $D(ERR) S TEST=0,TEXT=$G(ERR("DIERR",1,"TEXT",1)) Q
|
---|
| 88 | S VALUE=CAGE,TEXT="AGE"
|
---|
| 89 | I CAGE'["M" S TEST=1 Q
|
---|
| 90 | I CAGE>23 S TEST=1 Q
|
---|
| 91 | S TEST=0,TEXT=""
|
---|
| 92 | Q
|
---|