| 1 | WVBRNOT2 ;HCIOFO/FT,JR IHS/ANMC/MWR - BROWSE NOTIFICATIONS;
 | 
|---|
| 2 |  ;;1.0;WOMEN'S HEALTH;;Sep 30, 1998
 | 
|---|
| 3 |  ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
 | 
|---|
| 4 |  ;;  PROMPTS FOR SELECTION CRITERIA WHEN BROWSING NOTIFICATIONS.
 | 
|---|
| 5 |  ;;  CALLED BY WVBRNOT.
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 |  D SETVARS^WVUTL5
 | 
|---|
| 8 |  D TITLE^WVUTL5("BROWSE NOTIFICATIONS")
 | 
|---|
| 9 |  D ONEALL Q:WVPOP
 | 
|---|
| 10 |  D DATES  Q:WVPOP
 | 
|---|
| 11 |  D STATUS Q:WVPOP
 | 
|---|
| 12 |  D CMGR   Q:WVPOP
 | 
|---|
| 13 |  D ORDER  Q:WVPOP
 | 
|---|
| 14 |  D DEVICE Q:WVPOP
 | 
|---|
| 15 |  Q
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 | ONEALL ;EP
 | 
|---|
| 18 |  ;---> SELECT ONE PATIENT OR ALL PATIENTS.
 | 
|---|
| 19 |  K DIR
 | 
|---|
| 20 |  W !!?3,"Browse Notifications for ONE individual patient,"
 | 
|---|
| 21 |  W !?3,"or browse Notifications for ALL patients?"
 | 
|---|
| 22 |  S DIR("A")="   Select ONE or ALL: ",DIR("B")="ALL"
 | 
|---|
| 23 |  S DIR(0)="SAM^o:ONE;a:ALL" D HELP2
 | 
|---|
| 24 |  D ^DIR K DIR
 | 
|---|
| 25 |  I Y=-1!($D(DIRUT)) S WVPOP=1 Q
 | 
|---|
| 26 |  ;---> IF ALL PATIENTS, S WVA=1 AND QUIT.
 | 
|---|
| 27 |  I Y="a" S WVA=1 Q
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 |  W !!,"   Select the patient whose Notifications you wish to browse."
 | 
|---|
| 30 |  D PATLKUP^WVUTL8(.Y)
 | 
|---|
| 31 |  I Y<0 S WVPOP=1 Q
 | 
|---|
| 32 |  ;---> FOR ONE PATIENT, SET WVA=0 AND WVDFN=PATIENT DFN, QUIT.
 | 
|---|
| 33 |  S WVDFN=+Y,WVA=0,WVCMGR=$P(^WV(790,WVDFN,0),U,10)
 | 
|---|
| 34 |  Q
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 | DATES ;EP
 | 
|---|
| 37 |  ;---> ASK DATE RANGE.  RETURN DATES IN WVBEGDT AND WVENDDT.
 | 
|---|
| 38 |  ;---> IF LOOKING AT ONLY ONE PATIENT, SET DEFAULT BEGIN DATE=T-365.
 | 
|---|
| 39 |  S WVBEGDF=$S(WVA:"T-30",1:"T-365")
 | 
|---|
| 40 |  D ASKDATES^WVUTL3(.WVBEGDT,.WVENDDT,.WVPOP,WVBEGDF,"T")
 | 
|---|
| 41 |  Q
 | 
|---|
| 42 |  ;
 | 
|---|
| 43 | STATUS ;EP
 | 
|---|
| 44 |  ;---> GET XREF: OPEN OR ALL
 | 
|---|
| 45 |  W !!?3,"Do you wish to browse DELINQUENT, OPEN, QUEUED, "
 | 
|---|
| 46 |  W "or ALL Notifications?"
 | 
|---|
| 47 |  S DIR("A")="   Select DELINQUENT, OPEN, QUEUED or ALL: "
 | 
|---|
| 48 |  S DIR("B")="OPEN"
 | 
|---|
| 49 |  S DIR(0)="SAM^d:DELINQUENT;o:OPEN;q:QUEUED;a:ALL" D HELP4
 | 
|---|
| 50 |  D ^DIR K DIR
 | 
|---|
| 51 |  I Y=-1!($D(DIRUT)) S WVPOP=1 Q
 | 
|---|
| 52 |  S WVB=Y
 | 
