| 1 | SDCOAM ;ALB/RMO - Appt Mgmt Actions - Check Out; 11 FEB 1993 10:00 am
 | 
|---|
| 2 |  ;;5.3;Scheduling;**1,20,27,66,132**;08/13/93
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | CO(SDCOACT,SDCOACTD) ;Check Out Classification, Provider and Diagnosis
 | 
|---|
| 5 |  ;                Actions on Appt Mgmt
 | 
|---|
| 6 |  N DFN,SDCL,SDCOAP,SDDA,SDOE,SDT,VALMY
 | 
|---|
| 7 |  S VALMBCK=""
 | 
|---|
| 8 |  D EN^VALM2(XQORNOD(0))
 | 
|---|
| 9 |  D FULL^VALM1
 | 
|---|
| 10 |  S SDCOAP=0
 | 
|---|
| 11 |  F  S SDCOAP=$O(VALMY(SDCOAP)) Q:'SDCOAP  D
 | 
|---|
| 12 |  .I $D(^TMP("SDAMIDX",$J,SDCOAP)) K SDAT S SDAT=^(SDCOAP) D
 | 
|---|
| 13 |  ..W !!,^TMP("SDAM",$J,+SDAT,0)
 | 
|---|
| 14 |  ..S DFN=+$P(SDAT,"^",2),SDT=+$P(SDAT,"^",3),SDCL=+$P(SDAT,"^",4),SDDA=$$FIND^SDAM2(DFN,SDT,SDCL)
 | 
|---|
| 15 |  ..S SDOE=+$P($G(^DPT(DFN,"S",SDT,0)),"^",20)
 | 
|---|
| 16 |  ..I 'SDOE!('$$CODT^SDCOU(DFN,SDT,SDCL)) W !!,*7,">>> The appointment must have a check out date/time to update ",SDCOACTD,"." D PAUSE^VALM1 Q
 | 
|---|
| 17 |  ..D ACT(SDCOACT,SDOE,DFN,SDT,SDCL,SDDA,+SDAT)
 | 
|---|
| 18 |  S VALMBCK="R"
 | 
|---|
| 19 |  K SDAT
 | 
|---|
| 20 | COQ Q
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 | ACT(SDCOACT,SDOE,DFN,SDT,SDCL,SDDA,SDLNE) ; -- Check Out Actions
 | 
|---|
| 23 |  N SDCOMF,SDCOQUIT,SDHL,SDVISIT,SDATA,SDHDL
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 |  S SDVISIT=+$P($G(^SCE(+SDOE,0)),U,5)
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  ; -- quit if not ok to edit
 | 
|---|
| 28 |  IF '$$EDITOK^SDCO3($G(SDOE),1) G ACTQ
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 |  ; -- set pce action parameter
 | 
|---|
| 31 |  S SDPXACT=""
 | 
|---|
| 32 |  I $G(SDCOACT)="CL" S SDPXACT="SCC"
 | 
|---|
| 33 |  I $G(SDCOACT)="PR" S SDPXACT="PRV"
 | 
|---|
| 34 |  I $G(SDCOACT)="DX" S SDPXACT="POV"
 | 
|---|
| 35 |  I $G(SDCOACT)="CPT" S SDPXACT="CPT"
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 |  ; -- quit if no action set
 | 
|---|
| 38 |  IF SDPXACT="" G ACTQ
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 |  ; -- do pce interview then rebuild appt list
 | 
|---|
| 41 |  S X=$$INTV^PXAPI(SDPXACT,"SD","PIMS",.SDVISIT,.SDHL,DFN)
 | 
|---|
| 42 |  D BLD^SDAM
 | 
|---|
| 43 | ACTQ Q
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 | PD ;Entry point for SDAM PATIENT DEMOGRAPHICS protocol
 | 
|---|
| 46 |  N SDCOAP,VALMY
 | 
|---|
| 47 |  S VALMBCK=""
 | 
|---|
| 48 |  D FULL^VALM1
 | 
|---|
| 49 |  I SDAMTYP="P" W !!,VALMHDR(1),! D DEM(SDFN)
 | 
|---|
| 50 |  I SDAMTYP="C" D
 | 
|---|
| 51 |  .D EN^VALM2(XQORNOD(0))
 | 
|---|
| 52 |  .S SDCOAP=0 F  S SDCOAP=$O(VALMY(SDCOAP)) Q:'SDCOAP  D
 | 
|---|
| 53 |  ..I $D(^TMP("SDAMIDX",$J,SDCOAP)) K SDAT S SDAT=^(SDCOAP) D
 | 
|---|
| 54 |  ...W !!,^TMP("SDAM",$J,+SDAT,0),!
 | 
|---|
| 55 |  ...D DEM(+$P(SDAT,"^",2))
 | 
|---|
| 56 |  S VALMBCK="R"
 | 
|---|
| 57 | PDQ Q
 | 
|---|
| 58 |  ;
 | 
|---|
| 59 | DEM(DFN) ;Demographics
 | 
|---|
| 60 |  D QUES^DGRPU1(DFN,"ADD")
 | 
