| 1 | SCMSP ;ALB/MTC - POST INIT ROUTINE;28-MAY-1996
 | 
|---|
| 2 |  ;;5.3;Scheduling;**44**;AUG 13, 1993
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | HOPUP ;-- This function will update all the clinics in file #44 to
 | 
|---|
| 5 |  ;   require Provider and Diagnosis for checkout. Using the "B"
 | 
|---|
| 6 |  ;   x-ref a check will be performed to make sure that the location
 | 
|---|
| 7 |  ;   is clinic then fields 26 (Ask provider@ CO) and 27 (Ask diagnosis
 | 
|---|
| 8 |  ;   @ CO) will be set to 1 (REQUIRED).
 | 
|---|
| 9 |  ;
 | 
|---|
| 10 |  N SCX,SCY,SCZ,DIC,DIE,DA,DR,X,Y,%,%H,%I
 | 
|---|
| 11 |  N MSGTXT,XMB,XMTEXT,XMY,XMDUZ,XMDT,XMZ
 | 
|---|
| 12 |  ;
 | 
|---|
| 13 |  S SCX=0
 | 
|---|
| 14 |  F  S SCX=$O(^SC("B",SCX)) Q:SCX=""  S SCY=0 F  S SCY=$O(^SC("B",SCX,SCY)) Q:'SCY  D
 | 
|---|
| 15 |  . S SCZ=$G(^SC(SCY,0)) Q:SCZ=""
 | 
|---|
| 16 |  . I $P(SCZ,U,3)'="C" Q
 | 
|---|
| 17 |  . I $$OCCA^SCDXUTL(SCY) Q
 | 
|---|
| 18 |  . S DIE="^SC(",DA=SCY,DR="26///1;27///1" D ^DIE
 | 
|---|
| 19 |  ;Get current date/time
 | 
|---|
| 20 |  D NOW^%DTC
 | 
|---|
| 21 |  ;Convert to external format
 | 
|---|
| 22 |  S SCZ=$P(%,".",2)_"000000"
 | 
|---|
| 23 |  S SCY=$E(SCZ,1,2)_":"_$E(SCZ,3,4)_":"_$E(SCZ,5,6)
 | 
|---|
| 24 |  S SCX=%I(1)_"/"_%I(2)_"/"_(%I(3)+1700)_" @ "_SCY
 | 
|---|
| 25 |  ;Store completion time in Scheduling Parameter file
 | 
|---|
| 26 |  S SCZ=0
 | 
|---|
| 27 |  F X=1:1:10 L +^SD(404.91,1,"AMB"):5 I ($T) S SCZ=1 Q
 | 
|---|
| 28 |  S:(SCZ) $P(^SD(404.91,1,"AMB"),"^",7)=%
 | 
|---|
| 29 |  L -^SD(404.91,1,"AMB")
 | 
|---|
| 30 |  ;Send completion bulletin
 | 
|---|
| 31 |  ;Set message text
 | 
|---|
| 32 |  S MSGTXT(1)=" "
 | 
|---|
| 33 |  S MSGTXT(2)="Updating of all clinics contained in the HOSPITAL LOCATION"
 | 
|---|
| 34 |  S MSGTXT(3)="file (#44) to require provider and diagnosis for checkout"
 | 
|---|
| 35 |  S MSGTXT(4)="completed on "_SCX
 | 
|---|
| 36 |  S MSGTXT(5)=" "
 | 
|---|
| 37 |  ;Set bulletin subject
 | 
|---|
| 38 |  S XMB(1)="HOSPITAL LOCATION UPDATE COMPLETED"
 | 
|---|
| 39 |  ;Deliver bulletin
 | 
|---|
| 40 |  S XMB="SCDX AMBCARE TO NPCDB SUMMARY"
 | 
|---|
| 41 |  S XMTEXT="MSGTXT("
 | 
|---|
| 42 |  D ^XMB
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 | PARAM ;ALB/JLU - This entry point will set the Amb Care parameters in the
 | 
|---|
| 46 |  ; Scheduling parameter file
 | 
