| 1 | SDWLE2 ;;IOFO BAY PINES/TEH - WAITING LIST-ENTER/EDIT;06/12/2002 ; 20 Aug 2002  2:10 PM  ; Compiled May 25, 2007 16:37:21
 | 
|---|
| 2 |  ;;5.3;scheduling;**263,397,424,446**;AUG 13 1993;Build 77
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ;******************************************************************
 | 
|---|
| 6 |  ;                             CHANGE LOG
 | 
|---|
| 7 |  ;                                               
 | 
|---|
| 8 |  ;   DATE                        PATCH                   DESCRIPTION
 | 
|---|
| 9 |  ;   ----                        -----                   -----------
 | 
|---|
| 10 |  ;   06/06/06                    SD*5.3*446              Allow selection of a clinic after specialty is entered
 | 
|---|
| 11 |  ;   
 | 
|---|
| 12 |  ;   
 | 
|---|
| 13 |  ;      
 | 
|---|
| 14 |  ;Service/Specialty sub-routine
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 | EN ;
 | 
|---|
| 17 |  N SDWLSSX  ; sd/446
 | 
|---|
| 18 |  K DIR,DIC,DR I $D(SDWLSS) S X=$$EXTERNAL^DILFD(409.3,7,,SDWLSS)
 | 
|---|
| 19 |  S SDWLERR=0 I $D(SDWLSS) S DIC("B")=$S($D(SDWLSS):X,1:"") I DIC("B")="" K DIC("B")
 | 
|---|
| 20 |  S DIC(0)="AEQ",DIC=409.31,DIC("A")="Select Service/Specialty: "
 | 
|---|
| 21 |  S DIC("S")="I $D(^SDWL(409.31,""E"",SDWLINE,+Y)),$D(^SDWL(409.31,+Y,""I"")),$P(^SDWL(409.31,+Y,""I"",($O(^SDWL(409.31,+Y,""I"",""B"",SDWLINE,""""))),0),U,4)=""""" D ^DIC
 | 
