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