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

SDWLPE.m

Go to the documentation of this file.
  1. SDWLPE ;IOFO BAY PINES/TEH - WAIT LIST - PARAMETER WAIT LIST ENTER/EDIT ; 5/24/11 11:27am
  1. ;;5.3;scheduling;**263,280,288,397,491,554,638**;AUG 13 1993;Build 8
  1. ;
  1. ;SD/491 - identify clinic institution through DIVISION ---> INSTITUTION path
  1. EN ;
  1. ;OPTION HEADER
  1. ;
  1. D HD
  1. ;
  1. ;SELECT FILE TO EDIT
  1. ;
  1. EN1 D SEL G END:X["^",END:X=""
  1. ;
  1. ;EDIT PARAMETER FILE
  1. ;
  1. D EDIT G EN:'$D(Y)
  1. G END
  1. Q
  1. ;
  1. SEL ;SELECT PARAMETER FILE
  1. S DIR(0)="SO^1:Wait List Service/Specialty File;2:Wait List Clinic Location"
  1. S DIR("L",1)="Select one of the following:"
  1. S DIR("L",2)=""
  1. S DIR("L",3)=" 1. Wait List Service/Specialty (409.31)"
  1. S DIR("L")=" 2. Wait List Clinic Location (409.32)"
  1. D ^DIR S SDWLF=X
  1. K DIR,DILN,DINDEX
  1. Q
  1. EDIT ;EDIT FILE PARAMETERS
  1. I SDWLF=1 D SB1 Q:$D(DUOUT)
  1. I SDWLF=2 D SB2 Q:$D(DUOUT)
  1. Q
  1. SB1 S DIC(0)="AEQMZ",DIC("A")="Select DSS ID: ",DIC="^DIC(40.7,",DIC("S")="I '$P(^DIC(40.7,+Y,0),U,3)"
  1. D ^DIC
  1. I X["^" I $D(DA),'$D(^SDWL(409.31,DA,"I")) S DIK="^SDWL(409.31," D ^DIK S DUOUT=1 Q
  1. Q:Y<0 Q:$D(DUOUT) S SDWLDSS=+Y
  1. I '$D(^SDWL(409.31,"B",SDWLDSS)) D
  1. .S DIC(0)="LX",X=SDWLDSS,DIC="^SDWL(409.31," K DO D FILE^DICN
  1. S DA=$O(^SDWL(409.31,"B",SDWLDSS,""))
  1. SB1A S DIR(0)="PAO^4:EMZ" D ^DIR
  1. I X="" W *7," Required" G SB1A
  1. I X["^" D:'$D(^SDWL(409.31,DA,"I")) S DUOUT=1 Q
  1. .S DIK="^SDWL(409.31," D ^DIK
  1. S X=$$GET1^DIQ(4,+Y_",",11)
  1. I X'["N"!'$$TF^XUAF4(+Y) W !,*7,"Invalid Entry. Must be 'National' Institution." G SB1A
  1. I '$D(^SDWL(409.31,DA,"I","B",+Y)) D
  1. .S DA(1)=DA,DIC="^SDWL(409.31,"_DA(1)_","_"""I"""_",",DIC("P")=409.311,X=+Y K D0 D FILE^DICN I +Y S DA=+Y
  1. I $D(^SDWL(409.31,DA,"I","B",+Y)) S DA(1)=DA,DA=$O(^(+Y,0))
  1. K DIC,DIE,DIR,DR
  1. W ! S DR="1;3",DIE="^SDWL(409.31,"_DA(1)_","_"""I"""_"," D ^DIE
  1. I $P(^SDWL(409.31,DA(1),"I",DA,0),U,2)="" D
  1. .W *7,!,"This ENTRY requires an ACTIVATION DATE. ENTRY deleted."
  1. .S DIK="^SDWL(409.31,"_DA(1)_","_"""I"""_"," D ^DIK I '$P(^SDWL(409.31,DA(1),"I",0),U,3) D
  1. ..S DIK="^SDWL(409.31,",DA=DA(1) D ^DIK
  1. K DA,DA(1),SDWLDSS,DIC,DR,DIE,DI,DIEDA,DIG,DIH,DIIENS,DIR,DIU,DIV
  1. Q
  1. SB2 N STR,INST,DIC,SDWLSC,SDWLSTOP S SDWLSTOP=0
  1. W ! S DIC(0)="AEMNZ",DIC("A")="Select Clinic: ",DIC=44
  1. S DIC("S")="S SDWLX=$G(^SC(+Y,0)),SDWLY=$G(^(""I"")) I $P(SDWLX,U,3)=""C"",$P(SDWLY,U,1)'>$P(SDWLY,U,2)"
  1. S DIC("W")="S STR=$$CLIN^SDWLPE(+Y) I STR W ?50,""- "",$E($P(STR,U,3),1,25),""("",$P(STR,U,2),"")"""
  1. D ^DIC I Y<1 K DIC,DA Q
  1. Q:$D(DUOUT) S SDWLSC=+Y S INST=+STR ;$$CLIN(SDWLSC)
  1. I $P(STR,U,6)'="" W !,*7,$P(STR,U,6) G SB2
  1. N SDANEW S SDANEW=""
  1. I '$D(^SDWL(409.32,"B",SDWLSC)) D
  1. .S DIC(0)="LX",X=SDWLSC,DIC="^SDWL(409.32," D FILE^DICN
  1. .N DA S DA=$O(^SDWL(409.32,"B",SDWLSC,"")) S SDANEW=DA
  1. .S DIE="^SDWL(409.32,",DR=".02////^S X=INST" D ^DIE
  1. N DA,SDA S DA=$O(^SDWL(409.32,"B",SDWLSC,"")),SDA=DA
  1. S DR="1",DIE="^SDWL(409.32," D ^DIE
  1. I SDANEW,'X D D ESB2 H 1 G SB2
  1. .W *7,!!,"This ENTRY requires an ACTIVATION DATE. ENTRY deleted."
  1. .S DA=SDANEW S DIK="^SDWL(409.32," D ^DIK
  1. I '$P(^SDWL(409.32,SDA,0),U,3) I $P(^SDWL(409.32,SDA,0),U,2) S DR="2////^S X=DUZ" D ^DIE ;Checks to see whether the ACTIVATION DATE ENTERED BY field is filled before filling it SD*5.3*554
  1. N DIC
  1. S SDWLSCN=$P($G(^SDWL(409.32,SDA,0)),U,1) D Q:SDWLSTOP
  1. .I $D(^SDWL(409.3,"SC",SDWLSCN))&'$P($G(^SDWL(409.32,SDA,0)),U,4) D ; Patch SD*5.3*638 adds a check for data in the DATE INACTIVATED (#3) field of the SD WL CLINIC LOCATION (409.32) file before evaluating open wait list entries.
  1. ..S SDWLN="",SDWLCNT=0 F S SDWLN=$O(^SDWL(409.3,"SC",SDWLSCN,SDWLN)) Q:SDWLN="" D
  1. ...S X=$G(^SDWL(409.3,SDWLN,0)) I '$D(^SDWL(409.3,SDWLN,"DIS")) S SDWLCNT=SDWLCNT+1,^TMP("SDWLPE",$J,"DIS",SDWLN,SDWLCNT)=X,SDWLSTOP=1
  1. ..I SDWLSTOP W !,"This Clinic has Patients on the Wait List and can not be inactivated." H 2 Q
  1. N SDTEST S SDTEST="" I $G(SDWLN) S SDTEST=$$GET1^DIQ(409.32,SDWLN,3) ;Set Variable SDTEST equal to the information in the INACTIVATED DATE field
  1. S DR="3",DIE="^SDWL(409.32," D ^DIE I $G(X)'=SDTEST D ; Populates the INACTIVATED DATE ENTERED BY field only if the INACTIVATED DATE field is filled - SD*5.3*554
  1. .I X'="" S DR="4////^S X=+DUZ" D ^DIE
  1. .E S DR="4////^S X=@" D ^DIE ;SD*5.3*554
  1. ESB2 ;
  1. K DR,DIE,DIC,Y,X,SDWLY,DIC(0),DO,DA,DI,DIW,SDWLX,SDWLSCN,SDWLF
  1. Q
  1. SWT ;SWITCH FOR INACTIVATION OF PARAMETER FILE
  1. Q
  1. HD ;HEADER
  1. W:$D(IOF) @IOF W !!,?80-$L("Wait List Parameter Enter/Edit")\2,"Wait List Parameter Enter/Edit",!
  1. W !,?80-$L("------------------------------")\2,"------------------------------",!
  1. END K SDWLSTOP,DIR,DIC,DR,DIK,SDWLX,SDWLSCN,SDWLF,SDWLY,SDWLSC,SDWLN,SDWLCNT,SDWLDSS,DUOUT,X,Y
  1. Q
  1. CLIN(CL) ;identify clinic institution through DIVISON ----> INSTITUTION path.
  1. ; function to return:
  1. ; 1 2 3 4 5 6 7
  1. ; - Institution pointer to ^DIC(4 _U_ STATION number (# 99) _U_ INST Name _U_ DIV Pointer to ^DG(40.8 _U_N/L_U_Message_U_TYPE
  1. ; ( INST^STA NUM^SNAM^DIV^N/L^MESS^TYPE )
  1. ; N/L - N -National/L -Local
  1. ; TYPE - type of entry in file # 44 (field #2)
  1. ; C:CLINIC
  1. ; M:MODULE
  1. ; W:WARD
  1. ; Z:OTHER LOCATION
  1. ; N:NON-CLINIC STOP
  1. ; F:FILE AREA
  1. ; I:IMAGING
  1. ; OR:OPERATING ROOM
  1. ;
  1. ; with optional Message:
  1. ;
  1. ; if STA=""
  1. ; - INST^^SNAM^DIV^N/L^' - No Station Number on file' ^ TYPE
  1. ; or
  1. ; - 0^^^DIV^^' - No Institution has been identified '^ TYPE
  1. ; - 0^^^-1^^' - No Division has been identified' ^ TYPE
  1. ;
  1. ; if entry is inactivated:
  1. ;
  1. ; - INST^^SNAM^DIV^N/L^' - Inactive treating medical facility' ^ TYPE
  1. ; - -1^^^^^' - No clinic on file' ^
  1. ;
  1. I +CL=0!'$D(^SC(+CL)) Q -1_"^^^^^ - No clinic on file^"
  1. N SDWMES,STN,DIV,INS,SNL,STR,SNAM S SDWMES="",STN=""
  1. N TYPE S TYPE=$$GET1^DIQ(44,CL_",",2,"E")
  1. S DIV=+$$GET1^DIQ(44,CL_",",3.5,"I")
  1. I DIV=0 S SDWMES=" - No Division has been identified" Q 0_"^^^"_-1_"^^"_SDWMES_U_TYPE
  1. S INS=+$$GET1^DIQ(40.8,DIV_",",.07,"I")
  1. I INS=0 S SDWMES=" - No Institution has been identified" Q 0_"^^^"_DIV_"^^"_SDWMES_U_TYPE
  1. E S STR=$$NS^XUAF4(INS),STN=$P(STR,U,2),SNAM=$P(STR,U) ;station number and name
  1. I STN="" S SDWMES=" - No Station Number on file"
  1. I '$$TF^XUAF4(INS) S SDWMES=SDWMES_" - Inactive treating medical facility"
  1. S SNL=$$GET1^DIQ(4,INS_",",11,"I")
  1. Q INS_U_STN_U_SNAM_U_DIV_U_SNL_U_SDWMES_U_TYPE