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

APCDPE.m

Go to the documentation of this file.
  1. APCDPE ; IHS/CMI/LAB - NO DESCRIPTION PROVIDED 25-JUN-1996 ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;; ;
  1. EN ; -- main entry point for APCD VGEN SELECT ITEMS
  1. K DIR D ^XBFMK
  1. D EN^XBVK("APCD")
  1. D EN^VALM("APCDPE COHORT ENTRY MAIN")
  1. D CLEAR^VALM1
  1. D EN^XBVK("AUPN"),^XBFMK
  1. K APCDLIST,APCDSEL,APCDI,APCDC,APCDCRIT,APCDDISP,APCDHIGH,APCDCUT,APCDANS,VALMHDR,VALMCNT
  1. I '$D(APCDCSEL) W !!,"No items selected for entry!" Q
  1. D ^APCDPE1
  1. D EN^XBVK("APCD"),EN^XBVK("AUPN"),^XBFMK
  1. K ATXICD
  1. Q
  1. ;
  1. HDR ; -- header code
  1. S VALMHDR(1)=" "_$G(IORVON)_"PCC ITEM SELECTION MENU"_$G(IORVOFF)
  1. S VALMHDR(2)="The following data items can be selected to be entered on a PCC Visit."
  1. S VALMHDR(3)="Choose the items you wish to enter on each PCC Visit."
  1. Q
  1. ;
  1. ;
  1. INIT ; -- init variables and list array
  1. K APCDDISP,APCDSEL,APCDHIGH,APCDLIST
  1. S APCDHIGH=0,X=0 F S X=$O(^APCDTKW("FP",X)) Q:X'=+X S Y=$O(^APCDTKW("FP",X,"")),APCDHIGH=APCDHIGH+1,APCDSEL(APCDHIGH)=Y
  1. S APCDCUT=((APCDHIGH/3)+1)\1
  1. S (C,I)=0,J=1,K=1 F S I=$O(APCDSEL(I)) Q:I'=+I!($D(APCDDISP(I))) D
  1. .S C=C+1,APCDLIST(C,0)=I_") "_$S($D(APCDCSEL(I)):"*",1:" ")_$S($P(^APCDTKW(APCDSEL(I),0),U,12)]"":$E($P(^APCDTKW(APCDSEL(I),0),U,12),1,20),1:$E($P(^APCDTKW(APCDSEL(I),0),U,6),1,20)) S APCDDISP(I)="",APCDLIST("IDX",C,C)=""
  1. .S J=I+APCDCUT
  1. .I $D(APCDSEL(J)),'$D(APCDDISP(J)) S $E(APCDLIST(C,0),28)=J_") "_$S($D(APCDCSEL(J)):"*",1:" ")_$S($P(^APCDTKW(APCDSEL(J),0),U,12)]"":$E($P(^APCDTKW(APCDSEL(J),0),U,12),1,20),1:$E($P(^APCDTKW(APCDSEL(J),0),U,6),1,20)) S APCDDISP(J)=""
  1. .S K=J+APCDCUT
  1. .I $D(APCDSEL(K)),'$D(APCDDISP(K)) S $E(APCDLIST(C,0),55)=K_") "_$S($D(APCDCSEL(K)):"*",1:" ")_$S($P(^APCDTKW(APCDSEL(K),0),U,12)]"":$E($P(^APCDTKW(APCDSEL(K),0),U,12),1,20),1:$E($P(^APCDTKW(APCDSEL(K),0),U,6),1,20)) S APCDDISP(K)=""
  1. K APCDDISP
  1. S VALMCNT=C
  1. Q
  1. ;
  1. ADD ;EP - add an item to the selected list - called from a protocol
  1. W ! S DIR(0)="LO^1:"_APCDHIGH,DIR("A")="Which item(s)" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I Y="" W !,"No items selected." G ADDX
  1. I $D(DIRUT) W !,"No items selected." G ADDX
  1. F APCDI=1:1 S APCDC=$P(Y,",",APCDI) Q:APCDC="" S X=APCDSEL(APCDC),APCDCSEL(APCDC)=X
  1. D FULL^VALM1 W:$D(IOF) @IOF
  1. ADDX ;
  1. D BACK
  1. Q
  1. REM ;EP - remove a selected item - called from protocol entry
  1. I '$D(APCDCSEL) W !!,"No items have been selected.",! H 2 G REMX
  1. S DIR(0)="LO^:",DIR("A")="Remove which selected item" K DA D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I Y="" W !,"No items selected." G REMX
  1. I $D(DIRUT) W !,"No items selected." G REMX
  1. S APCDANS=Y,APCDC="" F APCDI=1:1 S APCDC=$P(APCDANS,",",APCDI) Q:APCDC="" S APCDCRIT=APCDSEL(APCDC) D
  1. .I '$D(APCDCSEL(APCDC)) W !,"Item ",APCDC," ",$S($P(^APCDTKW(APCDCRIT,0),U,12)]"":$P(^APCDTKW(APCDCRIT,0),U,12),1:$P(^APCDTKW(APCDCRIT,0),U,6))," has not been selected.",! Q
  1. .K APCDCSEL(APCDC)
  1. .W !,"Item ",$S($P(^APCDTKW(APCDCRIT,0),U,12)]"":$P(^APCDTKW(APCDCRIT,0),U,12),1:$P(^APCDTKW(APCDCRIT,0),U,6))," removed from selected list of items."
  1. REMX ;
  1. S DIR(0)="EO",DIR("A")="Hit return to continue..." K DA D ^DIR K DIR
  1. D BACK
  1. Q
  1. EXITR ;EP - exit report called from protocol entry
  1. S APCDQUIT=1
  1. Q
  1. HELP ; -- help code
  1. D FULL^VALM1
  1. W:$D(IOF) @IOF
  1. W !,"Enter an S to Select an Item, and R to remove a selected item, Q to Quit",!,"the selection process. To exit the report, enter an E.",!,"Hit a Q to select all ",$S(APCDPTVS="V":"visits",1:"patients"),", bypassing all screens.",!
  1. S X="?" D DISP^XQORM1 W !
  1. S DIR(0)="EO",DIR("A")="Hit return to continue..." K DA D ^DIR K DIR
  1. D BACK
  1. Q
  1. ;
  1. BACK ;go back to listman
  1. D TERM^VALM0
  1. S VALMBCK="R"
  1. D INIT
  1. D HDR
  1. K DIR
  1. K X,Y,Z,I
  1. Q
  1. EXIT ; -- exit code
  1. K APCDDISP
  1. K VALMCC,VALMHDR
  1. Q
  1. ;
  1. EXPND ; -- expand code
  1. Q
  1. ;