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