1 | VAQCON98 ;ALB/JRP - MESSAGE CONSTRUCTION;14-APR-93
|
---|
2 | ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
|
---|
3 | HEAD10 ;COTINUATION FOR BUILDING HEADER BLOCK OF VERSION 1.0
|
---|
4 | ; DECLARATIONS TAKEN CARE OF IN $$HEAD10^VAQCON99
|
---|
5 | ;GET RETURN ADDRESS
|
---|
6 | S DOMAIN=""
|
---|
7 | S X=0
|
---|
8 | S TMP=+$O(^VAT(394.81,0))
|
---|
9 | S:(TMP) X=+$P($G(^VAT(394.81,TMP,0)),"^",2)
|
---|
10 | S:(X) DOMAIN=$P($G(^DIC(4.2,X,0)),"^",1)
|
---|
11 | Q:(DOMAIN="") "-1^Could not determine current domain"
|
---|
12 | ;GET COMMENT (IF NEEDED)
|
---|
13 | I ((TYPE="RES")!(TYPE="UNS")) D
|
---|
14 | .S TMP=0
|
---|
15 | .F S TMP=+$O(^VAT(394.61,TRANPTR,"CMNT",TMP)) Q:('TMP) D Q:(COMMENT'="")
|
---|
16 | ..S COMMENT=$G(^VAT(394.61,TRANPTR,"CMNT",TMP,0))
|
---|
17 | ..S:(COMMENT?1." ") COMMENT=""
|
---|
18 | ..S COMMENT=$TR(COMMENT,";",",")
|
---|
19 | I (TYPE="ACK") D
|
---|
20 | .S X=$P($G(^VAT(394.61,TRANPTR,"RQST2")),"^",2)
|
---|
21 | .S TMP=$P($$RES^VAQUTL99(X,SSN),"^",2)
|
---|
22 | .S COMMENT="Request requires user intervention"
|
---|
23 | .S:(TMP'="") COMMENT=COMMENT_" ("_TMP_")"
|
---|
24 | ;BUILD VERSION 1.0 ACK
|
---|
25 | I (TYPE="ACK") D Q
|
---|
26 | .S TMP="ACK^"_PARENT_"^"_DATETIME_"^"_"^"_STAT10_"^"_COMMENT
|
---|
27 | .S:('MESSNUM) @ARRAY@(LINE)=TMP
|
---|
28 | .S:(MESSNUM) X=$$ADDLINE^VAQCON1(TMP,MESSNUM,LINE)
|
---|
29 | .S LINE=LINE+1
|
---|
30 | ;BUILD VERSION 1.0 HEADER
|
---|
31 | ;LINE 1
|
---|
32 | S TMP=PARENT_"^"_NAME_"^"_SSN_"^"_CLAIM_"^"_DOB_"^"_PID_"^"_RQSTDUZ
|
---|
33 | S TMP=TMP_"^"_RQSTNAME_"^"_DATETIME_"^"_RQSTSITE_"^"_CODE10_"^"_STAT10
|
---|
34 | S TMP=TMP_"^"_RQSTNUM_"^"_ATHRDUZ_"^"_ATHRNAME_"^"_ATHRSITE
|
---|
35 | S:('MESSNUM) @ARRAY@(LINE)=TMP
|
---|
36 | S:(MESSNUM) X=$$ADDLINE^VAQCON1(TMP,MESSNUM,LINE)
|
---|
37 | S LINE=LINE+1
|
---|
38 | ;LINE 2
|
---|
39 | S TMP=DOMAIN_"^"_COMMENT
|
---|
40 | S:('MESSNUM) @ARRAY@(LINE)=TMP
|
---|
41 | S:(MESSNUM) X=$$ADDLINE^VAQCON1(TMP,MESSNUM,LINE)
|
---|
42 | S LINE=LINE+1
|
---|
43 | Q
|
---|
44 | ;
|
---|
45 | MIN10 ;BUILD VERSION 1.0 MINIMUM DATA BLOCK
|
---|
46 | ; DECLARATIONS TAKEN CARE OF IN $$DATA^VAQCON69
|
---|
47 | S SEGABB="PDX*MIN"
|
---|
48 | ;MAS DATA NOT PRESENT - PLACE NULLS INTO MESSAGE
|
---|
49 | I ('$D(@ROOT@(SEGABB))) D NULLS Q
|
---|
50 | S FILE=""
|
---|
51 | F S FILE=$O(@ROOT@(SEGABB,"VALUE",FILE)) Q:(FILE="") D
|
---|
52 | .S INFO="MIN"_"^"_FILE_"^"
|
---|
53 | .S FIELD=""
|
---|
54 | .F S FIELD=$O(@ROOT@(SEGABB,"VALUE",FILE,FIELD)) Q:(FIELD="") D
|
---|
55 | ..S SEQ=0
|
---|
56 | ..S VALUE=$G(@ROOT@(SEGABB,"VALUE",FILE,FIELD,SEQ))
|
---|
57 | ..;PUT DATES IN FILEMAN FORMAT
|
---|
58 | ..I (VALUE'="") S:($P($G(^DD(FILE,FIELD,0)),"^",2)["D") VALUE=$$DATE^VAQUTL99(VALUE)
|
---|
59 | ..I (($L(INFO)+$L(VALUE)+$L(FIELD)+2)>239) D
|
---|
60 | ...S:('MESSNUM) @ARRAY@(LINE)=INFO
|
---|
61 | ...S:(MESSNUM) X=$$ADDLINE^VAQCON1(INFO,MESSNUM,LINE)
|
---|
62 | ...S LINE=LINE+1
|
---|
63 | ...S INFO="MIN"_"^"_FILE_"^"
|
---|
64 | ..S X=$P(INFO,"^",3)
|
---|
65 | ..S $P(INFO,"^",3)=$S((X=""):FIELD,1:(X_";"_FIELD))
|
---|
66 | ..S INFO=INFO_"^"_VALUE
|
---|
67 | .I ($P(INFO,"^",3)'="") D
|
---|
68 | ..S:('MESSNUM) @ARRAY@(LINE)=INFO
|
---|
69 | ..S:(MESSNUM) X=$$ADDLINE^VAQCON1(INFO,MESSNUM,LINE)
|
---|
70 | ..S LINE=LINE+1
|
---|
71 | NULLS ;CHECK FOR FIELDS THAT DIDN'T HAVE VALUES
|
---|
72 | F SEQ=1:1 D Q:('SEQ)
|
---|
73 | .S TMP=$P($T(MIN+SEQ^VAQDBII1),";;",2)
|
---|
74 | .I (TMP="") S SEQ=0 Q
|
---|
75 | .S FILE=$P(TMP,";",1)
|
---|
76 | .S FIELD=$P(TMP,";",2)
|
---|
77 | .F VALUE=1:1:$L(FIELD,",") D
|
---|
78 | ..S TMP=$P(FIELD,",",VALUE)
|
---|
79 | ..Q:($D(@ROOT@(SEGABB,"VALUE",FILE,TMP)))
|
---|
80 | ..S INFO="MIN"_"^"_FILE_"^"_TMP
|
---|
81 | ..S:('MESSNUM) @ARRAY@(LINE)=INFO
|
---|
82 | ..S:(MESSNUM) X=$$ADDLINE^VAQCON1(INFO,XMZ,LINE)
|
---|
83 | ..S LINE=LINE+1
|
---|
84 | Q
|
---|