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

SCMCHLR5.m

Go to the documentation of this file.
SCMCHLR5 ;ALB/KCL - PCMM HL7 Reject Processing - Protocols con't ; 10-JAN-2000
 ;;5.3;Scheduling;**210,272,1015**;AUG 13, 1993;Build 21
 ;
 ;This routine contains the PCMM Transmission Error processing protocols.
 ;See EN^SCMCHLR2 for additional documentation on 'system wide' variables
 ;used in this routine.
 ;
UE ; Description: Entry point for SCMC LE UNCHECK ERROR protocol.
 ;
 ;  Input: None
 ;
 ; Output:
 ;  VALMBCK - 'R'=Refresh screen
 ;
 N NODE,SCLINE,SCNUM,SCTLIEN,SCERIEN,VALMY
 ;
 ;Ask user to select transmission errors to uncheck on the list
 D EN^VALM2(XQORNOD(0))
 D FULL^VALM1
 ;
 ;Process user selection
 S SCNUM=0
 F  S SCNUM=$O(VALMY(SCNUM)) Q:'SCNUM  D
 .;invoke call to mark error as new on list
 .I $D(^TMP(SCARY_"IDX",$J,SCNUM)) D
 ..S NODE=$G(^TMP(SCARY_"IDX",$J,SCNUM))
 ..S SCLINE=+NODE,SCTLIEN=+$P(NODE,"^",2),SCERIEN=+$P(NODE,"^",3)
 ..D UNCHKERR(SCARY,SCLINE,SCTLIEN,SCERIEN)
 ;
 ;
 ;Place custom msg in msg window
 ;S VALMSG=$$MRKMSG^SCMCHLR1
 ;
 ;Refresh screen when returning from action
 S VALMBCK="R"
 Q
 ;
 ;
DP ; Description: Entry point for SCMC LE DESELECT PATIENT RETRANSMIT protocol.
 ;
 ;  Input: None
 ;
 ; Output: 
 ;  VALMBCK - 'R'=Refresh screen
 ;
 N NODE,SCLINE,SCNUM,SCTLIEN,SCTLOG,VALMY
 ;
 ;Ask user to select transmission errors to deselect
 D EN^VALM2(XQORNOD(0))
 ;
 ;set screen to full scrolling region
 D FULL^VALM1
 ;
 ;Process user selections
 S SCNUM=0
 F  S SCNUM=$O(VALMY(SCNUM)) Q:'SCNUM  D
 .;
 .I $D(^TMP(SCARY_"IDX",$J,SCNUM)) D
 ..S NODE=$G(^TMP(SCARY_"IDX",$J,SCNUM))
 ..S SCLINE=+NODE,SCTLIEN=+$P(NODE,"^",2),SCERIEN=+$P(NODE,"^",3)
 ..;get information for PCMM HL7 Transmission Log entry and invoke code
 ..;to set patient to 'retransmit'.
 ..I $$GETLOG^SCMCHLA(SCTLIEN,SCERIEN,.SCTLOG) D DESLPAT(SCARY,SCLINE,.SCTLOG)
 ;
 ;Place custom msg in msg window
 ;S VALMSG=$$MRKMSG^SCMCHLR1
 ;
 ;Refresh screen when returning from action
 S VALMBCK="R"
 Q
 ;
 ;
DA ; Description: Entry point for SCMC LE DESELECT ALL protocol.
 ;
 ;  Input: None
 ;
 ; Output:
 ;  VALMBCK - 'R'=Refresh screen
 ;
 N DIR,DTOUT,DUOUT,Y
 ;
 ;Set screen to full scrolling region
 D FULL^VALM1
 ;
 ;Ask user if they want to deselect all patients for retransmit
 S DIR(0)="Y"
 S DIR("A")="Deselect all patients"
 S DIR("A",1)="This action will allow all patients that are currently"
 S DIR("A",2)="marked for re-transmission to be deselected."
 S DIR("B")="NO"
 D ^DIR
 ;
 ;Process user response
 I '$D(DIRUT) D
 .I +Y D
 ..;set all patients status to rejected
 ..D UPDALL
 ;
 ;Place custom msg in msg window
 ;S VALMSG=$$MRKMSG^SCMCHLR1
 ;
 ;Refresh screen when returning from action
 S VALMBCK="R"
 Q
 ;
 ;
