Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: APCHS82

APCHS82.m

Go to the documentation of this file.
  1. APCHS82 ; IHS/CMI/LAB - PART 4 OF APCHS -- SUMMARY PRODUCTION COMPONENTS ; 12 Sep 2011 5:35 PM
  1. ;;2.0;IHS PCC SUITE;**7**;MAY 14, 2009
  1. ;
  1. GOAL ; ******************** GOAL / STEPS *********
  1. AGOAL ;
  1. ; <SETUP>
  1. COMMON Q:'$D(^AUPNGOAL("AC",APCHSPAT)) ;no goals so don't bother
  1. K APCHSDFT S APCHSNDF=0
  1. S APCHSFAC="" F APCHSQ=0:0 S APCHSFAC=$O(^AUPNGOAL("AA",APCHSPAT,APCHSFAC)) Q:'APCHSFAC D GOALSCH
  1. X APCHSCKP G:$D(APCHSQIT) GOALX I 'APCHSNPG W ! X APCHSCKP G:$D(APCHSQIT) GOALX X:'APCHSNPG APCHSBRK
  1. I APCHSNDF=0 G COMMON1
  1. ; <DISPLAY>
  1. S APCHSTAT="" F S APCHSTAT=$O(APCHSDFT(APCHSTAT)) Q:APCHSTAT=""!($D(APCHSQIT)) D
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .I APCHSTAT="A" W "ACTIVE GOALS (ALL ACTIVE AND MAINTAINING GOALS)",!
  1. .I APCHSTAT="I" W !,"INACTIVE GOALS (ALL GOALS STOPPED OR MET IN PAST 12 MONTHS)",!
  1. .I APCHSTAT="N" W !,"GOALS NOT SET (LAST 5 OR 12 MONTHS)",!
  1. .S APCHSFPP="" F S APCHSFPP=$O(APCHSDFT(APCHSTAT,APCHSFPP)) Q:APCHSFPP=""!($D(APCHSQIT)) D
  1. ..S APCHSIEN=APCHSDFT(APCHSTAT,APCHSFPP) D GOALDSP
  1. COMMON1 ;
  1. GOALX K APCHSDFT,APCHSNDF,APCHSFPP,APCHSFAC,APCHSPLN,APCHSPBN,APCHSDTM,APCHSDTN,APCHSPRB,APCHSTAT,APCHSNFP,APCHSNRQ,APCHSPNM,APCHSIEN,APCHSFCN,APCHSICD,APCHSDOO
  1. K APCHSICL,APCHSILN,APCHSN,APCHSNAR,APCHSNTE
  1. K APCHSNFL,APCHSNSH,APCHSNAB,APCHSVSC,APCHSITE,Y,APCHCSVD,APCHSX
  1. Q
  1. GOALSCH ;
  1. S APCHSPRB="" F APCHSQ=0:0 S APCHSPRB=$O(^AUPNGOAL("AA",APCHSPAT,APCHSFAC,APCHSPRB)) Q:APCHSPRB="" D
  1. .S APCHSTAT=""
  1. .S APCHSIEN=$O(^(APCHSPRB,""))
  1. .Q:$P(^AUPNGOAL(APCHSIEN,0),U,11)="D" ;never display deleted goals
  1. .I $P(^AUPNGOAL(APCHSIEN,0),U,1)="S",$P(^AUPNGOAL(APCHSIEN,0),U,11)="A" S APCHSTAT="A"
  1. .I $P(^AUPNGOAL(APCHSIEN,0),U,1)="S",$P(^AUPNGOAL(APCHSIEN,0),U,11)="ME" S APCHSTAT="I"
  1. .I $P(^AUPNGOAL(APCHSIEN,0),U,1)="S",$P(^AUPNGOAL(APCHSIEN,0),U,11)="MA" S APCHSTAT="A"
  1. .I $P(^AUPNGOAL(APCHSIEN,0),U,1)="S",$P(^AUPNGOAL(APCHSIEN,0),U,11)="S" S APCHSTAT="I"
  1. .I $P(^AUPNGOAL(APCHSIEN,0),U,1)="N" S APCHSTAT="N"
  1. .I APCHSTAT="I",$$FMDIFF^XLFDT(DT,$P(^AUPNGOAL(APCHSIEN,0),U,3))>365 Q ;ONLY DISPLAY IF INACTIVE AND STARTED IN PAST 12 MOS
  1. .I APCHSTAT="" Q ;?? CAN'T FIGURE OUT IF ACTIVE OR INACTIVE
  1. .S APCHSNDF=APCHSNDF+1
  1. .S APCHSTAT(APCHSTAT)=$G(APCHSTAT(APCHSTAT))+1
  1. .I APCHSTAT="N",APCHSTAT(APCHSTAT)>5 Q ;ONLY DISPLAY LAST 5 OF Goals not set
  1. .S APCHSDFT(APCHSTAT,APCHSFAC_APCHSPRB)=APCHSIEN
  1. Q
  1. GOALDSP ;
  1. ; <SETUP GOAL>
  1. S APCHSN=^AUPNGOAL(APCHSIEN,0)
  1. D STEPDSP
  1. Q
  1. STEPDSP ;
  1. X APCHSCKP Q:$D(APCHSQIT)
  1. S APCHSFAC=$P(APCHSN,U,6)
  1. W !,"GOAL ID: "
  1. S X=$S($P(^AUTTLOC(APCHSFAC,0),U,7)]"":$J($P(^(0),U,7),4),1:"??")_$P(APCHSN,U,7)
  1. W X,?20,"Status: ",$S($P(APCHSN,U,1)="N":"GOAL NOT SET",1:$$VAL^XBDIQ1(9000093,APCHSIEN,.11)),!
  1. X APCHSCKP Q:$D(APCHSQIT)
  1. ;GOAL NAME
  1. K APCHWP
  1. D WP($$VAL^XBDIQ1(9000093,APCHSIEN,1101),70)
  1. S APCHX=0 F S APCHX=$O(APCHWP(APCHX)) Q:APCHX'=+APCHX!($D(APCHSQIT)) D
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W ?9,APCHWP(APCHX),!
  1. Q:$D(APCHSQIT)
  1. X APCHSCKP Q:$D(APCHSQIT)
  1. I $P(^AUPNGOAL(APCHSIEN,0),U,1)="S" S X="Start: "_$$DATE^APCDPG($P(APCHSN,U,9))_" Follow up: "_$$DATE^APCDPG($P(APCHSN,U,10))_" Modified: "_$$DATE^APCDPG($P(APCHSN,U,5))
  1. I $P(^AUPNGOAL(APCHSIEN,0),U,1)="N" S X="Created: "_$$DATE^APCDPG($P(APCHSN,U,3))
  1. W ?9,X,!
  1. S APCHX=0,Y="" F S APCHX=$O(^AUPNGOAL(APCHSIEN,10,APCHX)) Q:APCHX'=+APCHX S X=$P(^AUPNGOAL(APCHSIEN,10,APCHX,0),U,1),X=$P(^APCDTPGT(X,0),U,1) S Y=Y_X_" "
  1. K APCHWP
  1. D WP("Type: "_Y,59)
  1. S APCHX=0 F S APCHX=$O(APCHWP(APCHX)) Q:APCHX'=+APCHX!($D(APCHSQIT)) D
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W ?9,APCHWP(APCHX),!
  1. Q:$D(APCHSQIT)
  1. ;GOAL NAME
  1. K APCHWP
  1. D WP("Goal Name: "_$$VAL^XBDIQ1(9000093,APCHSIEN,1101),59)
  1. S APCHX=0 F S APCHX=$O(APCHWP(APCHX)) Q:APCHX'=+APCHX!($D(APCHSQIT)) D
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W ?9,APCHWP(APCHX),!
  1. Q:$D(APCHSQIT)
  1. ;REASON
  1. K APCHWP
  1. D WP("Reason: "_$$VAL^XBDIQ1(9000093,APCHSIEN,1201),59)
  1. S APCHX=0 F S APCHX=$O(APCHWP(APCHX)) Q:APCHX'=+APCHX!($D(APCHSQIT)) D
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W ?9,APCHWP(APCHX),!
  1. Q:$D(APCHSQIT)
  1. X APCHSCKP Q:$D(APCHSQIT)
  1. W ?9,"Provider: ",$$VAL^XBDIQ1(9000093,APCHSIEN,.08),!
  1. ;display steps
  1. STEP S APCHC=0 I $O(^AUPNGOAL(APCHSIEN,21,0)) D
  1. .S (APCHC,APCHL)=0,APCHSLR="" F S APCHL=$O(^AUPNGOAL(APCHSIEN,21,APCHL)) Q:APCHL'=+APCHL!($D(APCHSQIT)) D
  1. ..I $O(^AUPNGOAL(APCHSIEN,21,APCHL,11,0)) S APCHSLR=$P(^AUTTLOC($P(^AUPNGOAL(APCHSIEN,21,APCHL,0),U),0),U,7) D
  1. ...S APCHX=0,APCDC=0 F S APCHX=$O(^AUPNGOAL(APCHSIEN,21,APCHL,11,APCHX)) Q:APCHX'=+APCHX D
  1. ....Q:$P(^AUPNGOAL(APCHSIEN,21,APCHL,11,APCHX,0),U,9)="D"
  1. ....X APCHSCKP Q:$D(APCHSQIT)
  1. ....S APCDC=APCDC+1
  1. ....S X=APCHSLR_" Step#"_APCDC,$E(X,20)="Status: "_$$SS($P($G(^AUPNGOAL(APCHSIEN,21,APCHL,11,APCHX,0)),U,9))
  1. ....W ?3,X,!
  1. ....K APCHWP
  1. ....D WP($P($G(^AUPNGOAL(APCHSIEN,21,APCHL,11,APCHX,11)),U,1),70)
  1. ....S APCHY=0 F S APCHY=$O(APCHWP(APCHY)) Q:APCHY'=+APCHY!($D(APCHSQIT)) D
  1. .....X APCHSCKP Q:$D(APCHSQIT)
  1. .....W ?9,APCHWP(APCHY),!
  1. ....X APCHSCKP Q:$D(APCHSQIT)
  1. ....S X="Start: "_$$DATE^APCDPG($P(^AUPNGOAL(APCHSIEN,21,APCHL,11,APCHX,0),U,5))_" Follow Up: "_$$DATE^APCDPG($P(^AUPNGOAL(APCHSIEN,21,APCHL,11,APCHX,0),U,6)) ;_" Modified: "_$$DATE^APCDPG($P(^AUPNGOAL(APCHSIEN,21,APCHL,11,APCHX,0),U,8))
  1. ....W ?9,X,!
  1. ....X APCHSCKP Q:$D(APCHSQIT)
  1. ....S Y=$P(^AUPNGOAL(APCHSIEN,21,APCHL,11,APCHX,0),U,4) I Y S Y=$P(^APCDTPGT(Y,0),U,1)
  1. ....S P=$P(^AUPNGOAL(APCHSIEN,21,APCHL,11,APCHX,0),U,10) I P S P=$P(^VA(200,P,0),U,1)
  1. ....S X="Type: "_Y_" Provider: "_P
  1. ....W ?9,X,!
  1. DISPREVS ;
  1. Q:'$O(^AUPNGOAL(APCHSIEN,13,0)) ;no review/followups on file
  1. W ?3,"Followup/Reviews for GOAL : "_$S($P(^AUTTLOC(APCHSFAC,0),U,7)]"":$J($P(^(0),U,7),4),1:"??")_$P(APCHSN,U,7),!
  1. S (APCHC,APCHL)=0
  1. F S APCHL=$O(^AUPNGOAL(APCHSIEN,13,APCHL)) Q:APCHL'=+APCHL!($D(APCHSQIT)) D
  1. .S X="Date: "_$$DATE^APCDPG($P(^AUPNGOAL(APCHSIEN,13,APCHL,0),U))_" "_$P(^AUPNGOAL(APCHSIEN,13,APCHL,0),U,2)
  1. .K APCHWP
  1. .D WP(X,70)
  1. .S APCHY=0 F S APCHY=$O(APCHWP(APCHY)) Q:APCHY'=+APCHY!($D(APCHSQIT)) D
  1. ..X APCHSCKP Q:$D(APCHSQIT)
  1. ..W ?9,APCHWP(APCHY),!
  1. Q
  1. WP(X,R) ;EP - Entry point to print wp fields pass node in APCHWP
  1. NEW APCHG,APCHX,CNT
  1. K ^UTILITY($J,"W")
  1. S APCHX=0
  1. S DIWL=1,DIWR=R
  1. D ^DIWP
  1. S (Z,CNT)=0 F S Z=$O(^UTILITY($J,"W",DIWL,Z)) Q:Z'=+Z S CNT=CNT+1,APCHWP(CNT)=^UTILITY($J,"W",DIWL,Z,0)
  1. K DIWL,DIWR,DIWF,Z
  1. K ^UTILITY($J,"W"),APCHG,CNT,APCHX
  1. Q
  1. SS(%) ;
  1. I %="A" Q "ACTIVE"
  1. I %="MA" Q "MAINTAINING STEP"
  1. I %="ME" Q "STEP MET"
  1. I %="S" Q "STEP STOPPED"
  1. I %="D" Q "DELETED"
  1. Q "??"