| 1 | ORQPT1 ; SLC/MKB - Change Patient Selection List ;1/10/97  13:41 [6/5/01 12:36pm]
 | 
|---|
| 2 |  ;;3.0;ORDER ENTRY/RESULTS REPORTING;**52,82,85**;Dec 17, 1997
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; SLC/PKS - 5/2000: Modified to deal with "Combinations."
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | CONTEXT() ; -- Returns current patient list context
 | 
|---|
| 7 |  Q $P($G(^TMP("OR",$J,"PATIENTS",0)),U,3)
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 | WARD ; -- new ward list
 | 
|---|
| 10 |  N X,Y,DIC
 | 
|---|
| 11 |  D FULL^VALM1 S VALMBCK="R"
 | 
|---|
| 12 |  S DIC("B")=$P($$LISTSRC^ORQPTQ11(DUZ,"W"),U,2)  ;added by CLA 8/4/97
 | 
|---|
| 13 |  S DIC("S")="N D0,X S D0=+Y D WIN^DGPMDDCF I 'X" ; inactive?
 | 
|---|
| 14 |  S DIC=42,DIC(0)="AEQM" D ^DIC Q:Y'>0  S $P(ORY,";",1,2)="W;"_+Y
 | 
|---|
| 15 |  Q
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 | CLINIC ; -- new clinic list
 | 
|---|
| 18 |  N X,Y,Z,DIC,BEG,END,BEG1,END1
 | 
|---|
| 19 |  D FULL^VALM1 S VALMBCK="R"
 | 
|---|
| 20 |  S DIC("B")=$P($$LISTSRC^ORQPTQ11(DUZ,"C"),U,2)  ;added by CLA 8/4/97
 | 
|---|
| 21 |  S DIC=44,DIC(0)="AEQM",DIC("A")="Select CLINIC: "
 | 
|---|
| 22 |  S DIC("S")="I $P(^(0),U,3)=""C"",$$ACTLOC^ORWU(+Y)"
 | 
|---|
| 23 |  D ^DIC Q:Y'>0  S (BEG1,END1)=""
 | 
|---|
| 24 |  S Z=$$DATE($P(ORY,";",3),1) Q:Z="^"  S BEG=$P(Z,U),BEG1=$P(Z,U,2)
 | 
|---|
| 25 |  I BEG1 S Z=$$DATE($P(ORY,";",4),0) Q:Z="^"  S END=$P(Z,U),END1=$P(Z,U,2)
 | 
|---|
| 26 |  I 'BEG1!'END1 Q
 | 
|---|
| 27 |  I BEG1,END1,END1<BEG1 S X=END,END=BEG,BEG=X ; switch
 | 
|---|
| 28 |  S $P(ORY,";",1,4)="C;"_+Y_";"_BEG_";"_END
 | 
|---|
| 29 |  Q
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 | DATE(DEFLT,START) ; -- new start/stop date
 | 
|---|
| 32 |  N X,Y,DIR,%DT
 | 
|---|
| 33 |  S DIR(0)="FAO^1:20",DIR("A")=$S($G(START):"START",1:"STOP")_" DATE: "
 | 
|---|
| 34 |  S:$L($G(DEFLT)) DIR("B")=DEFLT
 | 
|---|
| 35 |  S DIR("?")="Enter the "_$S($G(START):"earliest",1:"latest")_" date for appointments to this clinic for which you wish to see the patients listed; indicate the date relative to TODAY, i.e. T+1 for tomorrow or T-2W for 2 weeks ago."
 | 
|---|
| 36 | D1 D ^DIR S:$D(DTOUT) X="^"
 | 
|---|
| 37 |  I "^"'[X S %DT="X" D ^%DT S:Y>0 X=X_U_Y I Y'>0 W $C(7),!,DIR("?"),! G D1
 | 
|---|
| 38 |  Q X
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 | PROV ; -- new provider list
 | 
