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

SDWLCU5.m

Go to the documentation of this file.
  1. SDWLCU5 ;IOFO BAY PINES/TEH - EWL FILE 409.3 CLEANUP ;2/4/03 ; Compiled August 20, 2007 17:04:58
  1. ;;5.3;scheduling;**280,427,491,1015**;AUG 13 1993;Build 21
  1. EN ;
  1. W !!,"Checking file 404.51 one last time.",!
  1. S SDWLERR="",TEAM=0 F S TEAM=$O(^SCTM(404.51,TEAM)) Q:'TEAM D Q:SDWLERR=1
  1. . S INST=$$GET1^DIQ(404.51,TEAM_",",.07,"I")
  1. . S CODE=$$GET1^DIQ(4,INST_",",11,"I")
  1. . S INCK=$$TF^XUAF4(INST)
  1. . I CODE'="N"!('INCK) D
  1. .. W !!,"TEAM: ",$$GET1^DIQ(404.51,TEAM_",",.01)," INSTITUTION: "
  1. .. W $$GET1^DIQ(4,INST_",",.01)
  1. .. D EDIT^SDWLCU2
  1. Q:SDWLERR=1
  1. ;
  1. W !!,"Checking file 409.31 one last time.",!
  1. 40931 S SDWLSS=0 F S SDWLSS=$O(^SDWL(409.31,SDWLSS)) Q:'SDWLSS D Q:SDWLERR=1
  1. . S SDWLINS="" F S SDWLINS=$O(^SDWL(409.31,SDWLSS,"I","B",SDWLINS)) Q:'SDWLINS D Q:SDWLERR=1
  1. .. S CODE=$$GET1^DIQ(4,SDWLINS_",",11,"I")
  1. .. S INCK=$$TF^XUAF4(SDWLINS)
  1. .. I CODE'="N"!('INCK) D
  1. ... W !!,"SERVICE SPECIALTY: ",$$GET1^DIQ(409.31,SDWLSS_",",.01)," INSTITUTION: "
  1. ... W $$GET1^DIQ(4,SDWLINS_",",.01)
  1. ... D GETINS Q:SDWLERR=1
  1. ... S SDWLSSX="" F S SDWLSSX=$O(^SDWL(409.31,SDWLSS,"I","B",SDWLINS,SDWLSSX)) Q:'SDWLSSX D Q:SDWLERR=1
  1. .... D C3^SDWLCU3
  1. Q:SDWLERR=1
  1. 40932 W !!,"Checking file 409.32 one last time.",!
  1. N INERROR S INERROR="" S SDWLSC=0 F S SDWLSC=$O(^SDWL(409.32,SDWLSC)) Q:'SDWLSC D UPDINS(SDWLSC,.INERROR)
  1. Q:INERROR=1
  1. N DIK S DIK="^SDWL(409.32," D IXALL^DIK
  1. W !!,"Checking file 409.3 one last time.",!
  1. S SDWLERR=""
  1. S SDWLDA=0,TAG="CHK" F S SDWLDA=$O(^SDWL(409.3,SDWLDA)) Q:SDWLDA<1 D Q:SDWLERR=1
  1. .S X=$G(^SDWL(409.3,SDWLDA,0)),SDWLINST=$P(X,"^",3),SDWLTY=$P(X,"^",5)
  1. .Q:'SDWLTY!'SDWLINST
  1. .S SDWLI=$P(X,"^",SDWLTY+5) Q:'SDWLI
  1. .S TAG="CHK",TAG=TAG_SDWLTY,C=0 K ^TMP($J,"SDWLCU5",$J) D @TAG
  1. W !,"Done."
  1. Q
  1. UPDINS(SDWLSC,INERROR) ; update 409.32 and the related entroes in 409.3
  1. N SDWLINS S SDWLINS=$$GET1^DIQ(409.32,SDWLSC_",",.02,"I") ; current set up IN 409.32
  1. ;check set up in file 44
  1. ;get clinic
  1. N CL,CLN S CL=$$GET1^DIQ(409.32,SDWLSC_",",.01,"I"),CLN=$$GET1^DIQ(44,CL_",",.01)
  1. N STR,SDWMES S SDWMES="",STR=$$CLIN^SDWLPE(CL)
  1. S SDWMES=SDWMES_$P(STR,U,6)
  1. I $P(STR,U,5)="L" S SDWMES=SDWMES_" - Local Institution assigned to clinic. "
  1. I SDWMES'="" D Q
  1. .W !!," ** Incorrect Setting up of Clinic "_CLN_" ("_CL_")"_": **"
  1. .W !!,SDWMES
  1. .W !!,"INSTALLATION WILL CONTINUE WITHOUT UPDATING THIS ENTRY."
  1. .W !!,"AFTER INSTALLATION CORRECT THE CLINIC SETUP AND THEN",!," RUN OPTION SD WAIT LIST CLEANUP."
  1. .S:INERROR="" INERROR=1 Q
  1. I +STR'=SDWLINS W !!,"Clinic "_CLN_" ("_CL_")"_"does not have the same Institution as EWL set up." D
  1. .W !!,"EWL Clinic INSTITUTION: ",$$GET1^DIQ(4,SDWLINS_",",.01)_" - "_$$GET1^DIQ(4,SDWLINS_",",99)
  1. .W !,"Clinic INSTITUTION: ",$P(STR,U,3)_" - "_$P(STR,U,2)
  1. .W !!,"EWL set up will be updated with the Clinic from the Hospital Location file,"
  1. .W !,"and the related open EWL entries will be updated as well."
  1. .N DIE,DR,DA S DR=".02////^S X=+STR",DIE="^SDWL(409.32,",DA=SDWLSC
  1. .L +^SDWL(409.32,DA):0 I '$T W !?5,"Another user is editing this entry. try later." Q
  1. .D ^DIE L -^SDWL(409.32,DA)
  1. .;loop to update EWL entries in FILE 409.3 if any
  1. .N SCL,DA,DR,CNT S SCL="",CNT=0 F S SCL=$O(^SDWL(409.3,"SC",CL,SCL)) Q:SCL'>0 D
  1. ..I '$D(^SDWL(409.3,SCL,0)) K ^SDWL(409.3,"SC",CL,SCL) Q
  1. ..S DR="2////^S X=+STR",DIE="^SDWL(409.3,",DA=SCL
  1. ..L +^SDWL(409.3,SCL):0 I '$T W !?5,"Another user is editing this entry. try later." Q
  1. ..D ^DIE L -^SDWL(409.3,SCL) S CNT=CNT+1
  1. .I CNT>0 W !,CNT_" EWL entries for clinic "_CLN_" updated."
  1. N DA I $$GET1^DIQ(409.32,SDWLSC_",",3,"I")="" I $$GET1^DIQ(409.32,SDWLSC_",",1,"I")'>0 D
  1. .S DA=SDWLSC L +^SDWL(409.32,SDWLSC):0 I '$T W !?5,"Another user is editing this entry. try later." Q
  1. .S DR="1////^S X=DT;2////^S X=DUZ",DIE="^SDWL(409.32," ;enter activation date and user
  1. .D ^DIE L -^SDWL(409.32,SDWLSC)
  1. .W !,"EWL Clinic entry for "_CLN_" updated with today's activation date."
  1. Q
  1. CHK1 ;CHECK FOR INSTITUTION VALIDILITY
  1. S SDWLERR=0
  1. I SDWLTY=1 S SDWLI=0 F S SDWLI=$O(^SCTM(404.51,"AINST",SDWLI)) Q:SDWLI="" I $D(^DIC(4,SDWLI)) S C=C+1,^TMP($J,"SDWLCU5",$J,C,SDWLI)="",^TMP($J,"SDWLCU5",$J,"B",SDWLI)=""
  1. I $D(^TMP($J,"SDWLCU5",$J,"B",SDWLINST)) Q
  1. K ^TMP($J,"SDWLCU5",$J,"B")
  1. I 'C S SDWLINSN=$S($D(DUZ(2)):DUZ(2),1:"") D CH1E Q
  1. I C=1 S SDWLINSN=$O(^TMP($J,"SDWLCU5",$J,C,0)) D CH1E Q
  1. W !,"Please select a valid Institution for this record from the following list for",!
  1. D DIS
  1. S C=0,SDWLI="" F S C=$O(^TMP($J,"SDWLCU5",$J,C)) Q:C<1 D
  1. .F S SDWLI=$O(^TMP($J,"SDWLCU5",$J,C,SDWLI)) Q:SDWLI="" W !,?20,C,". ",$$GET1^DIQ(4,SDWLI_",",.01) S CS=C
  1. CHK10 W ! S DIR(0)="NO^1:"_CS D ^DIR
  1. I Y<1!($D(DUOUT)) W !,"Response Required." S SDWLERR=1 Q
  1. S SDWLINSN=$O(^TMP($J,"SDWLCU5",$J,+Y,0))
  1. CH1E S SDWLINS(409.3,SDWLDA_",",2)=SDWLINSN D UPDATE^DIE("","SDWLINS","SDWLMSG")
  1. S TAG="CHK"
  1. Q
  1. CHK3 ;
  1. S SDWLERR=""
  1. S SDWLI=$P(^SDWL(409.3,SDWLDA,0),U,8)
  1. Q:'SDWLI!'$D(^SDWL(409.31,SDWLI))
  1. I '$D(^SDWL(409.31,SDWLI,"I","B",SDWLINST)) D Q:SDWLERR=1
  1. .S SDWLIX="",C=0 F S SDWLIX=$O(^SDWL(409.31,SDWLI,"I","B",SDWLIX)) Q:SDWLIX="" S C=C+1,^TMP($J,"SDWLCU5",$J,C,SDWLIX)="",^TMP($J,"SDWLCU5",$J,"B",SDWLIX)=""
  1. .I 'C N SITE S SITE=+$$SITE^VASITE(,) S SDWLINSN=$S(SITE>0:SITE,1:""),Y=1 D CHE3 Q
  1. .I C=1 S SDWLINSN=$O(^TMP($J,"SDWLCU5",$J,C,0)),Y=1 D CHE3 Q
  1. .W !,"Please select a valid Institution for this record from the following list for",!
  1. .D DIS
  1. .S C=0,SDWLIZ=0 F S SDWLIZ=$O(^SDWL(409.31,SDWLI,"I","B",SDWLIZ)) Q:SDWLIZ="" D
  1. ..Q:$$GET1^DIQ(4,SDWLIZ_",",11,"I")'="N"!('$$TF^XUAF4(SDWLIZ))
  1. ..S C=C+1 W !,?20,C,". ",$$GET1^DIQ(4,SDWLIZ_",",.01)
  1. .W ! S DIR(0)="NO^1:"_C D ^DIR
  1. .I $D(DUOUT)!(Y="") S SDWLERR=1 Q
  1. .S SDWLINSN=$O(^TMP($J,"SDWLCU5",$J,+Y,0))
  1. .D CHE3
  1. Q
  1. CHE3 ;
  1. G CHK3:Y<0
  1. S SDWLINS(409.3,SDWLDA_",",2)=SDWLINSN D UPDATE^DIE("","SDWLINS","SDWLMSG")
  1. S TAG="CHK"
  1. Q
  1. CHK4 ;
  1. S SDWLI=$P(^SDWL(409.3,SDWLDA,0),U,9)
  1. Q:'SDWLI!'$D(^SDWL(409.32,SDWLI,0))
  1. I $P(^SDWL(409.32,SDWLI,0),U,6)'=SDWLINST D
  1. .D DIS
  1. .S SDWLINSN=$P(^SDWL(409.32,SDWLI,0),U,6),SDWLINS(409.3,SDWLDA_",",2)=SDWLINSN D UPDATE^DIE("","SDWLINS","SDWLMSG")
  1. Q
  1. CHK2 ;
  1. S SDWLPO=$P($G(^SDWL(409.3,SDWLDA,0)),U,7),SDWLTM=$P($G(^SCTM(404.57,SDWLPO,0)),U,2),SDWLINSN=$P($G(^SCTM(404.51,SDWLTM,0)),U,7)
  1. I SDWLINST'=SDWLINSN D
  1. .S SDWLINS(409.3,SDWLDA_",",2)=SDWLINSN D UPDATE^DIE("","SDWLINS","SDWLMSG")
  1. S TAG="CHK"
  1. Q
  1. DIS ;display record
  1. S NN=$P($G(^SDWL(409.3,SDWLDA,0)),"^"),NAME=$$GET1^DIQ(2,NN_",",.01,"E")
  1. S SSN=$$GET1^DIQ(2,NN_",",.09)
  1. W !,"Record#: ",SDWLDA," Patient: ",NAME," (",SSN,")",!!
  1. Q
  1. GETINS ;Get institution
  1. N DIR
  1. S DIR("A")="Select Institution: "
  1. S DIR(0)="PAO^4:EMZ",DIR("S")="I $P(^DIC(4,+Y,0),U,11)=""N"",$$TF^XUAF4(+Y)" D ^DIR
  1. I X["^" S SDWLERR=1 Q
  1. I Y<1 W *7,"Invalid Entry" G GETINS
  1. S SDWLINSN=+Y
  1. Q