| 1 | SDCOM ;ALB/RMO - Process Completion - Check Out ;12 MAR 1993 11:10 am ; 1/19/07 1:37pm
 | 
|---|
| 2 |  ;;5.3;Scheduling;**15,60,105,132,466,495**;Aug 13, 1993;Build 50
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | EN(SDOE,SDMOD,SDCPHDL,SDCOMF) ;Complete Check Out Process
 | 
|---|
| 5 |  ; Input  -- SDOE     Outpatient Encounter file IEN
 | 
|---|
| 6 |  ;           SDMOD    1=Interactive and 0=Non-interactive
 | 
|---|
| 7 |  ;           SDCPHDL  Check Out Completion Handle  [Optional]
 | 
|---|
| 8 |  ; Output -- SDCOMF   0=Incomplete, 1=Complete, 2=Already Complete
 | 
|---|
| 9 |  N SDEVTF
 | 
|---|
| 10 |  I $P($G(^SCE(+SDOE,0)),"^",7) S SDCOMF=2 G Q
 | 
|---|
| 11 |  I '$$CHK(SDOE) S SDCOMF=0 W:$G(SDMOD) !!,*7,">>> ",$$ORG^SDCOU($P($G(^SCE(+SDOE,0)),"^",8))," not checked out.  Required information missing." G Q
 | 
|---|
| 12 |  I '$G(SDCPHDL) N SDATA,SDCPHDL S SDEVTF=1 D EVT^SDCOU1(SDOE,"BEFORE",.SDCPHDL,.SDATA)
 | 
|---|
| 13 |  D UPD(SDOE) S SDCOMF=1 I $G(SDMOD) D MSG
 | 
|---|
| 14 |  I $G(SDEVTF),$G(SDCPHDL) D EVT^SDCOU1(SDOE,"AFTER",SDCPHDL,.SDATA)
 | 
|---|
| 15 | Q Q
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 | CHK(SDOE) ;Check if Process is Complete for Check Out
 | 
|---|
| 18 |  ; Input  -- SDOE     Outpatient Encounter file IEN
 | 
|---|
| 19 |  ; Output -- Process is Complete for Check Out
 | 
|---|
| 20 |  ;           1=Yes and 0=No
 | 
|---|
| 21 |  N DFN,SDCHK,SDCL,SDCLOEY,SDCOQUIT,SDCTI,SDDA,SDOE0,SDOEP,SDORG,SDSCDI,SDT,SCPROCA
 | 
|---|
| 22 |  S SDOE0=$G(^SCE(+SDOE,0)),SDT=+SDOE0,DFN=+$P(SDOE0,"^",2),SDSCDI=$P(SDOE0,"^",3),SDCL=+$P(SDOE0,"^",4),SDOEP=+$P(SDOE0,"^",6),SDORG=+$P(SDOE0,"^",8),SDDA=+$P(SDOE0,"^",9)
 | 
|---|
| 23 |  S SDCHK=1
 | 
|---|
| 24 |  I SDOEP S SDCHK=0 G CHKQ
 | 
|---|
| 25 |  I SDORG=1,'$$CODT^SDCOU(DFN,SDT,SDCL) D  G CHKQ:'SDCHK
 | 
|---|
| 26 |  .I $$REQ^SDM1A(SDT)="CO" S SDCHK=0 Q
 | 
|---|
| 27 |  .D DT^SDCO1(DFN,SDT,SDCL,SDDA,0,"",.SDCOQUIT)
 | 
|---|
| 28 |  I $$REQ^SDM1A(SDT)'="CO" G CHKQ
 | 
|---|
| 29 |  I SDORG=1,'$$CLINIC^SDAMU(SDCL) G CHKQ
 | 
|---|
| 30 |  ;I "^1^2^"[("^"_SDORG_"^"),$$INP^SDAM2(DFN,SDT)="I" G CHKQ  ;SD*5.3*466 allow checks for inpatients as outpatients
 | 
|---|
| 31 |  D CLASK^SDCO2(SDOE,.SDCLOEY)
 | 
|---|
| 32 |  I $D(SDCLOEY) D  G CHKQ:'SDCHK
 | 
|---|
| 33 |  .S SDCTI=0 F  S SDCTI=$O(SDCLOEY(SDCTI)) Q:'SDCTI  I $G(SDCLOEY(SDCTI))="" S SDCHK=0
 | 
|---|
| 34 |  ;sent encounter to ASCD for review
 | 
|---|
| 35 |  I $D(SDCLOEY(3)) D
 | 
|---|
| 36 |  .N SCDXS,SCAMDX,DXS D GETDX^SDOE(SDOE,"SCDXS")
 | 
|---|
| 37 |  .S DXS=0 F  S DXS=$O(SCDXS(DXS)) Q:'DXS  S SCAMDX(+SCDXS(DXS))=""
 | 
|---|
| 38 |  .I $O(SCAMDX(0)) D ST^SDSCAPI(SDOE,.SCAMDX)
 | 
|---|
| 39 |  I $$PRASK^SDCO3(SDOE),'$$PRV^SDOE(SDOE) S SDCHK=0 G CHKQ
 | 
|---|
| 40 |  I $$DXASK^SDCO4(SDOE),'$$GETPDX^SDOE(SDOE) S SDCHK=0 G CHKQ
 | 
|---|
| 41 |  I '$$CPT^SDOE(SDOE) S SDCHK=0 G CHKQ
 | 
|---|
| 42 | CHKQ Q +$G(SDCHK)
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 | UPD(SDOE) ;Update Check Out Process Completion Date
 | 
|---|
| 45 |  ; Input  -- SDOE     Outpatient Encounter file IEN
 | 
|---|
| 46 |  ; Output -- Update Check Out Process Completion Date
 | 
|---|
| 47 |  N DA,DE,DIE,DQ,DR
 | 
|---|
| 48 |  G UPDQ:'$D(^SCE(+SDOE,0))
 | 
|---|
| 49 |  S DA=+SDOE,DIE="^SCE(",DR=".07///NOW"
 | 
|---|
| 50 |  D ^DIE
 | 
|---|
| 51 | UPDQ Q
 | 
|---|
| 52 |  ;
 | 
|---|
| 53 | MSG ;Check Out Message
 | 
|---|
| 54 |  W !!?8,"...checked out ",$$FTIME^VALM1($P($G(^SCE(+SDOE,0)),"^",7))
 | 
|---|
| 55 |  Q
 | 
|---|