| [613] | 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
 | 
|---|