| 1 | SD53121 ;ALB/JRP - PATCH 121 POST-INIT;18-APR-97
 | 
|---|
| 2 |  ;;5.3;Scheduling;**121**;Aug 13, 1993
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | POST ;Main entry point of post-init
 | 
|---|
| 5 |  D DELTRIG
 | 
|---|
| 6 |  D SEED
 | 
|---|
| 7 |  D ERRCODE
 | 
|---|
| 8 |  D MGCHK
 | 
|---|
| 9 |  Q
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 | DELTRIG ;Delete obsolete triggers on the TRANSMISSION REQUIRED field (#.04)
 | 
|---|
| 12 |  ; of the TRANSMITTED OUTPATIENT ENCOUNTER file (#409.73)
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  ;Declare variables
 | 
|---|
| 15 |  N NODE,XREFNUM,X,DIK,DA,XPDIDTOT
 | 
|---|
| 16 |  ;Print header
 | 
|---|
| 17 |  D BMES^XPDUTL(">>> Deleting obsolete triggers on the TRANSMISSION REQUIRED field")
 | 
|---|
| 18 |  D MES^XPDUTL("    (#.04) of the TRANSMITTED OUTPATIENT ENCOUNTER file (#409.73).")
 | 
|---|
| 19 |  D MES^XPDUTL("")
 | 
|---|
| 20 |  ;Get last x-ref number
 | 
|---|
| 21 |  S XPDIDTOT=+$O(^DD(409.73,.04,1,""),-1)
 | 
|---|
| 22 |  ;Loop through list of x-refs
 | 
|---|
| 23 |  S XREFNUM=0
 | 
|---|
| 24 |  F  S XREFNUM=+$O(^DD(409.73,.04,1,XREFNUM)) Q:('XREFNUM)  D
 | 
|---|
| 25 |  .;If KIDS install, show progress through status bar
 | 
|---|
| 26 |  .D:($G(XPDNM)'="") UPDATE^XPDID(XREFNUM)
 | 
|---|
| 27 |  .;Grab zero node
 | 
|---|
| 28 |  .S NODE=$G(^DD(409.73,.04,1,XREFNUM,0))
 | 
|---|
| 29 |  .;Make sure it's a trigger x-ref
 | 
|---|
| 30 |  .Q:($P(NODE,"^",3)'="TRIGGER")
 | 
|---|
| 31 |  .;Make sure it triggers a field in 409.73
 | 
|---|
| 32 |  .Q:($P(NODE,"^",4)'=409.73)
 | 
|---|
| 33 |  .;Make sure it's one of the fields that should no longer be triggered
 | 
|---|
| 34 |  .S X=","_(+$P(NODE,"^",5))_","
 | 
|---|
| 35 |  .Q:(",11,12,13,14,15,"'[X)
 | 
|---|
| 36 |  .;Obsolete triggers delete their triggered fields
 | 
|---|
| 37 |  .Q:($G(^DD(409.73,.04,1,XREFNUM,"CREATE VALUE"))'="@")
 | 
|---|
| 38 |  .;Delete obsolete trigger
 | 
|---|
| 39 |  .S DIK="^DD(409.73,.04,1,"
 | 
|---|
| 40 |  .S DA(2)=409.73
 | 
|---|
| 41 |  .S DA(1)=.04
 | 
|---|
| 42 |  .S DA=XREFNUM
 | 
|---|
| 43 |  .D ^DIK
 | 
|---|
| 44 |  .S X="    Trigger cross reference number "_XREFNUM_" deleted"
 | 
|---|
| 45 |  .D MES^XPDUTL(X)
 | 
|---|
| 46 |  D BMES^XPDUTL("")
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | ERRCODE ;Update ERROR CODE DESCRIPTION field (#11) of the TRANSMITTED
 | 
|---|
| 50 |  ; OUTPATIENT ENCOUNTER ERROR CODE file (#409.76) for error codes
 | 
|---|
| 51 |  ; 420 & 105 (AAC changed descriptions to reflect receipt of info
 | 
|---|
| 52 |  ; past close-out)
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 |  ;Declare variables
 | 
|---|
| 55 |  N SD53FDA,SD53IEN,SD53MSG
 | 
|---|
| 56 |  ;Print info
 | 
|---|
| 57 |  D BMES^XPDUTL(">>> Updating the ERROR CODE DESCRIPTION field (#11) of")
 | 
|---|
| 58 |  D MES^XPDUTL("    the TRANSMITTED OUTPATIENT ENCOUNTER ERROR CODE file")
 | 
|---|
| 59 |  D MES^XPDUTL("    (#409.76) for error codes 420 and 105.  Definitions")
 | 
|---|
| 60 |  D MES^XPDUTL("    were modified to reflect receipt of data by NPCD")
 | 
|---|
| 61 |  D MES^XPDUTL("    after close-out.")
 | 
|---|
| 62 |  D MES^XPDUTL("")
 | 
|---|
| 63 |  ;Set up call to FileMan Updater (call will find/create entry)
 | 
|---|
| 64 |  S SD53FDA(409.76,"?+1,",.01)=420
 | 
|---|
| 65 |  S SD53FDA(409.76,"?+1,",11)="Date of Encounter is invalid, after date of transmission, or after close-out."
 | 
|---|
| 66 |  S SD53FDA(409.76,"?+2,",.01)=105
 | 
|---|
| 67 |  S SD53FDA(409.76,"?+2,",11)="Event Date is missing, invalid, after processing date, or after close-out."
 | 
|---|
| 68 |  ;Call FileMan Updater
 | 
|---|
| 69 |  D UPDATE^DIE("ES","SD53FDA","SD53IEN","SD53MSG")
 | 
|---|
| 70 |  ;Error
 | 
|---|
| 71 |  I ($D(SD53MSG("DIERR"))) D
 | 
|---|
| 72 |  .N SD53TMP
 | 
|---|
| 73 |  .D BMES^XPDUTL("    *** The following error occurred while updating descriptions ***")
 | 
|---|
| 74 |  .D MSG^DIALOG("ASE",.SD53TMP,70,5,"SD53MSG")
 | 
|---|
| 75 |  .D MES^XPDUTL("")
 | 
|---|
| 76 |  .D MES^XPDUTL(.SD53TMP)
 | 
|---|
| 77 |  D BMES^XPDUTL("")
 | 
|---|
| 78 |  Q
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 | MGCHK ;Check to see if the LATE ACTIVITY MAIL GROUP field (#217) of the
 | 
|---|
| 81 |  ; MAS PARAMETERS file (#43) contains a valid mail group
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 |  ;Declare variables
 | 
|---|
| 84 |  N NODE,XMDUZ,XMY,OK
 | 
|---|
| 85 |  S OK=1
 | 
|---|
| 86 |  ;Print header
 | 
|---|
| 87 |  D BMES^XPDUTL(">>> Checking for existance of a valid mail group in the")
 | 
|---|
| 88 |  D MES^XPDUTL("    LATE ACTIVITY MAIL GROUP field (#217) of the MAS")
 | 
|---|
| 89 |  D MES^XPDUTL("    PARAMETERS file (#43).  Members of this mail group")
 | 
|---|
| 90 |  D MES^XPDUTL("    will be notified of all late National Patient Care")
 | 
|---|
| 91 |  D MES^XPDUTL("    Database activity.")
 | 
|---|
| 92 |  D MES^XPDUTL("")
 | 
|---|
| 93 |  ;Get pointer to mail group
 | 
|---|
| 94 |  S NODE=$G(^DG(43,1,"SCLR"))
 | 
|---|
| 95 |  S:('$P(NODE,"^",17)) OK=0
 | 
|---|
| 96 |  ;Use call that builds XMY() - will validate pointer (also sets XMDUZ)
 | 
|---|
| 97 |  I (OK) D XMY^SDUTL2($P(NODE,"^",17),0,0) S:('$D(XMY)) OK=0
 | 
|---|
| 98 |  ;Valid mail group
 | 
|---|
| 99 |  I (OK) D
 | 
|---|
| 100 |  .S XMDUZ=$O(XMY(""))
 | 
|---|
| 101 |  .D BMES^XPDUTL("    Late NPCD activity will be delivered to members of")
 | 
|---|
| 102 |  .D MES^XPDUTL("    the "_$P(XMDUZ,".",2)_" mail group")
 | 
|---|
| 103 |  ;Valid mail group not found
 | 
|---|
| 104 |  I ('OK) D
 | 
|---|
| 105 |  .D BMES^XPDUTL("    *** Valid mail group not found")
 | 
|---|
| 106 |  .D BMES^XPDUTL("    *** Notification of late NPCD activity will not occur")
 | 
|---|
| 107 |  .D BMES^XPDUTL("    *** Use the Scheduling Parameters option [SD PARM PARAMETERS]")
 | 
|---|
| 108 |  .D MES^XPDUTL("        to select a mail group that will receive the notifications")
 | 
|---|
| 109 |  D BMES^XPDUTL("")
 | 
|---|
| 110 |  Q
 | 
|---|
| 111 |  ;
 | 
|---|
| 112 | SEED ;Seed NPCD ENCOUNTER MONTH multiple (#404.9171) of the SCHEDULING
 | 
|---|
| 113 |  ; PARAMETER file (#404.91) with close-out dates for fiscal year 1997
 | 
|---|
| 114 |  ;
 | 
|---|
| 115 |  ;Declare variables
 | 
|---|
| 116 |  N XPDIDTOT,LINE,DATES,WLMONTH,DBCLOSE,WLCLOSE,TMP
 | 
|---|
| 117 |  ;Print header
 | 
|---|
| 118 |  D BMES^XPDUTL(">>> Storing close-out dates for Fiscal Year 1997")
 | 
|---|
| 119 |  S TMP=$$INSERT^SCDXUTL1("Workload","",7)
 | 
|---|
| 120 |  S TMP=$$INSERT^SCDXUTL1("Database",TMP,27)
 | 
|---|
| 121 |  S TMP=$$INSERT^SCDXUTL1("Workload",TMP,47)
 | 
|---|
| 122 |  D BMES^XPDUTL(TMP)
 | 
|---|
| 123 |  S TMP=$$INSERT^SCDXUTL1("Occured In","",6)
 | 
|---|
| 124 |  S TMP=$$INSERT^SCDXUTL1("Close-Out",TMP,27)
 | 
|---|
| 125 |  S TMP=$$INSERT^SCDXUTL1("Close-Out",TMP,47)
 | 
|---|
| 126 |  D MES^XPDUTL(TMP)
 | 
|---|
| 127 |  S TMP=$$INSERT^SCDXUTL1("------------","",5)
 | 
|---|
| 128 |  S TMP=$$INSERT^SCDXUTL1("------------",TMP,25)
 | 
|---|
| 129 |  S TMP=$$INSERT^SCDXUTL1("------------",TMP,45)
 | 
|---|
| 130 |  D MES^XPDUTL(TMP)
 | 
|---|
| 131 |  ;Loop through list of dates
 | 
|---|
| 132 |  S XPDIDTOT=12
 | 
|---|
| 133 |  F LINE=2:1:13 S TMP=$T(FY97+LINE),DATES=$P(TMP,";",3) Q:(DATES="")  D
 | 
|---|
| 134 |  .;Break out info
 | 
|---|
| 135 |  .S WLMONTH=$P(DATES,"^",1)
 | 
|---|
| 136 |  .S DBCLOSE=$P(DATES,"^",2)
 | 
|---|
| 137 |  .S WLCLOSE=$P(DATES,"^",3)
 | 
|---|
| 138 |  .;Print close-out info
 | 
|---|
| 139 |  .S TMP=$$INSERT^SCDXUTL1($$FMTE^XLFDT(WLMONTH,"1D"),"",7)
 | 
|---|
| 140 |  .S TMP=$$INSERT^SCDXUTL1($$FMTE^XLFDT(DBCLOSE,"1D"),TMP,25)
 | 
|---|
| 141 |  .S TMP=$$INSERT^SCDXUTL1($$FMTE^XLFDT(WLCLOSE,"1D"),TMP,45)
 | 
|---|
| 142 |  .D MES^XPDUTL(TMP)
 | 
|---|
| 143 |  .;Store close-out info
 | 
|---|
| 144 |  .S TMP=$$AECLOSE^SCDXFU04(WLMONTH,DBCLOSE,WLCLOSE)
 | 
|---|
| 145 |  .;If KIDS install, show progress through status bar
 | 
|---|
| 146 |  .D:($G(XPDNM)'="") UPDATE^XPDID(LINE-1)
 | 
|---|
| 147 |  D BMES^XPDUTL("")
 | 
|---|
| 148 |  Q
 | 
|---|
| 149 |  ;
 | 
|---|
| 150 | FY97 ;Close-out dates for fiscal year 1997
 | 
|---|
| 151 |  ;  Month ^ Database Close-Out ^ Workload Close-Out
 | 
|---|
| 152 |  ;;2961000^2970430^2970331
 | 
|---|
| 153 |  ;;2961100^2970430^2970331
 | 
|---|
| 154 |  ;;2961200^2970430^2970331
 | 
|---|
| 155 |  ;;2970100^2970430^2970331
 | 
|---|
| 156 |  ;;2970200^2970430^2970331
 | 
|---|
| 157 |  ;;2970300^2970430^2970430
 | 
|---|
| 158 |  ;;2970400^2971031^2970531
 | 
|---|
| 159 |  ;;2970500^2971031^2970630
 | 
|---|
| 160 |  ;;2970600^2971031^2970731
 | 
|---|
| 161 |  ;;2970700^2971031^2970831
 | 
|---|
| 162 |  ;;2970800^2971031^2970930
 | 
|---|
| 163 |  ;;2970900^2971031^2971031
 | 
|---|
| 164 |  ;
 | 
|---|