| [613] | 1 | SCMSP66 ;ALB/JLU;Post kids routine driver;8/13/97
 | 
|---|
 | 2 |  ;;5.3;Scheduling;**66**;AUG 13, 1993
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 | EN N TMP,ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSK,SCQUEUE,X,Y,%,%H,PROTOCOL
 | 
|---|
 | 5 |  ;Queue task to populate validator parameter in clinic setup
 | 
|---|
 | 6 |  I XPDQUES("POS1")=1 D
 | 
|---|
 | 7 |  .S TMP="NOW"
 | 
|---|
 | 8 |  .D BMES^XPDUTL("Background job to activate AMBCARE validation checker at")
 | 
|---|
 | 9 |  .D MES^XPDUTL("Check-Out for all clinics will be queued for "_TMP)
 | 
|---|
 | 10 |  .S ZTDTH=$H,ZTIO="",ZTRTN="VALIDATE^SCMSP66"
 | 
|---|
 | 11 |  .D ^%ZTLOAD
 | 
|---|
 | 12 |  .S ZTSK=+$G(ZTSK)
 | 
|---|
 | 13 |  .I ('ZTSK) D BMES^XPDUTL("*** Unable to queue task ***")
 | 
|---|
 | 14 |  .I (ZTSK) D BMES^XPDUTL("Queued as task number "_ZTSK)
 | 
|---|
 | 15 |  .Q
 | 
|---|
 | 16 |  ;
 | 
|---|
 | 17 |  D BMES^XPDUTL("")
 | 
|---|
 | 18 |  D BMES^XPDUTL("Removing AMBCARE event handler from Scheduling event driver item list.")
 | 
|---|
 | 19 |  S PROTOCOL=""
 | 
|---|
 | 20 |  D REMOVE(.PROTOCOL)
 | 
|---|
 | 21 |  ;
 | 
|---|
 | 22 |  D BMES^XPDUTL("")
 | 
|---|
 | 23 |  D BMES^XPDUTL("Adding AMBCARE event handler to the exit action of SDAM APPOINTMENT EVENTS")
 | 
|---|
 | 24 |  D ADD(PROTOCOL)
 | 
|---|
 | 25 |  ;
 | 
|---|
 | 26 |  I '$D(^SD(409.75,"AEDT")) DO
 | 
|---|
 | 27 |  .D BMES^XPDUTL("")
 | 
|---|
 | 28 |  .D BMES^XPDUTL("Re-indexing the four new cross references in the Transmitted Outpatient Encounter Error file.")
 | 
|---|
 | 29 |  .S DIK="^SD(409.75,",DIK(1)=".01^AEDT^AECL^AER^ACOD"
 | 
|---|
 | 30 |  .D ENALL^DIK
 | 
|---|
 | 31 |  .D MES^XPDUTL("Re-indexing completed!")
 | 
|---|
 | 32 |  .Q
 | 
|---|
 | 33 |  ;
 | 
|---|
 | 34 |  I '$D(^DD(409.76,0,"ID",11)) DO
 | 
|---|
 | 35 |  .S $P(^SD(409.76,0),U,2)=$P(^SD(409.76,0),U,2)_"I"
 | 
|---|
 | 36 |  .S ^DD(409.76,0,"ID",11)="D EN^DDIOL($P(^(1),U,1))"
 | 
|---|
 | 37 |  .Q
 | 
|---|
 | 38 |  ;
 | 
|---|
 | 39 |  Q
 | 
|---|
 | 40 |  ;
 | 
|---|
 | 41 | VALIDATE ;
 | 
|---|
 | 42 |  ;This entry point will set the parameter in the clinic setup to yes
 | 
|---|
 | 43 |  ;run the validator at check out.  It will be queued from the post init
 | 
|---|
 | 44 |  ;of the KIDS build SD*5.3*66.  It will also send a completion bulletin
 | 
|---|
 | 45 |  ;to the SCDX AMBCARE bulletin group.
 | 
|---|
 | 46 |  ;
 | 
|---|
 | 47 |  N SCX,SCY,SCZ,DIC,DIE,DA,DR,X,Y,%,%H,%I
 | 
|---|
 | 48 |  N MSGTXT,XMB,XMTEXT,XMY,XMDUZ,XMDT,XMZ
 | 
|---|
 | 49 |  ;
 | 
|---|
 | 50 |  S SCX=0
 | 
|---|
 | 51 |  ;looping through the Hospital Location to set the clinics
 | 
|---|
 | 52 |  F  S SCX=$O(^SC("B",SCX)) Q:SCX=""  S SCY=0 F  S SCY=$O(^SC("B",SCX,SCY)) Q:'SCY  D
 | 
|---|
 | 53 |  . S SCZ=$G(^SC(SCY,0)) Q:SCZ=""
 | 
|---|
 | 54 |  . I $P(SCZ,U,3)'="C" Q
 | 
|---|
 | 55 |  . I $$OCCA^SCDXUTL(SCY) Q
 | 
|---|
 | 56 |  . S DIE="^SC(",DA=SCY,DR="30///1" D ^DIE
 | 
|---|
 | 57 |  ;Get current date/time
 | 
|---|
 | 58 |  D NOW^%DTC
 | 
|---|
 | 59 |  ;Convert to external format
 | 
|---|
 | 60 |  S SCZ=$P(%,".",2)_"000000"
 | 
|---|
 | 61 |  S SCY=$E(SCZ,1,2)_":"_$E(SCZ,3,4)_":"_$E(SCZ,5,6)
 | 
|---|
 | 62 |  S SCX=%I(1)_"/"_%I(2)_"/"_(%I(3)+1700)_" @ "_SCY
 | 
|---|
 | 63 |  ;Send completion bulletin
 | 
|---|
 | 64 |  ;Set message text
 | 
|---|
 | 65 |  S MSGTXT(1)=" "
 | 
|---|
 | 66 |  S MSGTXT(2)="Updating of all clinics contained in the HOSPITAL LOCATION"
 | 
|---|
 | 67 |  S MSGTXT(3)="file (#44) to run the AMBCARE validator at Check-Out was"
 | 
|---|
 | 68 |  S MSGTXT(4)="completed on "_SCX
 | 
|---|
 | 69 |  S MSGTXT(5)=" "
 | 
|---|
 | 70 |  ;Set bulletin subject
 | 
|---|
 | 71 |  S XMB(1)="HOSPITAL LOCATION UPDATE COMPLETED"
 | 
|---|
 | 72 |  ;Deliver bulletin
 | 
|---|
 | 73 |  S XMB="SCDX AMBCARE TO NPCDB SUMMARY"
 | 
|---|
 | 74 |  S XMTEXT="MSGTXT("
 | 
|---|
 | 75 |  D ^XMB
 | 
|---|
 | 76 |  Q
 | 
|---|
 | 77 |  ;
 | 
|---|
 | 78 | REMOVE(PROTOCOL) ;This entry point will remove the SCDX AMBCARE EVENT handler from the
 | 
|---|
 | 79 |  ;SDAM APPOINTMENT EVENT protocol.  A bulletin will be sent upon
 | 
|---|
 | 80 |  ;completion.
 | 
|---|
 | 81 |  ;
 | 
|---|
 | 82 |  N ERR,DIC,X,Y
 | 
|---|
 | 83 |  S ERR=0
 | 
|---|
 | 84 |  ;find SDAM APPOINTMENT EVENT
 | 
|---|
 | 85 |  S DIC="^ORD(101,",DIC(0)="OSX",X="SDAM APPOINTMENT EVENTS"
 | 
|---|
 | 86 |  D ^DIC
 | 
|---|
 | 87 |  I Y<0 S ERR=1 G RQUIT
 | 
|---|
 | 88 |  S PROTOCOL=+Y
 | 
|---|
 | 89 |  ;find SCDX AMBCARE EVENT protocol in item list
 | 
|---|
 | 90 |  S DIC="^ORD(101,"_PROTOCOL_",10,",DIC(0)="OSX",X="SCDX AMBCARE EVENT"
 | 
|---|
 | 91 |  D ^DIC
 | 
|---|
 | 92 |  I Y<0 S ERR=1 G RQUIT
 | 
|---|
 | 93 |  ;
 | 
|---|
 | 94 |  S DIK="^ORD(101,"_PROTOCOL_",10,"
 | 
|---|
 | 95 |  S DA=+Y,DA(1)=PROTOCOL
 | 
|---|
 | 96 |  D ^DIK
 | 
|---|
 | 97 |  K DIK,DA
 | 
|---|
 | 98 |  ;
 | 
|---|
 | 99 | RQUIT ;
 | 
|---|
 | 100 |  D BMES^XPDUTL("Removal of SCDX AMBCARE EVENT protocol from the Scheduling Event driver")
 | 
|---|
 | 101 |  D MES^XPDUTL($S(ERR:"was not completed.  Please review the installation instructions of this patch.",1:"was completed."))
 | 
|---|
 | 102 |  Q
 | 
|---|
 | 103 |  ;
 | 
|---|
 | 104 | ADD(PROTOCOL) ;Adds the AMBCARE event handler to the exit action of SDAM
 | 
|---|
 | 105 |  ;APPOINTMENT EVENTS protocol.
 | 
|---|
 | 106 |  ;
 | 
|---|
 | 107 |  I PROTOCOL="" DO  Q
 | 
|---|
 | 108 |  .D BMES^XPDUTL("")
 | 
|---|
 | 109 |  .D MES^XPDUTL("The protocol 'SDAM APPOINTMENT EVENTS' could not be found.")
 | 
|---|
 | 110 |  .D MES^XPDUTL("Please review the installation instructions for this patch.")
 | 
|---|
 | 111 |  .Q
 | 
|---|
 | 112 |  N CONTENTS,DIC,DR,DA,DIQ,OLD
 | 
|---|
 | 113 |  S DIC="^ORD(101,",DR=15,DA=PROTOCOL,DIQ="RES",DIQ(0)="E"
 | 
|---|
 | 114 |  D EN^DIQ1
 | 
|---|
 | 115 |  ;
 | 
|---|
 | 116 |  ;nothing in the exit action just add.
 | 
|---|
 | 117 |  I RES(101,DA,15,"E")="" D LOAD(DA,"D EN^SCDXHLDR","") Q
 | 
|---|
 | 118 |  ;
 | 
|---|
 | 119 |  ;the call to scdxhldr already exists.
 | 
|---|
 | 120 |  I RES(101,DA,15,"E")["SCDXHLDR" DO  Q
 | 
|---|
 | 121 |  .D BMES^XPDUTL("")
 | 
|---|
 | 122 |  .D MES^XPDUTL("The AMBCARE event handler call exists in the Scheduling event driver exit action!")
 | 
|---|
 | 123 |  .Q
 | 
|---|
 | 124 |  ;save off old line and try building a new one
 | 
|---|
 | 125 |  S OLD=RES(101,DA,15,"E")
 | 
|---|
 | 126 |  S RES(101,DA,15,"E")=RES(101,DA,15,"E")_" D EN^SCDXHLDR"
 | 
|---|
 | 127 |  D LOAD(DA,RES(101,DA,15,"E"),OLD)
 | 
|---|
 | 128 |  Q
 | 
|---|
 | 129 |  ;
 | 
|---|
 | 130 | LOAD(DA,DATA,OLD) ;
 | 
|---|
 | 131 |  N SCMS,SCIENS
 | 
|---|
 | 132 |  S SCIENS=DA_","
 | 
|---|
 | 133 |  S SCMS(101,SCIENS,15)=DATA
 | 
|---|
 | 134 |  ;
 | 
|---|
 | 135 |  D FILE^DIE("KE","SCMS","SCMS(""ERR"")")
 | 
|---|
 | 136 |  ;if no error
 | 
|---|
 | 137 |  I '$D(SCMS("ERR")) DO  Q
 | 
|---|
 | 138 |  .D BMES^XPDUTL("")
 | 
|---|
 | 139 |  .D MES^XPDUTL("Updating of 'SDAM APPOINTMENT EVENTS' exit action complete!")
 | 
|---|
 | 140 |  .Q
 | 
|---|
 | 141 |  K SCMS("ERR")
 | 
|---|
 | 142 |  ;file only our stuff and post error
 | 
|---|
 | 143 |  S SCMS(101,SCIENS,15)="D EN^SCDXHLDR"
 | 
|---|
 | 144 |  D FILE^DIE("KE","SCMS","SCMS(""ERR"")")
 | 
|---|
 | 145 |  D BMES^XPDUTL("")
 | 
|---|
 | 146 |  D MES^XPDUTL("The exit action for 'SDAM APPOINTMENT EVENTS' on your system was:")
 | 
|---|
 | 147 |  D MES^XPDUTL(OLD)
 | 
|---|
 | 148 |  D MES^XPDUTL("An attempt was made to replace it, but failed.")
 | 
|---|
 | 149 |  D BMES^XPDUTL("It has been replaced with D EN^SCDXHLDR")
 | 
|---|
 | 150 |  D MES^XPDUTL("You will need to edit this protocol's exit action to restore your changes.")
 | 
|---|
 | 151 |  Q
 | 
|---|