| 1 | RGRSBULL ;ALB/RJS,CML-RGRSTEXT BULLETIN ROUTINE ;07/24/98
 | 
|---|
| 2 |  ;;1.0;CLINICAL INFO RESOURCE NETWORK;**19**;30 Apr 99
 | 
|---|
| 3 | BULL(XMB,XMTEXT) ;
 | 
|---|
| 4 |  ;Entry point generates a bulletin when a notification
 | 
|---|
| 5 |  ;from the MPI/PD package has been generated
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 |  ;Input:Required variables
 | 
|---|
| 8 |  ;  
 | 
|---|
| 9 |  ;      XMB    - Bulletin name e.g. ("RG CIRN DEMOGRAPHIC ISSUES")
 | 
|---|
| 10 |  ;      XMTEXT - global or array root (EX. "^TMP("), location of 
 | 
|---|
| 11 |  ;               error message(s)
 | 
|---|
| 12 |  ;
 | 
|---|
| 13 |  ;If XMY is defined, the call to ^XMB will process accordingly.
 | 
|---|
| 14 |  ;XMY is used to pass additional recipients.
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  Q:$G(XMB)=""!($G(XMTEXT)="")
 | 
|---|
| 17 |  D NOW^%DTC S XMDT=X K X
 | 
|---|
| 18 |  S XMDUZ="MPI/PD PACKAGE"
 | 
|---|
| 19 |  D ^XMB
 | 
|---|
| 20 |  K XMDT,XMDUZ
 | 
|---|
| 21 |  Q
 | 
|---|
| 22 | BULL2(XMSUB,XMTEXT) ;
 | 
|---|
| 23 |  N XMY,XMDUZ
 | 
|---|
| 24 |  S XMY("G.RG CIRN DEMOGRAPHIC ISSUES")=""
 | 
|---|
| 25 |  S XMDUZ="MPI/PD PACKAGE"
 | 
|---|
| 26 |  D ^XMD
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 | ADDRESS(DFN,NAME,LINE1,LINE2,LINE3,SENDSITE,CITY,COUNTY,STATE,ZIP) ;
 | 
|---|
| 30 |  ;Entry point generates a bulletin to the RG CIRN DEMOGRAPHIC
 | 