|---|
| 41 |  N X,Y,DIC
 | 
|---|
| 42 |  D FULL^VALM1 S VALMBCK="R"
 | 
|---|
| 43 |  S DIC("B")=$P($$LISTSRC^ORQPTQ11(DUZ,"P"),U,2)  ;added by CLA 8/4/97
 | 
|---|
| 44 |  S DIC=200,DIC(0)="AEQ",DIC("A")="Select PROVIDER: ",D="AK.PROVIDER"
 | 
|---|
| 45 |  D IX^DIC Q:Y'>0  S $P(ORY,";",1,2)="P;"_+Y
 | 
|---|
| 46 |  Q
 | 
|---|
| 47 |  ;
 | 
|---|
| 48 | TEAM ; -- new team list
 | 
|---|
| 49 |  N X,Y,DIC
 | 
|---|
| 50 |  D FULL^VALM1 S VALMBCK="R"
 | 
|---|
| 51 |  S DIC("B")=$P($$LISTSRC^ORQPTQ11(DUZ,"T"),U,2)  ;added by CLA 8/4/97
 | 
|---|
| 52 |  S DIC=100.21,DIC(0)="AEQM",DIC("A")="Select TEAM: "
 | 
|---|
| 53 |  D ^DIC Q:Y'>0  S $P(ORY,";",1,2)="T;"_+Y
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 | SPEC ; -- new treating specialty list
 | 
|---|
| 57 |  N X,Y,DIC
 | 
|---|
| 58 |  D FULL^VALM1 S VALMBCK="R"
 | 
|---|
| 59 |  S DIC("B")=$P($$LISTSRC^ORQPTQ11(DUZ,"S"),U,2)  ;added by CLA 8/4/97
 | 
|---|
| 60 |  S DIC=45.7,DIC(0)="AEQM",DIC("S")="I $$ACTIVE^DGACT(45.7,Y,DT)"
 | 
|---|
| 61 |  D ^DIC Q:Y'>0  S $P(ORY,";",1,2)="S;"_+Y
 | 
|---|
| 62 |  Q
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 | SORT ; -- new sort order
 | 
|---|
| 65 |  N X,Y,DIR
 | 
|---|
| 66 |  S X=($E(ORY)="C"),Y=$P(ORY,";",5)
 | 
|---|
| 67 |  S DIR(0)="SAM^A:Alphabetic;"_$S(X:"P:Date of Appointment;",1:"R:Room-Bed;")
 | 
|---|
| 68 |  S DIR("A")="(A)lphabetic or "_$S(X:"Date of A(p)pointment? ",1:"(R)oom-Bed? ")
 | 
