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