1 | DGENEGT3 ;ALB/KCL/RGL - PROCESS INCOMING MFN HL7 MSGS; 04-MAY-1999 ; 7/23/03 4:49pm
|
---|
2 | ;;5.3;Registration;**232,306,417,451**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | ;
|
---|
5 | MFI ; Description: This procedure parses the MFI segment type.
|
---|
6 | ;
|
---|
7 | ; Input:
|
---|
8 | ; SEG - array containing the HL7 segment
|
---|
9 | ; MSGID - message control id of HL7 msg in the MSH segment
|
---|
10 | ;
|
---|
11 | ; Output:
|
---|
12 | ; DGMFI - array containing needed fields of MFI segment
|
---|
13 | ; ERROR - flag set if an error is encountered during parse
|
---|
14 | ;
|
---|
15 | S DGMFI("MASTERID")=$$CONVERT^DGENUPL1(SEG(1))
|
---|
16 | S DGMFI("EVENT")=$$CONVERT^DGENUPL1(SEG(3))
|
---|
17 | ;
|
---|
18 | Q
|
---|
19 | ;
|
---|
20 | ;
|
---|
21 | MFE ; Description: This procedure parses the MFE segment.
|
---|
22 | ;
|
---|
23 | ; Input:
|
---|
24 | ; SEG - array containing the HL7 segment
|
---|
25 | ; MSGID - message control id of HL7 msg in the MSH segment
|
---|
26 | ;
|
---|
27 | ; Output:
|
---|
28 | ; DGMFE - array containing needed fields of MFE segment
|
---|
29 | ; ERROR - flag set if an error is encountered during parse
|
---|
30 | ;
|
---|
31 | S DGMFE("RECEVNT")=$$CONVERT^DGENUPL1(SEG(1))
|
---|
32 | S DGMFE("CNTRLNUM")=$$CONVERT^DGENUPL1(SEG(2))
|
---|
33 | S DGEGT("PRIMKEY")=$$CONVERT^DGENUPL1(SEG(4))
|
---|
34 | ;
|
---|
35 | Q
|
---|
36 | ;
|
---|
37 | ;
|
---|
38 | ZEG ; Description: This procedure parses the ZEG segment.
|
---|
39 | ;
|
---|
40 | ; Input:
|
---|
41 | ; SEG - array containing the HL7 segment
|
---|
42 | ; MSGID - message control id of HL7 msg in the MSH segment
|
---|
43 | ; DGMFE - array containing fields of MFE segment needed for MFK
|
---|
44 | ; DGMFI - array containing fields of MFI segment needed for MFK
|
---|
45 | ;
|
---|
46 | ; Output:
|
---|
47 | ; DGEGT - array containing the EGT record in FileMan format
|
---|
48 | ; ERROR - flag set if an error is encountered during parse
|
---|
49 | ;
|
---|
50 | N SUB
|
---|
51 | ;
|
---|
52 | S DGEGT("EFFDATE")=$$CONVERT^DGENUPL1(SEG(2),"DATE",.ERROR)
|
---|
53 | I ERROR D Q
|
---|
54 | .D ADDERROR^DGENEGT2(MSGID,"BAD VALUE, ZEG SEGMENT SEQ 2",.ERRCOUNT,.DGMFI,.DGMFE) Q
|
---|
55 | S DGEGT("PRIORITY")=$$CONVERT^DGENUPL1(+SEG(1))
|
---|
56 | S DGEGT("SUBGRP")=$$CONVERT^DGENUPL1($P(SEG(7),$E(HLECH)))
|
---|
57 | S DGEGT("TYPE")=$$CONVERT^DGENUPL1(+SEG(3))
|
---|
58 | S DGEGT("FEDDATE")=$$CONVERT^DGENUPL1(SEG(6),"DATE",.ERROR)
|
---|
59 | I ERROR D Q
|
---|
60 | .D ADDERROR^DGENEGT2(MSGID,"BAD VALUE, ZEG SEGMENT SEQ 6",.ERRCOUNT,.DGMFI,.DGMFE) Q
|
---|
61 | S DGEGT("REMARKS")=$$CONVERT^DGENUPL1(SEG(4))
|
---|
62 | ;
|
---|
63 | ; convert '@' to null values in DGEGT() array
|
---|
64 | S SUB=""
|
---|
65 | F S SUB=$O(DGEGT(SUB)) Q:(SUB="") I ($G(DGEGT(SUB))="@") S DGEGT(SUB)=""
|
---|
66 | ;
|
---|
67 | Q
|
---|
68 | ;
|
---|
69 | UPLDEGT(DGEGT,ERROR) ;
|
---|
70 | ; Description: This procedure is used to upload the Enrollment Group
|
---|
71 | ; Threshold (EGT) received from the HEC. The validation/consitency
|
---|
72 | ; checks should already have been completed.
|
---|
73 | ;
|
---|
74 | ; Inputs:
|
---|
75 | ; DGEGT - array containing the EGT record (pass by reference)
|
---|
76 | ;
|
---|
77 | ; Outputs: None
|
---|
78 | ;
|
---|
79 | ; Store EGT from HEC and quit.
|
---|
80 | ;
|
---|
81 | I $$STORE^DGENEGT(.DGEGT,,1)
|
---|
82 | ;
|
---|
83 | ; Old code removed per DG*5.3*451
|
---|
84 | ;;
|
---|
85 | ;N CURIEN
|
---|
86 | ;;
|
---|
87 | ;; is there a current EGT setting?
|
---|
88 | ;S CURIEN=$$FINDCUR^DGENEGT()
|
---|
89 | ;;
|
---|
90 | ;; if there is no current EGT, store EGT from HEC and quit
|
---|
91 | ;I 'CURIEN D Q
|
---|
92 | ;.I $$STORE^DGENEGT(.DGEGT,,1)
|
---|
93 | ;;
|
---|
94 | ;; if there is a current EGT, delete current, and store EGT from HEC
|
---|
95 | ;I $$DELETE^DGENEGT(CURIEN) D
|
---|
96 | ;.I $$STORE^DGENEGT(.DGEGT,,1)
|
---|
97 | ;
|
---|
98 | Q
|
---|