UNCHKERR(SCARY,SCLINE,SCTLIEN,SCERIEN) ;
 ; Description: Used to uncheck an error on the list.
 ;
 ;  Input:
 ;     SCARY - Global array subscript
 ;    SCLINE - Line number
 ;   SCTLIEN - PCMM HL7 Transmission Log IEN
 ;   SCERIEN - IEN of record in Error Code (#404.47142) multiple
 ;
 ; Output: None
 ;
 N SCERMSG
 ;
 ;if status is marked for retransmit error can not be marked as new
 I $$STATUS^SCMCHLA(SCTLIEN)="M" D
 .W !,^TMP(SCARY,$J,SCLINE,0)
 .W:$G(SCERMSG)'="" !,"...",$$LOWER^VALM1(SCERMSG)
 .W !,"...Unable to update error processing status"
 .W !,"...Patient already marked for re-transmission"
 .D PAUSE^VALM1
 E  D
 .I $$UPDEPS^SCMCHLA(SCTLIEN,SCERIEN,1,.SCERMSG) D
 ..D FLDTEXT^VALM10(SCLINE,"STATUS","New")
 ..D FLDCTRL^VALM10(SCLINE,"STATUS",IOINHI,IOINORM)
 Q
 ;
 ;
DESLPAT(SCARY,SCLINE,SCTLOG) ; Description: Used to set patient to rejected.
 ;
 ;  Input:
 ;    SCARY - Global array subscript
 ;   SCLINE - Line number
 ;   SCTLOG - Transmission log entry array
 ;
 ; Output: None
 ;
 N SCERROR
 ;
 ;Set patient to rejected
 I $$UPDSTAT^SCMCHLA(SCTLIEN,"RJ",.SCERROR) D
 .D UPDPAT(SCARY,$S($G(SCTLOG("DFN")):SCTLOG("DFN"),1:"W"),$S('$G(SCTLOG("DFN")):SCLINE,1:""))
 E  D
 .W !,^TMP(SCARY,$J,SCLINE,0)
 .W:$G(SCERMSG)'="" !,"...",$$LOWER^VALM1(SCERROR)
 .W !,"...Unable to deselect patient for re-transmit"
 .D PAUSE^VALM1
 Q
 ;
 ;
UPDPAT(SCARY,SCDFN,LINE) ; Description: Update all PCMM HL7 Transmssion Log
 ; entries in the list for the patient as 'rejected'.
 ;
 ;  Input:
 ;   SCARY - Global array subscript
 ;   SCDFN - Patient IEN
 ;
 ; Output: None
 ;
 S:'$G(LINE) LINE=999999
 N SCLINE,SCTLIEN
 ;
 ;Loop thru entries in the list for the patient
 S SCLINE=0
 I SCDFN="W",LINE'=999999 S SCLINE=LINE-.01
 F  S SCLINE=$O(^TMP(SCARY_"IDX",$J,"PT",SCDFN,SCLINE)) Q:(('SCLINE)!(SCLINE>LINE))  S SCTLIEN=+^(SCLINE) D
 .;update entry that was marked for re-transmit to null
 .D FLDTEXT^VALM10(SCLINE,"RETRANS"," ")
 Q
 ;
 ;
UPDALL ; Description: Update all PCMM HL7 Transmssion Log
 ; entries in the list as 'marked for re-transmit'.
 ;
 ;  Input: None
 ; Output: None
 ;
 N SCLINE,SCTLIEN,SCDFN
 ;
 ;Loop thru entries in the list for all patients
 S SCDFN=""
 F  S SCDFN=$O(^TMP(SCARY_"IDX",$J,"PT",SCDFN)) Q:'SCDFN  D
 .;Loop thru entries in the list for the patient
 .S SCLINE=0
 .F  S SCLINE=$O(^TMP(SCARY_"IDX",$J,"PT",SCDFN,SCLINE)) Q:'SCLINE  D
 ..S NODE=^TMP(SCARY_"IDX",$J,"PT",SCDFN,SCLINE)
 ..S SCTLIEN=+NODE,SCERIEN=+$P(NODE,"^",2)
 ..;
 ..;get information for PCMM HL7 Transmission Log entry and invoke code
 ..;to set patient to 'rejected'.
 ..I $$GETLOG^SCMCHLA(SCTLIEN,SCERIEN,.SCTLOG) D DESLPAT(SCARY,SCLINE,.SCTLOG)
 ..;
 ..;update entry that was marked for re-transmit to null
 ..D FLDTEXT^VALM10(SCLINE,"RETRANS"," ")
 ;
 Q