| 1 | ORWTPUA ; SLC/STAFF Personal Preference - Utility Alerts ;5/22/00  09:58 | 
|---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**85**;Oct 24, 2000 | 
|---|
| 3 | ; | 
|---|
| 4 | START(USER) ; $$(user) -> user's surrogate start date/time | 
|---|
| 5 | Q $P($G(^XTV(8992,+$G(USER),0)),U,3) | 
|---|
| 6 | ; | 
|---|
| 7 | STOP(USER) ; $$(user) -> user's surrogate stop date/time | 
|---|
| 8 | Q $P($G(^XTV(8992,+$G(USER),0)),U,4) | 
|---|
| 9 | ; | 
|---|
| 10 | CHKSURR(USER,SURR) ; $$(user,surrogate) -> 1 if ok else 0^reason for reject | 
|---|
| 11 | N OK,START | 
|---|
| 12 | S USER=+$G(USER),SURR=+$G(SURR) | 
|---|
| 13 | I USER=SURR Q "0^You cannot specify yourself as your own surrogate!" | 
|---|
| 14 | S START=$$GET1^DIQ(8992,(SURR_","),.02,"I") | 
|---|
| 15 | I START<.5 Q 1 | 
|---|
| 16 | I START=USER Q "0^You are designated as the surrogate for this user - can't do it!" | 
|---|
| 17 | S OK=1 F  S START=$$GET1^DIQ(8992,(START_","),.02,"I") Q:START'>0  I START=USER S OK=0 Q | 
|---|
| 18 | I 'OK Q "0^This forms a circle which leads back to you - can't do it!" | 
|---|
| 19 | Q 1 | 
|---|
| 20 | ; | 
|---|
| 21 | GETSURR(USER) ; $$(user ien) -> surrogate ien | 
|---|
| 22 | Q $$CURRSURO^XQALSURO(+$G(USER)) | 
|---|
| 23 | ; | 
|---|
| 24 | SAVESURR(USER,SURR,START,STOP) ; save user's surrogate info | 
|---|
| 25 | D REMVSURO^XQALSURO(USER) | 
|---|
| 26 | D SETSURO^XQALSURO(USER,SURR,START,STOP) | 
|---|
| 27 | Q | 
|---|