| 1 | RGRSBUL1 ;ALB/RJS,CML-RGRSTEXT BULLETIN ROUTINE (PART 2) ;07/24/98
 | 
|---|
| 2 |  ;;1.0;CLINICAL INFO RESOURCE NETWORK;**1,3,19**;30 Apr 99
 | 
|---|
| 3 | SSNBULL(DFN,ARRAY,NAME,SSN,ICN,CMOR) ;
 | 
|---|
| 4 |  ;Entry point generates a bulletin to the RG CIRN DEMOGRAPHIC
 | 
|---|
| 5 |  ;ISSUES mail group about an SSN change for a given patient.
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 |  ;Input:  Required Variables
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  ;   DFN   - IEN in the PATIENT file (#2)
 | 
|---|
| 10 |  ;  ARRAY  - Array of data containing sending sites station number
 | 
|---|
| 11 |  ;   NAME  - Patient's Name
 | 
|---|
| 12 |  ;   SSN   - Patient's SSN
 | 
|---|
| 13 |  ;   ICN   - Patient's ICN (Integration Control Number) 
 | 
|---|
| 14 |  ;   CMOR  - Patient's CMOR (Coordinating Master of Record)
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  Q:$G(DFN)=""!($G(ARRAY)="")
 | 
|---|
| 17 |  N LOCDATA,RGRSTEXT,INDEX,COUNTER
 | 
|---|
| 18 |  S RGRSTEXT(1)="The MPI/PD Package has received an SSN change from:"
 | 
|---|
| 19 |  S RGRSTEXT(2)=$$INST(@ARRAY@("SENDING SITE"))
 | 
|---|
| 20 |  S RGRSTEXT(3)="           "
 | 
|---|
| 21 |  S RGRSTEXT(4)="This change has been made in your local data base for:"
 | 
|---|
| 22 |  S RGRSTEXT(5)=NAME
 | 
|---|
| 23 |  S RGRSTEXT(6)="           "
 | 
|---|
| 24 |  S RGRSTEXT(7)="=> Local "_$P($$SITE^VASITE(),"^",2)_" data PRIOR to update:"
 | 
|---|
| 25 |  S RGRSTEXT(8)="NAME: "_NAME
 | 
|---|
| 26 |  S RGRSTEXT(9)="SSN: "_SSN
 | 
|---|
| 27 |  S RGRSTEXT(10)="ICN: "_ICN
 | 
|---|
| 28 |  S RGRSTEXT(11)="CMOR: "_CMOR
 | 
|---|
| 29 |  S RGRSTEXT(12)="--------------------------------------------------------"
 | 
|---|
| 30 |  S RGRSTEXT(13)="=> Update received from "_$P($$INST(@ARRAY@("SENDING SITE"))," -->")_":"
 | 
|---|
| 31 |  S RGRSTEXT(14)="SSN: "_@ARRAY@("SSN")
 | 
|---|
| 32 |  D BULL2^RGRSBULL("MPI/PD SSN CHANGE - "_NAME,"RGRSTEXT(")
 | 
|---|
| 33 |  Q
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 | NOT2(ARRAY) ;
 | 
|---|
| 36 |  ;Entry point generates a bulletin to the RG CIRN DEMOGRAPHIC
 | 
|---|
| 37 |  ;ISSUES mail group about invalid subscription information for a given
 | 
|---|
| 38 |  ;patient.
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 |  ;Input:  Required Variables
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 |  ;  ARRAY  - Array of information regarding the invalid subscription
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 |  Q:($G(ARRAY)="")
 | 
|---|
| 45 |  N RGRSTEXT,INDEX,COUNTER
 | 
|---|
| 46 |  S RGRSTEXT(1)="The MPI/PD Package has received a message from:"
 | 
|---|
| 47 |  S RGRSTEXT(2)=$$INST(@ARRAY@("SENDING SITE"))
 | 
|---|
| 48 |  S RGRSTEXT(3)="This patient has your station as a subscriber, however"
 | 
|---|
| 49 |  S RGRSTEXT(4)="the patient was not found in your database."
 | 
|---|
| 50 |  S RGRSTEXT(5)="--------------------------------------------------------"
 | 
|---|
| 51 |  S RGRSTEXT(6)="Remote Data"
 | 
|---|
| 52 |  S RGRSTEXT(7)="           "
 | 
|---|
| 53 |  S INDEX=0,COUNTER=8
 | 
|---|
| 54 |  F  S INDEX=$O(@ARRAY@("MESSAGE",INDEX)) Q:INDEX']""  D
 | 
|---|
| 55 |  . S RGRSTEXT(COUNTER)=@ARRAY@("MESSAGE",INDEX)
 | 
|---|
| 56 |  . S COUNTER=COUNTER+1
 | 
|---|
| 57 |  D BULL2^RGRSBULL("MPI/PD - PATIENT NOT FOUND","RGRSTEXT(")
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 | SENSTIVE(DFN,ARRAY,NAME) ;FIRES WHEN PT. IS FLAGGED AS SENSITIVE AT ANOTHER SITE
 | 
|---|
| 61 |  ;Entry point generates a bulletin to the RG CIRN DEMOGRAPHIC
 | 
|---|
| 62 |  ;ISSUES mail group when a given patient is flagged as sensitive at
 | 
|---|
| 63 |  ;another site.
 | 
|---|
| 64 |  ;
 | 
|---|
| 65 |  ;Input:  Required Variables
 | 
|---|
| 66 |  ;
 | 
|---|
| 67 |  ;   DFN  - IEN in the PATIENT file (#2)
 | 
|---|
| 68 |  ;  ARRAY - Array of data containing sending sites station number and SSN
 | 
|---|
| 69 |  ;  NAME  - Patient's name
 | 
|---|
| 70 |  ;  CMOR  - Coordinating Master of Record
 | 
|---|
| 71 |  ;
 | 
|---|
| 72 |  Q:($G(ARRAY)="")!($G(DFN)="")
 | 
|---|
| 73 |  N RGRSTEXT,INDEX,COUNTER,CMOR
 | 
|---|
| 74 |  S CMOR=$$CMOR2^MPIF001(DFN) I $P(CMOR,"^")<0 S CMOR="not assigned"
 | 
|---|
| 75 |  S RGRSTEXT(1)="The MPI/PD Package has received a message from:"
 | 
|---|
| 76 |  S RGRSTEXT(2)=$$INST(@ARRAY@("SENDING SITE"))
 | 
|---|
| 77 |  S RGRSTEXT(3)="   "
 | 
|---|
| 78 |  S RGRSTEXT(4)="This message indicates that patient "_NAME_" is flagged"
 | 
|---|
| 79 |  S RGRSTEXT(5)="as Sensitive at the other facility but is not flagged as"
 | 
|---|
| 80 |  S RGRSTEXT(6)="Sensitive at your facility."
 | 
|---|
| 81 |  S RGRSTEXT(7)="  "
 | 
|---|
| 82 |  S RGRSTEXT(8)="Remote Patient SSN: "_$S(@ARRAY@("SSN")="":"Not Available",1:@ARRAY@("SSN"))
 | 
|---|
| 83 |  S RGRSTEXT(9)="Remote User who Flagged the Patient as Sensitive: "_@ARRAY@("SENSITIVITY USER")
 | 
|---|
| 84 |  S RGRSTEXT(10)="Date/Time Remote User Flagged Patient Sensitive:  "_$$FMTE^XLFDT(@ARRAY@("SENSITIVITY DATE"))
 | 
|---|
| 85 |  S RGRSTEXT(11)="  "
 | 
|---|
| 86 |  S RGRSTEXT(12)="CMOR Site: "_CMOR
 | 
|---|
| 87 |  D BULL2^RGRSBULL("Remote Sensitivity Indicated","RGRSTEXT(")
 | 
|---|
| 88 |  Q
 | 
|---|
| 89 |  ;
 | 
|---|
| 90 | RMTDOD(DFN,ARRAY,NAME,RDOD,LDOD) ;Fires when patient has a Date of Death at another site
 | 
|---|
| 91 |  ;Entry point generates a bulletin to the RG CIRN DEMOGRAPHIC
 | 
|---|
| 92 |  ;ISSUES mail group when a given patient has a Date of Death at
 | 
|---|
| 93 |  ;another site.
 | 
|---|
| 94 |  ;
 | 
|---|
| 95 |  ;Input:  Required Variables
 | 
|---|
| 96 |  ;
 | 
|---|
| 97 |  ;  DFN   - IEN in the PATIENT file (#2)
 | 
|---|
| 98 |  ;  ARRAY - Array of data containing sending sites station number and SSN
 | 
|---|
| 99 |  ;  NAME  - Patient's name
 | 
|---|
| 100 |  ;  RDOD  - Date of Death at remote site
 | 
|---|
| 101 |  ;  LDOD  - Date of Death at local site
 | 
|---|
| 102 |  ;  CMOR  - Coordinating Master of Record
 | 
|---|
| 103 |  ;
 | 
|---|
| 104 |  Q:($G(ARRAY)="")!($G(DFN)="")
 | 
|---|
| 105 |  Q:(RDOD=LDOD)  ;If remote DOD and local DOD same, QUIT
 | 
|---|
| 106 |  N CMOR
 | 
|---|
| 107 |  S CMOR=$$CMOR2^MPIF001(DFN) I $P(CMOR,"^")<0 S CMOR="not assigned"
 | 
|---|
| 108 |  N RGRSTEXT
 | 
|---|
| 109 |  S RGRSTEXT(1)="The MPI/PD Package has received a message from:"
 | 
|---|
| 110 |  S RGRSTEXT(2)=$$INST(@ARRAY@("SENDING SITE"))
 | 
|---|
| 111 |  S RGRSTEXT(3)="   "
 | 
|---|
| 112 |  S RGRSTEXT(4)="This message indicates that patient "_NAME
 | 
|---|
| 113 |  I 'LDOD S RGRSTEXT(5)="has a date of death at the other facility but not at your facility." G RMTMSG
 | 
|---|
| 114 |  I LDOD,(LDOD'=RDOD) S RGRSTEXT(5)="has a different date of death at the other facility than at your facility."
 | 
|---|
| 115 | RMTMSG S RGRSTEXT(6)="  "
 | 
|---|
| 116 |  S RGRSTEXT(7)="Remote Patient SSN: "_$S(@ARRAY@("SSN")="":"Not Available",1:@ARRAY@("SSN"))
 | 
|---|
| 117 |  S RGRSTEXT(8)="Date of Death from other facility:  "_$$FMTE^XLFDT(RDOD)
 | 
|---|
| 118 |  I LDOD,(LDOD'=RDOD) S RGRSTEXT(9)="Date of Death at your facility:  "_$$FMTE^XLFDT(LDOD)
 | 
|---|
| 119 |  S RGRSTEXT(10)="  "
 | 
|---|
| 120 |  S RGRSTEXT(11)="CMOR site: "_CMOR
 | 
|---|
| 121 |  D BULL2^RGRSBULL("Remote Date of Death Indicated","RGRSTEXT(")
 | 
|---|
| 122 |  Q
 | 
|---|
| 123 |  ;
 | 
|---|
| 124 | INST(SITENUM) ;
 | 
|---|
| 125 |  N RETURN,IEN,DATA,NAME,NUMBER
 | 
|---|
| 126 |  S RETURN=""
 | 
|---|
| 127 |  Q:$G(SITENUM)="" RETURN
 | 
|---|
| 128 |  S IEN=$$LKUP^XUAF4(SITENUM)
 | 
|---|
| 129 |  I IEN>0 S DATA=$$NS^XUAF4(IEN)
 | 
|---|
| 130 |  I $G(DATA)]"" D 
 | 
|---|
| 131 |  . S NAME=$P(DATA,"^",1),NUMBER=$P(DATA,"^",2)
 | 
|---|
| 132 |  . S RETURN=NAME_" --> Site Number: "_NUMBER
 | 
|---|
| 133 |  Q RETURN
 | 
|---|
| 134 |  ;
 | 
|---|
| 135 | FORMAT(DATA1,DATA2) ;
 | 
|---|
| 136 |  N SPACES,SPACENUM,LENGTH1,LENGTH2,RETURN
 | 
|---|
| 137 |  S SPACES="                       "
 | 
|---|
| 138 |  S LENGTH1=$L(DATA1),LENGTH2=$L(DATA2)
 | 
|---|
| 139 |  I LENGTH1>23 S DATA1=$E(DATA1,1,23) S LENGTH1=23
 | 
|---|
| 140 |  I LENGTH2>22 S DATA2=$E(DATA2,1,22)
 | 
|---|
| 141 |  S SPACENUM=23-LENGTH1
 | 
|---|
| 142 |  S SPACES=$E(SPACES,1,SPACENUM)
 | 
|---|
| 143 |  S RETURN=DATA1_SPACES_" "_DATA2
 | 
|---|
| 144 |  Q $G(RETURN)
 | 
|---|
| 145 |  ;
 | 
|---|
| 146 | FREE(DATA) ;
 | 
|---|
| 147 |  Q:$G(DATA)="" ""
 | 
|---|
| 148 |  Q:$G(DATA)["@" ""
 | 
|---|
| 149 |  Q:$G(DATA)=HL("Q") ""
 | 
|---|
| 150 |  Q $G(DATA)
 | 
|---|