| 1 | SCMCCON ;ALB/REW - Patient Consult MailMessages ; 26 Mar 1996
 | 
|---|
| 2 |  ;;5.3;Scheduling;**41,87,100,130**;AUG 13, 1993
 | 
|---|
| 3 |  ;1
 | 
|---|
| 4 | MAIL(DFN,SCCLNM,ENORAP,DATE,SCTMCNA) ;Do Patient Team Changes MailMan Message
 | 
|---|
| 5 |  ;   DFN    - ien to PATIENT File
 | 
|---|
| 6 |  ;   SCCLNM - Name of Clinic
 | 
|---|
| 7 |  ;   ENORAP - Enrollment or Appointment? 1=Enrollment, 2=Appointment
 | 
|---|
| 8 |  ;   DATE   - Date of interest, Default =DT
 | 
|---|
| 9 |  ;   SCTMCNA- Array of teams affected
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  ; - called by SCMC PT TEAM CHANGES MAIL MESSAGE protocol
 | 
|---|
| 12 |  G:$G(SCNOMAIL) END  ;- flag can be set to stop message generation
 | 
|---|
| 13 |  N XMDUZ,XMY,XMSUB,XMTEXT,VA,VAERR,XMZ,Y,SCCNXM
 | 
|---|
| 14 |  N SCTMAR,SCSTAT,SCNODE,SCY,SCSPACE,SCCNDTS,SCSTAT,SCTM
 | 
|---|
| 15 |  S SCCNDTS("BEGIN")=DATE,SCCNDTS("END")=DATE
 | 
|---|
| 16 |  S SCSTAT=$S(ENORAP=1:"Enrollment",(ENORAP=2):"Appointment",1:"")
 | 
|---|
| 17 |  S $P(SCSPACE," ",80)=""
 | 
|---|
| 18 |  ;   SCTMAR - ARRAY OF TEAMS (before & after)
 | 
|---|
| 19 |  ;set xmy array for practitioners in positions receiving consult notices
 | 
|---|
| 20 |  G:'$$PCMMXMY^SCAPMC25(4,DFN,SCTMCNA,"SCCMDTS",0) END
 | 
|---|
| 21 |  D:'$G(DGQUIET) EN^DDIOL("Sending Patient-Consult "_SCSTAT_" Message")
 | 
|---|
| 22 |  D PID^VADPT6
 | 
|---|
| 23 |  S SCPTNM=$P(^DPT(DFN,0),U,1)
 | 
|---|
| 24 |  S XMSUB=SCSTAT_" PATIENT-CLINIC "_SCSTAT_" for Patient ("_$E(SCPTNM,1)_VA("BID")_")",XMTEXT="SCCNXM(",SCLNCNT=0
 | 
|---|
| 25 |  D SETLN("This notice is sent because:")
 | 
|---|
| 26 |  D SETLN("  The patient had an "_SCSTAT_" to "_$G(SCCLNM)_" and")
 | 
|---|
| 27 |  D SETLN("  has restricted consults due to the following team assignment(s):")
 | 
|---|
| 28 |  S SCTM=0
 | 
|---|
| 29 |  F  S SCTM=$O(@SCTMCNA@(SCTM)) Q:'SCTM  D
 | 
|---|
| 30 |  .D SETLN("         "_@SCTMCNA@(SCTM))
 | 
|---|
| 31 |  S SCLNCNT=$$PCMAIL^SCMCMM(DFN,"SCCNXM",DT)
 | 
|---|
| 32 |  S XMDUZ=$G(DUZ,.5)
 | 
|---|
| 33 |  S XMY(XMDUZ)=""
 | 
|---|
| 34 |  D ^XMD
 | 
|---|
| 35 | END ;
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 | SETLN(TEXT) ;
 | 
|---|
| 39 |  Q:$G(TEXT)=""
 | 
|---|
| 40 |  ; increments SCLNCNT, adds text to sccnxm(sclncnt)
 | 
|---|
| 41 |  S SCLNCNT=SCLNCNT+1
 | 
|---|
| 42 |  S SCCNXM(SCLNCNT)=TEXT
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 | TEXT(SCFILE,SCNODE,SCPC,SCSPACE,SCLAB) ;returns fldname & external value
 | 
|---|
| 46 |  ;returns fldname & external value
 | 
|---|
| 47 |  ;   Note- Only works for non wp fields of standard numbering conventions
 | 
|---|
| 48 |  ;   SCFLILE =FILENUM
 | 
|---|
| 49 |  ;   SCNODE  = 0 NODE
 | 
|---|
| 50 |  ;   SCPC    = piece of node
 | 
|---|
| 51 |  ;   SCSPACE = 80 SPACES
 | 
|---|
| 52 |  ;   SCLAB = 1 if print field name
 | 
|---|
| 53 |  N SCX,SCINT,SCFLD
 | 
|---|
| 54 |  S SCX=""
 | 
|---|
| 55 |  S SCINT=$P(SCNODE,U,SCPC)
 | 
|---|
| 56 |  G:SCINT="" QTTXT
 | 
|---|
| 57 |  S SCFLD=SCPC*.01
 | 
|---|
| 58 |  ;;;
 | 
|---|
| 59 |  IF $G(SCLAB) D
 | 
|---|
| 60 |  .S SCX=$$DDNAME^SCMCTMM(SCFLD)_":"
 | 
|---|
| 61 |  .S:$G(SCLAB)=1 SCX=SCX_$E(SCSPACE,1,(23-$L(SCX)))
 | 
|---|
| 62 |  .S:$G(SCLAB)=2 SCX=SCX_$E(SCSPACE,1,(50-$L(SCX)))
 | 
|---|
| 63 |  S:SCINT]"" SCX=SCX_$$EXTERNAL^DILFD(SCFILE,SCFLD,"",SCINT)
 | 
|---|
| 64 | QTTXT Q SCX
 | 
|---|