| 1 | SDGAF ;ALB/EDS-ROY,G - GAF Scoring Capture ; 7-10-1998 | 
|---|
| 2 | ;;5.3;Scheduling;**149**;Aug 13, 1993 | 
|---|
| 3 | EN(DFN) ;Entry point for getting prior GAF data and updating | 
|---|
| 4 | K DTOUT,DUOUT,DIRUT,DIROUT | 
|---|
| 5 | N SDGAF,SDGAFDT,SDNGAFDT,SDGAFSC,SDNGAFSC,SDGAFPR,SDNGAFPR,DIR | 
|---|
| 6 | S SDGAF=$$NEWGAF^SDUTL2(DFN) | 
|---|
| 7 | S SDGAFDT=$P(SDGAF,"^",3),SDGAFSC=$P(SDGAF,"^",2),SDGAFPR=$P(SDGAF,"^",4) | 
|---|
| 8 | SCORE ; | 
|---|
| 9 | S DIR("A")="GAF Score",DIR(0)="N^1:100:0" | 
|---|
| 10 | D ^DIR K DIR G:$$OUT() ABORT | 
|---|
| 11 | S SDNGAFSC=Y | 
|---|
| 12 | S DIR("A")="Is this the correct GAF Score" | 
|---|
| 13 | D YN G:$$OUT() ABORT | 
|---|
| 14 | G:'Y SCORE | 
|---|
| 15 | DATE ; | 
|---|
| 16 | S DIR("A")="Date/Time of New GAF Score" | 
|---|
| 17 | S DIR(0)="D^"_$S(SDGAFDT]"":SDGAFDT,1:"")_":NOW:EXT" | 
|---|
| 18 | S DIR("B")="NOW" | 
|---|
| 19 | D ^DIR K DIR("B") G:$$OUT() ABORT | 
|---|
| 20 | S SDNGAFDT=Y | 
|---|
| 21 | S DIR("A")="Is this the correct Date/Time" | 
|---|
| 22 | D YN G:$$OUT() ABORT | 
|---|
| 23 | G:'Y DATE | 
|---|
| 24 | PROV ; | 
|---|
| 25 | S DIC=200,DIC(0)="AEQM" | 
|---|
| 26 | S DIC("S")="I $$OKPROV^SDGAF(Y)" | 
|---|
| 27 | S DIC("A")="Provider determining GAF Score: " D ^DIC K DIC | 
|---|
| 28 | G:$$OUT() ABORT | 
|---|
| 29 | I Y<0 W !,"You must enter a Provider!" G PROV | 
|---|
| 30 | S SDNGAFPR=+Y | 
|---|
| 31 | S DIR("A")="Is this the correct Provider" | 
|---|
| 32 | D YN G:$$OUT() ABORT | 
|---|
| 33 | G:'Y PROV | 
|---|
| 34 | S DIR("A")="Is the information entered correct",DIR(0)="Y",DIR("B")="YES" D ^DIR K DIR G:$$OUT() ABORT | 
|---|
| 35 | G:'Y SCORE | 
|---|
| 36 | D UPD^YSGAF(DFN,SDNGAFSC,SDNGAFDT,SDNGAFPR,"O") | 
|---|
| 37 | Q | 
|---|
| 38 | ; | 
|---|
| 39 | OKPROV(IEN) ; Screen for provider lookup using person class | 
|---|
| 40 | Q ($D(^XUSEC("SD GAF SCORE",IEN))) | 
|---|
| 41 | ; | 
|---|
| 42 | ABORT ;User aborted the process | 
|---|
| 43 | W !,"No Updating Done!",! | 
|---|
| 44 | K DIR | 
|---|
| 45 | S DIR(0)="E" D ^DIR K DIR | 
|---|
| 46 | Q | 
|---|
| 47 | OUT() ;Check for user abort | 
|---|
| 48 | I $D(DTOUT)!($D(DUOUT))!($D(DIRUT))!($D(DIROUT)) Q 1 | 
|---|
| 49 | Q 0 | 
|---|
| 50 | ; | 
|---|
| 51 | YN ;Yes/No Reader logic, default to No | 
|---|
| 52 | S DIR("B")="NO",DIR(0)="Y" D ^DIR K DIR("B") | 
|---|
| 53 | Q | 
|---|