| 1 | SDVSIT2 ;ALB/RMO/MJK - Encounter Utilities;28 DEC 1992 10:00 am | 
|---|
| 2 | ;;5.3;Scheduling;**27,44,132**;08/13/93 | 
|---|
| 3 | ;; ; | 
|---|
| 4 | ; | 
|---|
| 5 | GETAPT(DFN,SDT,SDCL,SDVIEN) ;Look-up Outpatient Encounter IEN for Appt | 
|---|
| 6 | ; Input  -- DFN      Patient file IEN | 
|---|
| 7 | ;           SDT      Appointment Date/Time | 
|---|
| 8 | ;           SDCL     Hospital Location file IEN for Appt | 
|---|
| 9 | ;           SDVIEN   Visit file pointer [optional] | 
|---|
| 10 | ; Output -- Outpatient Encounter file IEN | 
|---|
| 11 | N Y | 
|---|
| 12 | S Y=+$P($G(^DPT(DFN,"S",SDT,0)),"^",20) | 
|---|
| 13 | I 'Y D APPT^SDVSIT(DFN,SDT,SDCL,$G(SDVIEN)) S Y=+$P($G(^DPT(DFN,"S",SDT,0)),"^",20) | 
|---|
| 14 | IF Y D VIEN(Y,$G(SDVIEN)) | 
|---|
| 15 | Q +$G(Y) | 
|---|
| 16 | ; | 
|---|
| 17 | GETAE(SDVIEN,SDATYPE,SDOPE) ;Look-up Outpatient Encounter IEN for add/edit | 
|---|
| 18 | ; Input  -- SDVIEN   Visit file pointer | 
|---|
| 19 | ;           SDATYPE  Appointment Type     [optional] | 
|---|
| 20 | ;           SDOEP    Parent encounter ien [optional] | 
|---|
| 21 | ; | 
|---|
| 22 | ; Output -- Outpatient Encounter file IEN | 
|---|
| 23 | N Y | 
|---|
| 24 | S Y=+$O(^SCE("AVSIT",SDVIEN,0)) | 
|---|
| 25 | I 'Y D AEUPD^SDVSIT(SDVIEN,$G(SDATYPE),$G(SDOPE)) S Y=+$O(^SCE("AVSIT",SDVIEN,0)) | 
|---|
| 26 | IF Y D VIEN(Y,SDVIEN) | 
|---|
| 27 | Q +$G(Y) | 
|---|
| 28 | ; | 
|---|
| 29 | GETDISP(DFN,SDT,SDVIEN) ;Look-up Outpatient Encounter IEN for disposition | 
|---|
| 30 | ; Input  -- DFN      Patient file IEN | 
|---|
| 31 | ;           SDT      Disposition Date/Time | 
|---|
| 32 | ;           SDVIEN   Visit file pointer [optional] | 
|---|
| 33 | ; Output -- Outpatient Encounter file IEN | 
|---|
| 34 | N Y | 
|---|
| 35 | S Y=+$P($G(^DPT(DFN,"DIS",9999999-SDT,0)),"^",18) | 
|---|
| 36 | I 'Y D DISP^SDVSIT(DFN,SDT,$G(SDVIEN)) S Y=+$P($G(^DPT(DFN,"DIS",9999999-SDT,0)),"^",18) | 
|---|
| 37 | IF Y D VIEN(Y,$G(SDVIEN)) | 
|---|
| 38 | Q +$G(Y) | 
|---|
| 39 | ; | 
|---|
| 40 | OKAE(SDOE) ; -- is add/edit ok for credit | 
|---|
| 41 | N Y,X S Y=1 | 
|---|
| 42 | S X=$G(^SCE(SDOE,0)) | 
|---|
| 43 | I $$REQ^SDM1A(+X)="CO",'$P(X,U,7) S Y=0 | 
|---|
| 44 | Q Y | 
|---|
| 45 | ; | 
|---|
| 46 | VIEN(SDOE,SDVIEN) ; -- stuff in Visit IEN if not already set | 
|---|
| 47 | ;                 -- needed for those sites that don't have | 
|---|
| 48 | ;                    scheduling turned on in Visit Tracking | 
|---|
| 49 | ; Required input   SDOE = Outpatient Encounter pointer | 
|---|
| 50 | ;                SDVIEN = Visit file pointer or null or zero | 
|---|
| 51 | ; | 
|---|
| 52 | ; -- quit if no vien passed | 
|---|
| 53 | G VIENQ:'SDVIEN | 
|---|
| 54 | N Y,SDOE0 | 
|---|
| 55 | S SDOE0=$G(^SCE(+SDOE,0)) | 
|---|
| 56 | ; -- quit is no encounter | 
|---|
| 57 | G VIENQ:SDOE0="" | 
|---|
| 58 | ; -- set visit ien if vien not already set | 
|---|
| 59 | IF '$P(SDOE0,U,5) D | 
|---|
| 60 | . N DIE,DA,DR | 
|---|
| 61 | . S DIE="^SCE(",DA=SDOE,DR=".05////"_SDVIEN D ^DIE | 
|---|
| 62 | IF '$P(SDOE0,U,4) D | 
|---|
| 63 | . N DIE,DA,DR,SDLOC | 
|---|
| 64 | . S SDLOC=$P($G(^AUPNVSIT(SDVIEN,0)),U,22) | 
|---|
| 65 | . IF SDLOC S DIE="^SCE(",DA=SDOE,DR=".04////"_SDLOC D ^DIE | 
|---|
| 66 | VIENQ Q | 
|---|
| 67 | ; | 
|---|