Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: SDWLE

SDWLE.m

Go to the documentation of this file.
  1. SDWLE ;BPOI/TEH - WAITING LIST-ENTER/EDIT;06/12/2002
  1. ;;5.3;scheduling;**263,415,446,524,1015**;08/13/93;Build 21
  1. ;
  1. ;
  1. ;******************************************************************
  1. ; CHANGE LOG
  1. ;
  1. ; DATE PATCH DESCRIPTION
  1. ; ---- ----- -----------
  1. ; 09JUN2005 446 Inter-Facility Transfer.
  1. ;
  1. ;
  1. EN ;ENTRY POINT - INTIALIZE VARIABLES
  1. N DTOUT,%
  1. I $D(SDWLOPT),SDWLOPT G OPT
  1. I $D(SDWLLIST),SDWLLIST,$D(DFN),DFN<0 K SDWLLIST
  1. I $D(SDWLLIST),SDWLLIST,$D(DFN),DFN'="" S SDWLDFN=DFN D 1^VADPT S (SDWLTEM,SDWLPOS)=0 D HD,SB1 G EN1:'$D(DUOUT) W !,"PATIENT: ",VADM(1),?40,VA("PID") W !,*7,"PATIENT'S DATE OF DEATH HAS BEEN RECORDED" S DIR(0)="E" D ^DIR G END
  1. K ^TMP("SDWLD",$J) D HD
  1. D PAT G END:DFN<0
  1. OPT S SDWLPCMM=0,SDWLERR=0 I $D(SDWLOPT),SDWLOPT D
  1. .S %=2 W !,"DO YOU WISH TO PLACE THIS PATIENT ON A WAITING LIST " D YN^DICN
  1. .I %=-1!(%=2) S SDWLERR=1 Q
  1. I $D(SDWLOPT),SDWLOPT,SDWLERR Q
  1. S SDWLDFN=DFN
  1. D 1^VADPT
  1. S (SDWLTEM,SDWLPOS)=0
  1. EN1 N SDWLNEW,SDWLERR,SDWLCN,SDWLWTE S SDWLNEW=0,SDWLERR=0,SDWLCN=0,SDWLWTE=0
  1. G:$$EN^SDWLE6(SDWLDFN,.SDWLERR) EN2 ; OG ; SD*5.3*446 ; Inter-facility transfer
  1. D DIS
  1. I $D(^SDWL(409.3,"B",DFN)),'SDWLCN W !!,"PATIENT: ",VADM(1),?40,VA("PID")
  1. S SDWLPS=$S(SDWLCN>1:1,SDWLCN=1:2,1:3)
  1. I $D(SDWLOPT),SDWLOPT,SDWLPS=3 S X="Y" G ENO
  1. I SDWLPS=1 S DIR(0)="FOA^^" S DIR("A")="Select Wait List (1-"_SDWLCN_") or Enter 'N' for New or '^' to Quit ? ",DIR("?")="Enter a Valid Number or 'N' for New."
  1. I SDWLPS=2 S DIR(0)="FOA^^" S DIR("A")="Select Wait List (1) or Enter 'N' for New or '^' to Quit ? ",DIR("?")="Enter a '1' or 'N' for New."
  1. I SDWLPS=3 S DIR(0)="YAO^^S X=""Y""" S DIR("A")="Patient is not on Waiting List. Do you wish to Add Patient? Yes// "
  1. W ! D ^DIR W ! K DIR
  1. G END:$D(DUOUT),END:$D(DTOUT)
  1. I SDWLPS=1 D G EN3:SDWLERR=1 I SDWLERR=2 W *7," ??" G EN1
  1. .S SDWLERR=$S(X?1"N".E:0,X?1"n".E:0,X="":2,$D(DUOUT):1,X["^":1,$D(^TMP("SDWLD",$J,DFN,+X)):0,1:2) Q
  1. I SDWLPS=2 D G EN3:SDWLERR=1 I SDWLERR=2 W *7," ??" G EN1
  1. .S SDWLERR=$S(X?1"N".E:0,X?1"n".E:0,X="":2,$D(DUOUT):1,X["^":1,$D(^TMP("SDWLD",$J,DFN,+X)):0,1:2) Q
  1. ENO I SDWLPS=3 D G EN3:SDWLERR=1 I SDWLERR=2 W *7," ??" G EN1
  1. .S SDWLERR=$S(X?1"N".E:1,X?1"n".E:1,X="":0,X?1"Y".E:0,X?1"y".E:0,$D(DUOUT):1,X["^":1,1:2) Q
  1. I SDWLPS=1!(SDWLPS=2),X?1N.N D
  1. .N DA,SDWLDA S (DA,SDWLDA)=$P($G(^TMP("SDWLD",$J,DFN,+X)),"~",2),SDWLEDIT=""
  1. .;
  1. .;LOCK DATA FILE
  1. .;
  1. .L +^SDWL(409.3,DA):5 I '$T W !,"ANOTHER TERMINAL IS EDITING THIS ENTRY. TRY LATER." S DUOUT=1
  1. .I $D(DUOUT) Q
  1. .N SDWLINNM,SDWLSTN ; OG ; This and the following six lines added for patch 415
  1. .I $$GETTRN^SDWLIFT1(SDWLDA,.SDWLINNM,.SDWLSTN) D S DUOUT=1 Q
  1. ..N SDWLMSG,SDWLI
  1. ..S SDWLMSG(0)=1,SDWLMSG(SDWLMSG(0),0)="This entry is the subject of a transfer to "_SDWLINNM_" ("_SDWLSTN_"). Editing inhibited."
  1. ..I $L(SDWLMSG(SDWLMSG(0),0))>80 D COL80^SDWLIFT(.SDWLMSG)
  1. ..F SDWLI=1:1:SDWLMSG(0) W !,SDWLMSG(SDWLI,0)
  1. ..Q
  1. .D EN^SDWLE10
  1. .D EDIT W !!,"Editing is Completed" S SDWLERR=1 K SDWLEDIT
  1. G END:SDWLERR
  1. I SDWLPS=1!(SDWLPS=2),X?1"N".E!(X?1"n".E) D NEW,EDIT S SDWLNEW="" G EN2
  1. I SDWLPS=3 D NEW,EDIT S SDWLNEW=""
  1. EN2 I $D(SDWLNEW),'$D(DUOUT),'SDWLERR W !!,?15,"*** Patient has been added to Wait List ***",!
  1. K SDWLNEW,DUOUT
  1. ;
  1. ;UNLOCK FILE AND KILL LOCAL VARIABLES
  1. ;
  1. I $D(SDWLDA) L -^SDWL(409.3,SDWLDA)
  1. ;-exit logic
  1. EN3 D END^SDWLE113
  1. Q
  1. END D END^SDWLE113
  1. D EN^SDWLKIL
  1. Q
  1. ;
  1. ;
  1. PAT ;SELECT PATIENT
  1. ;
  1. S DIC(0)="EMNZAQ",DIC=2 D ^DIC S (SDWLDFN,DFN)=$P(Y,U,1) G PAT1:DFN<0
  1. S X=$$GET1^DIQ(2,DFN_",",".351") I X'="" W !,*7,"PATIENT'S DATE OF DEATH HAS BEEN RECORDED" G PAT
  1. S SDWLSSN=$G(VA("PID")),SDWLNAM=$G(VA(1))
  1. PAT1 K VADM,VAIN,VAERR,VA Q
  1. ;
  1. DIS ;DISPLAY DATA FOR PATIENT
  1. ;
  1. S SDWLHDR="Wait List Enter/Edit"
  1. D EN^SDWLD(DFN,VA("PID"),VADM(1))
  1. D PCM^SDWLE1,PCMD^SDWLE1
  1. Q
  1. ;
  1. NEW ;
  1. D NEW^SDWLE11
  1. Q
  1. ;
  1. EDIT ;
  1. D EN^SDWLE111 I $D(DUOUT) D END^SDWLE113:'$D(SDWLEDIT) Q
  1. I SDWLTYE=4 D ED4 K DIR,DIE,DIC,DR Q
  1. I SDWLTYE=3 D ED3 K DIR,DIE,DIC,DR Q
  1. I SDWLTYE=2 D ED2 K DIR,DIE,DIC,DR Q
  1. I SDWLTYE=1 D ED1 K DIR,DIE,DIC,DR Q
  1. Q
  1. ED1 ;-team
  1. I $D(DUOUT) D END^SDWLE113:'$D(SDWLEDIT) Q
  1. D EN^SDWLE3 I '$D(DUOUT) D EN^SDWLE113 Q
  1. Q
  1. ED2 ;-position
  1. I $D(DUOUT) D END^SDWLE113:'$D(SDWLEDIT) Q
  1. D EN^SDWLE5 I '$D(DUOUT) D EN^SDWLE113 Q
  1. Q
  1. ED3 ;-specialty
  1. D EN^SDWLE2 I $D(DUOUT) D END^SDWLE113:'$D(SDWLEDIT) Q
  1. D EN^SDWLE110 I $D(DUOUT) D END^SDWLE113:'$D(SDWLEDIT) Q
  1. I '$D(DUOUT) D EN^SDWLE113
  1. D END^SDWLE113
  1. Q
  1. ED4 ;-clinic
  1. D EN^SDWLE4 I $D(DUOUT) D END^SDWLE113:'$D(SDWLEDIT) Q
  1. D EN^SDWLE110 I $D(DUOUT) D END^SDWLE113:'$D(SDWLEDIT) Q
  1. I '$D(DUOUT) D EN^SDWLE113
  1. D END^SDWLE113
  1. Q
  1. ;
  1. ED5 D END^SDWLE113
  1. Q
  1. SB1 S X=$$GET1^DIQ(2,DFN_",",".351") I X'="" S DUOUT=""
  1. Q
  1. HD W:$D(IOF) @IOF W !,?80-$L("Scheduling/PCMM Enter/Edit Wait List")\2,"Scheduling/PCMM Enter/Edit Wait List",!!
  1. I $D(DFN),DFN'="",'$D(^SDWL(409.3,"B",DFN)),$D(SDWLLIST),SDWLLIST D
  1. .W !!,"PATIENT: ",VADM(1),?40,VA("PID")
  1. Q