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