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

AMHLENS.m

Go to the documentation of this file.
  1. AMHLENS ; IHS/CMI/LAB - add no show record ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;;MAY 14, 2010
  1. ;
  1. ;
  1. ;; ;
  1. START ; Write Header
  1. D EN^AMHEKL ; -- kill all vars before starting
  1. W:$D(IOF) @IOF
  1. F J=1:1:5 S X=$P($T(TEXT+J),";;",2) W !?80-$L(X)\2,X
  1. K X,J
  1. W !!
  1. D ^AMHLEIN ;Initialize vars, etc.
  1. GETTYPE ;EP
  1. S AMHADPTV=1
  1. I $G(AMHPATCE) W:$D(IOF) @IOF
  1. S AMHPTYPE=""
  1. W !,"Please enter the appropriate set of defaults to be used in Data entry.",!,"This applies to default clinic, location, community and program.",!
  1. S DIR(0)="S^M:MENTAL HEALTH DEFAULTS;S:SOCIAL SERVICES DEFAULTS",DIR("A")="Which set of defaults do you want to use in Data Entry" K DA D ^DIR K DIR
  1. I $D(DIRUT) D EOJ Q
  1. S AMHPTYPE=Y
  1. GETDATE ;EP - GET DATE OF ENCOUNTER
  1. S AMHDATE=""
  1. W !
  1. S AMHDATE="",DIR(0)="DO^:"_DT_":EPTX",DIR("A")="Enter ENCOUNTER DATE" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q:$D(DIRUT)
  1. S AMHDATE=Y
  1. ADDR ;EP
  1. I '$D(AMHDATE) W !!,"Date not entered." H 5 Q
  1. S AMHQUIT=0,AMHACTN=1
  1. S APCDOVRR=""
  1. S AMHQUIT=0,AMHACTN=1
  1. K DIC S DIC(0)="EL",DIC="^AMHREC(",DLAYGO=9002011,DIADD=1,X=AMHDATE,DIC("DR")=".03///^S X=DT;.19////"_DUZ_";.33////"_AMHVTYPE_";.28////"_DUZ_";.22///A;.21///^S X=DT"
  1. D FILE^DICN K DIC,DR,DIE,DIADD,DLAYGO,X,D0
  1. I Y=-1 W !!,$C(7),$C(7),"Behavioral Health Record is NOT complete!! Deleting Record.",! D PAUSE Q
  1. ;update multiple of user last update/date edited
  1. S AMHR=+Y
  1. S DIE="^AMHREC(",DA=AMHR,DR="5100///NOW",DR(2,9002011.5101)=".02////^S X=DUZ" D ^DIE K DIE,DA,DR
  1. D GETPAT D:'$G(AMHPAT) DEL Q:'$G(AMHPAT) S DA=AMHR,DR=".08////"_AMHPAT,DIE="^AMHREC(" D CALLDIE^AMHLEIN
  1. D GETPROV I '$$PPINT^AMHUTIL(AMHR) W !,"No PRIMARY PROVIDER entered!! - Required element" D DEL Q
  1. S DA=AMHR,DDSFILE=9002011,DR="[AMHNS ADD RECORD]" D ^DDS
  1. I $D(DIMSG) W !!,"ERROR IN SCREENMAN FORM!! ***NOTIFY PROGRAMMER***" S AMHQUIT=1 K DIMSG Q
  1. ;CHECK RECORD
  1. D GENPOV
  1. S AMHOKAY=0 D RECCHECK^AMHLE2 I AMHOKAY W !!,"Incomplete record!! Deleting record!!" D DEL Q
  1. I $G(AMHERROR) W !!,$C(7),$C(7),"PLEASE EDIT THIS RECORD!!",!!
  1. I $G(AMHADPTV) D REGULAR^AMHLEP2
  1. I $G(AMHADPTV) D OTHER^AMHLEA
  1. I $G(AMHADPTV) D PCCLINK^AMHLE2
  1. D EOJ
  1. Q
  1. GENPOV ;EPgenerate pov of 8
  1. S X=$O(^AMHPROB("B",8,"")) I X="" W !!,"ERROR - NO PROBLEM 8" Q
  1. S DIR(0)="S^1:FAILED APPOINTMENT/NO SHOW;2:PATIENT CANCELLED, RESCHEDULED;3:PATIENT CANCELLED, NOT RESCHEDULED;4:PROVIDER CANCELLED, RESCHEDULED;5:PROVIDER CANCELLED, NOT RESCHEDULED;6:DID NOT WAIT TO BE SEEN"
  1. S DIR("A")="Enter Appropriate POV code",DIR("B")="1" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) W !!,"ERROR - NO POV CODE" Q
  1. S X=$S(Y=1:8,Y=2:8.1,Y=3:8.11,Y=4:8.2,Y=5:8.21,Y=6:8.3,1:8)
  1. S X=$O(^AMHPROB("B",X,0))
  1. I 'X W !,"ERROR - NO POV CODE" Q
  1. S DIC="^AMHRPRO(",DIC("DR")=".02////"_$G(AMHPAT)_";.03////"_AMHR_";.04///"_$P(^AMHPROB(X,0),U,2),DIC(0)="MLQ",DIADD=1,DLAYGO=9002011.01 K DD,DO,D0 D FILE^DICN
  1. I Y=-1 W !!,"Creating POV Failed!",$C(7),$C(7) H 2
  1. D ^XBFMK K DIADD,DLAYGO
  1. Q
  1. GETPROV ;get providers
  1. W !!
  1. K DIR,DIC,DA,DTOUT,DIRUT,DUOUT,DIC,X,Y S DIR("B")=$P(^VA(200,DUZ,0),U),DIR(0)="9002011.02,.01O",DIR("A")="Enter PRIMARY PROVIDER" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q:$D(DIRUT)
  1. Q:Y=""
  1. S X=+Y,DIC("DR")=".02////"_$G(AMHPAT)_";.03////"_AMHR_";.04///PRIMARY",DIC="^AMHRPROV(",DIC(0)="MLQ",DIADD=1,DLAYGO=9002011.02 K DD,DO D FILE^DICN K DIC,DA,DO,DD,D0,DG,DH,DI,DIW,DIU,DIADD,DIE,DQ,DLAYGO
  1. I Y=-1 W !!,"Creating Primary Provider entry failed!!!",$C(7),$C(7) H 2
  1. Q
  1. GETPAT ;EP
  1. D ^XBFMK
  1. S AMHC=0
  1. GETPAT1 ;
  1. S AMHPAT=""
  1. S DIC="^AUPNPAT(",DIC(0)="AEMQ" D ^DIC K DIC,DA,DR,DLAYGO,DIADD
  1. I Y<0 K AMHC Q
  1. S AMHPAT=+Y
  1. S X=AMHPAT D ^AMHPEDIT I '$D(X) S AMHC=AMHC+1 G GETPAT1
  1. I $G(AUPNDOD)]"" W !!?10,"***** PATIENT'S DATE OF DEATH IS ",$$FMTE^XLFDT(AUPNDOD),!! H 2
  1. W !?25,"Ok" S %=1 D YN^DICN I %'=1 S AMHPAT="" K AMHC Q
  1. K AMHC
  1. Q
  1. DEL ;EP
  1. S AMHVDLT=$P(^AMHREC(AMHR,0),U,16)
  1. S AMHRDEL=AMHR
  1. D EN^AMHLEDEL
  1. W !,"Record deleted." D PAUSE
  1. Q
  1. PAUSE ;EP
  1. S DIR(0)="EO",DIR("A")="Press enter to continue...." D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q
  1. EOJ ;EOJ CLEANUP
  1. K AMHVTYPE,AMHVDLT
  1. ;D EN^AMHEKL
  1. D ^XBFMK
  1. Q
  1. TEXT ;
  1. ;;BH Data Entry Module
  1. ;;
  1. ;;***************************
  1. ;;* Enter a DNKA BH Visit *
  1. ;;***************************
  1. ;;
  1. Q