|---|
| 69 |  S DIR("B")=$S(Y="R"&'X:"Room-Bed",Y="P"&X:"Date of Appointment",1:"Alphabetic")
 | 
|---|
| 70 |  ; Next 4 lines added by PKS to deal with "Combinations:"
 | 
|---|
| 71 |  I $E(ORY)="M" D 
 | 
|---|
| 72 |  . S DIR(0)="SAM^A:Alphabetic;P:Appointment;S:Source"
 | 
|---|
| 73 |  . S DIR("A")="(A)lphabetic or Date of A(p)pointment or (S)ource  "
 | 
|---|
| 74 |  . S DIR("B")="Alphabetic"
 | 
|---|
| 75 |  S DIR("?")="Enter the attribute you wish the list to sort by"
 | 
|---|
| 76 |  D ^DIR S:$D(DTOUT) Y="^" Q:Y="^"
 | 
|---|
| 77 |  S $P(ORY,";",5)=Y
 | 
|---|
| 78 |  Q
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 | SAVE ; -- Save current list definition as default
 | 
|---|
| 81 |  N X,LIST,IFN,BEG,END,PARAM S VALMBCK=""
 | 
|---|
| 82 |  Q:'$$OK  W !!,"Saving patient list definition ... "
 | 
|---|
| 83 |  S LIST=$$CONTEXT,X=$E(LIST)
 | 
|---|
| 84 |  ; Next line modified by PKS:
 | 
|---|
| 85 |  S PARAM="ORLP DEFAULT "_$S(X="T":"TEAM",X="P":"PROVIDER",X="S":"SPECIALTY",X="W":"WARD",X="C":"CLINIC ",X="M":"MULTIPLE",1:"^") I PARAM["^" W !,"ERROR" H 2 Q
 | 
|---|
| 86 |  ;added by CLA 12/12/96:
 | 
|---|
| 87 |  N ORSRV S ORSRV=$G(^VA(200,DUZ,5)) I +ORSRV>0 S ORSRV=$P(ORSRV,U)
 | 
|---|
| 88 |  ;
 | 
|---|
| 89 |  D EN^XPAR("USR","ORLP DEFAULT LIST SOURCE",1,X)
 | 
|---|
| 90 |  S IFN="`"_+$P(LIST,";",2)
 | 
|---|
| 91 |  I X'="C" D EN^XPAR("USR",PARAM,1,IFN)
 | 
|---|
| 92 |  I X="C" D  ; add clinic for each day of week & start & stop dates
 | 
|---|
| 93 |  . N CPARAM
 | 
|---|
| 94 |  . S CPARAM=PARAM_"MONDAY" D EN^XPAR("USR",CPARAM,1,IFN)
 | 
|---|
| 95 |  . S CPARAM=PARAM_"TUESDAY" D EN^XPAR("USR",CPARAM,1,IFN)
 | 
|---|
| 96 |  . S CPARAM=PARAM_"WEDNESDAY" D EN^XPAR("USR",CPARAM,1,IFN)
 | 
|---|
| 97 |  . S CPARAM=PARAM_"THURSDAY" D EN^XPAR("USR",CPARAM,1,IFN)
 | 
|---|
| 98 |  . S CPARAM=PARAM_"FRIDAY" D EN^XPAR("USR",CPARAM,1,IFN)
 | 
|---|
| 99 |  . S CPARAM=PARAM_"SATURDAY" D EN^XPAR("USR",CPARAM,1,IFN)
 | 
|---|
| 100 |  . S CPARAM=PARAM_"SUNDAY" D EN^XPAR("USR",CPARAM,1,IFN)
 | 
|---|
| 101 |  . S BEG=$P(LIST,";",3),END=$P(LIST,";",4)
 | 
|---|
| 102 |  . D EN^XPAR("USR","ORLP DEFAULT CLINIC START DATE",1,BEG)
 | 
|---|
| 103 |  . D EN^XPAR("USR","ORLP DEFAULT CLINIC STOP DATE",1,END)
 | 
|---|
| 104 |  I $L($P(LIST,";",5)) D EN^XPAR("USR","ORLP DEFAULT LIST ORDER",1,$P(LIST,";",5))
 | 
|---|
| 105 |  W "done." H 1 S VALMBCK=""
 | 
|---|
| 106 |  Q
 | 
|---|
| 107 |  ;
 | 
|---|
| 108 | OK() ; -- Current definition ok?
 | 
|---|
| 109 |  N X,Y,DIR,LIST,PTR,SORT,BEG,END W !!,"Current List: "
 | 
|---|
| 110 |  S LIST=$$CONTEXT,PTR=+$P(LIST,";",2),BEG=$P(LIST,";",3),END=$P(LIST,";",4),SORT=$P(LIST,";",5)
 | 
|---|
| 111 |  I $E(LIST)="W" W "Ward "_$P($G(^DIC(42,+PTR,0)),U)
 | 
|---|
| 112 |  I $E(LIST)="C" W "Clinic "_$P($G(^SC(+PTR,0)),U)
 | 
|---|
| 113 |  I $E(LIST)="P" W "Primary Provider "_$P($G(^VA(200,+PTR,0)),U)
 | 
|---|
| 114 |  I $E(LIST)="T" W "Team "_$P($G(^OR(100.21,+PTR,0)),U)
 | 
|---|
| 115 |  I $E(LIST)="S" W "Specialty "_$P($G(^DIC(45.7,+PTR,0)),U)
 | 
|---|
| 116 |  ; Next line added by PKS:
 | 
|---|
| 117 |  I $E(LIST)="M" W "Combination"
 | 
|---|
| 118 |  I $L(SORT) W ", sorted by "_$S(SORT="P":"Appointment Date",SORT="R":"Room-Bed",1:"Name")
 | 
|---|
| 119 |  I $E(LIST)="C",BEG W !?14,"from "_BEG_" to "_END
 | 
|---|
| 120 |  S DIR(0)="YA",DIR("A")="Are you sure you want to save these list parameters as your default? "
 | 
|---|
| 121 |  S DIR("?")="Enter YES if you wish to use these same parameters again the next time a patient list is created for you to select from, or NO to quit without saving."
 | 
|---|
| 122 |  W ! D ^DIR
 | 
|---|
| 123 |  Q +Y
 | 
|---|
| 124 |  ;
 | 
|---|
| 125 | REMOVE ; Remove current default patient list view parameter setting(s).
 | 
|---|
| 126 |  ; SLC/PKS - 5/2000.
 | 
|---|
| 127 |  ;
 | 
|---|
| 128 |  ; Variables used:
 | 
|---|
| 129 |  ;
 | 
|---|
| 130 |  ;    ORDUZ  = User's DUZ.
 | 
|---|
| 131 |  ;    ORQENT = Entity string for call to XPAR.
 | 
|---|
| 132 |  ;    ORQERR = Error array for call to XPAR.
 | 
|---|
| 133 |  ;    ORQSRC = Holds return value of call to FDEFSRC^ORQPTQ11(ORDUZ).
 | 
|---|
| 134 |  ;
 | 
|---|
| 135 |  N ORQDUZ,ORQENT,ORQERR,ORQSRC
 | 
|---|
| 136 |  ;
 | 
|---|
| 137 |  K ORQERR
 | 
|---|
| 138 |  S VALMBCK=""
 | 
|---|
| 139 |  S ORQDUZ=DUZ
 | 
|---|
| 140 |  Q:'$$OKR
 | 
|---|
| 141 |  W !!,"Removing your personal patient list definition ... "
 | 
|---|
| 142 |  S ORQENT=DUZ_";VA(200,"
 | 
|---|
| 143 |  D DEL^XPAR(ORQENT,"ORLP DEFAULT LIST SOURCE",,.ORQERR)
 | 
|---|
| 144 |  I ('$D(ORQERR)!(ORQERR=0)) D
 | 
|---|
| 145 |  .W "done."
 | 
|---|
| 146 |  .S ORQSRC=$$FDEFSRC^ORQPTQ11(ORQDUZ) ; Check for Service default.
 | 
|---|
| 147 |  .I $P(ORQSRC,U)'="" W !,"(NOTE: Service/Section default of """_$P(ORQSRC,U,3)_""" not affected.)"
 | 
|---|
| 148 |  .H 4
 | 
|---|
| 149 |  I $D(ORQERR) D
 | 
|---|
| 150 |  .S ORQSRC=$$FDEFSRC^ORQPTQ11(ORQDUZ) ; Check for Service default.
 | 
|---|
| 151 |  .I ORQERR=0 Q
 | 
|---|
| 152 |  .I $P(ORQERR,U,2)="Parameter instance not found" D  Q
 | 
|---|
| 153 |  ..W "nothing to remove."
 | 
|---|
| 154 |  ..I $P(ORQSRC,U)'="" W !,"(NOTE: Service/Section default of """_$P(ORQSRC,U,3)_""" not affected.)"
 | 
|---|
| 155 |  ..H 4
 | 
|---|
| 156 |  .W !,"   ERROR: "_$P(ORQERR,U,2) H 3
 | 
|---|
| 157 |  S VALMBCK=""
 | 
|---|
| 158 |  Q
 | 
|---|
| 159 |  ;
 | 
|---|
| 160 | OKR() ; -- Remove current definition?
 | 
|---|
| 161 |  N X,Y,DIR,LIST,PTR
 | 
|---|
| 162 |  S DIR(0)="YA"
 | 
|---|
| 163 |  S DIR("A")="Are you sure you want to remove your current list default view? "
 | 
|---|
| 164 |  S DIR("?")="Enter YES if you wish to remove your current default patient list view, or NO to leave the current personal setting(s)."
 | 
|---|
| 165 |  W ! ; For display esthetics.
 | 
|---|
| 166 |  D ^DIR
 | 
|---|
| 167 |  Q +Y
 | 
|---|
| 168 |  ;
 | 
|---|
| 169 | COMBO ; New combination list.
 | 
|---|
| 170 |  ; SLC/PKS - 5/2000.
 | 
|---|
| 171 |  ;
 | 
|---|
| 172 |  ; Preset VALM for return:
 | 
|---|
| 173 |  D FULL^VALM1 S VALMBCK="R"
 | 
|---|
| 174 |  ;
 | 
|---|
| 175 |  ; Call existing code to create/edit user's "combination" sources:
 | 
|---|
| 176 |  D COMB^ORLP3USR
 | 
|---|
| 177 |  ;
 | 
|---|
| 178 |  ; Write the piece in "ORY" to indicate "Combination" sources:
 | 
|---|
| 179 |  S $P(ORY,";",1)="M"
 | 
|---|
| 180 |  D REBUILD
 | 
|---|
| 181 |  ;
 | 
|---|
| 182 |  Q
 | 
|---|
| 183 |  ;
 | 
|---|
| 184 | REBUILD ; -- Ok to rebuild listing?
 | 
|---|
| 185 |  N ORQUIT
 | 
|---|
| 186 |  I $E(ORY)="C",$P(ORY,";",5)="R" D  Q:$G(ORQUIT)
 | 
|---|
| 187 |  . W !!,">> A Clinic list cannot be sorted by room-bed assignment!"
 | 
|---|
| 188 |  . W !,"   Please select a new sorting order:",!
 | 
|---|
| 189 |  . D SORT S:$P(ORY,";",5)="R" ORQUIT=1
 | 
|---|
| 190 |  ; Next section added by PKS for "Combinations:" 
 | 
|---|
| 191 |  I $E(ORY)="M",$P(ORY,";",5)="R" D  Q:$G(ORQUIT)
 | 
|---|
| 192 |  . W !!,">> A Combination list cannot be sorted by room-bed assignment!"
 | 
|---|
| 193 |  . W !,"   Please select a new sorting order:",!
 | 
|---|
| 194 |  . D SORT S:$P(ORY,";",5)="R" ORQUIT=1
 | 
|---|
| 195 |  I (($E(ORY)'="C")&($E(ORY)'="M")),$P(ORY,";",5)="P" D  Q:$G(ORQUIT)
 | 
|---|
| 196 |  . W !!,">> A "_$S($E(ORY)="W":"Ward",$E(ORY)="P":"Primary Provider",$E(ORY)="T":"Team",$E(ORY)="S":"Specialty",1:"")_" list cannot be sorted by clinic appointment date!"
 | 
|---|
| 197 |  . W !,"   Please select a new sorting order:",!
 | 
|---|
| 198 |  . D SORT S:$P(ORY,";",5)="P" ORQUIT=1
 | 
|---|
| 199 |  D BUILD^ORQPT(ORY)
 | 
|---|
| 200 |  Q
 | 
|---|