[613] | 1 | VEPEREX ; MRM/DAOU - Computed findings for DOQIT extracts. ; 6/4/05 1:58pm
|
---|
| 2 | ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
|
---|
| 3 | ;
|
---|
| 4 | ;======================================================
|
---|
| 5 | VISIT(DFN,NGET,BDAT,EDT,NFOUND,TEST,DATE,DATA,TEXT) ;
|
---|
| 6 | ; Check to see if the patient has 2 or more visits after 18th
|
---|
| 7 | ; birthday and diagnosis.
|
---|
| 8 | N FIELDS,PAT,DOB,NAM,YR18,ALL,ERR,N,IDX,DAT
|
---|
| 9 | S FIELDS=".01;.03"
|
---|
| 10 | D GETS^DIQ(2,DFN,FIELDS,"I","PAT")
|
---|
| 11 | S DOB=PAT(2,DFN_",",.03,"I")
|
---|
| 12 | ;The calculation is to determine that the visit occurs on or
|
---|
| 13 | ;after the 18th bithday.
|
---|
| 14 | S YR18=DOB+180000-1
|
---|
| 15 | D LIST^DIC(9000010,,"","I",,,,,,,"ALL(1)","ERR")
|
---|
| 16 | I $D(ERR) S TEST(1)=0 Q
|
---|
| 17 | S N="",IDX=0 F S N=$O(ALL(1,"DILIST","ID",N)) Q:(N="")!(IDX=NGET) D
|
---|
| 18 | . Q:ALL(1,"DILIST","ID",N,.05)'=DFN
|
---|
| 19 | . S DAT=ALL(1,"DILIST",1,N)
|
---|
| 20 | . Q:YR18>DAT!(DAT<BDAT)!(DAT>EDT)
|
---|
| 21 | . S IDX=IDX+1,DATA(IDX)=ALL(1,"DILIST",2,N),TEST(IDX)=1,DATE(IDX)=DAT
|
---|
| 22 | . Q
|
---|
| 23 | S NFOUND=IDX S:'IDX TEST(1)=0
|
---|
| 24 | Q
|
---|
| 25 | ;
|
---|
| 26 | CADPAT(DFN,TEST,DATE,DATA,TEXT) ;
|
---|
| 27 | ;Check to see if patient registered with DOQ-IT
|
---|
| 28 | N TYPE,FIELD
|
---|
| 29 | S TYPE="CAD",FIELD=.02 D PATREG
|
---|
| 30 | Q
|
---|
| 31 | ;
|
---|
| 32 | DMPAT(DFN,TEST,DATE,DATA,TEXT) ;
|
---|
| 33 | ;Check to see if patient is registered for diabetes (DM) diagnosis
|
---|
| 34 | ;DOQIT topic.
|
---|
| 35 | N TYPE,FIELD
|
---|
| 36 | S TYPE="DM",FIELD=.03 D PATREG
|
---|
| 37 | Q
|
---|
| 38 | ;
|
---|
| 39 | PCPAT(DFN,TEST,DATE,DATA,TEXT) ;
|
---|
| 40 | N TYPE,FIELD
|
---|
| 41 | S TYPE="PC",FIELD=.06 D PATREG
|
---|
| 42 | Q
|
---|
| 43 | ;
|
---|
| 44 | HTNPAT(DFN,TEST,DATE,DATA,TEXT) ;
|
---|
| 45 | ;Chck to see if patient is registered for hypertension (HTN)
|
---|
| 46 | ;diagnosis DOQIT topic.
|
---|
| 47 | N TYPE,FIELD
|
---|
| 48 | S TYPE="HTN",FIELD=.04 D PATREG
|
---|
| 49 | Q
|
---|
| 50 | ;
|
---|
| 51 | HFPAT(DFN,TEST,DATE,DATA,TEXT) ;
|
---|
| 52 | ;Check to see if a patient is registered for a heart failure (HF)
|
---|
| 53 | ;diagnosis DOQIT topic.
|
---|
| 54 | N TYPE,FIELD
|
---|
| 55 | S TYPE="HF",FIELD=.05 D PATREG
|
---|
| 56 | Q
|
---|
| 57 | PATREG ;Get DOQ-IT registration or cancelation for clients.
|
---|
| 58 | S DATE=DT
|
---|
| 59 | D GETS^DIQ(19904.4,DFN,FIELD,"I","ARY","ERR")
|
---|
| 60 | I $D(ERR) S TEST=0,TEXT=$G(ERR("DIERR",1,"TEXT",1)) Q
|
---|
| 61 | S TEST=$S(ARY(19904.4,DFN_",",FIELD,"I")="R":1,1:0)
|
---|
| 62 | S DATA="",TEXT=""
|
---|
| 63 | Q
|
---|
| 64 | CADLIST(NGET,BDT,EDT,PLIST,PARAM) ;
|
---|
| 65 | N TYPE,FIELD
|
---|
| 66 | S TYPE="CAD",FIELD=".01;.02" D PATLIST
|
---|
| 67 | Q
|
---|
| 68 | HTNLIST(NGET,BDT,EDT,PLIST,PARAM) ;
|
---|
| 69 | N TYPE,FIELD
|
---|
| 70 | S TYPE="HTN",FIELD=".01;.04" D PATLIST
|
---|
| 71 | Q
|
---|
| 72 | DMLIST(NGET,BDT,EDT,PLIST,PARAM) ;
|
---|
| 73 | N TYPE,FIELD
|
---|
| 74 | S TYPE="DM",FIELD=".01;.03" D PATLIST
|
---|
| 75 | Q
|
---|
| 76 | HFLIST(NGET,BDT,EDT,PLIST,PARAM) ;
|
---|
| 77 | N TYPE,FIELD
|
---|
| 78 | S TYPE="HF",FIELD=".01;.05" D PATLIST
|
---|
| 79 | Q
|
---|
| 80 | PCLIST(NGET,BDT,EDT,PLIST,PARAM) ;
|
---|
| 81 | N TYPE,FIELD
|
---|
| 82 | S TYPE="PC",FIELD=".01;.06" D PATLIST
|
---|
| 83 | Q
|
---|
| 84 | PATLIST ;LIST OF PATIENTS REGISTERED FOR A PARTICULAR DIAGNOSIS
|
---|
| 85 | N ALL,ERR
|
---|
| 86 | S FLD=$P(FIELD,";",2)
|
---|
| 87 | D LIST^DIC(19904.4,,FIELD,"I",,,,,,,"ALL(1)","ERR")
|
---|
| 88 | I $D(ERR) S NGET=0 Q
|
---|
| 89 | S IDX=0,NGET=0
|
---|
| 90 | F S IDX=$O(ALL(1,"DILIST","ID",IDX)) Q:IDX="" D:($G(ALL(1,"DILIST","ID",IDX,FLD))'="")
|
---|
| 91 | . S NGET=NGET+1,DFN=ALL(1,"DILIST","ID",IDX,.01)
|
---|
| 92 | . S ^TMP($J,PLIST,DFN,1)="^^19904.4^.02^"_ALL(1,"DILIST","ID",IDX,FLD)
|
---|
| 93 | Q
|
---|