- SCMCHLX ;BP/DJB - PCMM HL7 EVENT File Xref APIs ; 10 Dec 2002 8:44 PM
- ;;5.3;Scheduling;**177,264,272,1015**;May 01, 1999;Build 21
- ;
- ;Reference routine: SCDXFX01
- AACXMIT(IFN,SET,OLDEVPTR) ;Logic for AACXMIT* xrefs on PCMM HL7 EVENT
- ; file (#404.48).
- ;
- ; Input: IFN: Pointer to entry in file
- ; SET: 1 = Set xref
- ; 0 = Kill xref
- ; -1 = Check value of TRANSMISSION REQUIRED field (#.04).
- ; If "YES"- Set xref
- ; If "NO" - Kill xref
- ; OLDEVPTR: Previous value of EVENT POINTER field (#.07).
- ; Only valid when KILLing xref is due to data in this
- ; field changing.
- ;Output: None
- ;
- ;Check input
- Q:'$G(IFN)
- Q:'$D(^SCPT(404.48,IFN))
- S:$G(SET)="" SET=-1
- S OLDEVPTR=+$G(OLDEVPTR)
- ;
- ;Declare variables
- NEW EVPTR,EVENT,ND,XMIT
- ;
- ;Get data
- S ND=$G(^SCPT(404.48,IFN,0)) ;....Get zero node
- S XMIT=+$P(ND,"^",3) ;............Transmission Required field
- S EVPTR=$P(ND,"^",7) ;............Event Pointer field
- I 'SET,OLDEVPTR S EVPTR=OLDEVPTR ;Use old Event Pointer if killing
- ; due to value changing.
- Q:'EVPTR ;.......................Quit if no Event Pointer
- ;
- ;Set/Kill logic based on value of TRANSMISSION REQUIRED
- I SET=-1 S SET=$S(XMIT=1:1,1:0)
- ;
- ;Set/Kill xref
- I SET S ^SCPT(404.48,"AACXMIT",EVPTR,IFN)="" ;..Set xref
- E KILL ^SCPT(404.48,"AACXMIT",EVPTR,IFN) ;.....Kill xref
- Q
- ;
- TXREF(IFN) ;Logic for AEVENT* xrefs on TEAM file. Create entry in
- ; PCMM HL7 EVENT file.
- ;
- ;***THIS CALL NOT USED***
- ;bp/djb 6/15/99
- ;No longer sending Primary Care Team data to Austin.
- ;
- D TXREF^SCMCHLX1($G(IFN))
- Q
- ;
- PTXREF(IFN,OLDTYPE) ;Logic for AEVENT* xrefs on PATIENT TEAM ASSIGN file.
- ; Create entry in PCMM HL7 EVENT file.
- ;
- ;***THIS CALL NOT USED***
- ;bp/djb 6/15/99
- ;No longer sending Primary Care Team data to Austin.
- ;
- D PTXREF^SCMCHLX1($G(IFN),$G(OLDTYPE))
- Q
- ;
- PTPXREF(IFN,OLDROLE) ;Logic for AEVENT* xrefs on PATIENT TEAM POSITION
- ; ASSIGN file. Create entry in PCMM HL7 EVENT file.
- D PTPXREF^SCMCHLX1($G(IFN),$G(OLDROLE))
- Q
- ;
- POSHXREF(IFN) ;Logic for AEVENT* xrefs on POSITION ASSIGNMENT HISTORY file.
- ; Create entry in PCMM HL7 EVENT file.
- D POSHXREF^SCMCHLX1($G(IFN))
- Q
- ;
- PREHXREF(IFN) ;Logic for AEVENT* xrefs on PRECEPTOR ASSIGNMENT HISTORY file.
- ; Create entry in PCMM HL7 EVENT file.
- D PREHXREF^SCMCHLX1($G(IFN))
- Q
- POSBXREF(IFN,FILE) ;Logic for Bookable Hour Cross reference
- ;Create entry in PCMM HL7 EVENT file
- D POSBXREF^SCMCHLX1(+$G(IFN),$G(FILE))
- Q
- SCMCHLX ;BP/DJB - PCMM HL7 EVENT File Xref APIs ; 10 Dec 2002 8:44 PM
- +1 ;;5.3;Scheduling;**177,264,272,1015**;May 01, 1999;Build 21
- +2 ;
- +3 ;Reference routine: SCDXFX01
- AACXMIT(IFN,SET,OLDEVPTR) ;Logic for AACXMIT* xrefs on PCMM HL7 EVENT
- +1 ; file (#404.48).
- +2 ;
- +3 ; Input: IFN: Pointer to entry in file
- +4 ; SET: 1 = Set xref
- +5 ; 0 = Kill xref
- +6 ; -1 = Check value of TRANSMISSION REQUIRED field (#.04).
- +7 ; If "YES"- Set xref
- +8 ; If "NO" - Kill xref
- +9 ; OLDEVPTR: Previous value of EVENT POINTER field (#.07).
- +10 ; Only valid when KILLing xref is due to data in this
- +11 ; field changing.
- +12 ;Output: None
- +13 ;
- +14 ;Check input
- +15 IF '$GET(IFN)
- QUIT
- +16 IF '$DATA(^SCPT(404.48,IFN))
- QUIT
- +17 IF $GET(SET)=""
- SET SET=-1
- +18 SET OLDEVPTR=+$GET(OLDEVPTR)
- +19 ;
- +20 ;Declare variables
- +21 NEW EVPTR,EVENT,ND,XMIT
- +22 ;
- +23 ;Get data
- +24 ;....Get zero node
- SET ND=$GET(^SCPT(404.48,IFN,0))
- +25 ;............Transmission Required field
- SET XMIT=+$PIECE(ND,"^",3)
- +26 ;............Event Pointer field
- SET EVPTR=$PIECE(ND,"^",7)
- +27 ;Use old Event Pointer if killing
- IF 'SET
- IF OLDEVPTR
- SET EVPTR=OLDEVPTR
- +28 ; due to value changing.
- +29 ;.......................Quit if no Event Pointer
- IF 'EVPTR
- QUIT
- +30 ;
- +31 ;Set/Kill logic based on value of TRANSMISSION REQUIRED
- +32 IF SET=-1
- SET SET=$SELECT(XMIT=1:1,1:0)
- +33 ;
- +34 ;Set/Kill xref
- +35 ;..Set xref
- IF SET
- SET ^SCPT(404.48,"AACXMIT",EVPTR,IFN)=""
- +36 ;.....Kill xref
- IF '$TEST
- KILL ^SCPT(404.48,"AACXMIT",EVPTR,IFN)
- +37 QUIT
- +38 ;
- TXREF(IFN) ;Logic for AEVENT* xrefs on TEAM file. Create entry in
- +1 ; PCMM HL7 EVENT file.
- +2 ;
- +3 ;***THIS CALL NOT USED***
- +4 ;bp/djb 6/15/99
- +5 ;No longer sending Primary Care Team data to Austin.
- +6 ;
- +7 DO TXREF^SCMCHLX1($GET(IFN))
- +8 QUIT
- +9 ;
- PTXREF(IFN,OLDTYPE) ;Logic for AEVENT* xrefs on PATIENT TEAM ASSIGN file.
- +1 ; Create entry in PCMM HL7 EVENT file.
- +2 ;
- +3 ;***THIS CALL NOT USED***
- +4 ;bp/djb 6/15/99
- +5 ;No longer sending Primary Care Team data to Austin.
- +6 ;
- +7 DO PTXREF^SCMCHLX1($GET(IFN),$GET(OLDTYPE))
- +8 QUIT
- +9 ;
- PTPXREF(IFN,OLDROLE) ;Logic for AEVENT* xrefs on PATIENT TEAM POSITION
- +1 ; ASSIGN file. Create entry in PCMM HL7 EVENT file.
- +2 DO PTPXREF^SCMCHLX1($GET(IFN),$GET(OLDROLE))
- +3 QUIT
- +4 ;
- POSHXREF(IFN) ;Logic for AEVENT* xrefs on POSITION ASSIGNMENT HISTORY file.
- +1 ; Create entry in PCMM HL7 EVENT file.
- +2 DO POSHXREF^SCMCHLX1($GET(IFN))
- +3 QUIT
- +4 ;
- PREHXREF(IFN) ;Logic for AEVENT* xrefs on PRECEPTOR ASSIGNMENT HISTORY file.
- +1 ; Create entry in PCMM HL7 EVENT file.
- +2 DO PREHXREF^SCMCHLX1($GET(IFN))
- +3 QUIT
- POSBXREF(IFN,FILE) ;Logic for Bookable Hour Cross reference
- +1 ;Create entry in PCMM HL7 EVENT file
- +2 DO POSBXREF^SCMCHLX1(+$GET(IFN),$GET(FILE))
- +3 QUIT