| 1 | SCMCPM ;ALB/REW - Inpatient Activity MailMan Message ; 7 Mar 1996
 | 
|---|
| 2 |  ;;5.3;Scheduling;**41,87,100,130**;AUG 13, 1993
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | MAIL ;do Inpatient MailMan Message
 | 
|---|
| 5 |  N SCPMXM,SCPTNM,SCPMDT,SCPCPR,SCPCTM,SCPCAT,SCTRANS,XMDUZ,SCLNCNT,XMY,XMSUB,XMTEXT,VA,VAERR,SCTRANNM,XMZ,Y,SCORIGA,SCNODE,SCPHYND
 | 
|---|
| 6 |  S SCORIGA=$G(^DGPM(+$P(DGPMA,U,14),0))
 | 
|---|
| 7 |  S SCPMDT("BEGIN")=+DGPMA
 | 
|---|
| 8 |  S SCPMDT("END")=DT
 | 
|---|
| 9 |  S SCPMDT("INCL")=0
 | 
|---|
| 10 |  ;set xmy array for practitioners in positions receiving inpt notices
 | 
|---|
| 11 |  G:'$$PCMMXMY^SCAPMC25(2,DFN,,"SCPMDT",0) END
 | 
|---|
| 12 |  S SCTRANS=+$P(DGPMA,U,2),SCTRANNM=$P($G(^DG(405.3,SCTRANS,0)),U,1)
 | 
|---|
| 13 |  G:("^1^2^3^")'[(U_SCTRANS_U) END  ;must be admit,transfer or discharge
 | 
|---|
| 14 |  D:'$G(DGQUIET) EN^DDIOL("Sending INPATIENT "_SCTRANNM_" Message")
 | 
|---|
| 15 |  D PID^VADPT6
 | 
|---|
| 16 |  S SCPTNM=$P(^DPT(DFN,0),U,1)
 | 
|---|
| 17 |  S XMSUB="INPATIENT "_SCTRANNM_" for Patient ("_$E(SCPTNM,1)_VA("BID")_")",XMTEXT="SCPMXM(",SCLNCNT=0
 | 
|---|
| 18 |  D SETLN("Patient:                 "_SCPTNM_"("_VA("PID")_")")
 | 
|---|
| 19 |  D SETLN("Transaction:             "_SCTRANNM)
 | 
|---|
| 20 |  S Y=+DGPMA X ^DD("DD") D SETLN("Date/Time:               "_Y)
 | 
|---|
| 21 |  ;if movement is not original movement
 | 
|---|
| 22 |  IF DGPMA'=SCORIGA D
 | 
|---|
| 23 |  .S Y=+SCORIGA X ^DD("DD") D SETLN("Admission Date/Time:     "_Y)
 | 
|---|
| 24 |  D SETLN("Type of Movement:        "_$P($G(^DG(405.1,+$P(DGPMA,U,4),0)),U,1))
 | 
|---|
| 25 |  S SCNODE=$S(SCTRANS=3:DGPMP,1:DGPMA)
 | 
|---|
| 26 |  S VAIP("E")=$S($G(DGPMDA):+DGPMDA,1:$P(SCORIGA,U,14)) D IN5^VADPT
 | 
|---|
| 27 |  S SCPHYND=$S(SCTRANS=3:$G(VAIP(17,5)),1:$G(VAIP(14,5)))
 | 
|---|
| 28 |  D SETLN(" ")
 | 
|---|
| 29 |  D SETLN("Ward Location:           "_$S(SCTRANS=3:$P($G(VAIP(17,4)),U,2),1:$P($G(VAIP(14,4)),U,2)))
 | 
|---|
| 30 |  D SETLN("Room-Bed:                "_$S($L($P($G(^DPT(DFN,.101)),U,1)):$P(^(.101),U,1),1:$P($G(^DG(405.4,+$P(SCNODE,U,7),0)),U,1)))
 | 
|---|
| 31 |  D SETLN("Inpatient Provider:      "_$P(SCPHYND,U,2))
 | 
|---|
| 32 |  D SETLN("Admitting DX:            "_$P(SCORIGA,U,10))
 | 
|---|
| 33 |  S SCLNCNT=$$PCMAIL^SCMCMM(DFN,"SCPMXM",DT) ;standard pc info into mail
 | 
|---|
| 34 |  S XMDUZ=$G(DUZ,.5)
 | 
|---|
| 35 |  S XMY(XMDUZ)=""
 | 
|---|
| 36 |  D ^XMD
 | 
|---|
| 37 |  D KVAR^VADPT
 | 
|---|
| 38 | END ;
 | 
|---|
| 39 |  Q
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 | SETLN(TEXT) ;
 | 
|---|
| 42 |  ; increments SCLNCNT, adds text to scpmxm(sclncnt)
 | 
|---|
| 43 |  S SCLNCNT=SCLNCNT+1
 | 
|---|
| 44 |  S SCPMXM(SCLNCNT)=TEXT
 | 
|---|
| 45 |  Q
 | 
|---|