|---|
| 61 |  Q
 | 
|---|
| 62 |  ;
 | 
|---|
| 63 | DC ;Entry point for SDAM DISCHARGE CLINIC protocol
 | 
|---|
| 64 |  N SDCOAP,VALMY
 | 
|---|
| 65 |  S VALMBCK=""
 | 
|---|
| 66 |  D FULL^VALM1
 | 
|---|
| 67 |  I SDAMTYP="P" W !!,VALMHDR(1),! D DIS(SDFN)
 | 
|---|
| 68 |  I SDAMTYP="C" D
 | 
|---|
| 69 |  .D EN^VALM2(XQORNOD(0))
 | 
|---|
| 70 |  .S SDCOAP=0 F  S SDCOAP=$O(VALMY(SDCOAP)) Q:'SDCOAP  D
 | 
|---|
| 71 |  ..I $D(^TMP("SDAMIDX",$J,SDCOAP)) K SDAT S SDAT=^(SDCOAP) D
 | 
|---|
| 72 |  ...W !!,^TMP("SDAM",$J,+SDAT,0),!
 | 
|---|
| 73 |  ...D DIS(+$P(SDAT,"^",2),$P(SDAT,"^",4))
 | 
|---|
| 74 |  S VALMBCK="R"
 | 
|---|
| 75 | DCQ Q
 | 
|---|
| 76 |  ;
 | 
|---|
| 77 | DIS(SDFN,SDCLN) ;Discharge from Clinic
 | 
|---|
| 78 |  N SDAMERR
 | 
|---|
| 79 |  D ^SDCD
 | 
|---|
| 80 |  I $D(SDAMERR) D PAUSE^VALM1
 | 
|---|
| 81 |  Q
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 | DEL ;Entry point for SDAM DELETE CHECK OUT protocol
 | 
|---|
| 84 |  I '$D(^XUSEC("SD SUPERVISOR",DUZ)) W !!,*7,">>> You must have the 'SD SUPERVISOR' key to delete an appointment check out." D PAUSE^VALM1 S VALMBCK="R" G DELQ
 | 
|---|
| 85 |  N DFN,SDCL,SDCOAP,SDDA,SDOE,SDT,VALMY,VALSTP
 | 
|---|
| 86 |  S VALMBCK="",VALSTP="" ;VALSTP is used in scdxhldr to identify deletes
 | 
|---|
| 87 |  D EN^VALM2(XQORNOD(0))
 | 
|---|
| 88 |  D FULL^VALM1
 | 
|---|
| 89 |  S SDCOAP=0
 | 
|---|
| 90 |  F  S SDCOAP=$O(VALMY(SDCOAP)) Q:'SDCOAP  D
 | 
|---|
| 91 |  .I $D(^TMP("SDAMIDX",$J,SDCOAP)) K SDAT S SDAT=^(SDCOAP) D
 | 
|---|
| 92 |  ..W !!,^TMP("SDAM",$J,+SDAT,0)
 | 
|---|
| 93 |  ..S DFN=+$P(SDAT,"^",2),SDT=+$P(SDAT,"^",3),SDCL=+$P(SDAT,"^",4),SDDA=$$FIND^SDAM2(DFN,SDT,SDCL)
 | 
|---|
| 94 |  ..S SDOE=+$P($G(^DPT(DFN,"S",SDT,0)),"^",20)
 | 
|---|
| 95 |  ..I 'SDOE!('$$CODT^SDCOU(DFN,SDT,SDCL)) W !!,*7,">>> The appointment must have a check out date/time to delete." D PAUSE^VALM1 Q
 | 
|---|
| 96 |  ..I '$$ASK Q
 | 
|---|
| 97 |  ..N SDATA,SDELHDL
 | 
|---|
| 98 |  ..IF '$$EDITOK^SDCO3(SDOE,1) Q
 | 
|---|
| 99 |  ..S SDELHDL=$$HANDLE^SDAMEVT(1)
 | 
|---|
| 100 |  ..D EN^SDCODEL(SDOE,1,SDELHDL),PAUSE^VALM1
 | 
|---|
| 101 |  ..D BLD^SDAM
 | 
|---|
| 102 |  ..S SDOE=$$GETAPT^SDVSIT2(DFN,SDT,SDCL)
 | 
|---|
| 103 |  S VALMBCK="R"
 | 
|---|
| 104 |  K SDAT
 | 
|---|
| 105 | DELQ Q
 | 
|---|
| 106 |  ;
 | 
|---|
| 107 | ASK() ;Ask if user is sure they want to delete the check out
 | 
|---|
| 108 |  N DIR,DTOUT,DUOUT,Y
 | 
|---|
| 109 |  W !!,*7,">>> Deleting the appointment check out will also delete any check out related",!?4,"information.  This information may include classifications, procedures,",!?4,"providers and diagnoses."
 | 
|---|
| 110 |  S DIR("A")="Are you sure you want to delete the appointment check out"
 | 
|---|
| 111 |  S DIR("B")="NO",DIR(0)="Y" W ! D ^DIR
 | 
|---|
| 112 |  Q +$G(Y)
 | 
|---|