1 | ORLP01 ; SLC/MKB,CLA - Edit Patient Lists cont ; 20 Sep 2005 1:05 PM
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**11,47,215**;Dec 17, 1997
|
---|
3 | ;
|
---|
4 | ; DBIA 3869 GETPLIST^SDAMA202 ^TMP($J,"SDAMA202")
|
---|
5 | ;
|
---|
6 | ; Modified 3/2000 by PKS/SLC to screen out inactive wards, clinics,
|
---|
7 | ; and terminated/deactivated providers.
|
---|
8 | ;
|
---|
9 | PROV ;from ASKPT^ORLP00, option ORLP ADD PROVIDER - Add provider's patients to list, display # of patients added if not TEAM list
|
---|
10 | D ASK^ORLP0(.X)
|
---|
11 | I (X<0)!(X>1) Q
|
---|
12 | S:'$D(ORCNT) ORCNT=$S($D(^XUTL("OR",$J,"ORLP",0)):+$P(^(0),"^",4),1:0)
|
---|
13 | F S ORCT=0 D P1 Q:+ORY<1 I ORCNT>0 W:'($D(TEAM)#2) !!,ORCT_" Patients added, "_ORCNT_" total"
|
---|
14 | I $G(DUOUT)=1!(ORCNT'>0) W:'($D(TEAM)#2) !!,"No patients added.",! K ORCNT G END^ORLP0
|
---|
15 | D SEQ^ORLP0
|
---|
16 | Q
|
---|
17 | ;
|
---|
18 | P1 ;
|
---|
19 | K DIC
|
---|
20 | S DIC=200,DIC(0)="AEQ",DIC("A")="Select PROVIDER: ",D="AK.PROVIDER^PS1^PS2^B"
|
---|
21 | ; Setting of DIC("S") modified by PKS:
|
---|
22 | S DIC("S")="I $D(^VA(200,""AK.PROVIDER"",$P(^(0),U))),$$ACTIVE^XUSER(+Y)"
|
---|
23 | N ORPTYP,DIR
|
---|
24 | D MIX^DIC1
|
---|
25 | K DIC
|
---|
26 | S ORY=Y
|
---|
27 | Q:+Y<1
|
---|
28 | S ORZ=+Y
|
---|
29 | F D I $D(DIRUT)!Y]""!(Y["^") S ORY=-1 Q
|
---|
30 | . S DIR(0)="S^P:PRIMARY CARE PHYSICIAN;A:ATTENDING PHYSICIAN;B:BOTH",DIR("A")="Select",DIR("B")="BOTH"
|
---|
31 | . S DIR("?",1)="In order to determine how this Provider's patients will be added to this list,"
|
---|
32 | . S DIR("?",2)="enter a response that will use the following rules."
|
---|
33 | . S DIR("?",3)=" 'P' - Primary will add patients to the list that have the chosen provider"
|
---|
34 | . S DIR("?",4)="assigned to them thru the MAS options as PRIMARY CARE PHYSICIAN."
|
---|
35 | . S DIR("?",5)=" 'A' - Attending will add patients to the list that have chosen provider"
|
---|
36 | . S DIR("?",6)="assigned to them thru the MAS options as ATTENDING PHYSICIAN."
|
---|
37 | . S DIR("?",7)=" 'B' - Both will add patients to the list that have the chosen provider"
|
---|
38 | . S DIR("?")="assigned to them thru the MAS options as PRIMARY CARE PHYSICIAN or ATTENDING PHYSICIAN."
|
---|
39 | . D ^DIR
|
---|
40 | . Q:Y']""
|
---|
41 | . S ORPTYP=Y
|
---|
42 | Q:$S($G(ORPTYP)']"":1,"ABP"'[$G(ORPTYP):1,1:0)
|
---|
43 | I '$D(^DPT("APR",ORZ)),'$D(^DPT("AAP",ORZ)) W !!,"No patients found for this provider!" Q
|
---|
44 | W !!,"Working..."
|
---|
45 | D PREF^ORLP0
|
---|
46 | I "BP"[ORPTYP S ORJ=0 F S ORJ=$O(^DPT("APR",ORZ,ORJ)) Q:ORJ<1 S ORX="",ORVP=ORJ_";DPT(" D PR1^ORLA1(ORVP,OROPREF)
|
---|
47 | I "AB"[ORPTYP S ORJ=0 F ORI=0:0 S ORJ=$O(^DPT("AAP",ORZ,ORJ)) Q:ORJ<1 S ORX="",ORVP=ORJ_";DPT(" D PR1^ORLA1(ORVP,OROPREF)
|
---|
48 | Q
|
---|
49 | ;
|
---|
50 | SPEC ; from ASKPT^ORLP00, option ORLP ADD SPECIALTY - Add treating specialty's patients to list, display # of patients added if not TEAM list
|
---|
51 | D ASK^ORLP0(.X)
|
---|
52 | I (X<0)!(X>1) Q
|
---|
53 | S:'$D(ORCNT) ORCNT=$S($D(^XUTL("OR",$J,"ORLP",0)):+$P(^(0),"^",4),1:0)
|
---|
54 | F S ORCT=0 D S1 Q:+ORY<1 I ORCNT>0 W:'($D(TEAM)#2) !!,ORCT_" Patients added, "_ORCNT_" total"
|
---|
55 | I $G(DUOUT)=1!(ORCNT'>0) W:'($D(TEAM)#2) !!,"No patients added.",! G END^ORLP0
|
---|
56 | D SEQ^ORLP0
|
---|
57 | Q
|
---|
58 | ;
|
---|
59 | S1 ;
|
---|
60 | K DIC
|
---|
61 | S DIC="^DIC(45.7,",DIC(0)="AQEM",DIC("A")="Select SPECIALTY: "
|
---|
62 | D ^DIC
|
---|
63 | S ORY=Y
|
---|
64 | K DIC
|
---|
65 | Q:+Y<1
|
---|
66 | I '$D(^DPT("ATR",+ORY)) W !!,"No patients found for this treating specialty!" Q
|
---|
67 | W !!,"Working..."
|
---|
68 | D PREF^ORLP0
|
---|
69 | S ORJ=0 F S ORJ=$O(^DPT("ATR",+ORY,ORJ)) Q:ORJ<1 S ORX="",ORVP=ORJ_";DPT(" D PR1^ORLA1(ORVP,OROPREF)
|
---|
70 | Q
|
---|
71 | ;
|
---|
72 | WARD ;from ASKPT^ORLP00, option ORLP ADD WARD - Add ward's patients to list, display # of patients added if not TEAM list
|
---|
73 | D ASK^ORLP0(.X)
|
---|
74 | I (X<0)!(X>1) Q
|
---|
75 | S:'$D(ORCNT) ORCNT=$S($D(^XUTL("OR",$J,"ORLP",0)):+$P(^(0),"^",4),1:0)
|
---|
76 | F S ORCT=0 D W1 Q:+ORY<1 I ORCNT>0 W:'($D(TEAM)#2) !!,ORCT_" Patients added, "_ORCNT_" total"
|
---|
77 | I $G(DUOUT)=1!(ORCNT'>0) W:'($D(TEAM)#2) !!,"No patients added.",! G END^ORLP0
|
---|
78 | D SEQ^ORLP0
|
---|
79 | Q
|
---|
80 | ;
|
---|
81 | W1 ;
|
---|
82 | K DIC
|
---|
83 | S DIC="^DIC(42,",DIC(0)="AQEM"
|
---|
84 | ; Next line added by PKS:
|
---|
85 | S DIC("S")="I '$$WINACT^ORLP3U1(+Y)"
|
---|
86 | D ^DIC
|
---|
87 | S ORY=Y
|
---|
88 | K DIC
|
---|
89 | Q:+Y<1
|
---|
90 | I '$D(^DPT("CN",$P(Y,"^",2))) W !!,"No Patients found on ward!" Q
|
---|
91 | W !!,"Working..."
|
---|
92 | D PREF^ORLP0
|
---|
93 | S ORJ=0 F S ORJ=$O(^DPT("CN",$P(ORY,"^",2),ORJ)) Q:ORJ<1 S ORVP=ORJ_";DPT(",ORX="" D PR1^ORLA1(ORVP,OROPREF)
|
---|
94 | Q
|
---|
95 | ;
|
---|
96 | CLIN ;from ASKPT^ORLP, option ORLP ADD CLINIC - Add clinic's patients to list, display # of patients added if not TEAM list
|
---|
97 | D ASK^ORLP0(.X)
|
---|
98 | I (X<0)!(X>1) Q
|
---|
99 | S:'$D(ORCNT) ORCNT=$S($D(^XUTL("OR",$J,"ORLP",0)):+$P(^(0),"^",4),1:0)
|
---|
100 | F S ORCT=0 D C1 Q:+ORY<1 I ORCNT>0 W:'($D(TEAM)#2) !!,ORCT_" Patients added, "_ORCNT_" total"
|
---|
101 | I $G(DUOUT)=1!(ORCNT'>0) W:'($D(TEAM)#2) !!,"No patients added.",! G END^ORLP0
|
---|
102 | D SEQ^ORLP0
|
---|
103 | Q
|
---|
104 | ;
|
---|
105 | C1 ; DBIA 3869
|
---|
106 | K DIC
|
---|
107 | S DIC("A")="Select CLINIC: ",ORCT=0,ORCSTRT="",ORCEND="",ORCLIN=""
|
---|
108 | S DIC("S")="I $P(^(0),""^"",3)=""C"""
|
---|
109 | D LOC
|
---|
110 | K DIC
|
---|
111 | S ORY=Y
|
---|
112 | Q:+Y<1
|
---|
113 | S ORCLIN=+Y,ORDEF="C"
|
---|
114 | W:$L(ORCSTRT) !,"Starting date: "
|
---|
115 | S %DT=$S($L(ORCSTRT):"E",1:"AE"),X=$S($L(ORCSTRT):ORCSTRT,1:"")
|
---|
116 | S:'$L(ORCSTRT) %DT("A")="Patient Appointment STARTING DATE: ",%DT("B")="T"
|
---|
117 | D ^%DT
|
---|
118 | I Y<0 S OREND=1 Q
|
---|
119 | S ORCSTRT=Y
|
---|
120 | D DD^%DT
|
---|
121 | W:$L(ORCEND) !,"Ending date: "
|
---|
122 | S %DT=$S($L(ORCEND):"E",1:"AE"),X=$S($L(ORCEND):ORCEND,1:"")
|
---|
123 | S:'$L(ORCEND) %DT("A")="Patient Appointment ENDING DATE: ",%DT("B")=Y
|
---|
124 | D ^%DT
|
---|
125 | I Y<0 S OREND=1 Q
|
---|
126 | S ORCEND=$P(Y,".")_.5
|
---|
127 | I ORCEND<ORCSTRT S ORCTMP=ORCEND,ORCEND=ORCSTRT,ORCSTRT=ORCTMP K ORCTMP
|
---|
128 | W !,"Working..."
|
---|
129 | D PREF^ORLP0
|
---|
130 | S ORJ=ORCSTRT
|
---|
131 | N ORI,ORERR
|
---|
132 | K ^TMP($J,"SDAMA202","GETPLIST")
|
---|
133 | D GETPLIST^SDAMA202(+ORCLIN,"1;4","",ORCSTRT,ORCEND) ;DBIA 3869
|
---|
134 | S ORERR=$$CLINERR^ORQRY01
|
---|
135 | I $L(ORERR) W !,ORERR S ORY=-1,ORCNT=0 Q
|
---|
136 | S ORI=0
|
---|
137 | F S ORI=$O(^TMP($J,"SDAMA202","GETPLIST",ORI)) Q:ORI<1 D ;DBIA 3869
|
---|
138 | . S ORJ=+$G(^TMP($J,"SDAMA202","GETPLIST",ORI,1))
|
---|
139 | . S ORVP=+$G(^TMP($J,"SDAMA202","GETPLIST",ORI,4))_";DPT("
|
---|
140 | . I ORJ,ORVP S ORX="" D PR1^ORLA1(ORVP,OROPREF)
|
---|
141 | K ^TMP($J,"SDAMA202","GETPLIST")
|
---|
142 | I '$L($O(^XUTL("OR",$J,"ORLP",0))) W *7,!,"No patients found!"
|
---|
143 | Q
|
---|
144 | ;
|
---|
145 | LOC ;Hospital Location Look-up For Clinics
|
---|
146 | ; Copied from ORUTL and modified by PKS.
|
---|
147 | N DIC,ORIA,ORRA
|
---|
148 | S DIC=44,DIC(0)="AEQM"
|
---|
149 | ; Setting of DIC("S") modified by PKS:
|
---|
150 | S DIC("S")="I $D(X),$P(^SC(+Y,0),U,3)=""C"",$$ACTLOC^ORWU(+Y)=1"
|
---|
151 | D ^DIC
|
---|
152 | I Y<1 Q
|
---|
153 | I $D(^SC(+Y,"I")) S ORIA=+^("I"),ORRA=$P(^("I"),U,2)
|
---|
154 | I $S('$D(ORIA):0,'ORIA:0,ORIA>DT:0,ORRA'>DT&(ORRA):0,1:1) W $C(7),!," This location has been inactivated.",! K ORL G LOC
|
---|
155 | Q
|
---|
156 | ;
|
---|