|---|
| 47 |  ;
 | 
|---|
| 48 |  N DIC,DIE,DA,DR,X,Y,DTOUT,DUOUT,MSGTXT,DELAY
 | 
|---|
| 49 |  N PTRPAR,DLAYGO,DINUM,NODE,TASKNUM,QUEUEDT
 | 
|---|
| 50 |  D BMES^XPDUTL(">>> Setting parameters contained in SCHEDULING PARAMETER file (#404.91)")
 | 
|---|
| 51 |  ;Create/find entry
 | 
|---|
| 52 |  S DIC="^SD(404.91,"
 | 
|---|
| 53 |  S DIC(0)="LX"
 | 
|---|
| 54 |  S DIC("DR")=".001///1"
 | 
|---|
| 55 |  S DLAYGO=404.91
 | 
|---|
| 56 |  S DINUM=1
 | 
|---|
| 57 |  S X=1
 | 
|---|
| 58 |  D ^DIC
 | 
|---|
| 59 |  S PTRPAR=+Y
 | 
|---|
| 60 |  ;Unable to create/find entry - quit
 | 
|---|
| 61 |  I (Y<0) D  Q
 | 
|---|
| 62 |  .S MSGTXT(1)="   *** Unable to create/find entry in Scheduling Parameter file"
 | 
|---|
| 63 |  .S MSGTXT(2)="   *** Unable to store parameters relating to Ambulatory Care"
 | 
|---|
| 64 |  .D MES^XPDUTL(.MSGTXT)
 | 
|---|
| 65 |  ;Get check point's parameter data.  This value will be in the
 | 
|---|
| 66 |  ; format QueueTime-TaskNumber
 | 
|---|
| 67 |  S X=$$PARCP^XPDUTL("SCMS01")
 | 
|---|
| 68 |  S QUEUEDT=$P(X,"-",1)
 | 
|---|
| 69 |  S TASKNUM=$P(X,"-",2)
 | 
|---|
| 70 |  ;Store Ambulatory Care parameters - using hard set since there's no
 | 
|---|
| 71 |  ; cross references on these fields
 | 
|---|
| 72 |  S NODE=$G(^SD(404.91,PTRPAR,"AMB"))
 | 
|---|
| 73 |  S $P(NODE,U,1)=+$P(NODE,U,1)
 | 
|---|
| 74 |  S $P(NODE,U,2)=2961001
 | 
|---|
| 75 |  S $P(NODE,U,3)=2961101
 | 
|---|
| 76 |  S DELAY=+$P(NODE,U,4)
 | 
