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 | ;
|
---|