|---|
| 53 |  Q
 | 
|---|
| 54 |  ;
 | 
|---|
| 55 | CMGR ;EP
 | 
|---|
| 56 |  ;---> SELECT CASES FOR ONE CASE MANAGER OR ALL.
 | 
|---|
| 57 |  ;---> DO NOT PROMPT FOR CASE MANAGER IF SITE PARAMETERS SAY NOT TO,
 | 
|---|
| 58 |  ;---> OR IF LOOKING AT PROCEDURES FOR ONLY ONE PATIENT.
 | 
|---|
| 59 |  I '$D(^WV(790.02,DUZ(2),0)) S WVE=1 Q
 | 
|---|
| 60 |  I '$P(^WV(790.02,DUZ(2),0),U,5)!('WVA) S WVE=1 Q
 | 
|---|
| 61 |  W !!?3,"Browse Notifications for ONE particular Case Manager,"
 | 
|---|
| 62 |  W !?3,"or browse Notifications for ALL Case Managers?"
 | 
|---|
| 63 |  S DIR("A")="   Select ONE or ALL: ",DIR("B")="ALL"
 | 
|---|
| 64 |  S DIR(0)="SAM^o:ONE;a:ALL" D HELP5
 | 
|---|
| 65 |  D ^DIR K DIR
 | 
|---|
| 66 |  I Y=-1!($D(DIRUT)) S WVPOP=1 Q
 | 
|---|
| 67 |  ;---> IF ALL CASE MANAGERS, S WVE=1 AND QUIT.
 | 
|---|
| 68 |  I Y="a" S WVE=1 Q
 | 
|---|
| 69 |  ;
 | 
|---|
| 70 |  W !!,"   Select the Case Manager whose patients you wish to browse."
 | 
|---|
| 71 |  ;
 | 
|---|
| 72 |  D DIC^WVFMAN(790.01,"QEMA",.Y,"   Select CASE MANAGER: ")
 | 
|---|
| 73 |  I Y<0 S WVPOP=1 Q
 | 
