[613] | 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
|
---|