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

VAQPAR10.m

Go to the documentation of this file.
VAQPAR10 ;ALB/JRP - MESSAGE PARSING;07-MAY-93
 ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
PARCON ;CONTINUATION FOR PARSE10^VAQPAR1
 ;  DECLARATIONS DONE IN CALLING ROUTINE
 ;
 ;MAKE USER BLOCK
 S @ARRAY@(2,"USER",1,1)="$USER"
 S TMP=$G(@ARRAY@(1,"HEADER",1))
 I ((TYPE="RES")!(TYPE="UNS")) D
 .S @ARRAY@(2,"USER",1,2)=$P(TMP,"^",15)
 .S @ARRAY@(2,"USER",1,3)=$P(TMP,"^",14)
 .S X=+$P(TMP,"^",16)
 I (TYPE="REQ") D
 .S @ARRAY@(2,"USER",1,2)=$P(TMP,"^",8)
 .S @ARRAY@(2,"USER",1,3)=$P(TMP,"^",7)
 .S X=+$P(TMP,"^",10)
 S TMP=+$O(^DIC(4,"D",X,""))
 S Y="UNKNOWN"
 S:(TMP) Y=$P($G(^DIC(4,TMP,0)),"^",1)
 S @ARRAY@(2,"USER",1,4)=Y
 S @ARRAY@(2,"USER",1,5)="$$USER"
 ;MAKE PATIENT BLOCK
 S TMP=$G(@ARRAY@(1,"HEADER",1))
 S @ARRAY@(2,"PATIENT",1,1)="$PATIENT"
 S @ARRAY@(2,"PATIENT",1,2)=0
 S @ARRAY@(2,"PATIENT",1,3)=$P(TMP,"^",2)
 S X=$P(TMP,"^",6)
 I (X="") S Y=$P(TMP,"^",3),X=$$DASHSSN^VAQUTL99(Y)
 S @ARRAY@(2,"PATIENT",1,4)=X
 S X=$P(TMP,"^",3)
 S Y=$$DASHSSN^VAQUTL99(X)
 S @ARRAY@(2,"PATIENT",1,5)=Y
 S X=$P(TMP,"^",5)
 S Y=$$DATE^VAQUTL99(X)
 S:(Y=-1) Y=""
 S X=$$DOBFMT^VAQUTL99(Y)
 S @ARRAY@(2,"PATIENT",1,6)=X
 S @ARRAY@(2,"PATIENT",1,7)=""
 S @ARRAY@(2,"PATIENT",1,8)=""
 S @ARRAY@(2,"PATIENT",1,9)="$$PATIENT"
 ;MAKE SEGMENT BLOCK
 S @ARRAY@(2,"SEGMENT",1,1)="$SEGMENT"
 S @ARRAY@(2,"SEGMENT",1,2)="PDX*MAS"
 S @ARRAY@(2,"SEGMENT",1,3)=""
 S @ARRAY@(2,"SEGMENT",1,4)=""
 S @ARRAY@(2,"SEGMENT",1,5)="PDX*MIN"
 S @ARRAY@(2,"SEGMENT",1,6)=""
 S @ARRAY@(2,"SEGMENT",1,7)=""
 S @ARRAY@(2,"SEGMENT",1,8)="PDX*MPL"
 S @ARRAY@(2,"SEGMENT",1,9)=""
 S @ARRAY@(2,"SEGMENT",1,10)=""
 S @ARRAY@(2,"SEGMENT",1,11)="$$SEGMENT"
 ;DONE IF REQUEST
 Q:(TYPE="REQ")
 ;MAKE COMMENT
 S @ARRAY@(2,"COMMENT",1,1)="$COMMENT"
 S TMP=$G(@ARRAY@(1,"HEADER",2))
 S X=$P(TMP,"^",2)
 S TMP=$G(@ARRAY@(1,"HEADER",1))
 S:((+$P(TMP,"^",12))=18) X="Patient was not registered"
 S:(STATUS="VAQ-AMBIG") X="Patient could not be uniquely identified"
 S:(STATUS="VAQ-NTFND") X="Patient was not found"
 S @ARRAY@(2,"COMMENT",1,2)=X
 S @ARRAY@(2,"COMMENT",1,3)="$$COMMENT"
 ;DONE IF RESULTS DID NOT CONTAIN DATA
 Q:((TYPE="RES")&(STATUS'="VAQ-RSLT"))
 ;MAKE DATA BLOCK FOR MINIMUM DATA
 D DATA10^VAQPAR11(ARRAY,"MIN",1)
 Q:(XMER<0)
 ;MAKE DATA BLOCK FOR MAS DATA
 D DATA10^VAQPAR11(ARRAY,"MAS",2)
 Q:(XMER<0)
 ;MAKE DATA BLOCK FOR PHARMACY DATA
 D DATA10^VAQPAR11(ARRAY,"PHA",3)
 Q:(XMER<0)
 Q