[613] | 1 | SDAMEVT3 ;ALB/CAW - Disposition Event Driver Utilities ; 11/2/00 8:40am
|
---|
| 2 | ;;5.3;Scheduling;**15,217**;Aug 13, 1993
|
---|
| 3 | ;
|
---|
| 4 | BEFORE(DFN,SDDT,SDEVT,SDHDL) ;
|
---|
| 5 | D CAPTURE("BEFORE",.DFN,.SDDT,.SDEVT,.SDHDL)
|
---|
| 6 | Q
|
---|
| 7 | ;
|
---|
| 8 | AFTER(DFN,SDDT,SDEVT,SDHDL) ;
|
---|
| 9 | N SDDA,SDIS,DA,DR,DE,DQ,DIV,DIE,SDVSIT,SDINS,SDIV,X
|
---|
| 10 | ;
|
---|
| 11 | S SDIS=$G(^DPT(DFN,"DIS",9999999-SDDT,0))
|
---|
| 12 | ; -- is the disposition good for opc credit?
|
---|
| 13 | I ($P(SDIS,U,2)=0!($P(SDIS,U,2)=1)),$P(SDIS,U,6),'$P($G(^SCE(+$P(SDIS,U,18),0)),U,7) D
|
---|
| 14 | .I SDEVT=9 W !!,*7,">>> This Disposition must be checked out."
|
---|
| 15 | .D RESET(DFN,9999999-SDDT,SDHDL)
|
---|
| 16 | .I $P(SDIS,U,18) D EN^SDCODEL($P(SDIS,U,18),1,SDHDL)
|
---|
| 17 | ;
|
---|
| 18 | ; -- is the disposition 'still' good for opc credit?
|
---|
| 19 | I $P(SDIS,U,2)'=0,$P(SDIS,U,2)'=1,$P(SDIS,U,18) D
|
---|
| 20 | .I '$$ASK D RESET(DFN,9999999-SDDT,SDHDL) Q
|
---|
| 21 | .D EN^SDCODEL($P(SDIS,U,18),1,SDHDL)
|
---|
| 22 | ;
|
---|
| 23 | ; -- capture 'after' data
|
---|
| 24 | D CAPTURE("AFTER",.DFN,.SDDT,.SDEVT,.SDHDL)
|
---|
| 25 | ;
|
---|
| 26 | ; -- has division changed
|
---|
| 27 | I $P(^TMP("SDEVT",$J,SDHDL,3,"DIS",0,"BEFORE"),U,4)'=$P(^("AFTER"),U,4) S X=^("AFTER") I $P(X,U,18) S SDIV=$P(X,U,4),SDOE=$P(X,U,18) D Q
|
---|
| 28 | .;
|
---|
| 29 | .;-- is a new visit entry needed
|
---|
| 30 | .I $P($G(^AUPNVSIT(+$P($G(^SCE(SDOE,0)),U,5),0)),U,6) S SDINS=$P(^(0),U,6) I SDINS'=$P($G(^DG(40.8,SDIV,0)),U,7) D
|
---|
| 31 | ..D ARRAY^SDVSIT(DFN,SDDT,.SDDA,.SDIS,.SDVSIT)
|
---|
| 32 | ..D VISIT^SDVSIT0(.SDDT,.SDVSIT)
|
---|
| 33 | ..I SDVSIT("VST") S DIE="^SCE(",DR=".05////"_SDVSIT("VST"),DA=SDOE D ^DIE
|
---|
| 34 | ..D OE^SDAMEVT("AFTER",3,SDOE,SDHDL)
|
---|
| 35 | ; If division has not changed AND patient has an Outpatient Encounter
|
---|
| 36 | ; display Hospital Disposition Location
|
---|
| 37 | S X=$G(^TMP("SDEVT",$J,SDHDL,3,"DIS",0,"AFTER")) I $P(X,U,18) S SDIV=$P(X,U,4),SDOE=$P(X,U,18) D
|
---|
| 38 | .N PREVST,DIC,DA,DR,DIQ,DHL,Y,OK
|
---|
| 39 | .S OK=0
|
---|
| 40 | .S DIC="409.68",DR=".05",DA=SDOE,DIQ="PREVST(",DIQ(0)="I" D EN^DIQ1
|
---|
| 41 | .F D Q:OK=1 ; Get Disposition Hospital Location
|
---|
| 42 | ..S PREVST(0)=$G(PREVST("409.68",SDOE,".05","I"))
|
---|
| 43 | ..S DIC=9000010,DA=PREVST(0),DR=".22",DIQ="DHL(",DIQ(0)="EI" D EN^DIQ1
|
---|
| 44 | ..; Ask for Hospital location from those that can disposition
|
---|
| 45 | ..S DA(1)=1,DIC="^PX(815,1,""DHL"",",DIC("P")=$P(^DD(815,401,0),"^",2)
|
---|
| 46 | ..S DIC("B")=$G(DHL(9000010,PREVST(0),".22","E")) ; DHLocation
|
---|
| 47 | ..S DIC(0)="AEOQ" D ^DIC
|
---|
| 48 | ..I Y<0 W !!,$C(7),"Disposition Hospital Location is required." Q
|
---|
| 49 | ..S DR=".22////"_$P(Y,"^",2),DIE=9000010,DA=PREVST(0)
|
---|
| 50 | ..D ^DIE
|
---|
| 51 | ..S OK=1
|
---|
| 52 | Q
|
---|
| 53 | ;
|
---|
| 54 | RESET(DFN,SDIDT,SDHDL) ;Reset Disposition Status
|
---|
| 55 | N DA,DE,DQ,DIE,DR,SDOSTA
|
---|
| 56 | S SDOSTA=$P($G(^TMP("SDEVT",$J,SDHDL,3,"DIS",0,"BEFORE")),"^",2)
|
---|
| 57 | I $G(SDOSTA)]"" D
|
---|
| 58 | .W !!,">>> Changing status back to ",$P($P(^DD(2.101,1,0),SDOSTA_":",2),";"),"..."
|
---|
| 59 | .S DA=SDIDT,DA(1)=DFN,DR="1////"_SDOSTA
|
---|
| 60 | .S DIE="^DPT("_DFN_",""DIS""," D ^DIE
|
---|
| 61 | .W "done"
|
---|
| 62 | Q
|
---|
| 63 | ;
|
---|
| 64 | ASK() ;Ask if user is sure they want to change the disposition status
|
---|
| 65 | N DIR,DTOUT,DUOUT,Y
|
---|
| 66 | W !!,*7,">>> Changing the status of this disposition will delete any check out",!?4,"related information. This information may include add/edits,",!?4,"classifications, providers and diagnoses."
|
---|
| 67 | S DIR("A")="Are you sure you want to change the status"
|
---|
| 68 | S DIR("B")="NO",DIR(0)="Y" W ! D ^DIR
|
---|
| 69 | Q +$G(Y)
|
---|
| 70 | ;
|
---|
| 71 | CAPTURE(SDCAP,DFN,SDDT,SDEVT,SDHDL) ;
|
---|
| 72 | N SDDA,Z
|
---|
| 73 | S SDDA=9999999-SDDT
|
---|
| 74 | S (Z,^TMP("SDEVT",$J,SDHDL,3,"DIS",0,SDCAP))=$G(^DPT(DFN,"DIS",SDDA,0))
|
---|
| 75 | D:$P(Z,U,18) OE^SDAMEVT(SDCAP,3,+$P(Z,U,18),SDHDL)
|
---|
| 76 | Q
|
---|
| 77 | ;
|
---|
| 78 | EVT(DFN,SDDT,SDEVT,SDHDL) ;
|
---|
| 79 | D AFTER(.DFN,.SDDT,.SDEVT,SDHDL)
|
---|
| 80 | D EVTGO^SDAMEVT2
|
---|
| 81 | Q
|
---|