source: FOIAVistA/trunk/r/INTEGRATED_BILLING-IB-PRQ--IBD--IBQ--PRQS/IBCERPT.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.1 KB
Line 
1IBCERPT ;ALB/TMP - 277 EDI ENVOY REPORT MESSAGE PROCESSING ;15-JUL-98
2 ;;2.0;INTEGRATED BILLING;**137,296**;21-MAR-94
3 Q
4 ;
5RPTHDR(IBD,IBDATE) ; Report message header
6 ; ^TMP("IBMSG",$J,"REPORT",0,0)=MESSAGE HEADER DATA STRING
7 ; ,"D",0,1)=header record raw data
8 ; ,line #)=report message lines
9 ;
10 N X,Y,%DT
11 S IBD("LINE")=0
12 S ^TMP("IBMSG",$J,"REPORT",0,0)="REPORT^"_$G(IBD("MSG#"))_U_$G(IBD("SUBJ"))_U_U_U_IBDATE_"^0^ENVOY"
13 Q
14 ;
15REPORT(IBHD,IBDATE,IBD,IBTXN) ; Assemble, store report message
16 ; Returns IBD array if passed by reference, IBHOLDCT, IBLAST
17 ;
18 N IBWANT,IBMCT
19 S IBMCT=($G(IBD("Q"))="MCT")
20 S IBWANT=$S($P(IBTXN,U,3)'="":+$P($G(^IBE(361.2,+$O(^IBE(361.2,"B",$P(IBTXN,U,3),0)),0)),U,2),1:1) ; Send report anyway if name is not in the file
21 D RPTHDR(.IBD,IBDATE)
22 S (IBD("MESSAGE"),IBD)=IBTXN
23 I IBWANT D RPTLINE(.IBD,IBHD),RPTLINE(.IBD,IBHD,1,IBMCT)
24 ;
25 F X XMREC Q:XMER<0 D Q:IBLAST ;Extract rest of message
26 . S IBHOLDCT=IBHOLDCT+1,(IBD,^TMP("IB-HOLD",$J,IBHOLDCT))=XMRG
27 . D:IBWANT RPTLINE(.IBD,IBHD)
28 . ;
29 . I $P(XMRG,U)="REPORT" D Q ; Add message subject as part of text
30 .. S IBD("MESSAGE")=XMRG,IBWANT=$S($P(XMRG,U,3)'="":+$P($G(^IBE(361.2,+$O(^IBE(361.2,"B",$P(XMRG,U,3),0)),0)),U,2),1:1)
31 .. D:IBWANT RPTLINE(.IBD,IBHD,1,IBMCT)
32 .. ;
33 . I +XMRG=99,$P(XMRG,U,2)="$" S IBLAST=1 Q
34 K:'$O(^TMP("IBMSG",$J,"REPORT",0,"D",0,0)) ^TMP("IBMSG",$J,"REPORT")
35 Q
36 ;
37RPTLINE(IBD,IBHD,IBSUB,IBMCT) ;Process report lines
38 ; INPUT:
39 ; IBD must be passed by reference = entire message line
40 ; IBHD = the header data from the message
41 ; IBSUB = 1 to signify the subject line should be output
42 ; IBMCT = 1 if message from the MCT (test) queue
43 ;
44 ; OUTPUT:
45 ; IBD array returned with processed data
46 ; "LINE" = The last line # populated in the message
47 ;
48 ; ^TMP("IBMSG",$J,"REPORT",0,"D",0,line #)=report line data
49 ;
50 S IBMCT=+$G(IBMCT)
51 I $G(IBSUB) S IBD="SUBJECT^WebMD REPORT "_$S('IBMCT:"",1:" * * TEST RESULTS * * ")_$P($G(IBD("MESSAGE")),U,3)_" "_$P(IBHD,U)_" "_$P(IBHD,U,6)
52 S IBD("LINE")=$G(IBD("LINE"))+1
53 S ^TMP("IBMSG",$J,"REPORT",0,"D",0,IBD("LINE"))=IBD
54 Q
55 ;
Note: See TracBrowser for help on using the repository browser.