| 1 | WVUTL6 ;HCIOFO/FT,JR-UTIL: TEXT VALS, DEF PRINT DATE; ;10/11/99  14:03 | 
|---|
| 2 | ;;1.0;WOMEN'S HEALTH;**3,7**;Sep 30, 1998 | 
|---|
| 3 | ;;  Original routine created by IHS/ANMC/MWR | 
|---|
| 4 | ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER * | 
|---|
| 5 | ;;  UTILITY: TEXT FOR PROVIDER, PROCEDURE, HOSP LOC, INSTIT, & ECC. | 
|---|
| 6 | ;;  PROC SPECIAL VALUE (PAP, MAM, COLP).  COMPUTE DEFAULT PRINT DATE. | 
|---|
| 7 | ; | 
|---|
| 8 | ; | 
|---|
| 9 | PROV() ;EP | 
|---|
| 10 | ;---> RETURN TEXT OF PROVIDER'S NAME. | 
|---|
| 11 | ;---> REQUIRED VARIABLE: X=IEN IN NEW PERSON FILE #200. | 
|---|
| 12 | N WVNAME | 
|---|
| 13 | Q:'$D(X) "" | 
|---|
| 14 | Q:'X "UNKNOWN" | 
|---|
| 15 | S WVNAME=$$GET1^DIQ(200,X,.01,"E") | 
|---|
| 16 | Q $S(WVNAME'="":WVNAME,1:"UNKNOWN POINTER") | 
|---|
| 17 | ; | 
|---|
| 18 | ; | 
|---|
| 19 | PCDNAM() ;EP | 
|---|
| 20 | ;---> RETURN TEXT OF PROCEDURE TYPE. | 
|---|
| 21 | ;---> REQUIRED VARIABLE: X=IEN IN WV PROCEDURE TYPE FILE #790.2. | 
|---|
| 22 | Q:'$D(X) "" | 
|---|
| 23 | Q:'X "UNKNOWN" | 
|---|
| 24 | Q:'$D(^WV(790.2,X,0)) "UNKNOWN POINTER" | 
|---|
| 25 | Q $P(^WV(790.2,X,0),U) | 
|---|
| 26 | ; | 
|---|
| 27 | HOSPLC() ;EP | 
|---|
| 28 | ;---> RETURN TEXT OF HOSPITAL LOCATION NAME. | 
|---|
| 29 | ;---> REQUIRED VARIABLE: X=IEN IN HOSPITAL LOCATION FILE #44. | 
|---|
| 30 | Q:'$D(X) "" | 
|---|
| 31 | Q:'X "UNKNOWN" | 
|---|
| 32 | Q:'$D(^SC(X,0)) "UNKNOWN POINTER" | 
|---|
| 33 | Q $P(^SC(X,0),U) | 
|---|
| 34 | ; | 
|---|
| 35 | INSTIT() ;EP | 
|---|
| 36 | ;---> RETURN IEN OF INSTITUTION (FACILITY) FILE 4, FOR THIS HOSPITAL | 
|---|
| 37 | ;---> LOCATION ENTRY IN HOSPITAL LOCATION FILE 44. | 
|---|
| 38 | ;---> ALSO CONCATENATE "`" TO THE FRONT OF IEN FOR USE IN DR STRINGS. | 
|---|
| 39 | Q:'$D(X) "" | 
|---|
| 40 | Q:X="" "" | 
|---|
| 41 | Q:'$D(^SC(X,0)) "" | 
|---|
| 42 | Q:$P(^SC(X,0),U,4)']"" "" | 
|---|
| 43 | Q "`"_$P(^SC(X,0),U,4) | 
|---|
| 44 | ; | 
|---|
| 45 | INSTTX(FACILITY) ;EP | 
|---|
| 46 | ;---> RETURN TEXT OF INSTITUTION (FACILITY) NAME. | 
|---|
| 47 | ;---> REQUIRED VARIABLE: X=IEN IN INSTITUTION FILE #4. | 
|---|
| 48 | Q:'$G(FACILITY) "" | 
|---|
| 49 | N WVDIC4 | 
|---|
| 50 | S WVDIC4=$$GET1^DIQ(4,FACILITY,.01,"E") | 
|---|
| 51 | Q $S(WVDIC4]"":WVDIC4,1:"UNKNOWN POINTER") | 
|---|
| 52 | ; | 
|---|
| 53 | ECCDYS() ;EP | 
|---|
| 54 | ;---> RETURN TEXT FROM SET OF CODES FOR ECC DYSPLASIA, FIELD .25, | 
|---|
| 55 | ;---> OF PROCEDURE FILE 790.1. | 
|---|
| 56 | ;---> REQUIRED VARIABLE: X=CODE FOR TEXT OF ECC DYSPLASIA. | 
|---|
| 57 | Q:'$D(X) "" | 
|---|
| 58 | Q:X="" "" | 
|---|
| 59 | I '$$VFIELD^DILFD(790.1,.25) Q "^DD MISSING" | 
|---|
| 60 | Q $$EXTERNAL^DILFD(790.1,.25,"",X) | 
|---|
| 61 | ; | 
|---|
| 62 | PNOCX(IEN) ;EP | 
|---|
| 63 | ;---> RETURN 1 IF THIS PROCEDURE IS NOT ANY TYPE OF CERVICAL TX. | 
|---|
| 64 | Q:'$G(IEN) 1 | 
|---|
| 65 | Q:'$D(^WV(790.2,IEN,0)) 1 | 
|---|
| 66 | Q:$$PMAM(IEN) 1 | 
|---|
| 67 | Q:IEN=27 1  Q:IEN=29 1  Q:IEN=30 1  Q:IEN=31 1  Q:IEN=32 1 | 
|---|
| 68 | Q:IEN=33 1  Q:IEN=34 1  Q:IEN=35 1 | 
|---|
| 69 | Q 0 | 
|---|
| 70 | ; | 
|---|
| 71 | ; | 
|---|
| 72 | PMAM(IEN) ;EP | 
|---|
| 73 | ;---> RETURN 1 IF THIS PROCEDURE IS ANY TYPE OF MAMMOGRAM, RETURN 0 | 
|---|
| 74 | ;---> IF NOT. | 
|---|
| 75 | ;---> REQUIRED VARIABLE: IEN=IEN IN PROCEDURE TYPE FILE #790.2. | 
|---|
| 76 | ;---> 25, 26, AND 27 ARE IENS OF MAMS IN ^WV(790.2,. | 
|---|
| 77 | Q:'$G(IEN) 0 | 
|---|
| 78 | Q:IEN=25 1  Q:IEN=26 1  Q:IEN=28 1 | 
|---|
| 79 | Q 0 | 
|---|
| 80 | ; | 
|---|
| 81 | ; | 
|---|
| 82 | PRTDATE ;EP | 
|---|
| 83 | ;---> CALL BY WV NOTIF-EDITBLK-1 TO COMPUTE AND STUFF DATE NOTIFICATION | 
|---|
| 84 | ;---> LETTER WILL BE PRINTED, "Print Date" FIELD.  CALLED FROM | 
|---|
| 85 | ;---> "TYPE OF NOTIFICATION" FIELD ORDER, "POST ACTION ON CHANGE". | 
|---|
| 86 | ;---> | 
|---|
| 87 | ;---> IF THE "TYPE OF NOTIFICATION" IS PRINTABLE (LETTER), AS STORED | 
|---|
| 88 | ;---> IN #.02 FIELD OF FILE #790.403, THIS COMPUTES PRINT DATE AND | 
|---|
| 89 | ;---> STUFFS A DEFAULT "COMPLETE BY DATE" (FIELD #.13) AS WELL. | 
|---|
| 90 | ;---> "PRINT DATE" WILL BE CX/BR NEED DUE DATE - SITE PARAMETER, AS | 
|---|
| 91 | ;---> STORED IN #.06 FIELD OF FILE #790.02, OR -30 DAYS IF | 
|---|
| 92 | ;---> PARAMETER NOT SET.  (SEE PRTDAT^WVUTL2-ABOVE.) | 
|---|
| 93 | ;---> "COMPLETE BY DATE" WILL BE "PRINT DATE"+30. SEE NDELQ1^WVUTL4. | 
|---|
| 94 | ;---> | 
|---|
| 95 | ;---> IF THE "TYPE OF NOTIFICATION" IS NOT PRINTABLE (PHONE), THIS | 
|---|
| 96 | ;---> SETS "PRINT DATE"="" AND RECOMPUTES "COMPLETE BY DATE" BASED ON | 
|---|
| 97 | ;---> DATE NOTIFICATION WAS OPENED (FIELD #.02) +30 DAYS. | 
|---|
| 98 | ; | 
|---|
| 99 | ;---> (NOTE: FOR UNIFORMITY, EXECUTABLE DEFAULT FOR "PRINT DATE" | 
|---|
| 100 | ;---> CALLS THIS CODE TO SET ITS STORED VALUE, THEN SETS ITS DEFAULT | 
|---|
| 101 | ;---> EQUAL TO ITS STORED VALUE.) | 
|---|
| 102 | ;---> | 
|---|
| 103 | ;---> REQUIRED VARIABLES: WVDFN=IEN OF PATIENT | 
|---|
| 104 | ;--->                     DUZ(2)=SITE | 
|---|
| 105 | ;--->                     WVTYPE=IEN TYPE OF NOTIFICATION (LETTER, ETC) | 
|---|
| 106 | ;--->                     WVPURP=IEN PURPOSE OF NOTIFICATION | 
|---|
| 107 | ; | 
|---|
| 108 | N WVTYPE,WVPURP,X,Y | 
|---|
| 109 | S WVTYPE=$$GET^DDSVAL(DIE,DA,.03) | 
|---|
| 110 | I 'WVTYPE D PUT^DDSVAL(DIE,DA,.11,"") Q | 
|---|
| 111 | ;---> IF NOT PRINTABLE, SET PRINT DATE="". | 
|---|
| 112 | I '$P(^WV(790.403,WVTYPE,0),U,2) D  Q | 
|---|
| 113 | .D PUT^DDSVAL(DIE,DA,.11,"") | 
|---|
| 114 | .S X=$$NDELQ^WVUTL4 D PUT^DDSVAL(DIE,DA,.13,X) | 
|---|
| 115 | S WVPURP=$$GET^DDSVAL(DIE,DA,.04) | 
|---|
| 116 | ;---> COMPUTE AND STUFF PRINT DATE. | 
|---|
| 117 | D PRTDAT(WVDFN,DUZ(2),WVTYPE,WVPURP,.X) | 
|---|
| 118 | D PUT^DDSVAL(DIE,DA,.11,X) | 
|---|
| 119 | ;---> COMPUTE AND STUFF COMPLETE BY DATE. | 
|---|
| 120 | S X=$$NDELQ1^WVUTL4 D PUT^DDSVAL(DIE,DA,.13,X) | 
|---|
| 121 | Q | 
|---|
| 122 | ; | 
|---|
| 123 | ; | 
|---|
| 124 | PRTDAT(DFN,DUZ2,TYPE,PURP,DATE) ;EP | 
|---|
| 125 | ;---> YIELD PATIENT'S LETTER PRINT DATE, BASED ON CX/BR NEED. | 
|---|
| 126 | ;---> DUE DATE MINUS SITE PARAMETER (OR 30 DAYS, IF NOT SET). | 
|---|
| 127 | ;---> TYPE OF NOTIFICATION MUST BE "PRINTABLE" (#.02 OF #790.403). | 
|---|
| 128 | ;---> REQUIRED VARIABLES: DFN=IEN OF PATIENT | 
|---|
| 129 | ;--->                     DUZ2=DUZ(2) | 
|---|
| 130 | ;--->                     TYPE=IEN TYPE OF NOTIFICATION | 
|---|
| 131 | ;--->                     PURP=IEN PURPOSE OF NOTIFICATION | 
|---|
| 132 | ;---> RETURNS VARIABLES:  DATE=DEFAULT DATE LETTER SHOULD BE PRINTED | 
|---|
| 133 | ; | 
|---|
| 134 | N P,Q,X,X1,X2 | 
|---|
| 135 | S DATE="" | 
|---|
| 136 | Q:'TYPE!('PURP) | 
|---|
| 137 | ;---> QUIT IF THIS "TYPE OF NOTIFICATION" IS NOT "PRINTABLE" (PIECE 2). | 
|---|
| 138 | Q:'$P(^WV(790.403,TYPE,0),U,2) | 
|---|
| 139 | S X2=$P($G(^WV(790.02,DUZ2,0)),U,6) | 
|---|
| 140 | S X2=$S(X2:-X2,1:-30) | 
|---|
| 141 | Q:'$D(^WV(790,DFN,0)) | 
|---|
| 142 | ;---> IF THIS PURPOSE IS A RESULT LETTER, SET PRINT DATE=TODAY, QUIT. | 
|---|
| 143 | Q:'$D(^WV(790.404,PURP,0)) | 
|---|
| 144 | I $P(^WV(790.404,PURP,0),U,6) S DATE=DT Q | 
|---|
| 145 | ;---> IF THIS IS NOT ASSOCIATED WITH BR/CX NEEDS, QUIT WITH DATE="". | 
|---|
| 146 | Q:$P(^WV(790.404,PURP,0),U,5)="" | 
|---|
| 147 | S:$P(^WV(790.404,PURP,0),U,5)="CX" P=11,Q=12 | 
|---|
| 148 | S:$P(^WV(790.404,PURP,0),U,5)="BR" P=18,Q=19 | 
|---|
| 149 | ;---> QUIT IF THIS PATIENT HAS NO BR/CX NEED ENTERED. | 
|---|
| 150 | Q:'$P(^WV(790,DFN,0),U,P) | 
|---|
| 151 | ;---> QUIT IF THIS PATIENT HAS NO BR/CX NEED DUE DATE. | 
|---|
| 152 | S X=$P(^WV(790,DFN,0),U,Q) Q:'X | 
|---|
| 153 | S:'$E(X,7) $E(X,7)=1 | 
|---|
| 154 | S X1=X D C^%DTC | 
|---|
| 155 | S DATE=X | 
|---|
| 156 | Q | 
|---|