| 1 | SCCVEAE ;ALB/RMO,TMP - Add/Edit Conversion; [ 03/31/95  3:11 PM ] | 
|---|
| 2 | ;;5.3;Scheduling;**211**;Aug 13, 1993 | 
|---|
| 3 | ; | 
|---|
| 4 | EN(SCCVEVT,SCSTDT,SCENDT,SCLOG,SCREQ,SCSTOPF) ;Entry point to loop through all add/edits for a specified date range | 
|---|
| 5 | ; Input  -- SCCVEVT  Conversion event | 
|---|
| 6 | ;           SCSTST   Start date | 
|---|
| 7 | ;           SCENDT   End date | 
|---|
| 8 | ;           SCLOG    Scheduling conversion log IEN | 
|---|
| 9 | ;           SCREQ    Scheduling conversion request IEN | 
|---|
| 10 | ; Output -- SCSTOPF  Conversion stop flag | 
|---|
| 11 | N SCDTM | 
|---|
| 12 | F SCDTM=SCSTDT:0 S SCDTM=$O(^SDV(SCDTM)) Q:'SCDTM!($P(SCDTM,".")>SCENDT)!($G(SCSTOPF))  D STOPS(SCCVEVT,SCDTM,SCLOG,SCREQ,.SCSTOPF) | 
|---|
| 13 | ENQ Q | 
|---|
| 14 | ; | 
|---|
| 15 | STOPS(SCCVEVT,SCDTM,SCLOG,SCREQ,SCSTOPF) ;Loop through stop codes for a specific date/time | 
|---|
| 16 | ; Input  -- SCCVEVT  Conversion event | 
|---|
| 17 | ;           SCDTM    Visit date/time | 
|---|
| 18 | ;           SCLOG    Scheduling conversion log IEN | 
|---|
| 19 | ;           SCREQ    Scheduling conversion request IEN | 
|---|
| 20 | ; Output -- SCSTOPF  Conversion stop flag | 
|---|
| 21 | N SCDA,SCQUIT,SC0,SCE,SCE0,X | 
|---|
| 22 | IF SCCVEVT D ZERO(SCDTM) | 
|---|
| 23 | S SCDA=0 | 
|---|
| 24 | F  S SCDA=$O(^SDV(SCDTM,"CS",SCDA)) Q:'SCDA!($G(SCSTOPF))  I $D(^SDV(SCDTM,"CS",SCDA,0)) S SC0=^(0),SCQUIT=0 D | 
|---|
| 25 | .I $P(SC0,U,8) D  Q:SCQUIT  ; Is 'parent encounter' invalid? | 
|---|
| 26 | .. S SCE=+$P($G(^SCE(+$P(SC0,U,8),0)),U,6) | 
|---|
| 27 | .. Q:'SCE  ;Encounter IS a parent, so it's OK to process | 
|---|
| 28 | .. ;Check parents of children for validity | 
|---|
| 29 | .. S SCE0=$G(^SCE(SCE,0)) | 
|---|
| 30 | .. ; | 
|---|
| 31 | .. ;'Estimate' processes Add/Edit data separate from 'parent' to avoid counting them twice, so the following checks are necessary to be sure the parent was a valid appt | 
|---|
| 32 | .. I $P(SCE0,U,8)=1 S X=$G(^DPT(+$P(SCE0,U,2),"S",+SCE0,0)) IF $P(X,U,2)'="",$P(X,U,2)'="I" S SCQUIT=1 Q  ;Don't convert or add to estimate counts if children of an invalid appt | 
|---|
| 33 | .. I $P(SCE0,U,8)=3 S X=$G(^DPT(+$P(SCE0,U,2),"DIS",9999999-SCE0,0)) IF $P(X,U,2)=2 S SCQUIT=1 Q  ;Don't convert or add to estimate counts if children of an invalid disposition | 
|---|
| 34 | .. IF $P(SCE0,U,5),'$P($G(^SCE(SCE,"CNV")),U,4) S SCQUIT=1 Q  ; -- visit already exists / not historial visit | 
|---|
| 35 | .. I SCCVEVT,'$P(SCE0,U,5) S SCQUIT=1 ;Parent has no visit, don't convert children | 
|---|
| 36 | .. ; | 
|---|
| 37 | . D EN^SCCVEAE1(SCCVEVT,SCDTM,SCDA,0,SCLOG) | 
|---|
| 38 | . I $G(SCLOG) D STOP^SCCVLOG(SCLOG,SCREQ,.SCSTOPF) | 
|---|
| 39 | . I '$G(SCLOG) S SCTOT("OK")=1 | 
|---|
| 40 | STOPQ Q | 
|---|
| 41 | ; | 
|---|
| 42 | ZERO(SCDTM) ; -- fix zeroth if missing | 
|---|
| 43 | IF '$D(^SDV(SCDTM,"CS",0)),$O(^SDV(SCDTM,"CS",0)) S ^SDV(SCDTM,"CS",0)="^409.51P^^" | 
|---|
| 44 | Q | 
|---|
| 45 | ; | 
|---|