Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: SCMCHLX1

SCMCHLX1.m

Go to the documentation of this file.
SCMCHLX1 ;BP/DJB - PCMM HL7 EVENT File Xref Code ; 13 Dec 2002  1:25 PM
 ;;5.3;Scheduling;**177,264,272,515**;May 01, 1999;Build 14
 ;
TXREF(IFN) ;Logic for AEVENT* xrefs on TEAM file (404.51). Create entry in
 ;  PCMM HL7 EVENT file.
 ;
 ; Input: IFN - Pointer to entry in file
 ;Output: None
 ;
 ;Check input
 Q:'$G(IFN)
 ;
 ;Declare variables
 NEW DFN,DFNPTR,ND,VARPTR
 ;
 ;Store event variable pointer
 S VARPTR=IFN_";SCTM(404.51,"
 ;
 ;Quit if an event entry already exists for this record
 Q:$D(^SCPT(404.48,"AACXMIT",VARPTR))
 ;
 ;Create an entry in PCMM HL7 EVENT file (#404.48)
 D ADD^SCMCHLE("NOW",VARPTR)
 Q
 ;
PTXREF(IFN,OLDTYPE) ;Logic for AEVENT* xrefs on PATIENT TEAM ASSIGN file
 ;           (404.42). Create entry in PCMM HL7 EVENT file.
 ;
 ; Input: IFN - Pointer to entry in file
 ;    OLDTYPE - If OLDTYPE=1 then send a deletion since it's no
 ;              longer a primary care team.
 ;Output: None
 ;
 ;Check input
 Q:'$G(IFN)
 ;
 ;Declare variables
 NEW DFN,ND,VARPTR
 ;
 ;Get data
 S ND=$G(^SCPT(404.42,IFN,0)) ;.........Zero node of 404.42
 Q:ND']""
 I $P(ND,U,8)'=1,$G(OLDTYPE)'=1 Q  ;....Not Primary Care related
 S DFN=$P(ND,U,1) ;.....................Get pointer to 404.42
 Q:'DFN
 ;
 ;Store event variable pointer.
 S VARPTR=IFN_";SCPT(404.42,"
 ;
 ;Quit if an event entry for this record is already set to transmit.
 Q:$D(^SCPT(404.48,"AACXMIT",VARPTR))
 ;
 ;If event entry exists, turn on transmission flag.
 ;I $D(^SCPT(404.48,"AC",VARPTR)) D TRANSMIT^SCMCHLE(VARPTR,1) Q
 ;
 ;Create an entry in PCMM HL7 EVENT file (#404.48).
 D ADD^SCMCHLE("NOW",VARPTR,DFN)
 Q
 ;
PTPXREF(IFN,OLDROLE) ;Logic for AEVENT* xrefs on PATIENT TEAM POSITION ASSIGN
 ;            file (404.43). Create entry in PCMM HL7 EVENT file.
 ;
 ; Input: IFN - Pointer to entry in file
 ;    OLDROLE - If OLDROLE=1 then send a deletion since it's no
 ;              longer a primary care position.
 ;Output: None
 ;
 ;Check input
 Q:'$G(IFN)
 ;
 ;Declare variables
 NEW DFN,DFNPTR,ND,TP,VARPTR
 ;
 ;Get data
 S ND=$G(^SCPT(404.43,IFN,0)) ;............Zero node of 404.43
 Q:ND']""
 ;I $P(ND,U,5)'=1,$G(OLDROLE)'=1 Q  ;.......Not Primary Care related
 S SCTPA=$$TPACHK^SCMCHLB("",IFN)          ; 20070518 PATCH 515
 I ($P(ND,U,5)'=1)&($G(OLDROLE)'=1)&(SCTPA=0) Q  ;.......Not Primary Care AND NOT TPA
 S DFNPTR=$P(ND,U,1) ;.....................Get pointer to 404.42
 Q:'DFNPTR
 S DFN=$P($G(^SCPT(404.42,DFNPTR,0)),U,1) ;Pointer to PATIENT file
 Q:'DFN
 S TP=$P(ND,U,2) ;.........................Team Position
 ;
 ;Store event variable pointer
 S VARPTR=IFN_";SCPT(404.43,"
 ;
 ;Quit if an event entry already exists for this record
 Q:$D(^SCPT(404.48,"AACXMIT",VARPTR))
 ;
 ;Create an entry in PCMM HL7 EVENT file (#404.48)
 D ADD^SCMCHLE("NOW",VARPTR,DFN,TP)
 Q
 ;
POSHXREF(IFN) ;Logic for AEVENT* xrefs on POSITION ASSIGNMENT HISTORY file
 ;     (404.52). Create entry in PCMM HL7 EVENT file.
 ;
 ; Input: IFN - Pointer to entry in file
 ;Output: None
 ;
 ;Check input
 Q:'$G(IFN)
 ;
 ;Declare variables
 NEW ND,TP,VARPTR
 ;
 ;Get data
 S ND=$G(^SCTM(404.52,IFN,0)) ;..Zero node of 404.52
 S TP=$P(ND,U,1) ;...............Team Position
 ;
 ;Store event variable pointer
 S VARPTR=IFN_";SCTM(404.52,"
 ;
 ;Quit if an event entry already exists for this record
 Q:$D(^SCPT(404.48,"AACXMIT",VARPTR))
 ;
 ;Create an entry in PCMM HL7 EVENT file (#404.48)
 D ADD^SCMCHLE("NOW",VARPTR,,TP)
 Q
 ;
PREHXREF(IFN) ;Logic for AEVENT* xrefs on PRECEPTOR ASSIGNMENT HISTORY file
 ;     (404.53). Create entry in PCMM HL7 EVENT file.
 ;
 ; Input: IFN - Pointer to entry in file
 ;Output: None
 ;
 ;Check input
 Q:'$G(IFN)
 ;
 ;Declare variables
 NEW ND,TP,VARPTR
 ;
 ;Store event variable pointer
 S VARPTR=IFN_";SCTM(404.53,"
 ;
 ;Get data
 S ND=$G(^SCTM(404.53,IFN,0)) ;....Zero node of 404.53
 S TP=$P(ND,U,1)_"-"_$P(ND,U,6) ;..Team Position: Preceptee-Preceptor
 ;
 ;Quit if an event entry already exists for this record
 Q:$D(^SCPT(404.48,"AACXMIT",VARPTR))
 ;
 ;Create an entry in PCMM HL7 EVENT file (#404.48)
 D ADD^SCMCHLE("NOW",VARPTR,,TP)
 Q
POSBXREF(IFN,FILE) ;
 ;     (404.52). Create entry in PCMM HL7 EVENT file.
 ;
 ; Input: IFN - Pointer to entry in file
 ;Output: None
 S:'$G(FILE) FILE=404.52
 I FILE=404.52 Q:'$P($G(^SCTM(404.57,+$G(^SCTM(404.52,+$G(IFN),0)),0)),U,4)  ;quit if not pc
 ;
 ;  ;Check input
 Q:'$G(IFN)
 ;
 ;Declare variables
 NEW ND,TP,VARPTR
 ;
 ;Get data
 S ND=$G(^SCTM(404.52,IFN,0)) ;..Zero node of 404.52
 S TP=$P(ND,U,1) I FILE=404.57 S TP=IFN ;...............Team Position
 ;
 ;Store event variable pointer
 S VARPTR=IFN_";SCTM("_FILE_","
 ;
 ;Quit if an event entry already exists for this record
 N QUIT,I S QUIT=0
 F I=0:0 S I=$O(^SCPT(404.48,"AACXMIT",VARPTR,I)) Q:'I  I $P($G(^SCPT(404.48,I,0)),U,8) S QUIT=1 Q
 Q:QUIT
 ;
 ;Create an entry in PCMM HL7 EVENT file (#404.48)
 D ADD^SCMCHLE("NOW",VARPTR,,TP,1)
 Q
 ;