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

BGP3DEMO.m

Go to the documentation of this file.
  1. BGP3DEMO ; IHS/CMI/LAB - demo patient search template ;
  1. ;;13.0;IHS CLINICAL REPORTING;;NOV 20, 2012;Build 81
  1. ;
  1. ;
  1. ;
  1. UPDATE ;create/update Demo Patient Search Template
  1. D INTRO
  1. S DIR(0)="Y",DIR("A")="Do you wish to continue",DIR("B")="Y" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) D XIT Q
  1. I 'Y D XIT Q
  1. SELECT ;
  1. W !!
  1. K DIC
  1. S DIC(0)="AEMQL",DIC("A")="Enter DEMO PATIENT Search Template: ",DIR("B")=$$VAL^XBDIQ1(90241.01,DUZ(2),.12),DIC="^DIBT(",DIC("S")="I $P(^(0),U,4)=2!($P(^(0),U,4)=9000001)" D ^DIC
  1. I Y=-1 D XIT Q
  1. S BGPSTMP=+Y
  1. I $P(^DIBT(+Y,0),U,4)="" S DA=+Y,DIE="^DIBT(",DR="4////2" D ^DIE K DIE,DA,DR
  1. ;
  1. ;display the existing template patients
  1. D EP
  1. D XIT
  1. Q
  1. XIT ;
  1. D EN^XBVK("BGP")
  1. K DIR
  1. D ^XBFMK
  1. Q
  1. ;
  1. INTRO ;
  1. W:$D(IOF) @IOF
  1. W !!,"CREATE/UPDATE ""DEMO"" PATIENT SEARCH TEMPLATE"
  1. W !!,"This option is used to create or update a patient search template that"
  1. W !,"contains the names of all of the ""demo"" or ""test"" patients in your"
  1. W !,"database. This template will be used to exclude these patients from"
  1. W !,"all CRS reports. Once the template is created you must remember to "
  1. W !,"enter the name of the template into your site's CRS Site Parameter file"
  1. W !,"using the Update Site Parameters option."
  1. W !!
  1. Q
  1. ;
  1. ;
  1. ;
  1. ;
  1. EP ;EP - CALLED FROM OPTION
  1. D EN
  1. Q
  1. EOJ ;EP
  1. D EN^XBVK("BGP")
  1. Q
  1. ;; ;
  1. EN ;EP -- main entry point for
  1. D EN^VALM("BGP 13 DEMO SEARCH TEMPLATE")
  1. D CLEAR^VALM1
  1. D FULL^VALM1
  1. W:$D(IOF) @IOF
  1. D EOJ
  1. Q
  1. ;
  1. HDR ; -- header code
  1. S VALMHDR(1)="DEMO/TEST PATIENTS TO EXCLUDE FROM CRS REPORTS"
  1. S VALMHDR(2)="* Patients currently included in the "_$P(^DIBT(BGPSTMP,0),U)_" search template"
  1. S X="",$E(X,7)="Patient Name",$E(X,40)="HRN"
  1. S VALMHDR(3)=X
  1. Q
  1. ;
  1. INIT ; -- init variables and list array
  1. K BGPDEMO S BGPHIGH="",C=0
  1. S X=0 F S X=$O(^DIBT(BGPSTMP,1,X)) Q:X'=+X D
  1. .S C=C+1
  1. .S BGPDEMO(C,0)=C_") "_$P(^DPT(X,0),U),$E(BGPDEMO(C,0),40)=$$HRN^AUPNPAT(X,DUZ(2))
  1. .S BGPDEMO("IDX",C,C)=X
  1. .Q
  1. S (VALMCNT,BGPHIGH)=C
  1. Q
  1. ;
  1. HELP ; -- help code
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. ;
  1. EXIT ; -- exit code
  1. Q
  1. ;
  1. EXPND ; -- expand code
  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. ;
  1. ADD ;EP - add an item to the selected list - called from a protocol
  1. D FULL^VALM1
  1. ADD1 W !!
  1. K DIC S DIC=9000001,DIC(0)="AEMQ" D ^DIC K DIC
  1. I Y=-1 G ADDX
  1. I $D(^DIBT(BGPSTMP,1,+Y)) W !!,"That patient is already in the template." G ADD1
  1. S ^DIBT(BGPSTMP,1,+Y)=""
  1. G ADD1
  1. ADDX ;
  1. D BACK
  1. Q
  1. REM ;EP - REMOVE PATIENT FROM SEARCH TEMPLATE
  1. W !
  1. S DIR(0)="NO^1:"_BGPHIGH,DIR("A")="Remove which Patient (enter the number from the list)"
  1. D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I Y="" W !,"No patient selected." G REMX
  1. I $D(DIRUT) W !,"No patient selected." G REMX
  1. D FULL^VALM1 W:$D(IOF) @IOF
  1. S BGPPATI=BGPDEMO("IDX",Y,Y)
  1. W !!,$P(^DPT(BGPPATI,0),U)," removed from template.",!!
  1. K ^DIBT(BGPSTMP,1,BGPPATI)
  1. K DIR S DIR(0)="E",DIR("A")="Press enter to continue" D ^DIR K DIR
  1. REMX ;
  1. D BACK
  1. Q