[613] | 1 | SCCVU ;ALB/RMO,TMP - Encounter Conversion Utilities; [ 08/02/95 10:15 AM ]
|
---|
| 2 | ;;5.3;Scheduling;**211**;Aug 13, 1993
|
---|
| 3 | ;
|
---|
| 4 | INACT(SCDT) ; -- Check if encounter is "inactive"
|
---|
| 5 | ;An inactive encounter is "an encounter which occurred prior
|
---|
| 6 | ;to the beginning of the last fiscal year"
|
---|
| 7 | ; Input -- SCDT Date
|
---|
| 8 | ; Output -- 1=Yes and 0=No
|
---|
| 9 | N X,X1,X2
|
---|
| 10 | S X1=($E(DT,1,3)-$S($E(DT,4,5)>9:1,1:2))_"1001",X2=-1 D C^%DTC
|
---|
| 11 | Q $S(SCDT>X:0,1:1)
|
---|
| 12 | ;
|
---|
| 13 | CON(SCOE) ; -- Check if encounter has already been converted
|
---|
| 14 | ; Input -- SCOE Outpatient encounter IEN
|
---|
| 15 | ; Output -- 1=Yes and 0=No
|
---|
| 16 | N SCOE0,SCORG,Y
|
---|
| 17 | S SCOE0=$G(^SCE(+SCOE,0)),SCORG=+$P(SCOE0,U,8)
|
---|
| 18 | I SCORG=1 D ;appointment
|
---|
| 19 | . S Y=+$P($G(^DPT(+$P(SCOE0,U,2),"S",+SCOE0,0)),U,23)
|
---|
| 20 | I SCORG=2 D ;add/edit
|
---|
| 21 | . S Y=+$P($G(^SDV($$SDVIEN(+$P(SCOE0,U,2),+SCOE0),"CS",+$P(SCOE0,U,9),0)),U,9)
|
---|
| 22 | I SCORG=3 D ;disposition
|
---|
| 23 | . S Y=+$P($G(^DPT(+$P(SCOE0,U,2),"DIS",9999999-SCOE0,0)),U,19)
|
---|
| 24 | Q +$G(Y)
|
---|
| 25 | ;
|
---|
| 26 | PAUSE ;
|
---|
| 27 | N DIR
|
---|
| 28 | W ! S DIR(0)="E",DIR("A")="Press Return to Continue" D ^DIR K DIR W !
|
---|
| 29 | Q
|
---|
| 30 | ;
|
---|
| 31 | CCREATE(SCOE) ; Check if encounter or its visit was created by the conversion
|
---|
| 32 | ; routines
|
---|
| 33 | ; SCOE = ien of the encounter
|
---|
| 34 | ; RETURNS:
|
---|
| 35 | ; 0 if neither the encounter nor the visit were created by the
|
---|
| 36 | ; conversion
|
---|
| 37 | ; 1 if the encounter and visit were created by the conversion
|
---|
| 38 | ; 2 if the visit only was created by the conversion
|
---|
| 39 | ;
|
---|
| 40 | N SCCVNV,STAT
|
---|
| 41 | ;
|
---|
| 42 | S STAT=0
|
---|
| 43 | ; In encounter, if conversion completed flag is set, the visit had to
|
---|
| 44 | ; have been created by the conversion routines
|
---|
| 45 | S SCCVNV=$G(^SCE(SCOE,"CNV"))
|
---|
| 46 | I +SCCVNV,$P(SCCVNV,U,4) S STAT=1 ; encounter created and completed
|
---|
| 47 | I 'SCCVNV,$P(SCCVNV,U,4) S STAT=2 ; encounter not created, but completed
|
---|
| 48 | Q STAT
|
---|
| 49 | ;
|
---|
| 50 | OK(SCMODE) ; -- is it ok to allow conversion and re-conversion (for testing)
|
---|
| 51 | ; input: SCMODE := 1 - interactive | 0 - silent
|
---|
| 52 | ;
|
---|
| 53 | N SCOK
|
---|
| 54 | S SCOK=1 ; <<-- set this flag to 1 allow all functionality, 0 otherwise
|
---|
| 55 | IF SCMODE,SCOK=0 D
|
---|
| 56 | . W !!,"Conversion functionality is disabled." D PAUSE
|
---|
| 57 | Q +$G(SCOK)
|
---|
| 58 | ;
|
---|
| 59 | SDVIEN(DFN,DATE) ; -- get sdv ien for patient/date-time
|
---|
| 60 | Q +$G(^SDV("ADT",+DFN,+$P(DATE,".")))
|
---|
| 61 | ;
|
---|
| 62 | ENDDATE() ; -- conversion end date
|
---|
| 63 | N Y
|
---|
| 64 | S Y=$$FMDATE^SCDXUTL()
|
---|
| 65 | IF Y S Y=$$FMADD^XLFDT(Y,-1)
|
---|
| 66 | IF 'Y S Y=2960930
|
---|
| 67 | Q Y
|
---|
| 68 | ;
|
---|