|---|
| 74 |  ;---> FOR ONE CASE MANAGER, SET WVE=0 AND WVCMGR=^VA(200 DFN, QUIT.
 | 
|---|
| 75 |  S WVCMGR=+Y,WVE=0
 | 
|---|
| 76 |  Q
 | 
|---|
| 77 |  ;
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 | ORDER ;EP
 | 
|---|
| 80 |  ;---> ASK ORDER BY DATE OR BY PATIENT OR BY PRIORITY.
 | 
|---|
| 81 |  ;---> IF LOOKING AT ONLY ONE PATIENT, ORDER BY DATE AND QUIT.
 | 
|---|
| 82 |  I 'WVA S WVC=1 Q
 | 
|---|
| 83 |  ;
 | 
|---|
| 84 |  ;---> SORT SEQUENCE IN WVC:  1=DATE, PATIENT, PRIORITY
 | 
|---|
| 85 |  ;--->                        2=PATIENT, DATE, PRIORITY
 | 
|---|
| 86 |  ;--->                        3=PRIORITY, DATE, PATIENT
 | 
|---|
| 87 |  ;
 | 
|---|
| 88 |  W !!?3,"Display Notifications in order of:"
 | 
|---|
| 89 |  W ?39,"1) DATE OF NOTIFICATION (earliest first)"
 | 
|---|
| 90 |  W !?39,"2) NAME OF PATIENT (alphabetically)"
 | 
|---|
| 91 |  W !?39,"3) PRIORITY (beginning with URGENT)"
 | 
|---|
| 92 |  S DIR("A")="   Select 1, 2, or 3: ",DIR("B")=1
 | 
|---|
| 93 |  S DIR(0)="SAM^1:DATE;2:NAME;3:PRIORITY" D HELP3
 | 
|---|
| 94 |  D ^DIR K DIR
 | 
|---|
| 95 |  I Y=-1!($D(DIRUT)) S WVPOP=1 Q
 | 
|---|
| 96 |  S WVC=Y
 | 
|---|
| 97 |  Q
 | 
|---|
| 98 |  ;
 | 
|---|
| 99 | DEVICE ;EP
 | 
|---|
| 100 |  ;---> GET DEVICE AND POSSIBLY QUEUE TO TASKMAN.
 | 
|---|
| 101 |  S ZTRTN="DEQUEUE^WVBRNOT"
 | 
|---|
| 102 |  F WVSV="A","B","C","D","E","CMGR","DFN","BEGDT","ENDDT" D
 | 
|---|
| 103 |  .I $D(@("WV"_WVSV)) S ZTSAVE("WV"_WVSV)=""
 | 
|---|
| 104 |  D ZIS^WVUTL2(.WVPOP,1,"HOME")
 | 
|---|
| 105 |  Q
 | 
|---|
| 106 |  ;
 | 
|---|
| 107 | HELP2 ;EP
 | 
|---|
| 108 |  ;;Answer "ONE" to browse Notifications for ONE particular patient.
 | 
|---|
| 109 |  ;;Answer "ALL" to browse Notifications for ALL patients.
 | 
|---|
| 110 |  S WVTAB=5,WVLINL="HELP2" D HELPTX
 | 
|---|
| 111 |  Q
 | 
|---|
| 112 |  ;
 | 
|---|
| 113 | HELP3 ;EP
 | 
|---|
| 114 |  ;;Enter "DATE" to list Notifications in chronological order beginning
 | 
|---|
| 115 |  ;;   with the oldest first.
 | 
|---|
| 116 |  ;;Enter "NAME" to list Notifications by Patient Name in alphabetical
 | 
|---|
| 117 |  ;;   order.
 | 
|---|
| 118 |  ;;Enter "PRIORITY" to list Notifications by degree of urgency,
 | 
|---|
| 119 |  ;;   beginning with the most urgent first.
 | 
|---|
| 120 |  S WVTAB=5,WVLINL="HELP3" D HELPTX
 | 
|---|
| 121 |  Q
 | 
|---|
| 122 |  ;
 | 
|---|
| 123 | HELP4 ;EP
 | 
|---|
| 124 |  ;;"OPEN Notifications" are ones that have not yet been closed,
 | 
|---|
| 125 |  ;;     in other words, the patient has not yet been reached or has not
 | 
|---|
| 126 |  ;;     yet responded.
 | 
|---|
| 127 |  ;;
 | 
|---|
| 128 |  ;;"DELINQUENT Notifications" are OPEN Notifications that have remained
 | 
|---|
| 129 |  ;;     open past the date they were due to be closed (as determined by
 | 
|---|
| 130 |  ;;     the "DATE DELINQUENT BY" field in the Edit Notification screen).
 | 
|---|
| 131 |  ;;
 | 
|---|
| 132 |  ;;"QUEUED Notifications" are only LETTERS waiting to be printed.
 | 
|---|
| 133 |  ;;     They do not include letters that have already been printed.
 | 
|---|
| 134 |  ;;
 | 
|---|
| 135 |  ;;"ALL Notifications" includes DELINQUENT, OPEN and CLOSED.
 | 
|---|
| 136 |  ;;     CLOSED notifications are ones that have been brought to closure,
 | 
|---|
| 137 |  ;;     in other words, either the patient has been contacted or the
 | 
|---|
| 138 |  ;;     case is no longer active.
 | 
|---|
| 139 |  S WVTAB=5,WVLINL="HELP4" D HELPTX
 | 
|---|
| 140 |  Q
 | 
|---|
| 141 |  ;
 | 
|---|
| 142 | HELP5 ;EP
 | 
|---|
| 143 |  ;;Answer "ONE" to browse Notifications for ONE particular Case Manager.
 | 
|---|
| 144 |  ;;Answer "ALL" to browse Notifications for ALL Case Managers.
 | 
|---|
| 145 |  S WVTAB=5,WVLINL="HELP5" D HELPTX
 | 
|---|
| 146 |  Q
 | 
|---|
| 147 |  ;
 | 
|---|
| 148 | HELPTX ;EP
 | 
|---|
| 149 |  ;---> CREATES DIR ARRAY FOR DIR.  REQUIRED VARIABLES: WVTAB,WVLINL.
 | 
|---|
| 150 |  N I,T,X S T=$$REPEAT^XLFSTR(" ",WVTAB)
 | 
|---|
| 151 |  F I=1:1 S X=$T(@WVLINL+I) Q:X'[";;"  S DIR("?",I)=T_$P(X,";;",2)
 | 
|---|
| 152 |  S DIR("?")=DIR("?",I-1) K DIR("?",I-1)
 | 
|---|
| 153 |  Q
 | 
|---|