|---|
| 77 |  S:('DELAY) DELAY=2
 | 
|---|
| 78 |  S $P(NODE,U,4)=DELAY
 | 
|---|
| 79 |  S $P(NODE,U,5)=QUEUEDT
 | 
|---|
| 80 |  S $P(NODE,U,6)=TASKNUM
 | 
|---|
| 81 |  S $P(NODE,U,7)="0000000"
 | 
|---|
| 82 |  S ^SD(404.91,1,"AMB")=NODE
 | 
|---|
| 83 |  D MES^XPDUTL("    Parameters relating to Ambulatory Care have been stored")
 | 
|---|
| 84 |  Q
 | 
|---|
| 85 |  ;
 | 
|---|
| 86 | MG4BULL ;ALB/JRP - Attach Mail Group that receives OPC generation bulletin
 | 
|---|
| 87 |  ; to the Ambulatory Care transmission summary bulletin
 | 
|---|
| 88 |  ;
 | 
|---|
| 89 |  ;Input  : None
 | 
|---|
| 90 |  ;Output : None
 | 
|---|
| 91 |  ;Notes  : This is a KIDS complient check point
 | 
|---|
| 92 |  ;
 | 
|---|
| 93 |  ;Declare variables
 | 
|---|
| 94 |  N DIC,DIE,DA,DR,X,Y,DTOUT,DUOUT,OPCMG,BULLNAME,PTRBULL,MSGTXT
 | 
|---|
| 95 |  D BMES^XPDUTL(">>> Attaching mail group to Ambulatory Care transmission summary bulletin")
 | 
|---|
| 96 |  ;Get name of Mail Group that receives OPC generation bulletin
 | 
|---|
| 97 |  S OPCMG=$$OPCMG^SCMSPU1(1)
 | 
|---|
| 98 |  I (OPCMG="") D  Q
 | 
|---|
| 99 |  .S MSGTXT(1)="    ** MAS PARAMETER file (#43) does not have a value for"
 | 
|---|
| 100 |  .S MSGTXT(2)="       the OPC GENERATE MAIL GROUP field (#216)"
 | 
|---|
| 101 |  .S MSGTXT(3)="    ** Unable to attach mail group to the SCDX AMBCARE"
 | 
|---|
| 102 |  .S MSGTXT(4)="       TO NPCDB SUMMARY bulletin"
 | 
|---|
| 103 |  .S MSGTXT(5)="    ** Mail group must be added to bulletin manually"
 | 
|---|
| 104 |  .D MES^XPDUTL(.MSGTXT)
 | 
|---|
| 105 |  ;Get pointer to Ambulatory Care transmission summary bulletin
 | 
|---|
| 106 |  S BULLNAME="SCDX AMBCARE TO NPCDB SUMMARY"
 | 
|---|
| 107 |  S PTRBULL=+$O(^XMB(3.6,"B",BULLNAME,0))
 | 
|---|
| 108 |  I ('PTRBULL) D  Q
 | 
|---|
| 109 |  .S MSGTXT(1)="    ** Unable to find entry for SCDX AMBCARE TO NPCDB"
 | 
|---|
| 110 |  .S MSGTXT(2)="       SUMMARY in BULLETIN file (#3.6)"
 | 
|---|
| 111 |  .S MSGTXT(3)="    ** Bulletin must be manually entered"
 | 
|---|
| 112 |  .D MES^XPDUTL(.MSGTXT)
 | 
|---|
| 113 |  ;Attach Mail Group to Ambulatory Care transmission summary bulletin
 | 
|---|
| 114 |  S DIC="^XMB(3.6,"_PTRBULL_",2,"
 | 
|---|
| 115 |  S DIC(0)="LX"
 | 
|---|
| 116 |  S DIC("P")=$P(^DD(3.6,4,0),"^",2)
 | 
|---|
| 117 |  S DA(1)=PTRBULL
 | 
|---|
| 118 |  S DLAYGO=3.6
 | 
|---|
| 119 |  S X=OPCMG
 | 
|---|
| 120 |  D ^DIC
 | 
|---|
| 121 |  S MSGTXT(1)="    Mail group contained in the OPC GENERATE MAIL GROUP"
 | 
|---|
| 122 |  S MSGTXT(2)="    field (#216) of the MAS PARAMETER file (#43) has"
 | 
|---|
| 123 |  S MSGTXT(3)="    been attached to the SCDX AMBCARE TO NPCDB SUMMARY bulletin"
 | 
|---|
| 124 |  I (Y<0) D
 | 
|---|
| 125 |  .K MSGTXT
 | 
|---|
| 126 |  .S MSGTXT(1)="    ** Unable to attach mail group to the SCDX AMBCARE"
 | 
|---|
| 127 |  .S MSGTXT(2)="       TO NPCDB SUMMARY bulletin"
 | 
|---|
| 128 |  .S MSGTXT(3)="    ** Mail group must be added to bulletin manually"
 | 
|---|
| 129 |  D MES^XPDUTL(.MSGTXT)
 | 
|---|
| 130 |  ;Done
 | 
|---|
| 131 |  Q
 | 
|---|
| 132 |  ;
 | 
|---|
| 133 | SDM ;ALB/JRP - Have an overlap routine with PCMM (SD*5.3*41)
 | 
|---|
| 134 |  ;          Make sure that correct version of SDM routine is installed
 | 
|---|
| 135 |  ;
 | 
|---|
| 136 |  ;Input  : None
 | 
|---|
| 137 |  ;Output : None
 | 
|---|
| 138 |  ;Notes  : This is a KIDS complient check point
 | 
|---|
| 139 |  ;       : Routine SCMSPX1 contains SDM with patch 41 applied to it
 | 
|---|
| 140 |  ;         and routine SCMSPX2 contains SDM with patch 41 not applied
 | 
|---|
| 141 |  ;         to it
 | 
|---|
| 142 |  ;
 | 
|---|
| 143 |  ;Declare variables
 | 
|---|
| 144 |  N PATCHED,TMP,MSGTXT
 | 
|---|
| 145 |  D BMES^XPDUTL(">>> Installing correct version of routine SDM")
 | 
|---|
| 146 |  ;Check for PCMM installation
 | 
|---|
| 147 |  S PATCHED=$$PATCH^XPDUTL("SD*5.3*41")
 | 
|---|
| 148 |  ;PCMM not installed - SDM should come from SCMSPX2
 | 
|---|
| 149 |  I ('PATCHED) D
 | 
|---|
| 150 |  .S MSGTXT(1)=" "
 | 
|---|
| 151 |  .S MSGTXT(2)="    PCMM has NOT been installed.  Will install a version"
 | 
|---|
| 152 |  .S MSGTXT(3)="    of routine SDM that DOES NOT have the PCMM changes"
 | 
|---|
| 153 |  .S MSGTXT(4)="    applied to it."
 | 
|---|
| 154 |  .S MSGTXT(5)=" "
 | 
|---|
| 155 |  .S MSGTXT(6)="    MSM sites must copy the SDM routine to all appropriate UCIs"
 | 
|---|
| 156 |  .S MSGTXT(7)=" "
 | 
|---|
| 157 |  .S MSGTXT(8)="    ********** PLEASE NOTE THE FOLLOWING ***********"
 | 
|---|
| 158 |  .S MSGTXT(9)="    *                                              *"
 | 
|---|
| 159 |  .S MSGTXT(10)="    * After installing PCMM, call the routine      *"
 | 
|---|
| 160 |  .S MSGTXT(11)="    * SCMSP at theline tag SDM (i.e. D SDM^SCMSP)  *"
 | 
|---|
| 161 |  .S MSGTXT(12)="    * in order to install a version of routine SDM *"
 | 
|---|
| 162 |  .S MSGTXT(13)="    * with the ACRP & PCMM changes applied to it.  *"
 | 
|---|
| 163 |  .S MSGTXT(14)="    *                                              *"
 | 
|---|
| 164 |  .S MSGTXT(15)="    * MSM sites will then need to copy the updated *"
 | 
|---|
| 165 |  .S MSGTXT(16)="    * SDM routine to all appropriate UCIs.         *"
 | 
|---|
| 166 |  .S MSGTXT(17)="    *                                              *"
 | 
|---|
| 167 |  .S MSGTXT(18)="    ************************************************"
 | 
|---|
| 168 |  .D MES^XPDUTL(.MSGTXT)
 | 
|---|
| 169 |  .S TMP=$$COPY^SCMSPU2("SCMSPX2","SDM",3)
 | 
|---|
| 170 |  ;PCMM installed - SDM should come from SCMSPX1
 | 
|---|
| 171 |  I (PATCHED) D
 | 
|---|
| 172 |  .S MSGTXT(1)=" "
 | 
|---|
| 173 |  .S MSGTXT(2)="    PCMM has been installed.  Will install a version"
 | 
|---|
| 174 |  .S MSGTXT(3)="    of routine SDM that has the PCMM changes applied"
 | 
|---|
| 175 |  .S MSGTXT(4)="    to it"
 | 
|---|
| 176 |  .S MSGTXT(5)=" "
 | 
|---|
| 177 |  .S MSGTXT(6)="    MSM sites must copy the SDM routine to all appropriate UCIs"
 | 
|---|
| 178 |  .D MES^XPDUTL(.MSGTXT)
 | 
|---|
| 179 |  .S TMP=$$COPY^SCMSPU2("SCMSPX1","SDM",3)
 | 
|---|
| 180 |  ;Done
 | 
|---|
| 181 |  Q
 | 
|---|