Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: VAQCON98

VAQCON98.m

Go to the documentation of this file.
  1. VAQCON98 ;ALB/JRP - MESSAGE CONSTRUCTION;14-APR-93
  1. ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
  1. HEAD10 ;COTINUATION FOR BUILDING HEADER BLOCK OF VERSION 1.0
  1. ; DECLARATIONS TAKEN CARE OF IN $$HEAD10^VAQCON99
  1. ;GET RETURN ADDRESS
  1. S DOMAIN=""
  1. S X=0
  1. S TMP=+$O(^VAT(394.81,0))
  1. S:(TMP) X=+$P($G(^VAT(394.81,TMP,0)),"^",2)
  1. S:(X) DOMAIN=$P($G(^DIC(4.2,X,0)),"^",1)
  1. Q:(DOMAIN="") "-1^Could not determine current domain"
  1. ;GET COMMENT (IF NEEDED)
  1. I ((TYPE="RES")!(TYPE="UNS")) D
  1. .S TMP=0
  1. .F S TMP=+$O(^VAT(394.61,TRANPTR,"CMNT",TMP)) Q:('TMP) D Q:(COMMENT'="")
  1. ..S COMMENT=$G(^VAT(394.61,TRANPTR,"CMNT",TMP,0))
  1. ..S:(COMMENT?1." ") COMMENT=""
  1. ..S COMMENT=$TR(COMMENT,";",",")
  1. I (TYPE="ACK") D
  1. .S X=$P($G(^VAT(394.61,TRANPTR,"RQST2")),"^",2)
  1. .S TMP=$P($$RES^VAQUTL99(X,SSN),"^",2)
  1. .S COMMENT="Request requires user intervention"
  1. .S:(TMP'="") COMMENT=COMMENT_" ("_TMP_")"
  1. ;BUILD VERSION 1.0 ACK
  1. I (TYPE="ACK") D Q
  1. .S TMP="ACK^"_PARENT_"^"_DATETIME_"^"_"^"_STAT10_"^"_COMMENT
  1. .S:('MESSNUM) @ARRAY@(LINE)=TMP
  1. .S:(MESSNUM) X=$$ADDLINE^VAQCON1(TMP,MESSNUM,LINE)
  1. .S LINE=LINE+1
  1. ;BUILD VERSION 1.0 HEADER
  1. ;LINE 1
  1. S TMP=PARENT_"^"_NAME_"^"_SSN_"^"_CLAIM_"^"_DOB_"^"_PID_"^"_RQSTDUZ
  1. S TMP=TMP_"^"_RQSTNAME_"^"_DATETIME_"^"_RQSTSITE_"^"_CODE10_"^"_STAT10
  1. S TMP=TMP_"^"_RQSTNUM_"^"_ATHRDUZ_"^"_ATHRNAME_"^"_ATHRSITE
  1. S:('MESSNUM) @ARRAY@(LINE)=TMP
  1. S:(MESSNUM) X=$$ADDLINE^VAQCON1(TMP,MESSNUM,LINE)
  1. S LINE=LINE+1
  1. ;LINE 2
  1. S TMP=DOMAIN_"^"_COMMENT
  1. S:('MESSNUM) @ARRAY@(LINE)=TMP
  1. S:(MESSNUM) X=$$ADDLINE^VAQCON1(TMP,MESSNUM,LINE)
  1. S LINE=LINE+1
  1. Q
  1. ;
  1. MIN10 ;BUILD VERSION 1.0 MINIMUM DATA BLOCK
  1. ; DECLARATIONS TAKEN CARE OF IN $$DATA^VAQCON69
  1. S SEGABB="PDX*MIN"
  1. ;MAS DATA NOT PRESENT - PLACE NULLS INTO MESSAGE
  1. I ('$D(@ROOT@(SEGABB))) D NULLS Q
  1. S FILE=""
  1. F S FILE=$O(@ROOT@(SEGABB,"VALUE",FILE)) Q:(FILE="") D
  1. .S INFO="MIN"_"^"_FILE_"^"
  1. .S FIELD=""
  1. .F S FIELD=$O(@ROOT@(SEGABB,"VALUE",FILE,FIELD)) Q:(FIELD="") D
  1. ..S SEQ=0
  1. ..S VALUE=$G(@ROOT@(SEGABB,"VALUE",FILE,FIELD,SEQ))
  1. ..;PUT DATES IN FILEMAN FORMAT
  1. ..I (VALUE'="") S:($P($G(^DD(FILE,FIELD,0)),"^",2)["D") VALUE=$$DATE^VAQUTL99(VALUE)
  1. ..I (($L(INFO)+$L(VALUE)+$L(FIELD)+2)>239) D
  1. ...S:('MESSNUM) @ARRAY@(LINE)=INFO
  1. ...S:(MESSNUM) X=$$ADDLINE^VAQCON1(INFO,MESSNUM,LINE)
  1. ...S LINE=LINE+1
  1. ...S INFO="MIN"_"^"_FILE_"^"
  1. ..S X=$P(INFO,"^",3)
  1. ..S $P(INFO,"^",3)=$S((X=""):FIELD,1:(X_";"_FIELD))
  1. ..S INFO=INFO_"^"_VALUE
  1. .I ($P(INFO,"^",3)'="") D
  1. ..S:('MESSNUM) @ARRAY@(LINE)=INFO
  1. ..S:(MESSNUM) X=$$ADDLINE^VAQCON1(INFO,MESSNUM,LINE)
  1. ..S LINE=LINE+1
  1. NULLS ;CHECK FOR FIELDS THAT DIDN'T HAVE VALUES
  1. F SEQ=1:1 D Q:('SEQ)
  1. .S TMP=$P($T(MIN+SEQ^VAQDBII1),";;",2)
  1. .I (TMP="") S SEQ=0 Q
  1. .S FILE=$P(TMP,";",1)
  1. .S FIELD=$P(TMP,";",2)
  1. .F VALUE=1:1:$L(FIELD,",") D
  1. ..S TMP=$P(FIELD,",",VALUE)
  1. ..Q:($D(@ROOT@(SEGABB,"VALUE",FILE,TMP)))
  1. ..S INFO="MIN"_"^"_FILE_"^"_TMP
  1. ..S:('MESSNUM) @ARRAY@(LINE)=INFO
  1. ..S:(MESSNUM) X=$$ADDLINE^VAQCON1(INFO,XMZ,LINE)
  1. ..S LINE=LINE+1
  1. Q