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

AMHPROB.m

Go to the documentation of this file.
  1. AMHPROB ; IHS/CMI/LAB - Display Problems and Notes ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;**2,5**;JUN 02, 2010;Build 18
  1. ;Called from data entry templates to display problems, AMHPAT must equal the patient DFN
  1. Q:'$G(AMHPAT)
  1. NEW AMHTC,AMHTCVD,AMHTDFN,AMHDFT,AMHTDLT,AMHDOI,AMHTDOO,AMHTDTM,AMHTDTN,AMHTF,AMHTFAC,AMHTFCN,AMHTFPP,AMHTICD,AMHTICL,AMHTILN
  1. NEW AMHTITE,AMHTN,AMHTNAB,AMHTNDF,AMHTNFL,AMHTNFP,AMHTNRQ,AMHTNSH,AMHTPBN,AMHTPLN,AMHTPNM,AMHTPRB,AMHTQ,AMHTTAT,AMHTVSC
  1. W !!,"PCC Problem List for ",$P(^DPT(AMHPAT,0),U),"."
  1. S AMHTCVD="S:Y]"""" Y=+Y,Y=$E(Y,4,5)_""/""_$E(Y,6,7)_""/""_$E(Y,2,3)"
  1. S AMHTTAT="A" D COMMON S AMHTTAT="I" D COMMON
  1. K AMHTCVD,AMHTQ,Y
  1. D PROBX
  1. W !,"Press any key to continue" R X:DTIME
  1. K X
  1. Q
  1. COMMON ;
  1. I '$D(^AUPNPROB("AC",AMHPAT)) W !,"********** No ",$S(AMHTTAT="A":"ACTIVE",1:"INACTIVE")," Problems on file for this Patient",! Q
  1. K AMHTDFT S AMHTNDF=0
  1. S AMHTFAC="" F AMHTQ=0:0 S AMHTFAC=$O(^AUPNPROB("AA",AMHPAT,AMHTFAC)) Q:'AMHTFAC D PROBSCH
  1. I AMHTNDF=0 W !,"********** No ",$S(AMHTTAT="A":"ACTIVE",1:"INACTIVE")," Problems on file for this Patient",! Q
  1. W !!,"******************",$S(AMHTTAT="A":" ACTIVE ",1:" INACTIVE "),"PROBLEMS AND NOTES ********************",!!
  1. S AMHTFPP="" F AMHTQ=0:0 S AMHTFPP=$O(AMHTDFT(AMHTFPP)) Q:AMHTFPP="" S AMHTDFN=AMHTDFT(AMHTFPP) D PROBDSP
  1. PROBX K AMHTDFT,AMHTNDF,AMHTFPP,AMHTFAC,AMHTPLN,AMHTPBN,AMHTDTM,AMHTDTN,AMHTPRB,AMHTTAT,AMHTNFP,AMHTNRQ,AMHTPNM,AMHTDFN,AMHTFCN,AMHTICD,AMHTICL,AMHTILN,AMHTN
  1. K AMHTNFL,AMHTNSH,AMHTNAB,AMHTVSC,AMHTITE
  1. Q
  1. PROBSCH ;
  1. S AMHTPRB="" F AMHTQ=0:0 S AMHTPRB=$O(^AUPNPROB("AA",AMHPAT,AMHTFAC,AMHTPRB)) Q:AMHTPRB="" S AMHTDFN=$O(^(AMHTPRB,"")) S:$P(^AUPNPROB(AMHTDFN,0),U,12)=AMHTTAT AMHTNDF=AMHTNDF+1,AMHTDFT(AMHTFAC_AMHTPRB)=AMHTDFN
  1. Q
  1. PROBDSP ;
  1. S AMHTN=^AUPNPROB(AMHTDFN,0)
  1. S AMHTNRQ=$P(AMHTN,U,5)
  1. S AMHTNRQ=$$GET1^DIQ(9000011,AMHTDFN,.05)
  1. S AMHTDOO=$P(AMHTN,U,13) I AMHTDOO]"" S Y=AMHTDOO X AMHTCVD S AMHTDOO=Y
  1. S AMHTITE=$P(AMHTN,U,6)
  1. D GETSITE
  1. S AMHTPNM=$P(AMHTN,U,7)
  1. S AMHTPNM=AMHTNAB_AMHTPNM
  1. S Y=$P(AMHTN,U,3) X AMHTCVD S AMHTDTM=Y
  1. S Y=$P(AMHTN,U,8) X AMHTCVD S AMHTDTN=Y
  1. S AMHTPLN=AMHTPNM_$E(" ",1,12-$L(AMHTPNM))_AMHTDTM
  1. W AMHTPLN,?22,$$VAL^XBDIQ1(9000011,AMHTDFN,.01)
  1. S AMHTICL=30,AMHTILN=48 D PRTICD
  1. ;D NOTEDSP
  1. Q
  1. NOTEDSP ; DISPLAY NOTES UNDER PROBLEM
  1. S AMHTNFP=0 F AMHTQ=0:0 S AMHTNFP=$O(^AUPNPROB(AMHTDFN,11,AMHTNFP)) Q:'AMHTNFP D DSPFACN
  1. Q
  1. DSPFACN ; DISPLAY NOTES FOR SELECTED FACILITY
  1. Q:$D(^AUPNPROB(AMHTDFN,11,AMHTNFP,11,0))'=1
  1. Q:$O(^AUPNPROB(AMHTDFN,11,AMHTNFP,11,0))=""
  1. S AMHTITE=^AUPNPROB(AMHTDFN,11,AMHTNFP,0) D GETSITE S AMHTFCN=AMHTNAB
  1. S AMHTNDF=0 F AMHTQ=0:0 S AMHTNDF=$O(^AUPNPROB(AMHTDFN,11,AMHTNFP,11,AMHTNDF)) Q:'AMHTNDF D DSPN ; ACC
  1. Q
  1. DSPN ; DISPLAY SINGLE NOTE
  1. S AMHTN=^AUPNPROB(AMHTDFN,11,AMHTNFP,11,AMHTNDF,0)
  1. Q:$P(AMHTN,U,4)="I"
  1. F AMHTQ=0:0 Q:$E(AMHTFCN)'=" " S AMHTFCN=$E(AMHTFCN,2,99)
  1. S AMHTDOI=$P(AMHTN,U,5) I AMHTDOI]"" S Y=AMHTDOI X AMHTCVD S AMHTDOI=Y
  1. W AMHTPNM,AMHTFCN,$P(AMHTN,U),?12,AMHTDOI,?24,$P(AMHTN,U,3),!
  1. K AMHTDOI
  1. Q
  1. ;
  1. PRTICD ;
  1. S:AMHTNRQ="" AMHTNRQ="<no narrative provided>" S AMHTICD=""
  1. S AMHTTXT=AMHTICD D PRTTXT
  1. Q
  1. ;
  1. PRTTXT ; GENERALIZED TEXT PRINTER
  1. S AMHTDLT=1,AMHTILN=80-AMHTICL-1
  1. I AMHTDOO]"" S AMHTNRQ=AMHTNRQ_" (ONSET: "_AMHTDOO_")"
  1. F AMHTQ=0:0 S:AMHTNRQ]""&(($L(AMHTNRQ)+$L(AMHTTXT)+2)<255) AMHTTXT=$S(AMHTTXT]"":AMHTTXT_"; ",1:"")_AMHTNRQ,AMHTNRQ="" Q:AMHTTXT="" D PRTTXT2
  1. K AMHTILN,AMHTDLT,AMHTF,AMHTC,AMHTTXT,AMHTDOO
  1. Q
  1. PRTTXT2 D GETFRAG W ?AMHTICL W AMHTF,! S AMHTICL=AMHTICL+AMHTDLT,AMHTILN=AMHTILN-AMHTDLT,AMHTDLT=0
  1. Q
  1. GETFRAG I $L(AMHTTXT)<AMHTILN S AMHTF=AMHTTXT,AMHTTXT="" Q
  1. F AMHTC=AMHTILN:-1:1 Q:$E(AMHTTXT,AMHTC)=" "
  1. S AMHTF=$E(AMHTTXT,1,AMHTC-1),AMHTTXT=$E(AMHTTXT,AMHTC+1,255)
  1. Q
  1. ;
  1. ;
  1. GETSITE ;
  1. S:AMHTITE="" AMHTITE="null"
  1. S %=$G(^AUTTLOC(AMHTITE,0))
  1. S AMHTNFL=$P(%,U),AMHTNFL=$S($D(^DIC(4,AMHTITE,0)):$P(^(0),U),1:"<"_AMHTITE_">")
  1. S AMHTNSH=$P(%,U,2) I AMHTNSH="" S AMHTNSH="<"_AMHTITE_">"
  1. S AMHTNAB=$J($P(%,U,7),4) I AMHTNAB="" S AMHTNAB="<"_AMHTITE_">"
  1. Q