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

AMHLEGP1.m

Go to the documentation of this file.
  1. AMHLEGP1 ; IHS/CMI/LAB - GROUP FORM DATA ENTRY CREATE RECORD ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;**8**;JUN 02, 2010;Build 7
  1. ;
  1. ;
  1. ;loop and get patients until AMHNUM
  1. ;create mhss record calling DIE with [AMH CREATE RECORD]
  1. START ;EP - called from AMHLEGP
  1. S (AMHQUIT,AMHHIT)=0
  1. F AMHLEGPI=1:1:AMHNUM D PROCESS Q:AMHQUIT
  1. D EXIT
  1. Q
  1. PROCESS ;
  1. S AMHPAT=""
  1. W !
  1. S DIC="^AUPNPAT(",DIC(0)="AEMQ" D ^DIC K DIC
  1. S AMHPAT=+Y
  1. I Y<0 D ERROR Q:AMHQUIT
  1. I +AMHPAT<0 G PROCESS
  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 G:%'=1 PROCESS
  1. S AMHPAT=+Y
  1. I AMHPAT,'$$ALLOWP^AMHUTIL(DUZ,AMHPAT) D NALLOWP^AMHUTIL D PAUSE^AMHLEA G PROCESS
  1. S AMHHIT=AMHHIT+1
  1. CREATE ;create mhss record
  1. S AMHACTN=1
  1. W !!,"Creating new record for ",$P(^DPT(AMHPAT,0),U),"." K DD,D0,DO,DIC,DA,DR S DIC("DR")="",DIC(0)="EL",DIC="^AMHREC(",DLAYGO=9002011,DIADD=1,X=AMHDATE 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,^XBFMK Q
  1. S (DA,AMHR)=+Y,AMHAWIXX="A",DIE="^AMHREC(",DR="[AMH ADD RECORD NO INTERACT]" D CALLDIE^AMHLEIN K AMHAWIXX
  1. I $D(Y) W !!,"ERROR -- Incomplete record!! Deleting record!!" D DEL Q
  1. S DA=AMHR,DIE="^AMHREC(",DR="1117////"_$$HL^AMHUTIL2($$VALI^XBDIQ1(9002011,AMHR,.02)) D ^DIE K DIE,DA,DR
  1. S AMHVTYPE=$P(^AMHREC(AMHR,0),U,33)
  1. PROV ;create provider entries
  1. S AMHX=0 F S AMHX=$O(AMHPROV(AMHX)) Q:AMHX'=+AMHX D
  1. .K DD,D0,DO,DIC,DA,DR S DIC="^AMHRPROV(",DIC(0)="EL",DLAYGO=9002011.02,DIADD=1,X=$P(AMHPROV(AMHX),U),DIC("DR")=".02////^S X=AMHPAT;.03////^S X=AMHR;.04///^S X=$P(AMHPROV(AMHX),U,2)" D FILE^DICN K DIC,DR,DIE,DIADD,DLAYGO,X,DO
  1. .I Y<0 W !!,"Creating provider record failed.!! Notify site manager!",!!
  1. POV ;create pov records
  1. S AMHX=0 F S AMHX=$O(AMHPOV(AMHX)) Q:AMHX'=+AMHX D
  1. .K DD,D0,DO,DIC,DA,DR S DIC="^AMHRPRO(",DIC(0)="EL",DLAYGO=9002011.01,DIADD=1,X=$P(AMHPOV(AMHX),U),DIC("DR")=".02////^S X=AMHPAT;.03////^S X=AMHR;.04////^S X=$P(AMHPOV(AMHX),U,2)" D FILE^DICN K DIC,DR,DIE,DIADD,DLAYGO,X,DO
  1. .I Y<0 W !!,"Creating pov record failed.!! Notify site manager!",!!
  1. S AMHOKAY=0 D RECCHECK^AMHLE2 I AMHOKAY W !,"Incomplete record!! Deleting record!!" D DEL Q
  1. D EP2^AMHLEPOV
  1. CPT ;
  1. S AMHX=0 F S AMHX=$O(AMHCPT(AMHX)) Q:AMHX'=+AMHX D
  1. .K DD,D0,DO,DIC,DA,DR S DIC="^AMHRPROC(",DIC(0)="EL",DLAYGO=9002011.04,DIADD=1,X=$P(AMHCPT(AMHX),U),DIC("DR")=".02////^S X=AMHPAT;.03////^S X=AMHR" D FILE^DICN K DIC,DR,DIE,DIADD,DLAYGO,X,DO
  1. .I Y<0 W !!,"Creating cpt record failed.!! Notify site manager!",!!
  1. EDUC ;
  1. S AMHX=0 F S AMHX=$O(AMHEDUC(AMHX)) Q:AMHX'=+AMHX D
  1. .K DD,D0,DO,DIC,DA,DR S DIC="^AMHREDU(",DIC(0)="EL",DLAYGO=9002011.05,DIADD=1
  1. .S X=$P(AMHEDUC(AMHX),U),DIC("DR")=".02////^S X=AMHPAT;.03////^S X=AMHR;.04///"_$P(AMHEDUC(AMHX),U,2)_";.05///G;.06///"_$P(AMHEDUC(AMHX),U,3)_";.07///"_$P(AMHEDUC(AMHX),U,4)_";.08///4;1101///"_$P(AMHEDUC(AMHX),U,5)
  1. .D FILE^DICN K DIC,DR,DIE,DIADD,DLAYGO,X,DO
  1. .I Y<0 W !!,"Creating PT ED record failed.!! Notify site manager!",!!
  1. W !
  1. SOAP ;
  1. W ! S DIE="^AMHREC(",DR=$S($P(^AMHSITE(DUZ(2),0),U,16):"3101;8101",1:"8101"),DA=AMHR D CALLDIE^AMHLEIN
  1. ;DO PCC LINK
  1. D PCCLINK^AMHLE2
  1. S AMHLEGP("RECS ADDED",AMHHIT)=AMHR
  1. Q
  1. EXIT ;clean up and exit
  1. K DIC,DR,DA,X,Y,DIU,DIU,D0,DO,DI
  1. K AMHHIT,AMHX
  1. K DIR,X,Y,DIC,DR,DA,D0,DO,DIZ,D
  1. Q
  1. ERROR ;
  1. W !!,$C(7),$C(7),"You have NOT completed entry of all of the ",AMHNUM," patients!!",!,"This means that you MUST enter each of the remaining visits individually,",!,"using ",AMHTIME\AMHNUM," minutes activity time for each patient.",!!!
  1. S DIR(0)="Y",DIR("A")="Are you sure you want to QUIT this group entry",DIR("B")="N" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) S AMHQUIT=1 Q
  1. I Y S AMHQUIT=1 Q
  1. Q
  1. INFORM ;EP
  1. W:$D(IOF) @IOF
  1. D TERM^VALM0
  1. W !!,IORVON,"The GRP option will be deactivated in the next application release.",!,"Users are encouraged to begin utilizing the option GP Group Form Data",!,"Entry Using Group Definition.",IORVOFF
  1. D PAUSE
  1. W !!,"This is the GROUP Data Entry Option: You will be asked to enter the total",!,"number of visits , the total Activity Time for ALL Patients listed on the",!,"Group Form,"
  1. W "and all other pertinent information required for a visit.",!!
  1. W " .....You MUST complete ALL entries prior to leaving this option.....",!
  1. Q
  1. XIT ;EP
  1. K AMHDATE,AMHLOC,AMHPROG,AMHPROV,AMHCOMM,AMHACT,AMHCONT,AMHPOVS,AMHPOVP,AMHC,AMHPOV,AMHNARR,AMHTIME,AMHNUM,AMHPOVP,AMHBEEP,AMHGOT,AMHLPCC,AMHVISIT,AMHLEGPI,AMHLEIN,AMHOKAY,AMHPAT,AMHQUIT,AMHREC,AMHDASH,AMHBT
  1. K AMHR,AMHACTN,AMHNUM,AMHCLN,AMHTOD,AMHLEGP,AMHPTYPE,APCDOVRR,AMHOL,AMHGROUP
  1. K AMHHRN,AMHL,AMHLPCCT,AMHR0,AMHTICL,AMHTNRQ,AMHTQ,AMHTTXT
  1. D KILL^AUPNPAT
  1. Q
  1. PAUSE ;
  1. S DIR(0)="EO",DIR("A")="Press enter to continue...." D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q
  1. DEL ;
  1. S AMHRDEL=AMHR
  1. D EN^AMHLEDEL
  1. D PAUSE
  1. Q