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

SDWLE110.m

Go to the documentation of this file.
  1. SDWLE110 ;IOFO BAY PINES/TEH - WAITING LIST-ENTER/EDIT ;1/11/16 10:32am
  1. ;;5.3;scheduling;**263,273,424,454,554,645**;AUG 13 1993;Build 7
  1. ;
  1. ;
  1. ;******************************************************************
  1. ; CHANGE LOG
  1. ;
  1. ; DATE PATCH DESCRIPTION
  1. ; ---- ----- -----------
  1. ; 11/27/02 SD*5.3*273 Add "/", line SA1+11,+13,FA2+13
  1. ;
  1. ;
  1. EN K DIR
  1. I $D(^SDWL(409.3,SDWLDA,0)) S DIR("B")=$$EXTERNAL^DILFD(409.3,10,,$P(^(0),U,11))
  1. I DIR("B")="" K DIR("B")
  1. S DIR(0)="SO^1:Future Date;2:ASAP"
  1. S DIR("L",1)="Priority",DIR("L",2)=""
  1. S DIR("L",3)="1. Future Date",DIR("L")="2. ASAP"
  1. D ^DIR I X["^" S DUOUT=1 Q ;-'^' here will remove patient from wait list
  1. I X="@" W *7," ??" G EN
  1. I X="" W *7,"Required or '^' to quit." G EN
  1. I $D(DTOUT) S DUOUT=1 Q
  1. S X=$E(X,1)
  1. S X=$TR(X,"abcdefghijklmnopqrstuvwxyz","ABCEDFGHIJKLMNOPQRSTUVWXYZ")
  1. S SDWLPRIE=$S(X["A":"A",X["F":"F",X[1:"F",X[2:"A",1:"F")
  1. S DIE="^SDWL(409.3,",DA=SDWLDA,DR="10////^S X=SDWLPRIE" D ^DIE
  1. ;
  1. ;If priority is ASAP ask requesting provider
  1. ;
  1. I SDWLPRIE="A" S Y=DT D DD^%DT W " ",Y D SA,DUP G END:$D(DUOUT) Q
  1. I SDWLPRIE="F" D FA G END:$D(DUOUT) Q ;to enter future date
  1. Q
  1. ;
  1. SA K DIR,DR,DIE S SDWLERR=0,SDWLX=$S($D(SDWLPROV):$$EXTERNAL^DILFD(409.3,12,,SDWLPROV),1:"")
  1. I $D(SDWLPROV),SDWLPROV,SDWLX'="" S DIR("B")=SDWLX
  1. I $D(^SDWL(409.3,SDWLDA,0)) S DIR("B")=$$EXTERNAL^DILFD(409.3,11,,$P(^(0),U,12))
  1. I DIR("B")="" K DIR("B")
  1. K %DT,DR S DIR(0)="SO^1:Provider;2:Patient"
  1. S DIR("L",1)="Request By",DIR("L",2)=""
  1. S DIR("L",3)="1. Provider",DIR("L")="2. Patient"
  1. D ^DIR I X["^" S DUOUT=1,DIR("A")="ASAP" Q
  1. S X=Y
  1. I $D(DTOUT) S DUOUT=1,DIR("A")="ASAP" Q
  1. S SDWLRBE=$S(X=1:1,X["PR":1,X["pr":1,X["Pr":1,X=2:2,X["PA":2,X["pa":2,X["Pa":2,1:0) I 'SDWLRBE W *7," ??" G SA
  1. S DR="11////^S X=SDWLRBE",DA=SDWLDA,DIE="^SDWL(409.3," D ^DIE
  1. ;
  1. SA1 I SDWLRBE=1 D
  1. .S DIC("S")="I $$SCREEN^SDUTL2(Y,DT)"
  1. .S SDWLX=$S($D(SDWLPROV):$$EXTERNAL^DILFD(409.3,12,,SDWLPROV),1:"") I SDWLX'="" S DIC("B")=SDWLPROV
  1. .I $D(^SDWL(409.3,SDWLDA,0)) S DIR("B")=$$EXTERNAL^DILFD(409.3,11,,$P(^(0),U,12))
  1. .S SDWLERR=0,DIC(0)="AEQ",DIC=200,DIC("A")="Provider Requesting Appointment: " D ^DIC
  1. .I X["^" S DUOUT=1 Q
  1. .I Y<1 S SDWLERR=1 Q
  1. .I $D(DUOUT) Q
  1. .I $D(DTOUT) S DUOUT=1 Q
  1. .K DIC,DIC("S"),DIC("A"),DIC(0),DIC("B")
  1. .S SDWLPROV=+Y,SDWLPRON=$P(Y,U,2),DIE="^SDWL(409.3,",DA=SDWLDA
  1. .S DR="12////^S X=SDWLPROV" D ^DIE S SDWLPRVE=SDWLPROV
  1. I SDWLERR W *7," Required" G SA1
  1. S DR="11////^S X=SDWLRBE" D ^DIE
  1. S DR="22///TODAY" D ^DIE K DIE,DR,DIC,DIR,SDWLPRVE,SDWLPROV,SDWLPRON
  1. Q
  1. ;
  1. ;If Priority is 'FUTURE' ask Desired Date of Appointment and Requesting by Provider or Patient
  1. ;
  1. FA S SDWLERR=0 K DIR,DUOUT,DR,DIE I $D(SDWLDAPE) S Y=SDWLDAPE D DD^%DT S DIR("B")=Y
  1. I $D(^SDWL(409.3,SDWLDA,0)),$P(^(0),U,16) S %DT("B")=$$EXTERNAL^DILFD(409.3,22,,$P(^(0),U,16)) ;SD*5.3*424
  1. ; SD*5.3*645 - replaced Desired Date with CID/Preferred Date when presented to the user
  1. ;S %DT="AEF",%DT("A")="Desired Date of Appointment: " D ^%DT ; Added "F" to set to a future date - PATCH SD*5.3*554
  1. S %DT="AEF",%DT("A")="CID/Preferred Date of Appointment: " D ^%DT
  1. I $D(DTOUT)!(X="^") G EN
  1. I X="" W *7,!!,"This is a required response. Enter '^' to exit.",! G EN ;SD*5.3*454
  1. S SDWLDAPE=Y,DR="22////^S X=SDWLDAPE",DIE="^SDWL(409.3,",DA=SDWLDA D ^DIE
  1. K SDWLDAPE,Y,DA,DIE,%DT,%DT(0),%DT("A"),%DT("B")
  1. ;
  1. FA1 K DIR,%DT,DR S DIR(0)="SO^1:Provider;2:Patient"
  1. S SDWLX=$S($D(SDWLPROV):$$EXTERNAL^DILFD(409.3,12,,SDWLPROV),1:"") I SDWLX'="" S DIR("B")=SDWLPROV
  1. I $D(^SDWL(409.3,SDWLDA,0)) S DIR("B")=$$EXTERNAL^DILFD(409.3,11,,$P(^(0),U,12))
  1. I DIR("B")="" K DIR("B")
  1. S DIR("L",1)="Request By",DIR("L",2)=""
  1. S DIR("L",3)="1. Provider",DIR("L")="2. Patient"
  1. D ^DIR I X["^" S DIR("B")=$S($D(SDWLDAPE):SDWLDAPE,1:"") G FA
  1. S X=Y
  1. I $D(DTOUT) S DUOUT=1 S DIR("B")=SDWLDAPE G FA
  1. S SDWLRBE=$S(X=1:1,X["PR":1,X["pr":1,X["Pr":1,X=2:2,X["PA":2,X["pa":2,X["Pa":2,1:0) I 'SDWLRBE W *7," ??" G FA1
  1. S DR="11////^S X=SDWLRBE",DA=SDWLDA,DIE="^SDWL(409.3," D ^DIE
  1. ;
  1. FA2 I SDWLRBE=1 D
  1. .;
  1. .;if provider is selected look-up valid provider from new person (File 200)
  1. .;
  1. .S DIC("S")="I $$SCREEN^SDUTL2(Y,DT)"
  1. .S SDWLX=$S($D(SDWLPROV):$$EXTERNAL^DILFD(409.3,12,,SDWLPROV),1:""),DIC("B")=$S($D(SDWLPROV):SDWLX,1:"")
  1. .S SDWLERR=0,DIC(0)="AEQ",DIC=200,DIC("A")="Provider Requesting Appointment: " D ^DIC
  1. .I X["^" S DUOUT=1 Q
  1. .I Y<1 S SDWLERR=1 Q
  1. .I $D(DTOUT) S DUOUT=1 Q
  1. .Q:$D(DUOUT) D
  1. ..K DIC,DIC("S"),DIC("A"),DIC(0),DIC("B")
  1. ..S SDWLPROV=+Y,SDWLPRON=$P(Y,U,2),DIE="^SDWL(409.3,",DA=SDWLDA
  1. ..S DR="12////^S X=SDWLPROV" D ^DIE S SDWLPRVE=SDWLPROV K DIE
  1. I SDWLERR W *7," Required" G FA2
  1. END K DIC,DIE,DIR I $D(DUOUT) S DIR("B")=$S(SDWLPRIE="F":"Future",1:"ASAP")
  1. K SDWLPRVE,SDWLPROV,SDWLPRON
  1. Q
  1. ;
  1. DUP ;
  1. Q