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

APCHPRE.m

Go to the documentation of this file.
  1. APCHPRE ;IHS/CMI/GRL Patient Health Summary - Pre Visit[ 02/11/2005 11:05 PM ]
  1. ;;2.0;IHS RPMS/PCC Health Summary;**14**;JUN 24, 1997
  1. ;
  1. EN ;
  1. Q ;NOT READY YET
  1. W:$D(IOF) @IOF
  1. W !!,$$CTR("*** Print Patient Medical Handout ***"),!!
  1. K DIC S DIC="^AUPNPAT(",DIC(0)="AEMQ" D ^DIC K DIC
  1. I Y=-1 D EXIT Q
  1. S DFN=+Y
  1. W !
  1. ZIS ;
  1. W ! S DIR(0)="S^P:PRINT Output;B:BROWSE Output on Screen",DIR("A")="Do you wish to",DIR("B")="P" K DA D ^DIR K DIR
  1. I $D(DIRUT) D EXIT Q
  1. S APCHOPT=Y
  1. I Y="B" D BROWSE,EXIT Q
  1. S XBRP="PRINT^APCHPRE",XBRC="",XBRX="EXIT^APCHPRE",XBNS="APCH;DFN"
  1. D ^XBDBQUE
  1. D EXIT
  1. Q
  1. BROWSE ;
  1. S XBRP="VIEWR^XBLM(""PRINT^APCHPRE"")"
  1. S XBRC="",XBRX="EXIT^APCHPRE",XBIOP=0 D ^XBDBQUE
  1. Q
  1. EXIT ;
  1. D EN^XBVK("APCH")
  1. D ^XBFMK
  1. Q
  1. S(Y,F,C,T) ;set up array
  1. I '$G(F) S F=0
  1. I '$G(T) S T=0
  1. NEW %,X
  1. ;blank lines
  1. F F=1:1:F S X="" D S1
  1. S X=Y
  1. I $G(C) S L=$L(Y),T=(80-L)/2 D D S1 Q
  1. .F %=1:1:(T-1) S X=" "_X
  1. F %=1:1:T S X=" "_Y
  1. D S1
  1. Q
  1. S1 ;
  1. S %=$P(^TMP("APCHPHS",$J,"PHS",0),U)+1,$P(^TMP("APCHPHS",$J,"PHS",0),U)=%
  1. S ^TMP("APCHPHS",$J,"PHS",%)=X
  1. Q
  1. PRINT ;
  1. OUTPUT S APCHSCVD="S:Y]"""" Y=+Y,Y=$E(Y,4,5)_""/""_$S($E(Y,6,7):$E(Y,6,7)_""/"",1:"""")_$E(Y,2,3)"
  1. K ^TMP("APCH",$J)
  1. S APCHSPAT=DFN
  1. D EP^APCHPRE1(DFN) ;gather up data
  1. W ;write out array
  1. W:$D(IOF) @IOF
  1. K APCHQUIT
  1. W !,"********** Patient Medical Handout ********** ["_$P(^VA(200,DUZ,0),U,2)_"] "_$$FMTE^XLFDT(DT)_" **********"
  1. S APCHX=0 F S APCHX=$O(^TMP("APCHPHS",$J,"PHS",APCHX)) Q:APCHX'=+APCHX!($D(APCHQUIT)) D
  1. .I $Y>(IOSL-3) D HEADER Q:$D(APCHQUIT)
  1. .W !,^TMP("APCHPHS",$J,"PHS",APCHX)
  1. .Q
  1. I $D(APCHQUIT) S APCHSQIT=1
  1. D EOJ
  1. Q
  1. ;
  1. EOJ ;
  1. K ^TMP("APCHPHS",$J)
  1. K APCHX,APCHQUIT,APCHY,APCHSDFN,APCHSBEG,APCHSTOB,APCHSUPI,APCHSED,APCHTOBN,APCHTOB,APCHSPAT
  1. K APCHLFGV,APCHLFGD,APCHLGLV,APCHLGLD,APCHLFOB,APCHLBE,APCHLCOL,APCHLSIG,APCHSCRN,APCHCOLO
  1. K APCHPNV,APCHPND,APCHMNV,APCHMND,APCHIMMN,APCHIMMT,APCHICTR,APCHI,APCHIMDU,APCHIMM,APCHLDRE
  1. K APCHC,APCHOPT,APCHSCVD
  1. K N,%,T,F,X,Y,B,C,E,F,H,L,N,P,T,W
  1. Q
  1. I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S APCHQUIT="" Q
  1. HEAD1 ;
  1. W:$D(IOF) @IOF
  1. W !,"********** CONFIDENTIAL PATIENT INFORMATION ["_$P(^VA(200,DUZ,0),U,2)_"] "_$$FMTE^XLFDT(DT)_" **********",!!
  1. Q
  1. CTR(X,Y) ;EP - Center X in a field Y wide.
  1. Q $J("",$S($D(Y):Y,1:IOM)-$L(X)\2)_X
  1. ;----------
  1. USR() ;EP - Return name of current user from ^VA(200.
  1. Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
  1. ;----------
  1. LOC() ;EP - Return location name from file 4 based on DUZ(2).
  1. Q $S($G(DUZ(2)):$S($D(^DIC(4,DUZ(2),0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
  1. ;----------
  1. ;
  1. ;
  1. ;
  1. SDEP ;entry point from Scheduling Package with DFN defined
  1. Q ;;NOT READY YET
  1. I '$P($G(^APCCCTRL(DUZ(2),0)),U,14) ;set site parameter in PCC Master Control file has to be set
  1. I $$V2(DFN,$$FMTE^XLFDT(DT,-1)) Q ;IF PT HAD A VISIT IN PAST 120 DAYS DON'T BOTHER
  1. I SDAMEVT,$P($G(^SD(409.66,SDAMEVT,0)),U)="CHECK-IN" D
  1. . W !!,"Do you wish to print a Patient Medical Handout to give to the patient?"
  1. . W !,"If so, enter the device to print the handout on, otherwise enter a '^'."
  1. . S XBRP="PRINT^APCHPRE",XBRC="",XBRX="EXIT^APCHPRE",XBNS="APCH;DFN"
  1. . D ^XBDBQUE
  1. Q
  1. ;
  1. ;
  1. ;
  1. V2(P,EDATE) ;
  1. NEW APCHBDAT,A,B,C,G,V,X
  1. S APCHBDAT=$$FMADD^XLFDT(DT,-120)
  1. I '$D(^AUPNVSIT("AC",P)) Q ""
  1. K ^TMP($J,"A")
  1. S A="^TMP($J,""A"",",B=P_"^ALL VISITS;DURING "_$$FMTE^XLFDT(APCHBDAT)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(B,A)
  1. I '$D(^TMP($J,"A",1)) Q ""
  1. S (X,G)=0 F S X=$O(^TMP($J,"A",X)) Q:X'=+X!(G) S V=$P(^TMP($J,"A",X),U,5) D
  1. .Q:'$D(^AUPNVSIT(V,0))
  1. .Q:'$P(^AUPNVSIT(V,0),U,9)
  1. .Q:$P(^AUPNVSIT(V,0),U,11)
  1. .Q:"A"'[$P(^AUPNVSIT(V,0),U,7)
  1. .Q:$P(^AUPNVSIT(V,0),U,6)'=DUZ(2)
  1. .S T=$O(^ATXAX("B","APCH CLINIC STOP FOR PT HS",0))
  1. .S C=$P(^AUPNVSIT(V,0),U,8)
  1. .Q:$G(C)']""
  1. .Q:$D(^ATXAX(T,21,"B",C))
  1. .S G=G+1
  1. .Q
  1. Q $S(G<1:"",1:1)
  1. ;