[613] | 1 | SDWLBACC ;;IOFO BAY PINES/OG - BATCH CHANGE EWL CLINIC ; Compiled August 14, 2007 11:20:57
|
---|
| 2 | ;;5.3;scheduling;**446**;AUG 13 1993;Build 77
|
---|
| 3 | ;
|
---|
| 4 | ; ******************************************************************
|
---|
| 5 | ; CHANGE LOG
|
---|
| 6 | ;
|
---|
| 7 | ; DATE PATCH DESCRIPTION
|
---|
| 8 | ; ---- ----- -----------
|
---|
| 9 | ;
|
---|
| 10 | ;
|
---|
| 11 | N SDWLERR,SDWLOPT,SDWLSCL,SDWLHD,SDWLIN1,SDWLIN2,SDWLCL0,SDWLCL1,SDWLCL2,SDWLCSC1,SDWLCSC2,SDWLCM
|
---|
| 12 | S SDWLHD="Scheduling/PCMM Batch Change EWL Clinic"
|
---|
| 13 | W:$D(IOF) @IOF W !?80-$L(SDWLHD)\2,SDWLHD,!
|
---|
| 14 | S SDWLERR=0,SDWLOPT=1,(SDWLIN2,SDWLCL1,SDWLCL2,SDWLCM)="",SDWLIN1=+$$SITE^VASITE()
|
---|
| 15 | F D @("P"_SDWLOPT) Q:'SDWLOPT
|
---|
| 16 | Q
|
---|
| 17 | P1 ; Source Institution
|
---|
| 18 | S DIR(0)="PAO^DIC(4,:EMNZ"
|
---|
| 19 | S DIR("A")="Select Source Institution: "
|
---|
| 20 | I SDWLIN1'="" S DIR("B")=$$GET1^DIQ(4,SDWLIN1,.01)
|
---|
| 21 | S DIR("S")="I $E($$GET1^DIQ(4,+Y,99),1,3)=$E(+$P($$SITE^VASITE(),U,3),1,3)"
|
---|
| 22 | D ^DIR
|
---|
| 23 | I Y<1 S SDWLOPT=0 Q
|
---|
| 24 | S (SDWLIN1,SDWLIN2)=+Y,SDWLOPT=SDWLOPT+1
|
---|
| 25 | Q
|
---|
| 26 | P2 ; Source Clinic
|
---|
| 27 | N DIR,SDWLSC
|
---|
| 28 | S DIR(0)="PAO^SDWL(409.32,:EMNZ"
|
---|
| 29 | S DIR("A")="Select Source Clinic: "
|
---|
| 30 | I SDWLCL1'="" S DIR("B")=$$GET1^DIQ(409.32,SDWLCL1,.01)
|
---|
| 31 | S DIR("S")="S X=$$GET1^DIQ(409.32,+Y,.01,""I"") I $P($$CLIN^SDWLBACC(X),U)=SDWLIN1"
|
---|
| 32 | D ^DIR
|
---|
| 33 | I Y="^" S SDWLOPT=0 Q
|
---|
| 34 | I Y<1 S SDWLOPT=SDWLOPT-1 Q
|
---|
| 35 | S SDWLCL0=+Y ; Wait list specific clinic
|
---|
| 36 | S SDWLCL1=$P(Y,U,2) ; pointer to HOSPITAL LOCATION file
|
---|
| 37 | S SDWLCSC1=$$GET1^DIQ(44,SDWLCL1,8,"I")_U_$$GET1^DIQ(44,SDWLCL1,8) ; Clinic stop code
|
---|
| 38 | S SDWLOPT=SDWLOPT+1
|
---|
| 39 | Q
|
---|
| 40 | P3 ; Destination Institution
|
---|
| 41 | S DIR(0)="PAO^DIC(4,:EMNZ"
|
---|
| 42 | S DIR("A")="Select Destination Institution: "
|
---|
| 43 | I SDWLIN1'="" S DIR("B")=$$GET1^DIQ(4,SDWLIN2,.01)
|
---|
| 44 | S DIR("S")="I $E($$GET1^DIQ(4,+Y,99),1,3)=$E(+$P($$SITE^VASITE(),U,3),1,3)"
|
---|
| 45 | D ^DIR
|
---|
| 46 | I Y="^" S SDWLOPT=0 Q
|
---|
| 47 | I Y<1 S SDWLOPT=SDWLOPT-1 Q
|
---|
| 48 | S SDWLIN2=+Y,SDWLOPT=SDWLOPT+1
|
---|
| 49 | Q
|
---|
| 50 | P4 ; Destination Clinic
|
---|
| 51 | N DIR,SDWLSC,SDWLY
|
---|
| 52 | S DIR(0)="PAO^SDWL(409.32,:EMNZ"
|
---|
| 53 | S DIR("A")="Select Destination Clinic: "
|
---|
| 54 | I SDWLCL2'="" S DIR("B")=$$GET1^DIQ(409.32,SDWLCL2,.01)
|
---|
| 55 | S DIR("S")="S X=$$GET1^DIQ(409.32,+Y,.01,""I"") I $P($$CLIN^SDWLBACC(X),U)=SDWLIN2,+Y'=SDWLCL0"
|
---|
| 56 | D ^DIR
|
---|
| 57 | I Y="^" S SDWLOPT=0 Q
|
---|
| 58 | I Y<1 S SDWLOPT=SDWLOPT-1 Q
|
---|
| 59 | S SDWLY=+Y,SDWLSC=$P(Y,U,2) ; pointer to HOSPITAL LOCATION file
|
---|
| 60 | ; get clinic's stop code. warn if different.
|
---|
| 61 | S SDWLCSC2=$$GET1^DIQ(44,SDWLSC,8,"I")_U_$$GET1^DIQ(44,SDWLSC,8) ; Clinic's stop code
|
---|
| 62 | I +SDWLCSC1'=+SDWLCSC2 D Q:'Y
|
---|
| 63 | .S DIR(0)="Y"
|
---|
| 64 | .S DIR("A")="The clinics' stop codes are different, continue"
|
---|
| 65 | .S DIR("A",1)=$$GET1^DIQ(409.32,SDWLCL1,.01)_": "_$P(SDWLCSC1,U,2)_" ("_+SDWLCSC1_")"
|
---|
| 66 | .S DIR("A",2)=$$GET1^DIQ(409.32,+Y,.01)_": "_$P(SDWLCSC2,U,2)_" ("_+SDWLCSC2_")"
|
---|
| 67 | .S DIR("B")="YES"
|
---|
| 68 | .D ^DIR
|
---|
| 69 | .S:Y="^" SDWLOPT=0
|
---|
| 70 | .Q
|
---|
| 71 | S SDWLSCL=SDWLY,SDWLOPT=SDWLOPT+1
|
---|
| 72 | Q
|
---|
| 73 | P5 ; Comment
|
---|
| 74 | D P4^SDWLE6
|
---|
| 75 | Q
|
---|
| 76 | P6 ; Confirmation and processing
|
---|
| 77 | N DIR,Y
|
---|
| 78 | S DIR(0)="Y"
|
---|
| 79 | S DIR("A")="Proceed with batch clinic change"
|
---|
| 80 | S DIR("B")="YES"
|
---|
| 81 | D ^DIR
|
---|
| 82 | D:Y CHNGCL
|
---|
| 83 | S SDWLOPT=0
|
---|
| 84 | Q
|
---|
| 85 | CHNGCL ;
|
---|
| 86 | N DIR,SDWLDA,SDWLCNT
|
---|
| 87 | S SDWLDA="",SDWLCNT=0
|
---|
| 88 | F S SDWLDA=$O(^SDWL(409.3,"SC",SDWLCL1,SDWLDA)) Q:'SDWLDA D
|
---|
| 89 | .N DA,DIE,DIR,DR,SDWLDFN,SDWLIN,SDWLTMP,SDWLORDT,SDWLSCPG,SDWLSCPR,SDWLCL1,SDWLDDT,SDWLEEST,Y
|
---|
| 90 | .D GETS^DIQ(409.3,SDWLDA_",","1;14;15;22;23;27","I","SDWLTMP")
|
---|
| 91 | .Q:SDWLTMP(409.3,SDWLDA_",",23,"I")="C" ; Only open entries.
|
---|
| 92 | .S SDWLDFN=$$GET1^DIQ(409.3,SDWLDA,.01,"I")
|
---|
| 93 | .S SDWLORDT=SDWLTMP(409.3,SDWLDA_",",1,"I")
|
---|
| 94 | .S SDWLSCPG=SDWLTMP(409.3,SDWLDA_",",14,"I")
|
---|
| 95 | .S SDWLSCPR=SDWLTMP(409.3,SDWLDA_",",15,"I")
|
---|
| 96 | .S SDWLDDT=SDWLTMP(409.3,SDWLDA_",",22,"I")
|
---|
| 97 | .S SDWLEEST=SDWLTMP(409.3,SDWLDA_",",27,"I")
|
---|
| 98 | .Q:'$$UPDATE^SDWLE7(SDWLDFN,SDWLORDT,SDWLIN2,SDWLSCL,SDWLSCPG,SDWLSCPR,SDWLDDT,SDWLCM,SDWLEEST,SDWLDA)
|
---|
| 99 | .; disposition old entry
|
---|
| 100 | .S DIE="^SDWL(409.3,",DA=SDWLDA,DR="19////^S X=DT;20////^S X=DUZ;21////^S X=""CL"";23////^S X=""C"""
|
---|
| 101 | .D ^DIE
|
---|
| 102 | .S SDWLCNT=SDWLCNT+1
|
---|
| 103 | .Q
|
---|
| 104 | W ! W:SDWLCNT "Clinics changed. " W SDWLCNT," entries processed."
|
---|
| 105 | S DIR(0)="E" D ^DIR
|
---|
| 106 | Q
|
---|
| 107 | CLIN(CL) ;identify clinic institution through DIVISON ----> INSTITUTION path.
|
---|
| 108 | ; function to return:
|
---|
| 109 | ; - Institution pointer to ^DIC(4 _U_ STATION number (# 99) _U_ Inst Name _U_ Div Pointer to ^DG(40.8 _U_N/L_U_Message
|
---|
| 110 | ; ( INST^STA NUM^SNAM^DIV^N/L^MESS )
|
---|
| 111 | ; N/L - N -National/L -Local
|
---|
| 112 | ; with Message:
|
---|
| 113 | ; - if STA="" INST^^SNAM^DIV^^N/L^' - No Station Number on file'
|
---|
| 114 | ; or
|
---|
| 115 | ; - 0^^^DIV^^' - No Institution has been identified'
|
---|
| 116 | ; - 0^^^-1^^' - no Division has been identified'
|
---|
| 117 | ; - -1 no clinic on file'
|
---|
| 118 | I '$D(^SC(+CL)) Q -1_"^^^^^no clinic on file"
|
---|
| 119 | N SDWMES,STN,DIV,INS,SNL,STR,SNAM S SDWMES="",STN=""
|
---|
| 120 | S DIV=+$$GET1^DIQ(44,CL_",",3.5,"I")
|
---|
| 121 | I DIV=0 S SDWMES="no Division has been identified" Q 0_"^^^"_-1_"^^"_SDWMES
|
---|
| 122 | S INS=+$$GET1^DIQ(40.8,DIV_",",.07,"I")
|
---|
| 123 | I INS=0 S SDWMES="No Institution has been identified" Q 0_"^^^"_DIV_"^"_SDWMES
|
---|
| 124 | E S STR=$$NS^XUAF4(INS),STN=$P(STR,U,2),SNAM=$P(STR,U) ;station number and name
|
---|
| 125 | I STN="" S SDWMES="No Station Number on file"
|
---|
| 126 | I '$$TF^XUAF4(INS) S SDWMES="Inactive treating medical facility"
|
---|
| 127 | S SNL=$$GET1^DIQ(4,INS_",",11,"I")
|
---|
| 128 | Q INS_U_STN_U_SNAM_U_DIV_U_SNL_U_SDWMES
|
---|