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

AMHLEFP.m

Go to the documentation of this file.
  1. AMHLEFP ; IHS/CMI/LAB - PRINT ENCOUNTER RECORD ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;;MAY 14, 2010
  1. ;
  1. ;print individual forms for each member of group
  1. START ;
  1. I '$D(IOF) D HOME^%ZIS
  1. W @(IOF),!!
  1. W "********** ENCOUNTER FORM PRINT **********",!!
  1. W "This report will produce hard copy computer generated encounter forms.",!
  1. GETDATES ;
  1. BD ;get beginning date
  1. W !,"Please enter the date range for which forms should be printed.",!
  1. W ! S DIR(0)="D^:DT:EP",DIR("A")="Enter beginning Date" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G XIT
  1. S AMHBD=Y
  1. ED ;get ending date
  1. W ! S DIR(0)="D^"_AMHBD_":DT:EP",DIR("A")="Enter ending Date" S Y=AMHBD D DD^%DT D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G BD
  1. S AMHED=Y
  1. S X1=AMHBD,X2=-1 D C^%DTC S AMHSD=X S Y=AMHBD D DD^%DT S AMHBDD=Y S Y=AMHED D DD^%DT S AMHEDD=Y
  1. ;
  1. PAT ;one or all patients
  1. S AMHPAT=""
  1. S DIR(0)="Y",DIR("A")="Do you wish to print forms for one particular PATIENT",DIR("B")="Y" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. G:$D(DIRUT) GETDATES
  1. G:'Y PROV
  1. I Y=1 S DIC("A")="Enter PATIENT Name: ",DIC=9000001,DIC(0)="AEQMZ" D ^DIC G PAT:Y<0 S AMHPAT=+Y I '$$ALLOWP^AMHUTIL(DUZ,AMHPAT) D NALLOWP^AMHUTIL S AMHPAT="" G PAT
  1. PROV ;limit by provider
  1. K DIC
  1. S AMHPROV=""
  1. S DIR(0)="Y",DIR("A")="Do you wish to print forms for one particular PROVIDER",DIR("B")="Y" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. G:$D(DIRUT) GETDATES
  1. G:'Y FORMAT
  1. I Y=1 S DIC("A")="Enter PROVIDER Name: ",DIC=200,DIC(0)="AEQMZ" D ^DIC G PROV:Y<0 S AMHPROV=+Y
  1. FORMAT ;
  1. K AMHEFT,AMHEFTH
  1. D FORMDIR()
  1. I $D(DIRUT) G PROV
  1. S (AMHEFT,AMHEFTH)=Y
  1. I 'AMHPAT S AMHDOLOG=1
  1. ZIS ;EP
  1. S XBRC="COMP^AMHLEFP",XBRP="PRINT^AMHLEFP",XBNS="AMH",XBRX="XIT^AMHLEFP"
  1. D ^XBDBQUE
  1. ;
  1. XIT ;
  1. K ZTSK,Y,AMHBD,AMHED,IO("Q"),AMH80D,AMHBTH,AMHHRCN,AMHJOB,AMHLENG,AMHPCNT,AMHPG,AMHPROV,AMHX,DFN,DIC,DIR,DIRUT,DTOUT,DUOUT,XBNS,XBRC,XBRP,XBTX,D,AMHC,AMHEFT,AMHEFTH,AMHPAT
  1. K AMHPRNM,AMHPRNT,AMHNOLOG,AMHPROB,AMHPRV,AMHR,AMHRCNT,AMHRLOC,AMHSD,AMHTOT,AMHBDD,AMHBT,AMHEDD,AMHEDO,AMHBDO,AMHBT,AMHFOUND,AMHHIT,AMHID,AMHLINE,AMHP,AMHHRN,AMHODAT,AMHQUIT,AMHR0,AMHTICL,AMHTNRQ,AMHTQ,AMHTTXT
  1. K AMHDOLOG
  1. Q
  1. COMP ;EP - do nothing
  1. Q
  1. PRINT ; EP - print individual forms
  1. S AMHQUIT=0
  1. D ; Run by visit date
  1. S X1=AMHBD,X2=-1 D C^%DTC S AMHSD=X
  1. S AMHODAT=AMHSD_".9999" F S AMHODAT=$O(^AMHREC("B",AMHODAT)) Q:AMHODAT=""!((AMHODAT\1)>AMHED)!(AMHQUIT) D V1
  1. Q
  1. V1 ;
  1. S (AMHR,AMHRCNT)=0 F S AMHR=$O(^AMHREC("B",AMHODAT,AMHR)) Q:AMHR'=+AMHR!(AMHQUIT) I $D(^AMHREC(AMHR,0)),$P(^(0),U,2)]"",$P(^(0),U,3)]"" D I F D PRINT1
  1. .;CHECK PATIENT
  1. .S F=0
  1. .I '$$ALLOWVI^AMHUTIL(DUZ,AMHR) Q ;not allowed to see visits to this location
  1. .I AMHPAT,$P(^AMHREC(AMHR,0),U,8)'=AMHPAT Q
  1. .I '$$ALLOWP^AMHUTIL(DUZ,$P(^AMHREC(AMHR,0),U,8))
  1. .S F=1
  1. .;CHECK PROVIDER
  1. .S F=0
  1. .I 'AMHPROV S F=1 Q
  1. .S X=0,F=0 F S X=$O(^AMHRPROV("AD",AMHR,X)) Q:X'=+X I AMHPROV=$P(^AMHRPROV(X,0),U) S F=1
  1. Q
  1. PRINT1 ;
  1. W:$D(IOF) @IOF
  1. ;I AMHEFTH="B" S AMHEFT="S" D PRINT1^AMHLEFP2(AMHR) Q:AMHQUIT S AMHEFT="F" W:$D(IOF) @IOF D PRINT1^AMHLEFP2(AMHR) Q
  1. ;D PRINT1^AMHLEFP2(AMHR)
  1. S AMHEFT=AMHEFTH
  1. D ^AMHLEFP2
  1. Q
  1. ;
  1. FORMDIR(R) ;EP
  1. ;
  1. S R=$G(R)
  1. K DIR
  1. W !! S DIR(0)="S^F:Full Encounter Form;S:Suppressed Encounter Form;B:Both a Suppressed & Full;T:2 copies of the Suppressed;E:2 copies of the Full"
  1. ;S DIR(0)=DIR(0)_$S('$G(R):";W:Print a Copy of the Full Encounter Form without the Intake",$P($G(^AMHREC(R,0)),U,33)="I":";W:Print a Copy of the Full Encounter Form without the Intake",1:"")
  1. S DIR("B")=$S($P(^AMHSITE(DUZ(2),0),U,23)]"":$P(^AMHSITE(DUZ(2),0),U,23),1:"B")
  1. S DIR("A")="What type of form do you want to print" K DA D ^DIR K DIR
  1. Q