Ignore:
Timestamp:
Dec 4, 2009, 8:26:01 PM (14 years ago)
Author:
George Lilly
Message:

WorldVistAEHR overlayed on FOIAVistA

Location:
FOIAVistA/tag/r
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • FOIAVistA/tag/r/HEALTH_LEVEL_SEVEN-HL/HLCSIN.m

    r628 r636  
    1 HLCSIN ;ALB/JRP - INCOMING FILER;01-MAY-95 ;10/17/2007  14:58
    2  ;;1.6;HEALTH LEVEL SEVEN;**2,30,14,19,62,109,115,122**;Oct 13, 1995;Build 14
    3  ;Per VHA Directive 2004-038, this routine should not be modified.
     1HLCSIN ;ALB/JRP - INCOMING FILER;01-MAY-95 ;11/15/2000  09:37
     2 ;;1.6;HEALTH LEVEL SEVEN;**2,30,14,19,62,109,115**;Oct 13, 1995
    43STARTIN ;Main entry point for incoming background filer
    54 ;Create/find entry denoting this filer in the INCOMING FILER TASK
    65 ; NUMBER multiple (field #20) of the HL COMMUNICATION SERVER PARAMETER
    76 ; file (#869.3)
     7 ;N HLOGLINK,HLNODE,HLPARENT,HLST1,TMP ; These vbls aren't used!
    88 N HLFLG,HLEXIT,HLPTRFLR
    9  ;
    10  ; patch HL*1.6*122
    11  ;; N HLDUZ,DUZ  ; patch HL*1.6*122 TEST v2: DUZ code removed
    12  N HLDUZ
    13  S HLDUZ=+$G(DUZ)
    14  ;
    159 S HLPTRFLR=+$$CRTFLR^HLCSUTL1(ZTSK,"IN")
    1610 ;Loop through Logical Links and check for incoming messages
    1711 S HLEXIT=0
    18  ; patch HL*1.6*122 TEST v2: DUZ code removed
    19  ; patch HL*1.6*122, set DUZ for application proxy user
    20  ;; D PROXY^HLCSTCP4
    21  S HLPTRFLR("$J")=$J
    2212 F  D  Q:HLEXIT
    2313 . S HLFLG=0
     
    2818 . . S HLPTRFLR("LASTDEL")=$H    ; maintain queue sizes
    2919 . . D DELQUE(.HLPTRFLR,.HLEXIT) ; no more than once an hour.
    30  . ; patch HL*1.6*122
    31  . ; H 5
    32  . H 1
     20 . H 5
    3321 . D CHKUPD(.HLPTRFLR,.HLEXIT) Q:HLEXIT
    3422 S ZTSTOP=1 ;Asked to stop
     
    4028 S HLXX=0
    4129 F  S HLXX=$O(^HLMA("AC","I",HLXX)) Q:'HLXX  D  Q:HLEXIT
    42  . ; HL*1.6*122, check the in-queue stop flag
    43  . Q:$P($G(^HLCS(870,HLXX,0)),"^",9)
    4430 . D CHKUPD(.HLPTRFLR,.HLEXIT) Q:HLEXIT
    45  . ; patch HL*1.6*109: Does another filer have this?
    46  . ; L +^HLMA("AC","I",HLXX):0 Q:'$T
    47  . L +^HLMA("AC","I",HLXX):2 Q:'$T  ; patch HL*1.6*122
     31 . ; HL*1.6*109
     32 . L +^HLMA("AC","I",HLXX):0 Q:'$T  ;*109*Does another filer have this?
    4833 . S HLD0=0,HLFLG=1
    4934 . ; HL*1.6*109 changes in for loop below, and post-quit code placed
     
    5338 . I ($$HDIFF^XLFDT($H,$G(^XTMP("HL7-AC","I",HLXX)),2)<2) L -^HLMA("AC","I",HLXX) Q
    5439 . F  S HLD0=$O(^HLMA("AC","I",HLXX,HLD0)) Q:'HLD0!(HLEXIT)  D
    55  .. ; patch HL*1.6*122 start
    56  .. ; patch HL*1.6*122 TEST v2: DUZ code removed
    57  .. ; DUZ comparison/reset for application proxy user
    58  .. ;; D HLDUZ^HLCSTCP4
    59  .. D HLDUZ2^HLCSTCP4
    60  .. ; protect HLDUZ
    61  .. N HLDUZ
    62  .. S HLPCT=HLPCT+1
    63  .. I '(HLPCT#100) D CHKUPD(.HLPTRFLR,.HLEXIT) Q:HLEXIT
    64  .. ; L +^HLMA(HLD0):0 Q:'$T
    65  .. F  L +^HLMA(HLD0):30 Q:$T  H 1
    66  .. I '$$CHECKAC("I",HLXX,HLD0) L -^HLMA(HLD0) Q  ;-> Quit if not a valid AC xref
    67  .. D DEFACK^HLTP3(HLXX,HLD0)
    68  .. D DEQUE^HLCSREP(HLXX,"I",HLD0)
    69  .. L -^HLMA(HLD0)
    70  . ; patch HL*1.6*122 end
     40 . . S HLPCT=HLPCT+1
     41 . . I '(HLPCT#100) D CHKUPD(.HLPTRFLR,.HLEXIT) Q:HLEXIT
     42 . . L +^HLMA(HLD0):0 Q:'$T
     43 . . I '$$CHECKAC("I",HLXX,HLD0) L -^HLMA(HLD0) Q  ;-> Quit if not a valid AC xref
     44 . . D DEFACK^HLTP3(HLXX,HLD0)
     45 . . D DEQUE^HLCSREP(HLXX,"I",HLD0)
     46 . . L -^HLMA(HLD0)
    7147 . ;**109 -add dt/tm stamp to time queue last processed
    7248 . S ^XTMP("HL7-AC","I",HLXX)=$H
     
    8965 S HLXX=0
    9066 F  S HLXX=$O(^HLCS(870,"AISTAT","P",HLXX)) Q:'HLXX  D  Q:HLEXIT
    91  . ; HL*1.6*122, check the in-queue stop flag
    92  . Q:$P($G(^HLCS(870,HLXX,0)),"^",9)
    9367 . D CHKUPD(.HLPTRFLR,.HLEXIT) Q:HLEXIT
    94  . ; HL*1.6*109: Does another filer have this?
    95  . ; L +^HLCS(870,HLXX,"INFILER"):0 Q:'$T
    96  . L +^HLCS(870,HLXX,"INFILER"):2 Q:'$T  ; patch HL*1.6*122
     68 .; HL*1.6*109
     69 . L +^HLCS(870,HLXX,"INFILER"):0 Q:'$T  ;Does another filer have this?
    9770 . F  D CHKUPD(.HLPTRFLR,.HLEXIT) Q:HLEXIT  S HLD0=$$DEQUEUE^HLCSQUE(HLXX,"IN") Q:+HLD0<0  D
    98  .. ;
    99  .. ; patch HL*1.6*122 start
    100  .. ; clean variables except Kernel related variables
    101  .. D
    102  ... ; protect variables defined in STARTIN^HLCSIN
    103  ... N HLFLG,HLEXIT,HLPTRFLR
    104  ... N HLDUZ
    105  ... ; protect variables defined in ACKNOW^HLCSIN
    106  ... N HLXX,HLD0,HLD1
    107  ... D KILL^XUSCLEAN
    108  .. ;
    109  .. ; patch HL*1.6*122 TEST v2: DUZ code removed
    110  .. ; DUZ comparison/reset for application proxy user
    111  .. ;; D HLDUZ^HLCSTCP4
    112  .. D HLDUZ2^HLCSTCP4
    113  .. ; protect HLDUZ
    114  .. N HLDUZ
    115  .. ;Make sure message is ready to be received
    116  .. S HLFLG=1
    117  .. S HLD1=$P(HLD0,"^",2)
    118  .. S HLD0=+HLD0 ; At this point, HLD0=HLXX
    119  .. I $P($G(^HLCS(870,HLD0,1,HLD1,0)),"^",3)'="A" D  Q
    120  ... D MONITOR^HLCSDR2("D",2,HLD0,HLD1,"IN") ;Set status to DONE
    121  .. D RECEIVE^HLMA0(HLD0,HLD1) ;Process received message
    122  .. D MONITOR^HLCSDR2("D",2,HLD0,HLD1,"IN") ;Set status to DONE
    123  . ; patch HL*1.6*122 end
     71 . . ;Make sure message is ready to be received
     72 . . S HLFLG=1
     73 . . S HLD1=$P(HLD0,"^",2)
     74 . . S HLD0=+HLD0 ; At this point, HLD0=HLXX
     75 . . I $P($G(^HLCS(870,HLD0,1,HLD1,0)),"^",3)'="A" D  Q
     76 . . . D MONITOR^HLCSDR2("D",2,HLD0,HLD1,"IN") ;Set status to DONE
     77 . . D RECEIVE^HLMA0(HLD0,HLD1) ;Process received message
     78 . . D MONITOR^HLCSDR2("D",2,HLD0,HLD1,"IN") ;Set status to DONE
    12479 . I HLD0<0,$D(^HLCS(870,"AISTAT","P",HLXX)) D
    12580 . . S HLD1=0 ; Make sure there aren't any loose xrefs hanging around.
     
    13489 F  S HLXX=$O(^HLCS(870,HLXX)) Q:'HLXX  D  Q:HLEXIT
    13590 . D CHKUPD(.HLPTRFLR,.HLEXIT) Q:HLEXIT
    136  . ; patch HL*1.6*122, comment out, no need to lock
    137  . ; L +^HLCS(870,HLXX,"IN QUEUE FRONT POINTER"):0 Q:'$T
     91 . L +^HLCS(870,HLXX,"IN QUEUE FRONT POINTER"):0 Q:'$T
    13892 . S HLFRONT=$G(^HLCS(870,HLXX,"IN QUEUE FRONT POINTER"))
    139  . ; patch HL*1.6*122, comment out
    140  . ; L -^HLCS(870,HLXX,"IN QUEUE FRONT POINTER")
     93 . L -^HLCS(870,HLXX,"IN QUEUE FRONT POINTER")
    14194 . D DELETE^HLCSQUE1(HLXX,HLDIR,HLFRONT)
    14295 Q
Note: See TracChangeset for help on using the changeset viewer.