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

HLOUSR3.m

Go to the documentation of this file.
  1. HLOUSR3 ;ALB/CJM -ListManager Screen for viewing messages(continued);12 JUN 1997 10:00 am
  1. ;;1.6;HEALTH LEVEL SEVEN;**126**;Oct 13, 1995
  1. ;
  1. ;
  1. EN ;
  1. N HLPARMS
  1. D FULL^VALM1
  1. I '$$ASK(.HLPARMS) S VALMBCK="R" Q
  1. D WAIT^DICD
  1. D EN^VALM("HLO MESSAGE SEARCH")
  1. Q
  1. N I,APP,START,END,DIR,MSG,EVENT,TIME
  1. D EXIT
  1. S I=""
  1. F S I=$O(HLPARMS(I)) Q:I="" S @I=HLPARMS(I)
  1. K HLPARMS
  1. S (VALMCNT,I)=0
  1. S TIME=START
  1. F S TIME=$O(^HLB("SEARCH",DIR,TIME)) Q:'TIME Q:TIME>END Q:VALMCNT>600 D
  1. .N SAPP S SAPP=""
  1. .S:APP'="" SAPP=$O(^HLB("SEARCH",DIR,TIME,APP),-1)
  1. .F S SAPP=$O(^HLB("SEARCH",DIR,TIME,SAPP)) Q:SAPP="" Q:$E(SAPP,1,$L(APP))]APP Q:VALMCNT>600 D:$E(SAPP,1,$L(APP))=APP
  1. ..N SMSG S SMSG=""
  1. ..S:MSG'="" SMSG=$O(^HLB("SEARCH",DIR,TIME,SAPP,MSG),-1)
  1. ..F S SMSG=$O(^HLB("SEARCH",DIR,TIME,SAPP,SMSG)) Q:SMSG="" Q:$E(SMSG,1,$L(MSG))]MSG Q:VALMCNT>600 D:$E(SMSG,1,$L(MSG))=MSG
  1. ...N SEVENT S SEVENT=""
  1. ...S:EVENT'="" SEVENT=$O(^HLB("SEARCH",DIR,TIME,SAPP,SMSG,EVENT),-1)
  1. ...F S SEVENT=$O(^HLB("SEARCH",DIR,TIME,SAPP,SMSG,SEVENT)) Q:SEVENT="" Q:$E(SEVENT,1,$L(EVENT))]EVENT Q:VALMCNT>600 D:$E(SEVENT,1,$L(EVENT))=EVENT
  1. ....N IEN
  1. ....S IEN=""
  1. ....F S IEN=$O(^HLB("SEARCH",DIR,TIME,SAPP,SMSG,SEVENT,IEN)) Q:IEN="" Q:VALMCNT>600 D ADDTO(DIR,TIME,SAPP,SMSG,SEVENT,IEN)
  1. ;
  1. ;
  1. END S VALMBCK="R"
  1. ;
  1. Q
  1. ADDTO(DIR,TIME,APP,MSG,EVENT,IEN) ;
  1. N HDR,FS,LOC,MSGID
  1. S MSGID=$S($P(IEN,"^",2):$P($G(^HLB(+IEN,3,$P(IEN,"^",2),0)),"^",2),1:$P($G(^HLB(IEN,0)),"^",1))
  1. S HDR=$G(^HLB(+IEN,1))
  1. S FS=$E(HDR,4)
  1. I FS'="" D
  1. .I DIR="IN" S LOC=$P(HDR,FS,4)
  1. .I DIR'="IN" S LOC=$P(HDR,FS,6)
  1. E S LOC=""
  1. S @VALMAR@($$I,0)=$$LJ(MSGID,25)_$$LJ(APP,30)_" "_MSG_"~"_EVENT
  1. D CNTRL^VALM10(VALMCNT,1,25,IOINHI,IOINORM)
  1. S @VALMAR@($$I,0)=" "_$$LJ($$FMTE^XLFDT(TIME,2),20)_$$LJ(LOC,60)
  1. S @VALMAR@($$I,0)=""
  1. Q
  1. LJ(STRING,LEN) ;
  1. Q $$LJ^XLFSTR(STRING,LEN)
  1. ;
  1. I() ;
  1. S VALMCNT=VALMCNT+1
  1. Q VALMCNT
  1. ;
  1. ASK(PARMS) ;
  1. N SUB
  1. F SUB="START","END","EVENT","APP","MSG","DIR" S PARMS(SUB)=""
  1. S PARMS("START")=$$ASKBEGIN^HLOUSR2()
  1. Q:'PARMS("START") 0
  1. S PARMS("END")=$$ASKEND^HLOUSR2(PARMS("START"))
  1. Q:'PARMS("END") 0
  1. S PARMS("APP")=$$ASKAPP()
  1. Q:PARMS("APP")=-1 0
  1. S PARMS("MSG")=$$ASKMSG()
  1. Q:PARMS("MSG")=-1 0
  1. S PARMS("EVENT")=$$ASKEVENT()
  1. Q:PARMS("EVENT")=-1 0
  1. S PARMS("DIR")=$$ASKDIR()
  1. Q:PARMS("DIR")=-1 0
  1. S PARMS("DIR")=$S(PARMS("DIR")="I":"IN",1:"OUT")
  1. Q 1
  1. ;
  1. ASKAPP() ;
  1. N DIR
  1. S DIR(0)="FO^0:60"
  1. S DIR("A")="Application"
  1. S DIR("?",1)="Enter the name of the application, or '^' to exit."
  1. S DIR("?")="You can enter just the first part of the name."
  1. D ^DIR
  1. Q:$D(DTOUT)!$D(DUOUT) -1
  1. Q X
  1. ASKMSG() ;
  1. N DIR
  1. S DIR(0)="FO^0:3"
  1. S DIR("A")="HL7 Message Type"
  1. S DIR("?",1)="Enter the 3 character message type (e.g. MFN, ADT), or '^' to exit."
  1. S DIR("?")="You can enter just the first character or two."
  1. D ^DIR
  1. Q:$D(DTOUT)!$D(DUOUT) -1
  1. Q X
  1. ASKEVENT() ;
  1. N DIR
  1. S DIR(0)="FO^0:3"
  1. S DIR("A")="HL7 Event"
  1. S DIR("?",1)="Enter the 3 character event type, or '^' to exit."
  1. S DIR("?")="You can enter just the first character or two."
  1. D ^DIR
  1. Q:$D(DTOUT)!$D(DUOUT) -1
  1. Q X
  1. ASKDIR() ;
  1. N DIR
  1. S DIR(0)="S^I:INCOMING;O:OUTGOING"
  1. S DIR("A")="Incoming or Outgoing"
  1. S DIR("?",1)="Are you searching for an incoming message or an outgoing message?"
  1. S DIR("?")="You can enter '^' to exit"
  1. D ^DIR
  1. Q:$D(DTOUT)!$D(DUOUT) -1
  1. Q X
  1. HDR ;
  1. S VALMHDR(1)="MsgID Application MsgType"
  1. Q
  1. HLP ;
  1. Q
  1. EXIT ;
  1. D CLEAN^VALM10
  1. D CLEAR^VALM1
  1. S VALMBCK="R"
  1. Q