source: FOIAVistA/trunk/r/ACCOUNTS_RECEIVABLE-PRCA-PRY-RC/RCXVACK.m@ 1336

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

initial load of FOIAVistA 6/30/08 version

File size: 2.2 KB
Line 
1RCXVACK ;DAOU/ALA-AR Data Extraction HL7 Query/ACK ;28-JUL-03
2 ;;4.5;Accounts Receivable;**201**;Mar 20, 1995
3 ;
4 ;** Program Description **
5 ; This program will handle an acknowledgment message
6 ; from either Vitria or Boston Allocation Resource
7 ; Center
8 ;
9EN ; Entry point
10 ;
11 ; Load the HL7 message into temporary global
12 K ^TMP($J,"RCXVACK")
13 F SEGCNT=1:1 X HLNEXT Q:HLQUIT'>0 D
14 . S CNT=0
15 . S ^TMP($J,"RCXVACK",SEGCNT,CNT)=HLNODE
16 . F S CNT=$O(HLNODE(CNT)) Q:'CNT D
17 .. S ^TMP($J,"RCXVACK",SEGCNT,CNT)=HLNODE(CNT)
18 ;
19 S SEGMT=$G(^TMP($J,"RCXVACK",1,0))
20 I $E(SEGMT,1,3)'="MSH" S MSG(1)="MSH Segment is not the first segment found" D ERR G EXIT
21 S HLFS=$E(SEGMT,4)
22 S RCI=0,QRY=0,ACK=0
23 F S RCI=$O(^TMP($J,"RCXVACK",RCI)) Q:'RCI D Q:ACK
24 . I $P(^TMP($J,"RCXVACK",RCI,0),HLFS,1)="MSA" S ACK=1 D ACK Q
25 . ;
26 . I $P(^TMP($J,"RCXVACK",RCI,0),HLFS,1)="QRD" D QRY
27 ;
28EXIT K RCI,ACK,QRY,NDAYS,FDATE,RCXSEG,RREFR,RN,RCXVDA,DTMRCD,RCXVBTN,HLFS
29 K RCVXDSC,RTASKS,ZTDESC,ZTRTN,ZTDTH,RREFR,RCXVFFD,RCXVFTD,CURDT,CDOW
30 K HL,HLNEXT,HLNODE,HLQUIT,MSG,RCXVUPD,SEGCNT,SEGMT
31 K ^TMP("RCXVA",$J),^TMP($J,"RCXVACK")
32 Q
33 ;
34ERR ;
35 Q
36 ;
37ACK ; Set Acknowledgement
38 S RCI=$O(^TMP($J,"RCXVACK",RCI)) Q:'RCI
39 I $P(^TMP($J,"RCXVACK",RCI,0),HLFS,1)'="QRD" G ACK
40 S RREFR="^TMP($J,""RCXVACK"",RCI)"
41 D SPAR^RCXVUTIL(RREFR)
42 ;
43 S DTMRCD=$G(RCXSEG(2)),RCXVBTN=$G(RCXSEG(5))
44 ;
45 K ^TMP("RCXVA",$J)
46 D FIND^DIC(348.4,"","","P",RCXVBTN,"","B","","","^TMP(""RCXVA"",$J)")
47 S RN=$P($G(^TMP("RCXVA",$J,"DILIST",0)),U,1)
48 I RN=0 Q
49 S RCXVDA=$P($G(^TMP("RCXVA",$J,"DILIST",RN,0)),U,1)
50 S RCXVUPD(348.4,RCXVDA_",",.08)=$$FMDATE^HLFNC(DTMRCD)
51 S RCXVUPD(348.4,RCXVDA_",",.03)="C"
52 D FILE^DIE("I","RCXVUPD","RCXVERR")
53 Q
54 ;
55QRY ; Process Query
56 S RREFR="^TMP($J,""RCXVACK"",RCI)"
57 D SPAR^RCXVUTIL(RREFR)
58 ;
59 S RCXVFFD=$P($G(RCXSEG(12)),U,1),RCXVFTD=$P($G(RCXSEG(12)),U,2)
60 S RCXVFFD=$$FMDATE^HLFNC(RCXVFFD)
61 S RCXVFTD=$$FMDATE^HLFNC(RCXVFTD)
62 ;
63 ; Get the next Saturday date
64 S CURDT=$$DT^XLFDT()
65 S CDOW=$$DOW^XLFDT(CURDT,1),NDAYS=6-CDOW
66 S FDATE=$$FMADD^XLFDT(CURDT,NDAYS)
67 ;
68 S RCVXDSC="REQUESTED CBO HISTORICAL EXTRACT"
69 S ZTDESC=RCVXDSC,ZTRTN="HIS^RCXVTSK",ZTIO=""
70 S ZTSAVE("RCXVFTD")="",ZTSAVE("RCXVFFD")=""
71 S ZTDTH=FDATE_".06"
72 D ^%ZTLOAD
73 Q
Note: See TracBrowser for help on using the repository browser.