1 | SCMCTSK9 ;;BP/DMR - PCMM ; 18 Apr 2003 9:36 AM
|
---|
2 | ;;5.3;Scheduling;**297,526**;AUG 13, 1993;Build 8
|
---|
3 | Q
|
---|
4 | EXTKEY ;
|
---|
5 | N Y,% W @IOF,!,$G(SCDHD) D NOW^%DTC S Y=% W:$X>(IOM-40) ! W ?(IOM-40)
|
---|
6 | W $P("JAN^FEB^MAR^APR^MAY^JUN^JUL^AUG^SEP^OCT^NOV^DEC",U,$E(Y,4,5))_" " W:Y#100 $J(Y#100\1,2)_"," W Y\10000+1700 W:Y#1 " "_$E(Y_0,9,10)_":"_$E(Y_"000",11,12)
|
---|
7 | W ?(IOM-15),"PAGE: "_($G(DC)+1)
|
---|
8 | S Y="",$P(Y,"-",IOM)="" W !,Y,!!
|
---|
9 | W !,"Column Heading Explanation of column headings"
|
---|
10 | W !
|
---|
11 | W !,"Patient Name Name of patient scheduled to be inactivated from their primary care team and position/provider."
|
---|
12 | W !,"SSN SSN number."
|
---|
13 | W !,"Institution Institution name, previously called Division, in which patient receives primary care."
|
---|
14 | W !,"PC Team The patient's assigned Primary Care team in PCMM."
|
---|
15 | W !,"Provider/ Name of Associate Primary Care Provider (AP) assigned to patient, if there is one."
|
---|
16 | W !," Team Position The name of the team position to which the Associate Primary Care Provider (AP) is assigned."
|
---|
17 | W !,"Current Preceptor/ Name of Primary Care Provider (PCP) assigned to patient. Every Primary Care patient should"
|
---|
18 | W !," Team Position be assigned to one PCP. The name of the team position to which the Primary Care Provider (PCP)"
|
---|
19 | W !," is assigned."
|
---|
20 | W !,"Date Scheduled for Date patient will be inactivated from PCMM and their Primary Care team and provider/position unless"
|
---|
21 | W !," Inactivation they have a completed outpatient appointment encounter with their current PCP or AP before this date."
|
---|
22 | W !," Note: There is a patient reassignment option, which allows an inactivated patient to be reactivated"
|
---|
23 | W !," to their previous Primary Care team and position if they return for care."
|
---|
24 | W !,"Reason for Extended The reason entered for extending the patient's time before inactivation from PC panels."
|
---|
25 | W !," Inactivation Entry of this field is in the PCMM GUI, Patient drop down menu, and the Extend Patient's Date for"
|
---|
26 | W !," Inactivation from PC Panels option."
|
---|
27 | Q
|
---|
28 | EXTCHUI ;roll n scroll option to extend a patient
|
---|
29 | N DA,DIC,DIE,DR,SCTM,SCARRAY,SCHIGH,SCX,V1
|
---|
30 | S SCTM=0 F D P1 Q:+SCTM<1
|
---|
31 | Q
|
---|
32 | P1 D GCL S DIC="^SCTM(404.51,",DIC(0)="AEQMZ" D ^DIC S SCTM=+Y Q:+SCTM<1
|
---|
33 | W !,"Searching...",!
|
---|
34 | D EXTEND(.SCARRAY,SCTM)
|
---|
35 | I $G(^TMP("SCMCTSK9","OUT",$J,1))="<DATA>" W !,"No Patients to Extend..." D GCL Q
|
---|
36 | S SCHIGH=$O(^TMP("SCMCTSK9","OUT",$J,9999999),-1)
|
---|
37 | S SCX=999 F Q:(SCX="^")!(SCX="") D P2
|
---|
38 | Q
|
---|
39 | P2 W !,"Select From: ",!!
|
---|
40 | S V1=0 F S V1=$O(^TMP("SCMCTSK9","OUT",$J,V1)) Q:'V1 D
|
---|
41 | . W $J(V1,2)_" ",$P(^TMP("SCMCTSK9","OUT",$J,V1),U,3),!
|
---|
42 | F W !,"Select 1-",SCHIGH," " R SCX:DTIME Q:(SCX="^")!(SCX="")!((SCX'>SCHIGH)&(SCX>0)) D
|
---|
43 | . I $E(SCX,1)="?" W !,"Select 1-",SCHIGH," or '^' to exit" Q
|
---|
44 | . I (+SCX<1)!(+SCX>SCHIGH) W !,"Select a valid number" Q
|
---|
45 | I SCX'?1.9N Q
|
---|
46 | S DIE="^SCPT(404.43,"
|
---|
47 | S DA=$P(^TMP("SCMCTSK9","OUT",$J,SCX),U)
|
---|
48 | S DR=".13//DO NOT EXTEND;S Y=.16 I X=4 S Y=.14;.14;.16////"_DUZ
|
---|
49 | D ^DIE
|
---|
50 | Q
|
---|
51 | EXTEND(DATA,SCTEAM) ;return list of patients to inactivate in next 60 days
|
---|
52 | ;IEN^POSITION^PATIENT^EXTENDED^REASON
|
---|
53 | K DATA,SCDATA,SDDATA
|
---|
54 | N CNT,I,J,K,A,POSA S CNT=1 S SCTEAM=$G(SCTEAM),^TMP("SCMCTSK9","OUT",$J,1)="<DATA>"
|
---|
55 | D DT^DICRW S X="T-9M" D ^%DT S STDT=Y
|
---|
56 | S X="T-21M" D ^%DT S TYDT=+Y ;MAKE THIS 21
|
---|
57 | S POSA=""
|
---|
58 | F S POSA=$O(^SCTM(404.57,"ATMPOS",+SCTEAM,POSA)) Q:POSA="" D
|
---|
59 | .F POS=0:0 S POS=$O(^SCTM(404.57,"ATMPOS",+SCTEAM,POSA,POS)) Q:'POS D POS
|
---|
60 | EX1 S A="^TMP(""SCMCTSK9"",$J)",CNT=1 F S A=$Q(@A) Q:A=""!($P(A,",",2)'=$J) D
|
---|
61 | .S B=@A
|
---|
62 | .S ^TMP("SCMCTSK9","OUT",$J,CNT)=(+$P(B,U,3))_U_$TR($P($P(A,"(",4),","),$C(34))_U_$TR($P(B,U,2),$C(34))_U_$P($G(^SCPT(404.43,+$P(B,U,3),0)),U,13)_U_$P($G(^SCPT(404.43,+$P(B,U,3),0)),U,14)
|
---|
63 | .S CNT=CNT+1
|
---|
64 | Q
|
---|
65 | POS I '$$DATES^SCAPMCU1(404.59,POS) Q ;Not an active position
|
---|
66 | I '$P($G(^SCTM(404.57,POS,0)),U,4) Q ;Not PC
|
---|
67 | ;get patients for this position
|
---|
68 | K ^TMP("SC TMP LIST",$J)
|
---|
69 | S X=$$PTTP^SCAPMC(POS,"",.SCLIST,.SCERR)
|
---|
70 | S J=0 F S J=$O(@SCLIST@(J)) Q:'J S SCDATA=^(J) D
|
---|
71 | .N J I $P(SCDATA,U,4)>STDT Q
|
---|
72 | .I '$P($G(^SCPT(404.43,+$P(SCDATA,U,3),0)),U,5) Q
|
---|
73 | .I '$P($G(^SCPT(404.43,+$P(SCDATA,U,3),0)),U,15) Q
|
---|
74 | .S DFN=+SCDATA
|
---|
75 | .D SEEN Q:SEEN
|
---|
76 | .S ^TMP("SCMCTSK9",$J,$P($G(^SCTM(404.57,POS,0)),U),$P(SCDATA,U,2),+SCDATA)=SCDATA,CNT=CNT+1
|
---|
77 | K @SCLIST
|
---|
78 | Q
|
---|
79 | SEEN ;was patient seen
|
---|
80 | S SEEN=0
|
---|
81 | N SCPRO,I,PRECP,PRO
|
---|
82 | N X,SCPRDTS,SCPR
|
---|
83 | ;get list of providers for this position
|
---|
84 | S PROV=+$$GETPRTP^SCAPMCU2(POS,DT) S SCPRO(+PROV)=""
|
---|
85 | S SCPRDTS("BEGIN")=TYDT
|
---|
86 | S SCPRDTS("END")=DT
|
---|
87 | S X=$$PRTP^SCAPMC(POS,"SCPRDTS","SCPR")
|
---|
88 | F I=0:0 S I=$O(SCPR(I)) Q:'I S SCPRO(+SCPR(I))=""
|
---|
89 | S PRECP=0 I $G(PREC),$G(PREC)'=POS S PRECP=+$$GETPRTP^SCAPMCU2(PREC,DT),SCPRO(+PRECP)=""
|
---|
90 | F I=TYDT:0 S I=$O(^SCE("ADFN",DFN,I)) Q:'I D Q:SEEN
|
---|
91 | .F J=0:0 S J=$O(^SCE("ADFN",DFN,I,J)) Q:'J D Q:SEEN
|
---|
92 | ..N VISIT S VISIT=+$P($G(^SCE(J,0)),U,5) I $G(^SCE(J,0))<$G(TYDT) Q
|
---|
93 | ..F PRO=0:0 S PRO=$O(SCPRO(PRO)) Q:'PRO D Q:SEEN
|
---|
94 | ...I $D(^SDD(409.44,"AO",J,$G(PRO))) S SEEN=1 Q ;GET THE PROVIDERJ
|
---|
95 | ...N V F V=0:0 S V=$O(^AUPNVPRV("AD",VISIT,V)) Q:'V I PRO=(+$G(^AUPNVPRV(V,0))) S SEEN=1 Q
|
---|
96 | Q
|
---|
97 | GCL ;clean temp globals
|
---|
98 | K ^TMP("SCMCTSK9",$J)
|
---|
99 | K ^TMP("SCMCTSK9","OUT",$J)
|
---|
100 | Q
|
---|