source: FOIAVistA/trunk/r/REGISTRATION-DGQE-DG-DPT-GRPX-VAD-VAF-VAS-VAT-VAU--VA-VIC--DGBT--DGJ--DGYA--VALM/DGPFHLRT.m@ 1397

Last change on this file since 1397 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 2.0 KB
Line 
1DGPFHLRT ;ALB/RPM - PRF HL7 MESSAGE RETRANSMIT ; 7/18/06 10:49am
2 ;;5.3;Registration;**425,650**;Aug 13, 1993;Build 3
3 ;This routine generates a QRY~R02 HL7 message for all Incomplete
4 ;status PRF HL7 EVENT (#26.21) file patient query records.
5 ;
6 Q ;no direct entry
7 ;
8RUNQRY ;Generate new PRF QRY~R02 HL7 Query for a patient
9 ;This procedure scans all entries in the ASTAT index of the PRF HL7
10 ;EVENT (#26.21) file, looking for INCOMPLETE status HL7 query records
11 ;
12 N DGASGN ;array of Category I assignment ien's
13 N DGDFN ;pointer to patient in PATIENT (#2) file
14 N DGLIEN ;PRF HL7 EVENT (#26.21) file IEN
15 N DGPFL ;array of event data fields
16 ;
17 S DGLIEN=0
18 F S DGLIEN=$O(^DGPF(26.21,"ASTAT","I",DGLIEN)) Q:'DGLIEN D
19 . K DGPFL,DGASGN
20 . Q:'$$GETEVNT^DGPFHLL1(DGLIEN,.DGPFL)
21 . ;
22 . Q:($P($G(DGPFL("STAT")),U,1)'="I")
23 . ;
24 . S DGDFN=$P($G(DGPFL("DFN")),U,1)
25 . Q:DGDFN']""
26 . ;
27 . ;If patient already has the total possible number of Cat I flags,
28 . ;then mark the query event file as COMPLETE and quit.
29 . I $$GETALL^DGPFAA(DGDFN,.DGASGN,"",1)=$$CNTRECS^DGPFUT1(26.15) D Q
30 . . D STOEVNT^DGPFHLL1(DGDFN,"C")
31 . ;
32 . ;mark the event in ERROR when attempt limit is reached and quit
33 . I $$QRYCNT(DGLIEN)+1>$$TRYLIMIT() D Q
34 . . D STOEVNT^DGPFHLL1(DGDFN,"E")
35 . ;
36 . ;run query in deferred mode
37 . I $$SNDQRY^DGPFHLS(DGDFN,2)
38 . ;
39 Q
40 ;
41QRYCNT(DGEVNT) ;get number of logged query attempts
42 ;This function counts the number of entries in the PRF HL7 QUERY LOG
43 ;(#26.19) file for a given PRF HL7 EVENT.
44 ;
45 ; Input:
46 ; DGEVNT - pointer to PRF HL7 EVENT (#26.21) file
47 ;
48 ; Function value - number of logged query attempts
49 ;
50 N DGCNT
51 N DGLIEN
52 ;
53 S DGEVNT=+$G(DGEVNT)
54 S DGCNT=0
55 S DGLIEN=0
56 F S DGLIEN=$O(^DGPF(26.19,"C",DGEVNT,DGLIEN)) Q:'DGLIEN D
57 . S DGCNT=DGCNT+1
58 ;
59 Q DGCNT
60 ;
61TRYLIMIT() ;get PRF Query Try Limit parameter value
62 ;
63 ; Input: none
64 ;
65 ; Output:
66 ; Function value - DGPF QUERY TRY LIMIT parameter [DEFAULT=5]
67 ;
68 N DGVAL
69 S DGVAL=$$GET^XPAR("PKG","DGPF QUERY TRY LIMIT",1,"Q")
70 Q $S(DGVAL="":5,1:DGVAL)
Note: See TracBrowser for help on using the repository browser.