1 | SCCVCST5 ;ALB/TMP - Scheduling Conversion Template Utilities - CST; APR 20, 1998
|
---|
2 | ;;5.3;Scheduling;**211**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | VAL1(SCCVEVT,SCFILE,SCCVDA,SCMULT) ;Validate that entry selected can be converted
|
---|
5 | ;
|
---|
6 | N OK,DATA,SCERR,SCCLN,ENC,SCF
|
---|
7 | S OK=0,DATA=$G(@SCFILE@(SCCVDA,0))
|
---|
8 | S SCF=SCFILE
|
---|
9 | ;
|
---|
10 | I DATA="" S SCERR=1 G VAL1Q
|
---|
11 | ;
|
---|
12 | I SCFILE["SCE" D G:$G(SCERR)!(SCF["SDV") VAL1Q
|
---|
13 | . ; Encounter - change SCF,SCCVDA,DATA for enctr type
|
---|
14 | . I DATA>SCCVACRP S SCERR=2 Q ;Date must be before 10-1-96
|
---|
15 | . I SCCVEVT=1,$P(DATA,U,5) S SCERR=3 Q ;Can't already have a visit
|
---|
16 | . I SCCVEVT=2,'$P($G(^SCE(SCCVDA,"CNV")),U,4) S SCERR=8 Q ;Must be converted to reconvert
|
---|
17 | . I $P(DATA,U,6)!($P(DATA,U,8)>3) S SCERR=4 Q ;Can't convert a child encounter
|
---|
18 | . S SCF=$$SETFL^SCCVCST3($P(DATA,U,8),SCCVDFN)
|
---|
19 | . I SCF["SDV" S OK=1 Q ;No further checks needed for A/E
|
---|
20 | . S SCCVDA=+DATA
|
---|
21 | . S:SCF["""DIS""" SCCVDA=9999999-SCCVDA
|
---|
22 | . S DATA=$G(@SCF@(SCCVDA,0))
|
---|
23 | . S:DATA="" SCERR=1
|
---|
24 | ;
|
---|
25 | I SCF["""DIS""" D G VAL1Q ; Disposition
|
---|
26 | . I SCCVEVT=2 S ENC=$P(DATA,U,18) D Q
|
---|
27 | .. I '$P(DATA,U,19)!'$P($G(^SCE(ENC,"CNV")),U,4) S SCERR=8 Q ;Must be converted to reconvert
|
---|
28 | .. S OK=1
|
---|
29 | . ;
|
---|
30 | . I SCCVEVT=1,$P(DATA,U,18),$P($G(^SCE(+$P(DATA,U,18),0)),U,5) S SCERR=3 Q
|
---|
31 | . IF SCCVEVT=1,$$REQ^SDM1A(+DATA)="CO",'$P($G(^SCE(+$P(DATA,U,18),0)),U,7) S SCERR=9 Q ; Must be checked out
|
---|
32 | . I $P(DATA,U,2)=2 S SCERR=5 Q ;Must be dispositioned properly
|
---|
33 | . S OK=1
|
---|
34 | ;
|
---|
35 | I SCF["""S""" D G VAL1Q ; Appt
|
---|
36 | . I SCCVEVT=2 S ENC=+$P(DATA,U,20) D Q
|
---|
37 | .. I '$P(DATA,U,23)!'$P($G(^SCE(ENC,"CNV")),U,4) S SCERR=8 Q ;Must be converted to reconvert
|
---|
38 | .. S OK=1
|
---|
39 | . ;
|
---|
40 | . I SCCVEVT=1,$P(DATA,U,20),$P($G(^SCE(+$P(DATA,U,20),0)),U,5) S SCERR=3 Q
|
---|
41 | . IF SCCVEVT=1,$$REQ^SDM1A(SCCVDA)="CO",'$P($G(^SCE(+$P(DATA,U,20),0)),U,7) S SCERR=9 Q ; Must be checked out
|
---|
42 | . I $P(DATA,U,2)'="",$P(DATA,U,2)'="I",$P(DATA,U,2)'="NT" S SCERR=6 Q ; Can't be 'unfinished' status
|
---|
43 | . I $P($G(^SC(+DATA,0)),U,3)'="C" S SCERR=7 Q ;Must be clinic
|
---|
44 | . S OK=1
|
---|
45 | ;
|
---|
46 | I SCF["SDV",SCF=SCFILE D G VAL1Q ; Full standalone add/edit
|
---|
47 | . N SCCS,DATA1,STAT
|
---|
48 | . S SCCS=0 F S SCCS=$O(@SCF@(SCCVDA,"CS",SCCS)) Q:'SCCS S DATA1=$G(^(SCCS,0)) W "." D Q:OK
|
---|
49 | .. S ENC=+$P(DATA1,U,8)
|
---|
50 | .. ; In 'CS' nodes at least one entry must:
|
---|
51 | .. ; - be a non-child encounter (error 4)
|
---|
52 | .. ; - have no encounter or no visit if converting (error 3)
|
---|
53 | .. ; - have already been converted if reconverting (error 8)
|
---|
54 | .. ; - must be checked out if requred (error 9)
|
---|
55 | .. ;
|
---|
56 | .. S STAT=0
|
---|
57 | .. IF 'STAT,$P($G(^SCE(ENC,0)),U,6) S STAT=4 ; -- not child check
|
---|
58 | .. ;
|
---|
59 | .. IF 'STAT,SCCVEVT=1 D
|
---|
60 | ... IF 'ENC Q ; -- no encounter check
|
---|
61 | ... IF $P($G(^SCE(ENC,0)),U,5) S STAT=3 Q ; -- no visit check
|
---|
62 | .. ;
|
---|
63 | .. IF 'STAT,SCCVEVT'=1 D
|
---|
64 | ... IF '$P($G(^SCE(ENC,"CNV")),U,4)!'$P(DATA1,U,9) S STAT=8 ; -- must be already converted check
|
---|
65 | .. ;
|
---|
66 | .. IF 'STAT,$$REQ^SDM1A(SCCVDA)="CO",'$P($G(^SCE(+ENC,0)),U,7) S STAT=9 ; -- must be checked out check
|
---|
67 | .. ;
|
---|
68 | .. I 'STAT K SCERR S OK=1 Q ; -- at least one node passes
|
---|
69 | .. S SCERR(STAT)=""
|
---|
70 | ;
|
---|
71 | VAL1Q I $G(SCMULT) K SCERR
|
---|
72 | I $D(SCERR) D DISPERR^SCCVCST4(.SCERR,SCF) S OK=0
|
---|
73 | Q OK
|
---|
74 | ;
|
---|