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

APCHSM.m

Go to the documentation of this file.
  1. APCHSM ; IHS/CMI/LAB - HEALTH SUMMARY (MULTIPLE PATIENTS) ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ; IHS/TUCSON/VJM - SELPT sub-rtn: change READ to a DIR call. Added
  1. ; the LIST sub-rtn which is called from SELPT
  1. ;
  1. W !!,"* * * B A T C H H E A L T H S U M M A R Y P R O G R A M * * *",!!
  1. S ^DISV($I,"^%ZIS(1,")=$O(^%ZIS(1,"C",$I,"")) ; SET DEFAULT OUTPUT DEVICE
  1. ;
  1. SELTYP K DIC S DIC=9001015,DIC("A")="Select health summary type: ",DIC(0)="AEQM"
  1. S X="ADULT REGULAR"
  1. I $D(^DISV(DUZ,"^APCHSCTL(")) S Y=^("^APCHSCTL(") I $D(^APCHSCTL(Y,0)) S X=$P(^(0),U,1)
  1. S DIC("B")=X
  1. D ^DIC I Y>0 S APCHSTYP=+Y,APCHSMI=0 K APCHSPAT D SELPT W ! G SELTYP
  1. G END
  1. ;
  1. SELPT ;
  1. F D Q:U[X
  1. .S DIR(0)="FOU",DIR("A")="Select patient(s)"
  1. .S DIR("?",1)=" Enter a patient's HRN or name (HORSECHIEF,JOHN DOE or HORSECHIEF,JOHN).",DIR("?",2)=""
  1. .S DIR("?",3)=" A template can also be selected by typing a ""["" followed by",DIR("?",4)=" the template name."
  1. .S DIR("?",5)="",DIR("?")=" ""[??"" will list your templates.",DIR("??")="^D LIST^APCHSM"
  1. .D ^DIR K DIR
  1. .S:X[U X=U
  1. .I $E(X)="[" D Q
  1. .. S X=$E(X,2,$L(X))
  1. ..; K DIC S DIC=.401,DIC(0)=$S(X="":"AEMQ",1:"EMQ"),DIC("S")="I ($P(^(0),U,5)=$G(DUZ))!(DUZ(0)=""@"")" D ^DIC
  1. .. K DIC S DIC=.401,DIC(0)=$S(X="":"AEMQ",1:"EMQ"),DIC("S")="I $P(^(0),U,4)=2!($P(^(0),U,4)=9000001),($P(^(0),U,5)=$G(DUZ))!(DUZ(0)=""@"")" D ^DIC
  1. .. I Y>0 D
  1. ... S APCHSPAT=0,Y=+Y F APCHMJ=0:1 S APCHSPAT=$O(^DIBT(Y,1,APCHSPAT)) Q:'APCHSPAT S APCHSMI=APCHSMI+1,APCHSPAT(APCHSMI)=APCHSPAT
  1. ... W !,APCHMJ,$S(APCHMJ=1:" entry",1:" entries")," added."
  1. .K DIC S DIC=9000001,DIC(0)="EQM" D ^DIC
  1. .I Y>0 S APCHSPAT=+Y,APCHSMI=APCHSMI+1,APCHSPAT(APCHSMI)=APCHSPAT
  1. W !
  1. I X=U K APCHSPAT W !,$C(7),"All selections cancelled!"
  1. Q:'$O(APCHSPAT(""))
  1. D SELDEV I APCHSMF="POP" S IO=IO(0) Q
  1. I APCHSMF="QUE" D QUE D ^%ZISC Q
  1. K ZTSK
  1. ;
  1. SUMLOOP ;ENTRY POINT
  1. S APCHSMI=0 F APCHSMQ=0:0 S APCHSMI=$O(APCHSPAT(APCHSMI)) Q:'APCHSMI S APCHSPAT=APCHSPAT(APCHSMI) D EN^APCHS
  1. D ^%ZISC
  1. ;
  1. END K APCHSPAT,APCHSTYP,APCHSM,APCHSMQ,APCHSMI,APCHSMF,APCHSMK,APCHMJ
  1. K APCHSALL,APCHSTAT,G,X,Y
  1. D EOJ^APCHS
  1. K AUPNPAT,AUPNDOB,AUPNDOD,AUPNSEX,AUPNDAYS
  1. K DIC
  1. Q
  1. ;
  1. SELDEV ; SELECT OUTPUT DEVICE
  1. K IOP,%ZIS S %ZIS="PQ" D ^%ZIS S APCHSMF=$S(POP:"POP",$D(IO("Q")):"QUE",1:"")
  1. I APCHSMF="" S ^DISV($I,"^%ZIS(1,")=$O(^%ZIS(1,"C",IO,""))
  1. Q
  1. ;
  1. QUE ;
  1. K ZTSAVE F G="APCHSPAT(","APCHSTYP" S ZTSAVE(G)=""
  1. S ZTRTN="SUMLOOP^APCHSM",ZTDESC="BATCH HEALTH SUMMARY",ZTIO=ION,ZTDTH="" ;IHS/CMI/LAB - ION
  1. D ^%ZTLOAD
  1. K ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE,ZTSK
  1. Q
  1. ;
  1. LIST ;"??" help list
  1. S APCHMK=0,APCHMJ=IOSL-3 F S APCHMK=$O(APCHSPAT(APCHMK)) Q:'APCHMK S APCHSPAT=APCHSPAT(APCHMK),X=$P(^AUPNPAT(APCHSPAT,0),U) D Q:APCHMJ<0 W !,?2,X
  1. . S APCHMJ=APCHMJ-1 Q:APCHMJ>0 S APCHMJ=IOSL-2
  1. . K DIR S DIR(0)="E" D ^DIR I 'Y K DIRUT,DUOUT,DTOUT S APCHMJ=-1
  1. . S X=" " K DIR Q
  1. K APCHMK
  1. Q