[613] | 1 | SPNCTPAA ;WDE/SD PROMPTS FOR PAST EPISODE ;6/28/02 05:15
|
---|
| 2 | ;;2.0;Spinal Cord Dysfunction;**19**;01/02/1997
|
---|
| 3 | ;
|
---|
| 4 | ;
|
---|
| 5 | EN(SPNCT,SPNDFN) ;
|
---|
| 6 | ; spnw is the care start date
|
---|
| 7 | ;build utility with all care dates
|
---|
| 8 | K ^UTILITY($J),TMP($J)
|
---|
| 9 | S SPNRTN="SPNCTPAA"
|
---|
| 10 | D EN^SPNCTBLD(SPNCT,SPNDFN)
|
---|
| 11 | S (SPNW,SPNCDT,SPNCNT)=0
|
---|
| 12 | S SPNA=0 F S SPNA=$O(^UTILITY($J,SPNCT,SPNA)) Q:SPNA="" D
|
---|
| 13 | .S SPNB=0 S SPNB=$O(^UTILITY($J,SPNCT,SPNA,SPNB)) Q:SPNB=""
|
---|
| 14 | .S SPNC=0 S SPNC=$O(^UTILITY($J,SPNCT,SPNA,SPNB,SPNC)) Q:SPNC=""
|
---|
| 15 | .I $P($G(^SPNL(154.1,SPNC,8)),U,2)="" Q ;close date BLOCKS THE LAST FROM SHOWING
|
---|
| 16 | .S SPNCNT=SPNCNT+1
|
---|
| 17 | .I $P($G(^SPNL(154.1,SPNC,8)),U,2)'="" S ^TMP($J,SPNCNT)=SPNA_U_SPNC_U_$P(^SPNL(154.1,SPNC,8),U,2)
|
---|
| 18 | .S ^TMP($J,0)=SPNCNT_"^^^"_SPNCT ;number of episodes
|
---|
| 19 | .Q
|
---|
| 20 | I $D(^TMP($J))=0 D NONE D ZAP^SPNCTINA S SPNEXIT=1 G:SPNCT=1 RESTART^SPNCTINA G:SPNCT=2 RESTART^SPNCTOUA Q
|
---|
| 21 | S SPNEXIT=0
|
---|
| 22 | D DISP
|
---|
| 23 | RESTART ;
|
---|
| 24 | D PAST^SPNCTCUR(SPNCT,SPNCDT) ;spnct = care type spncdt = episode date
|
---|
| 25 | ;above call builds tmp with the outcomes
|
---|
| 26 | I SPNCT=1 S SPNHDR="Previous INPATIENT Episode of Care"
|
---|
| 27 | I SPNCT=2 S SPNHDR="Previous OUTPATIENT Episode of Care"
|
---|
| 28 | D EN^SPNCTSHW(SPNDFN)
|
---|
| 29 | I $D(SPNSEL) I SPNSEL="A" D:SPNCT=1 ADD^SPNCTINA D:SPNCT=2 ADD^SPNCTOUA I SPNEXIT'=1 I $D(SPNFD0) I $D(SPNFTYPE) D EDIT^SPNFEDT0
|
---|
| 30 | I SPNEXIT=1 D ZAP^SPNCTINA G:SPNCT=1 RESTART^SPNCTINA G:SPNCT=2 RESTART^SPNCTOUA Q
|
---|
| 31 | ;
|
---|
| 32 | I $D(SPNSEL) I +SPNSEL D
|
---|
| 33 | .S (SPNA,SPNFD0)=0
|
---|
| 34 | .S SPNA=$O(^TMP($J,SPNSEL,SPNA))
|
---|
| 35 | .S SPNFD0=$O(^TMP($J,SPNSEL,SPNA,SPNFD0))
|
---|
| 36 | .S SPNFTYPE=$P(^SPNL(154.1,SPNFD0,0),U,2) D EDIT^SPNFEDT0
|
---|
| 37 | .K SPNA,SPNB
|
---|
| 38 | .Q
|
---|
| 39 | D ZAP^SPNCTINA
|
---|
| 40 | D EN^SPNCTBLD(SPNCT,SPNDFN)
|
---|
| 41 | S SPNRTN="SPNCTPAA"
|
---|
| 42 | G RESTART
|
---|
| 43 | Q
|
---|
| 44 | ;
|
---|
| 45 | DISP ;display the episode dates and prompt for one
|
---|
| 46 | S SPNLINE=0,SPNEXIT=0
|
---|
| 47 | D HDR
|
---|
| 48 | S SPNA=0 F S SPNA=$O(^TMP($J,SPNA)) Q:SPNA="" D
|
---|
| 49 | .I SPNEXIT=1 D ZAP Q
|
---|
| 50 | .
|
---|
| 51 | .W !,SPNA,") ",$$FMTE^XLFDT($P($G(^TMP($J,SPNA)),U,1),"5DZP")
|
---|
| 52 | .W ?16,$$FMTE^XLFDT($P($G(^TMP($J,SPNA)),U,3),"5DZP")
|
---|
| 53 | .S SPNLINE=SPNLINE+1
|
---|
| 54 | .S SPNCNT=SPNA
|
---|
| 55 | .I SPNLINE>9 D SEL I SPNEXIT=0 D HDR
|
---|
| 56 | .I SPNEXIT=1 D ZAP Q
|
---|
| 57 | .Q
|
---|
| 58 | I SPNEXIT'=1 D SEL
|
---|
| 59 | Q
|
---|
| 60 | HDR ;
|
---|
| 61 | I SPNA=$P($G(^TMP($J,0)),U,1) S SPNEXIT=1 Q
|
---|
| 62 | I $D(IOF) W @IOF
|
---|
| 63 | W !?20,SPNHDR
|
---|
| 64 | S SPNSSN=$P($G(^DPT(SPNDFN,0)),U,9) S SPNSSN=$E(SPNSSN,1,3)_"-"_$E(SPNSSN,4,5)_"-"_$E(SPNSSN,6,9)
|
---|
| 65 | W !!,"Patient: ",$P(^DPT(SPNDFN,0),U,1)," SSN: ",SPNSSN
|
---|
| 66 | W !!," Date Opened",?16,"Date Closed"
|
---|
| 67 | W !,"---------------------------------------------------------------------------"
|
---|
| 68 | S SPNLINE=4
|
---|
| 69 | Q
|
---|
| 70 | SEL ;
|
---|
| 71 | W !,"---------------------------------------------------------------------------"
|
---|
| 72 | W !?2,"Select 1-",SPNCNT," of ",$P(^TMP($J,0),U,1)," to view/edit an episode of care, '^' to exit"
|
---|
| 73 | I SPNCNT'=$P(^TMP($J,0),U,1) W ", or" W !?2,"press Return to see the next group"
|
---|
| 74 | PICK R !?5,"Selection: ",SPNSEL:DTIME
|
---|
| 75 | I SPNSEL["?" W !?2,"Enter a number within the range allowed." G PICK
|
---|
| 76 | I SPNSEL=0 W !,$C(7),?10,"Selected number is outside the range." G PICK
|
---|
| 77 | I U'[SPNSEL,(SPNSEL'?1.5N) W !,$C(7) G PICK
|
---|
| 78 | I SPNSEL="" Q
|
---|
| 79 | I SPNSEL="^" S SPNEXIT=1 Q
|
---|
| 80 | I $D(^TMP($J,SPNSEL)) D
|
---|
| 81 | .S SPNEXIT=1
|
---|
| 82 | .S SPNCDT=$P($G(^TMP($J,SPNSEL)),U,1)
|
---|
| 83 | .Q
|
---|
| 84 | I $G(^TMP($J,SPNSEL))="" W !,$C(7),?10,"Selected number is outside the range." G PICK
|
---|
| 85 | Q
|
---|
| 86 | ZAP ;
|
---|
| 87 | Q
|
---|
| 88 | NONE ;No episodes on file for this patient
|
---|
| 89 | I $D(IOF) W @IOF
|
---|
| 90 | W !?20,$S(SPNCT=1:"Previous INPATIENT Episode(s) of Care",SPNCT=2:"Previous OUTPATIENT Episode(s) of Care",SPNCT=3:"ANNUAL EVALUATIONS",SPNCT=4:"CONTINUUM OF CARE",1:"UNKNOWN")
|
---|
| 91 | S SPNSSN=$P($G(^DPT(SPNDFN,0)),U,9) S SPNSSN=$E(SPNSSN,1,3)_"-"_$E(SPNSSN,4,5)_"-"_$E(SPNSSN,6,9)
|
---|
| 92 | W !!,"Patient: ",$P(^DPT(SPNDFN,0),U,1)," SSN: ",SPNSSN
|
---|
| 93 | W !,"------------------------------------------------------------------------"
|
---|
| 94 | W !!?5,"There are no Previous episodes for this patient"
|
---|
| 95 | R !!?10,"Press Return to continue...",SPNX:DTIME
|
---|
| 96 | Q
|
---|