|---|
| 22 |  I X["^" S DUOUT=1 G END
 | 
|---|
| 23 |  I Y<0 W *7," Required" G EN
 | 
|---|
| 24 |  S SDWLSSX=+Y  ; sd/446
 | 
|---|
| 25 |  N SDSP S SDSP=$$GET1^DIQ(409.31,SDWLSSX,.01,"I") ; get pointer to 40.7
 | 
|---|
| 26 |  N SDD,SDCL,SDORG S SDCL="",SDORG=DT S SDD=$$CHKENC^SDWLQSC1(DFN,SDORG,SDCL,SDSP,1)
 | 
|---|
| 27 |  I SDD D APPTDIS N DIR,Y D  I Y["^"!'Y S DUOUT=1 Q
 | 
|---|
| 28 |  .W !!,"This patient already has scheduled appointments which may match",!,"the Wait List Entry."
 | 
|---|
| 29 |  .S DIR(0)="Y^A0",DIR("B")="NO",DIR("A")="Are you sure you want to continue"
 | 
|---|
| 30 |  .D ^DIR
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 |  I '$$CLIN() Q:$G(DUOUT)  S DIE="^SDWL(409.3,",DR="7////^S X=SDWLSSX" D ^DIE  ; sd/446
 | 
|---|
| 33 |  K DIR,DIC,DIE,DR,Y,DUOUT
 | 
|---|
| 34 | END Q
 | 
|---|
| 35 | APPTDIS ;display already created appt/encounters
 | 
|---|
| 36 |  ;from ^TMP($J,"APPT")
 | 
|---|
| 37 |  N STR,SCNT
 | 
|---|
| 38 |  Q:'$D(^TMP($J,"APPT"))
 | 
|---|
| 39 |  S SCNT="" F  S SCNT=$O(^TMP($J,"APPT",SCNT)) Q:SCNT=""  D
 | 
|---|
| 40 |  .S STR=^TMP($J,"APPT",SCNT)
 | 
|---|
| 41 |  .N ZZ F ZZ=2,3,4,10,15 S SDD(ZZ)=$P($P(STR,"^",ZZ),";",2)
 | 
|---|
| 42 |  .N SD S SD=$P(STR,U) D  S Y=SD D D^DIQ S SDD(1)=Y ; date conv
 | 
|---|
| 43 |  ..I SDD(3)="SCHEDULED/KEPT" S SDD(3)=$S(SD<DT:"KEPT",1:"SCHEDULED")
 | 
|---|
| 44 |  .;DISPLAY
 | 
|---|
| 45 |  .I SCNT=1 D DPH(SCNT,.SDD)
 | 
|---|
| 46 |  .D DPHD(SCNT,.SDD)
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 | DPH(SCNT,SDD) ;display appt header
 | 
|---|
| 49 |  W !!,"Appointment(s) for: "_SDD(4)
 | 
|---|
| 50 |  W !?3,"Appt Date/Time",?23,"Clinic",?48,"Status",?60,"Institution",! N SDL S $P(SDL,"-",79)="" W SDL,!
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 | DPHD(SCNT,SDD) ;
 | 
|---|
| 53 |  W !,SCNT,?3,SDD(1),?23,$E(SDD(2),1,23),?48,$E(SDD(10),1,10),?60,SDD(15)
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 | CLIN() ; sd/446
 | 
|---|
| 57 |  N DA,DIC,DIE,DIK,DR,SDWLCL,SDWLEST,X,Y
 | 
|---|
| 58 |  S DIC=409.32,DIC(0)="AEQ",DIC("A")="WL SPECIFIC CLINIC related to this SPECIALTY (optional): ",DIC("S")="I $$VAL^SDWLE2(+Y)"
 | 
|---|
| 59 |  D ^DIC
 | 
|---|
| 60 |  I X["^" S DUOUT=1 Q 0
 | 
|---|
| 61 |  Q:X="" 0
 | 
|---|
| 62 |  S SDWLCL=+Y
 | 
|---|
| 63 |  ; Need to delete the old entry and create anew to change the wait list type
 | 
|---|
| 64 |  S SDWLEST=$$GET1^DIQ(409.3,SDWLDA,27,"I")
 | 
|---|
| 65 |  S DIK="^SDWL(409.3,",DA=SDWLDA
 | 
|---|
| 66 |  D ^DIK
 | 
|---|
| 67 |  S DIC(0)="LX",X=SDWLDFN,DIC="^SDWL(409.3," D FILE^DICN
 | 
|---|
| 68 |  L:DA'=SDWLDA +^SDWL(409.3,DA),-^SDWL(409.3,SDWLDA)
 | 
|---|
| 69 |  S SDWLDA=DA
 | 
|---|
| 70 |  S DIE="^SDWL(409.3,",DR="1////^S X=DT;2////^S X=SDWLINE;4////^S X=4;8////^S X=SDWLCL;9////^S X=DUZ;27////^S X=SDWLEST"
 | 
|---|
| 71 |  S:$G(SDWLACA) DR=DR_";33////^S X=""Y"""  ; 446
 | 
|---|
| 72 |  D ^DIE
 | 
|---|
| 73 |  Q 1
 | 
|---|
| 74 | VAL(Y) ; sd/446
 | 
|---|
| 75 |  N TMP
 | 
|---|
| 76 |  D GETS^DIQ(409.32,Y,".01;.02;2;4","I","TMP")
 | 
|---|
| 77 |  Q:TMP(409.32,Y_",",.02,"I")'=SDWLINE 0  ; Wrong institution
 | 
|---|
| 78 |  Q:TMP(409.32,Y_",",2,"I")="" 0  ; No activation date entered
 | 
|---|
| 79 |  Q:TMP(409.32,Y_",",4,"I")'="" 0  ; Inactivation date entered
 | 
|---|
| 80 |  Q $$GET1^DIQ(44,TMP(409.32,Y_",",.01,"I"),8,"I")=$$GET1^DIQ(409.31,SDWLSSX,.01,"I")  ; Does the clinic have the right stop code?
 | 
|---|