[613] | 1 | ORB3MGR2 ; SLC/AEB - Utilities for Manager Options - Notifications Parameters ;4/23/96 16:53
|
---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**9,74,85,105**;Dec 17, 1997
|
---|
| 3 | ;
|
---|
| 4 | USERDEL ; Purge undesired alerts/notifications for a user
|
---|
| 5 | N ORBDUZ,XQ1
|
---|
| 6 | W !!,"This option purges an existing alert/notification for a recipient/user.",!?5,"*** USE WITH CAUTION ***"
|
---|
| 7 | UDEL2 D USERDEL^XQALERT
|
---|
| 8 | Q
|
---|
| 9 | RECIPURG ; Purge existing alerts/notifications for a user
|
---|
| 10 | N ORBDUZ,XQ1
|
---|
| 11 | W !!,"This option purges all existing alerts/notifications for a recipient/user.",!?5,"*** USE WITH CAUTION ***"
|
---|
| 12 | ; Get user DUZ number
|
---|
| 13 | K DIC,Y S DIC="^VA(200,",DIC(0)="AEQ",DIC("A")="Enter user's name: ",DIC("B")=DUZ D ^DIC Q:Y<1
|
---|
| 14 | S ^TMP("ORB",$J,"ORBDUZ")=$S(Y'<1:$P(Y,"^"),1:DUZ) K DIC,Y,DUOUT,DTOUT
|
---|
| 15 | S ORBDUZ=^TMP("ORB",$J,"ORBDUZ")
|
---|
| 16 | S XQ1=$S($D(^TMP("ORB",$J,"ORBDUZ")):^TMP("ORB",$J,"ORBDUZ"),1:DUZ)
|
---|
| 17 | W !!,$C(7),"Do you want to purge all alerts/notifications for ",$P(^VA(200,XQ1,0),"^") S %=2 D YN^DICN D
|
---|
| 18 | .I %=0 W !,"Enter 'YES' if you want to purge all existing alerts for this person.",!,"Do you want to purge all notifications for this recipient" S %=2 D YN^DICN
|
---|
| 19 | Q:%'=1 W !!,"Purging alerts/notifications...",!
|
---|
| 20 | K %
|
---|
| 21 | D RECIPURG^XQALBUTL(XQ1)
|
---|
| 22 | K ^TMP("ORB",$J)
|
---|
| 23 | Q
|
---|
| 24 | PTPURG ; Purge existing alerts/notifications for a patient
|
---|
| 25 | W !!,"This option purges all existing alerts/notifications for a patient.",!?5,"*** USE WITH CAUTION ***"
|
---|
| 26 | K DIC S DIC="^DPT(",DIC(0)="AENQM",DIC("A")="Enter alert/notification patient's name: " D ^DIC Q:Y<1
|
---|
| 27 | K DIC,DUOUT,DTOUT
|
---|
| 28 | W !!,$C(7),"Do you want to purge all alerts/notifications for patient ",$P(Y,"^",2),"?" S %=2 D YN^DICN Q:%'=1 W !!,"Purging alerts/notifications...",!
|
---|
| 29 | K %
|
---|
| 30 | D PTPURG^XQALBUTL(+Y)
|
---|
| 31 | K Y
|
---|
| 32 | Q
|
---|
| 33 | NOTIPURG ; Purge all instances of a notification
|
---|
| 34 | W !!,"This option purges all existing instances of a notification.",!?5,"*** USE WITH CAUTION ***"
|
---|
| 35 | K DIC S DIC="^ORD(100.9,",DIC(0)="AENQ",DIC("A")="Enter notification name: " D ^DIC Q:Y<1
|
---|
| 36 | K DIC,DUOUT,DTOUT
|
---|
| 37 | W !!,$C(7),"Do you want to purge all instances of notification ",$P(Y,"^",2),"?" S %=2 D YN^DICN Q:%'=1 W !!,"Purging all instances of this notification...",!
|
---|
| 38 | K %
|
---|
| 39 | D NOTIPURG^XQALBUTL(+Y)
|
---|
| 40 | K Y
|
---|
| 41 | Q
|
---|
| 42 | ERASEALL ; Edit ORB ERASE ALL parameter for a User
|
---|
| 43 | N PIEN
|
---|
| 44 | S PIEN=0,PIEN=$O(^XTV(8989.51,"B","ORB ERASE ALL",PIEN)) Q:PIEN=""
|
---|
| 45 | D TITLE^ORB3MGR1("Set User's Ability to Erase All His Notifications/Alerts")
|
---|
| 46 | D PROC^ORB3MGR1(PIEN)
|
---|
| 47 | Q
|
---|
| 48 | USRNOTS ; List notifications a user could receive
|
---|
| 49 | N ORBUSR
|
---|
| 50 | ; Get user DUZ number
|
---|
| 51 | K DIC,Y S DIC="^VA(200,",DIC(0)="AEQ",DIC("A")="Enter user's name: ",DIC("B")=DUZ D ^DIC Q:Y<1
|
---|
| 52 | S ORBUSR=$S(Y'<1:$P(Y,"^"),1:DUZ) K DIC,Y,DUOUT,DTOUT
|
---|
| 53 | D USRNOTS^ORB3U2(ORBUSR)
|
---|
| 54 | Q
|
---|
| 55 | LABTHRES ; set lab threshold parameter for user
|
---|
| 56 | N ORBT,ORBLAB,ORBSP,ORBTHRES,ORBERR,DIC,DIR,Y
|
---|
| 57 | N ORBUSR,ORBGL,ORBLABN,ORBSPN
|
---|
| 58 | ;
|
---|
| 59 | W !,$C(7),"Do you want to add, modify or remove lab thresholds" S %=1 D YN^DICN D
|
---|
| 60 | .I %=0 W !,"Enter 'YES' if you want to add, modify or remove lab thresholds for alerts.",!,"(Enter '0' (zero) at the THRESHOLD prompt to remove a threshold.)",!,"Do you want to add, modify or remove lab thresholds" S %=1 D YN^DICN
|
---|
| 61 | Q:%'=1 K %
|
---|
| 62 | ;
|
---|
| 63 | F D Q:$D(DTOUT)!($D(DUOUT))!($D(DIRUT))
|
---|
| 64 | .W !
|
---|
| 65 | .S DIC="^VA(200,",DIC(0)="AEQ",DIC("A")="Enter user's name (""^"" to exit): "
|
---|
| 66 | .S DIC("B")=$S($G(ORBUSR):ORBUSR,1:DUZ) D ^DIC Q:Y<1
|
---|
| 67 | .S ORBUSR=$S(Y'<1:$P(Y,"^"),1:DUZ) K DIC,Y,DUOUT,DTOUT
|
---|
| 68 | .;
|
---|
| 69 | .D DISPTHR(ORBUSR,">")
|
---|
| 70 | .D DISPTHR(ORBUSR,"<")
|
---|
| 71 | .W !
|
---|
| 72 | .;
|
---|
| 73 | .;get Lab test:
|
---|
| 74 | .S DIC=60,DIC(0)="AEMQ",DIC("A")="Select LAB TEST: " D ^DIC K DIC Q:Y<1
|
---|
| 75 | .S ORBLAB=+Y,ORBLABN=$P(Y,U,2)
|
---|
| 76 | .;
|
---|
| 77 | .;get test Specimen:
|
---|
| 78 | .S DIC=61,DIC(0)="AEMQ",DIC("A")="Select SPECIMEN: " D ^DIC K DIC Q:Y<1
|
---|
| 79 | .S ORBSP=+Y,ORBSPN=$P(Y,U,2)
|
---|
| 80 | .;
|
---|
| 81 | .S ORBLABSP=ORBLAB_";"_ORBSP
|
---|
| 82 | .;
|
---|
| 83 | .;get greater than or less than:
|
---|
| 84 | .K DIR S DIR(0)="SO^>:Greater Than;<:Less Than",DIR("A")="Operator on Lab Value: "
|
---|
| 85 | .S DIR("?")="Enter '>' to be alerted for results GREATER than the lab value or '<' to be alerted for results LESS than the lab value."
|
---|
| 86 | .D ^DIR K DIR Q:$D(DIRUT)
|
---|
| 87 | .S ORBGL=Y
|
---|
| 88 | .;
|
---|
| 89 | .;get threshold value:
|
---|
| 90 | .K DIR S DIR(0)="NA^::4",DIR("A")="Enter THRESHOLD: ",DIR("?")="Enter numeric threshold value. Results above/below this value will send alert. Enter '0' (zero) to remove a threshold."
|
---|
| 91 | .D ^DIR K DIR Q:$D(DIRUT)
|
---|
| 92 | .S ORBTHRES=Y
|
---|
| 93 | .;
|
---|
| 94 | .I $G(ORBTHRES)=0 D
|
---|
| 95 | ..W !,"Removing "_ORBGL_" threshold for "_ORBLABN_" "_ORBSPN_"..."
|
---|
| 96 | ..D DEL^XPAR(ORBUSR_";VA(200,","ORB LAB "_ORBGL_" THRESHOLD",ORBLABSP,.ORBERR)
|
---|
| 97 | ..I ORBERR W !,"Error removing lab threshold: ",$P(ORBERR,U,2)
|
---|
| 98 | .I $G(ORBTHRES)>0 D
|
---|
| 99 | ..D EN^XPAR(ORBUSR_";VA(200,","ORB LAB "_ORBGL_" THRESHOLD",ORBLABSP,ORBTHRES,.ORBERR)
|
---|
| 100 | ..I ORBERR W !,"Error adding lab threshold: ",$P(ORBERR,U,2)
|
---|
| 101 | .;
|
---|
| 102 | .D DISPTHR(ORBUSR,ORBGL)
|
---|
| 103 | ;I $L($G(ORBGL)),('$D(DIRUT)) D DISPTHR(ORBUSR,ORBGL)
|
---|
| 104 | Q
|
---|
| 105 | DISPTHR(ORBUSR,ORBGL) ;display uer's ORB LAB THRESHOLD parameter values
|
---|
| 106 | N ORBT,ORBA,ORBLAB,ORBLABN,ORBSP,ORBSPN
|
---|
| 107 | D GETLST^XPAR(.ORBT,"USR.`"_ORBUSR,"ORB LAB "_ORBGL_" THRESHOLD","I")
|
---|
| 108 | Q:+$G(ORBT)<1
|
---|
| 109 | W !!,"Current "_ORBGL_" lab thresholds for ",$$GET1^DIQ(200,ORBUSR_",",.01),":"
|
---|
| 110 | S ORBLAB="" F S ORBLAB=$O(ORBT(ORBLAB)) Q:ORBLAB="" D
|
---|
| 111 | .S ORBSP=$P(ORBLAB,";",2)
|
---|
| 112 | .S ORBLABN=$P(^LAB(60,+ORBLAB,0),U)
|
---|
| 113 | .S ORBSPN=$P(^LAB(61,ORBSP,0),U)
|
---|
| 114 | .S ORBA(ORBLABN,ORBSPN)=ORBT(ORBLAB)
|
---|
| 115 | S ORBLABN="" F S ORBLABN=$O(ORBA(ORBLABN)) Q:ORBLABN="" D
|
---|
| 116 | .S ORBSPN="" F S ORBSPN=$O(ORBA(ORBLABN,ORBSPN)) Q:ORBSPN="" D
|
---|
| 117 | ..W !?2,ORBLABN
|
---|
| 118 | ..W ?40,ORBSPN
|
---|
| 119 | ..W ?65,ORBA(ORBLABN,ORBSPN)
|
---|
| 120 | Q
|
---|