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

AMQQMGR.m

Go to the documentation of this file.
  1. AMQQMGR ; IHS/CMI/THL - MANAGER'S UTILITIES ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. S IOP=0
  1. D ^%ZIS
  1. S X=$P(^AMQQ(8,DUZ(2),0),U,6)
  1. F %=3,6,16 S AMQQ200(%)=$S(X:"^VA(200)",1:("^DIC("_%_")"))
  1. I '$O(^AMQQ(8,0)) D INIT I '$O(^AMQQ(8,0)) Q
  1. S DIC="^AMQQ(8,"
  1. S DIC(0)=""
  1. S X="`"_DUZ(2)
  1. D ^DIC
  1. K DIC
  1. I Y=-1 W !!,*7,"DUZ(2) MUST BE SET TO THE FACILITY INDICATED IN THE QMAN SITE PARAMETERS FILE!" H 2 Q
  1. ASK W !! S DIR(0)="SO^1:CHECK security keys;2:DEVICE management;3:INDEX setup;4:INTEG check;5:LAB setup;6:LOG of queries;7:SECONDARY facilities;8:DELETE Search Template;9:HELP;0:EXIT"
  1. ;W !! S DIR(0)="SO^1:CHECK security keys;2:DEVICE management;3:INDEX setup;4:INTEG check;5:LAB setup;6:LOG of queries;7:SECONDARY facilities;8:DELETE Search Template;9:HELP;11:IMMunizaiton Update;0:EXIT"
  1. S DIR("??")="AMQQMGR"
  1. S DIR("A")=$C(10)_" Your choice"
  1. S DIR("?")="Enter a code from the list or type '??' for more information"
  1. D ^DIR
  1. K DIR
  1. D CHK
  1. I $D(AMQQQUIT) G EXIT
  1. I Y=0 G EXIT
  1. I Y=9 W !!,"Enter a code from the list or type '??' for more information." G ASK
  1. D @("M"_Y)
  1. I '$D(AMQQQUIT) G MENU
  1. EXIT K AMQQQUIT,X,Y,%,AMQQMGRL,AMQQMGRN,AMQQMGRS,AMQQMGRF,AMQQLSSX
  1. Q
  1. ;
  1. CHK I $D(DTOUT)+$D(DUOUT)+(Y=-1)+(Y="") K DIRUT,DUOUT,DTOUT S AMQQQUIT="" Q
  1. Q
  1. M1 ;
  1. D ^%ZIS
  1. I POP W:$D(IOF) @IOF Q
  1. U IO
  1. W:IOST["C-" @IOF
  1. W ?15,"***** SECURITY KEY ASSIGNMENT CRITERIA *****",!!
  1. W "Q-MAN DEMOGRAPHIC DATA ACCESS Key = AMQQZMENU Assign to all Q-Man users",!
  1. W "Q-MAN CLINICAL DATA ACCESS Key = AMQQZCLIN Assign to health professionals only",!
  1. W "Q-MAN PROGRAMMER ACCESS Key = AMQQZPROG Assign to PCC developers only",!
  1. W "Q-MAN MANAGERS UTILITIES Key = AMQQZMGR Only the site manager should hold it"
  1. W "PROMPT FOR WHO REPORT IS FOR Key = AMQQZRPT Assign to users running reports",!,"for others"
  1. S AMQQMGRL=6
  1. S Z=""
  1. F X="AMQQZMENU^Q-MAN ACCESS","AMQQZCLIN^CLINICAL DATA ACCESS","AMQQZPROG^Q-MAN PROGRAMMER ACCESS","AMQQZMGR^SITE MANAGER'S UTILITIES","AMQQZRPT^REPORT GENERATORS" D KEY I $G(Z)=U G M10
  1. I IOST["C-" R !,"<Press the ENTER key to go on>",X:DTIME K DUOUT,DTOUT,DIRUT Q
  1. M10 W @IOF
  1. K AMQQMGRL
  1. D ^%ZISC
  1. Q
  1. ;
  1. KEY S AMQQMGRL=AMQQMGRL+3
  1. W !!,?10,"***** ",$P(X,U,2)," *****",!
  1. S X=$P(X,U)
  1. F %=0:0 S %=$O(^XUSEC(X,%)) Q:'% S AMQQMGRL=AMQQMGRL+1 W ! D WAIT Q:$G(Z)=U W $S($D(@AMQQ200(3)@(%,0)):$P(^(0),U),1:(%_" ??"))
  1. Q
  1. ;
  1. WAIT I (AMQQMGRL<(IOSL-3)) Q
  1. S AMQQMGRL=0
  1. I IOST'["C-" W IOF Q
  1. R "<>",Z:DTIME E S AMQQQUIT="",%=99999999999 W @IOF Q
  1. W @IOF
  1. Q
  1. ;
  1. M2 D ^AMQQMGR5
  1. Q
  1. ;
  1. M7 W @IOF,!!,?20,"***** SECONDARY FACILITIES *****",!!
  1. W !,"Normally, when the user requests patient reports, s/he will only see the chart"
  1. W !,"number at this facility. The user may request other chart numbers provided"
  1. W !,"that you enter the other local facilities now. You may enter up to three",!,"facilities, but do not enter this one!",!
  1. I $P(^AMQQ(8,DUZ(2),0),U,2) W !,"OTHER FACILITIES' CHART NUMBERS NOW DISPLAYED =>",! D
  1. .F %=2:1:4 Q:'$P(^AMQQ(8,DUZ(2),0),U,%) W !,$P(^DIC(4,$P(^(0),U,%),0),U)
  1. ASKFAC .W !!,"You may recreate this list if you want. Do you want to remove this list"
  1. .W !,"and enter other local facilities"
  1. .S %=2
  1. .D YN^DICN
  1. .G:%=0 ASKFAC
  1. .I %=-1!(%=2) S AMQQSTP=""
  1. I $D(AMQQSTP) K AMQQSTP Q
  1. W !
  1. I $P(^AMQQ(8,DUZ(2),0),U,2) D
  1. .S DA=DUZ(2)
  1. .S DIE="^AMQQ(8,"
  1. .S DR=".02///@;.03///@;.04///@"
  1. .D ^DIE
  1. .K DIE,DR,DA
  1. .S DIE="^AMQQ(1,256,4,"
  1. .S DA=1
  1. .S DA(1)=256
  1. .S DR="4///@;5///@"
  1. .D ^DIE
  1. .K DIE,DR,DA
  1. S AMQQMGRF="@^@^@"
  1. F D FAC Q:"^@"[X I $G(AMQQMGRN)=3 Q
  1. I X="@" S AMQQMGRN=0 G SETM7
  1. I '+AMQQMGRF Q
  1. SETM7 S %=AMQQMGRF
  1. S DA=DUZ(2)
  1. S DIE="^AMQQ(8,"
  1. S DR=".02////"_$P(%,U)_";.03////"_$P(%,U,2)_";.04////"_$P(%,U,3)
  1. D ^DIE
  1. K DIE,DR,DA
  1. S %=AMQQMGRN*10
  1. S DIE="^AMQQ(1,256,4,"
  1. S DA=1
  1. S DA(1)=256
  1. S DR="4///"_%_";5///"_%
  1. D ^DIE
  1. K DIE,DR,DA
  1. W !!,"Okay, the entered local facility or facilities' chart numbers will now appear"
  1. W !,"on all outputs"
  1. H 2
  1. K AMQQMGRF,AMQQMGRN,DIC
  1. Q
  1. ;
  1. FAC S DIR(0)="PO^9999999.06:EMQ"
  1. D ^DIR
  1. I +Y=DUZ(2) W !,*7,"Enter a facility other than your local facility.",! G FAC
  1. I X=""!(X=U)!(X="@") Q
  1. D CHK
  1. I $D(AMQQQUIT) K AMQQQUIT Q
  1. S AMQQMGRN=$G(AMQQMGRN)+1
  1. S $P(AMQQMGRF,U,AMQQMGRN)=+Y
  1. Q
  1. ;
  1. M3 D ^AMQQMGR1
  1. Q
  1. ;
  1. M6 D ^AMQQMGR2
  1. Q
  1. ;
  1. M4 D ^AMQQNTEG
  1. Q
  1. ;
  1. M5 D ^AMQQMGR6
  1. Q
  1. ;
  1. VER W @IOF,!,?15,"***** LAB RESULTS FOR Q-MAN *****",!!
  1. M51 W !
  1. S DIR(0)="SO^1:TOP 40 tests;2:INDIVIDUAL tests;3:VIEW Q-Man lab tests;9:HELP;0:EXIT"
  1. S DIR("A")=$C(10)_"Your choice"
  1. S DIR("??")="AMQQLABSTART"
  1. D ^DIR
  1. K DIR
  1. I Y=9 W !!,"Select a code from the list or type '??' for more info",!! G M51
  1. I 'Y Q
  1. I Y=1 D TOP^AMQQMGR4 G M5
  1. I Y=2 D GET^AMQQMGR4 G M5
  1. I Y=3 D LIST^AMQQMGR4 R !!,"<>",X:DTIME G M5
  1. G M5
  1. ;
  1. INIT ;
  1. I '$D(DUZ(2)) W !!,"KERNEL VARIABLES NOT SET!!,",!! Q
  1. W !!,"Is the site where Q-Man is being installed ",$P(^DIC(4,DUZ(2),0),U)
  1. S %=0
  1. D YN^DICN
  1. I $E(%Y)?1A,"yYnN"[$E(%Y) D ISET
  1. K DUOUT,DTOUT,%,%Y
  1. Q
  1. ;
  1. ISET I "nN"[$E(%Y) W !!,"Well then, you must log in again, and this time enter the correct site!",!!,*7 Q
  1. S X="`"_DUZ(2)
  1. S DIC="^AMQQ(8,"
  1. S DIC(0)="L"
  1. S DLAYGO=9009078
  1. D ^DIC
  1. I Y'=-1 D
  1. .S X="0:1;2:4;5:10;11:19;20:39;40:59;60:79;80:199"
  1. .X $P(^DD(9009078,30,0),U,5,99)
  1. .D:$D(X)
  1. ..S ^AMQQ(8,+Y,3)=X
  1. ..S DIK="^AMQQ(8,"
  1. ..S DIK(1)=30
  1. ..S DA=DUZ(2)
  1. ..D EN^DIK
  1. Q
  1. ;
  1. TERMS ;EP;PROGRAMMER ENTRY POINT TO CREATE NEW METADICTIONARY ENTRIES
  1. S DIR(0)="NO^1:999"
  1. S DIR("A")="Enter the IEN to create"
  1. W !
  1. D ^DIR
  1. K DIR
  1. Q:'Y
  1. I $D(^AMQQ(5,Y)) W !!,"Entry already exists.",! G TERMS
  1. S IEN=+Y
  1. S DIC="^AMQQ(5,"
  1. S DIC(0)="AEMQZ"
  1. S DIC("A")="Pattern after which TERM: "
  1. W !
  1. D ^DIC
  1. K DIC
  1. Q:+Y<1
  1. S TERM=+Y
  1. S DIC="^AMQQ(1,"
  1. S DIC(0)="AEMQZ"
  1. S DIC("A")="Pattern after which LINK: "
  1. W !
  1. D ^DIC
  1. K DIC
  1. Q:+Y<1
  1. S LINK=+Y
  1. W !,"IEN: ",IEN," will be created patterned after"
  1. W !,"TERM: ",$P(^AMQQ(5,TERM,0),U)," and"
  1. W !,"LINK: ",$P(^AMQQ(1,LINK,0),U),"."
  1. S DIR(0)="YO"
  1. S DIR("A")="Are you certain"
  1. S DIR("B")="NO"
  1. W !
  1. D ^DIR
  1. K DIR
  1. Q:Y'=1
  1. T1 M ^AMQQ(5,IEN)=^AMQQ(5,TERM)
  1. M ^AMQQ(1,IEN)=^AMQQ(1,LINK)
  1. Q
  1. XXX F IEN=697,698 S TERM=690,LINK=690 D T1
  1. Q
  1. M8 ;EP;TO DELETE A SEARCH TEMPLATE
  1. K AMQQQUIT
  1. F D M81 Q:$D(AMQQQUIT)
  1. K AMQQQUIT
  1. Q
  1. M81 ;
  1. W @IOF
  1. W !?10,"Qman Search Template Deletion Utility"
  1. W !!?10,"Select a Search Template to Delete.",!
  1. S DIC="^DIBT("
  1. S DIC(0)="AEMQZ"
  1. S DIC("A")="Delete which Template: "
  1. W !
  1. D ^DIC
  1. I Y<0 S AMQQQUIT="" Q
  1. S AMQQDA=+Y
  1. S X=$P(^DIBT(+Y,0),U)
  1. S DIR(0)="YO"
  1. S DIR("A")="Sure you want to delete Search Template ** "_X_" **"
  1. S DIR("B")="NO"
  1. W !
  1. D ^DIR
  1. K DIR
  1. Q:Y'=1
  1. S DA=AMQQDA
  1. S DIK="^DIBT("
  1. D ^DIK
  1. K DA,DIK
  1. Q
  1. M11 ;EP;TO UPDATE IMMUNIZATIONS ENTRIES IN THE QMAN DICTIONARY OF TERMS
  1. D IMM^AMQQMGR9
  1. Q