|---|
| 31 |  ;ISSUES mail group about changes to the address of a given patient.
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 |  ;Input:  Required Variables
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 |  ;   DFN   - IEN in the PATIENT file (#2)
 | 
|---|
| 36 |  ;   NAME  - Patient's Name
 | 
|---|
| 37 |  ;   LINE1,LINE2,LINE3 - Lines of the Address
 | 
|---|
| 38 |  ; SENDSITE- The station number of the site that initiated the change
 | 
|---|
| 39 |  ;    CITY - city
 | 
|---|
| 40 |  ;  COUNTY - county
 | 
|---|
| 41 |  ;   STATE - state
 | 
|---|
| 42 |  ;     ZIP - zip
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 |  Q:$G(DFN)=""!($G(NAME)="")
 | 
|---|
| 45 |  Q:$G(^DPT(DFN,0))=""
 | 
|---|
| 46 |  N RGADRES,DA,DIC,DR,DIQ,ADDR1,ADDR11,ADDR2,ADDR22,ADDR3,ADDR33,LINE11,LINE22,LINE33,ADDR4,ADDR44,ADDR5,ADDR55,ADDR6,ADDR66,ADDR7,ADDR77,DELFLG
 | 
|---|
| 47 |  S DIC=2,DR=".111;.112;.113;.114;.115;.117;.1112",DA=DFN,DIQ="RGADRES",DIQ(0)="E" D EN^DIQ1
 | 
|---|
| 48 |  S ADDR1=$G(RGADRES(2,DFN,.111,"E")),ADDR2=$G(RGADRES(2,DFN,.112,"E")),ADDR3=$G(RGADRES(2,DFN,.113,"E")),ADDR4=$G(RGADRES(2,DFN,.114,"E")),ADDR5=$G(RGADRES(2,DFN,.115,"E")),ADDR6=$G(RGADRES(2,DFN,.117,"E")),ADDR7=$G(RGADRES(2,DFN,.1112,"E"))
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 |  S ADDR6=$$COUNTY^RGRSPARS(ADDR5,ADDR6)
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 |  ;Check for null or deleted address fields from remote site
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 |  S DELFLG=0
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 |  I $S(LINE1="@":1,LINE1="""@""":1,LINE1="""""":1,1:LINE1="") D
 | 
|---|
| 57 |  .I ADDR1'="" S DELFLG=1,LINE1="<<DELETED>>" Q
 | 
|---|
| 58 |  .S LINE1=""
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  I $S(LINE2="@":1,LINE2="""@""":1,LINE2="""""":1,1:LINE2="") D
 | 
|---|
| 61 |  .I ADDR2'="" S LINE2="<<DELETED>>" Q
 | 
|---|
| 62 |  .S LINE2=""
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 |  I $S(LINE3="@":1,LINE3="""@""":1,LINE3="""""":1,1:LINE3="") D
 | 
|---|
| 65 |  .I ADDR3'="" S LINE3="<<DELETED>>" Q
 | 
|---|
| 66 |  .S LINE3=""
 | 
|---|
| 67 |  ;
 | 
|---|
| 68 |  I $S(CITY="@":1,CITY="""@""":1,CITY="""""":1,1:CITY="") D
 | 
|---|
| 69 |  .I ADDR4'="" S DELFLG=1,CITY="<<DELETED>>" Q
 | 
|---|
| 70 |  .S CITY=""
 | 
|---|
| 71 |  ;
 | 
|---|
| 72 |  I $S(STATE="@":1,STATE="""@""":1,STATE="""""":1,1:STATE="") D
 | 
|---|
| 73 |  .I ADDR5'="" S DELFLG=1,STATE="<<DELETED>>" Q
 | 
|---|
| 74 |  .S STATE=""
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 |  I $S(COUNTY="@":1,COUNTY="""@""":1,COUNTY="""""":1,1:COUNTY="") D
 | 
|---|
| 77 |  .I ADDR6'="" S DELFLG=1,COUNTY="<<DELETED>>" Q
 | 
|---|
| 78 |  .S COUNTY=""
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 |  I $S(ZIP="@":1,ZIP="""@""":1,ZIP="""""":1,1:ZIP="") D
 | 
|---|
| 81 |  .I ADDR7'="" S DELFLG=1,ZIP="<<DELETED>>" Q
 | 
|---|
| 82 |  .S ZIP=""
 | 
|---|
| 83 |  ;
 | 
|---|
| 84 |  I DELFLG G SENDADD
 | 
|---|
| 85 |  ;
 | 
|---|
| 86 | EXITADD ;
 | 
|---|
| 87 |  Q
 | 
|---|
| 88 | SENDADD ;
 | 
|---|
| 89 |  N RGRSTEXT,XMSUB
 | 
|---|
| 90 |  S RGRSTEXT(1)="The MPI/PD Package has received a message from:"
 | 
|---|
| 91 |  S RGRSTEXT(2)=$$INST^RGRSBUL1(SENDSITE)
 | 
|---|
| 92 |  S RGRSTEXT(3)="This message deleted address information for Patient:"
 | 
|---|
| 93 |  S RGRSTEXT(4)=NAME
 | 
|---|
| 94 |  S RGRSTEXT(5)="               "
 | 
|---|
| 95 |  S RGRSTEXT(6)="                         <<OLD ADDRESS>>         <<NEW ADDRESS>>"
 | 
|---|
| 96 |  S RGRSTEXT(7)="       "
 | 
|---|
| 97 |  S RGRSTEXT(8)="STREET ADDRESS [LINE 1]: "_$$FORMAT^RGRSBUL1(ADDR1,LINE1)
 | 
|---|
| 98 |  S RGRSTEXT(9)="STREET ADDRESS [LINE 2]: "_$$FORMAT^RGRSBUL1(ADDR2,LINE2)
 | 
|---|
| 99 |  S RGRSTEXT(10)="STREET ADDRESS [LINE 3]: "_$$FORMAT^RGRSBUL1(ADDR3,LINE3)
 | 
|---|
| 100 |  S RGRSTEXT(11)="                   CITY: "_$$FORMAT^RGRSBUL1(ADDR4,CITY)
 | 
|---|
| 101 |  S RGRSTEXT(12)="                 COUNTY: "_$$FORMAT^RGRSBUL1(ADDR6,COUNTY)
 | 
|---|
| 102 |  S RGRSTEXT(13)="                  STATE: "_$$FORMAT^RGRSBUL1(ADDR5,STATE)
 | 
|---|
| 103 |  S RGRSTEXT(14)="                  ZIP+4: "_$$FORMAT^RGRSBUL1(ADDR7,ZIP)
 | 
|---|
| 104 |  D BULL2($P(NAME,",",1)_" **MPI/PD ADDRESS DELETION**","RGRSTEXT(")
 | 
|---|
| 105 |  G EXITADD
 | 
|---|
| 106 |  ;
 | 
|---|
| 107 | SKIPBULL(ARRAY) ;
 | 
|---|
| 108 |  ;Entry point generates a bulletin to the RG CIRN DEMOGRAPHIC
 | 
|---|
| 109 |  ;ISSUES mail group about missing required data for a given patient.
 | 
|---|
| 110 |  ;
 | 
|---|
| 111 |  ;Input:  Required Variables
 | 
|---|
| 112 |  ;
 | 
|---|
| 113 |  ;  ARRAY  - Array of information regarding missing required data
 | 
|---|
| 114 |  ;
 | 
|---|
| 115 |  Q:'$D(@ARRAY)
 | 
|---|
| 116 |  N RGRSTEXT,INDEX,COUNTER
 | 
|---|
| 117 |  S RGRSTEXT(1)="The MPI/PD Package has received a message from:"
 | 
|---|
| 118 |  S RGRSTEXT(2)=$$INST^RGRSBUL1(@ARRAY@("SENDING SITE"))
 | 
|---|
| 119 |  S RGRSTEXT(3)="This message was missing required data"
 | 
|---|
| 120 |  S RGRSTEXT(4)="    "
 | 
|---|
| 121 |  S INDEX=0,COUNTER=5
 | 
|---|
| 122 |  F  S INDEX=$O(@ARRAY@(INDEX)) Q:INDEX']""  D
 | 
|---|
| 123 |  . S RGRSTEXT(COUNTER)="FIELD: "_INDEX_" = "_@ARRAY@(INDEX)
 | 
|---|
| 124 |  . S COUNTER=COUNTER+1
 | 
|---|
| 125 |  D BULL2("MPI/PD - MISSING DATA","RGRSTEXT(")
 | 
|---|
| 126 |  Q
 | 
|---|
| 127 |  ;
 | 
|---|
| 128 | MTCHBULL(DFN,ARRAY,NAME,SSN,ICN,CMOR,BULSUB) ;
 | 
|---|
| 129 |  ;Entry point generates a bulletin to the RG CIRN DEMOGRAPHIC
 | 
|---|
| 130 |  ;ISSUES mail group about differences in the data of a given patient.
 | 
|---|
| 131 |  ;
 | 
|---|
| 132 |  ;Input:  Required Variables
 | 
|---|
| 133 |  ;
 | 
|---|
| 134 |  ;   DFN   - IEN in the PATIENT file (#2)
 | 
|---|
| 135 |  ;  ARRAY  - Array of data containing sending sites station number
 | 
|---|
| 136 |  ;   NAME  - Patient's Name
 | 
|---|
| 137 |  ;   SSN   - Patient's SSN
 | 
|---|
| 138 |  ;   ICN   - Patient's ICN (Integration Control Number) 
 | 
|---|
| 139 |  ;   CMOR  - Patient's CMOR (Coordinating Master of Record)
 | 
|---|
| 140 |  ;  BULSUB - Bulletin subject (Ex. ICN)
 | 
|---|
| 141 |  ;
 | 
|---|
| 142 |  Q:$G(DFN)=""!($G(ARRAY)="")
 | 
|---|
| 143 |  N LOCDATA,RGRSTEXT,INDEX,COUNTER
 | 
|---|
| 144 |  S RGRSTEXT(1)="The MPI/PD Package has received a message from:"
 | 
|---|
| 145 |  S RGRSTEXT(2)=$$INST^RGRSBUL1(@ARRAY@("SENDING SITE"))
 | 
|---|
| 146 |  S RGRSTEXT(3)="This message contains "_$P(BULSUB,"(")_" data that is"
 | 
|---|
| 147 |  S RGRSTEXT(4)="inconsistent with your site's data."
 | 
|---|
| 148 |  S RGRSTEXT(5)="           "
 | 
|---|
| 149 |  S RGRSTEXT(6)="=> "_$P($$SITE^VASITE(),"^",2)_" local data:"
 | 
|---|
| 150 |  S RGRSTEXT(7)="NAME: "_NAME
 | 
|---|
| 151 |  S RGRSTEXT(8)="SSN: "_SSN
 | 
|---|
| 152 |  S RGRSTEXT(9)="ICN: "_ICN
 | 
|---|
| 153 |  S RGRSTEXT(10)="CMOR: "_CMOR
 | 
|---|
| 154 |  S RGRSTEXT(11)="--------------------------------------------------------"
 | 
|---|
| 155 |  S RGRSTEXT(12)="=> "_$P($$INST^RGRSBUL1(@ARRAY@("SENDING SITE"))," -->")_" data:"
 | 
|---|
| 156 |  S COUNTER=12
 | 
|---|
| 157 |  F INDEX="NAME","SSN","ICN","CMOR" D
 | 
|---|
| 158 |  . I $D(@ARRAY@(INDEX)) S COUNTER=COUNTER+1,RGRSTEXT(COUNTER)=INDEX_": "_@ARRAY@(INDEX)
 | 
|---|
| 159 |  D BULL2("MPI/PD - INCONSISTENT "_BULSUB,"RGRSTEXT(")
 | 
|---|
| 160 |  Q
 | 
|---|