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

VAFHLA04.m

Go to the documentation of this file.
  1. VAFHLA04 ;ALB/JLU;CREATES THE REGISTRATION MESSAGE;
  1. ;;5.3;Registration;**91,179**;Jun 06, 1996
  1. ;hl7v1.6
  1. EN(VAFHDFN,VAFHDT) ;THE MAIN ENTRY POINT FOR THE A04 MESSAGE TYPE
  1. ;
  1. S ERR="^TMP(""VAFHERR"",$J)" K ^TMP("VAFHERR",$J)
  1. I '$D(VAFHDFN)!('$D(VAFHDT)) S @ERR@(1)="-1^Can not build the A04 message. Parameters not defined correctly." D EBULL^VAFHUTL2("","","",ERR) G EX
  1. I VAFHDFN=""!(VAFHDT="") S @ERR@(1)="-1^Can not build the A04 message. Parameters are null." D EBULL^VAFHUTL2(VAFHDFN,VAFHDT,"",ERR) G EX
  1. ;
  1. S VAFHPID="1,2,4,6,7,8,11,12,13,14,16,19"
  1. S VAFHZPD="2,3,4,5,6,7,8,9,10,11,12,13,14,15"
  1. K HLERR
  1. S CTR=1,HLSDT="VAFHREG"
  1. K HL D INIT^HLFNC2("VAFH A04",.HL)
  1. I $D(HL)#2 G EX
  1. ;. S @ERR@(1)="-1^Can not build the A04 message. Failed during HLFNC2"
  1. ;. S @ERR@(2)=HL
  1. ;. D EBULL^VAFHUTL2(VAFHDFN,VAFHDT,"",ERR)
  1. S HLMTN="ADT"_$E(HL("ECH"))_"A04"
  1. S VAFHGBL="^TMP(""HLS"",$J)" K ^TMP("HLS",$J)
  1. S SING="" ;SINGLE MESSAGES (NOT BATCH)
  1. ;
  1. BAT ;THIS ENTRY POINT IS TO BE CONSIDERED IF A BATCH PROCESS IS NEEDED.
  1. ;
  1. S VAFHPTR=VAFHDFN_";DPT("
  1. S VAFHPIV=$$PIVNW^VAFHPIVT(VAFHDFN,VAFHDT,3,VAFHPTR)
  1. I VAFHPIV<0 S @ERR@(1)="-1^Can not build the A04 message. Failed to get a PIVOT entry." D EBULL^VAFHUTL2(VAFHDFN,VAFHDT,"",ERR) G EX
  1. S EVN=$$EVN^VAFHLEVN("A04","05") I +EVN=-1 S @ERR@(1)=EVN D EBULL^VAFHUTL2(VAFHDFN,VAFHDT,+VAFHPIV,ERR) G EX
  1. S @VAFHGBL@(CTR)=EVN
  1. S CTR=CTR+1,@VAFHGBL@(CTR)=$$EN^VAFHLPID(VAFHDFN,VAFHPID)
  1. S CTR=CTR+1,@VAFHGBL@(CTR)=$$EN^VAFHLZPD(VAFHDFN,VAFHZPD)
  1. S PV1=$$OPV1^VAFHCPV(VAFHDFN,+VAFHPIV,VAFHDT,VAFHPTR,50) I +PV1=-1 S @ERR@(1)=PV1 D EBULL^VAFHUTL2(VAFHDFN,VAFHDT,+VAFHPIV,ERR) G EX
  1. ;;;I $P(PV1,HLFS,3)'="O" S $P(PV1,HLFS,3)="T"
  1. ;;;I $P(PV1,HLFS,3)]"",$P(PV1,HLFS,3)'="O" S $P(PV1,HLFS,3)="T"
  1. S $P(PV1,HLFS,3)="T"
  1. S CTR=CTR+1,@VAFHGBL@(CTR)=PV1
  1. I $D(SING) DO
  1. .D GENERATE^HLMA("VAFH A04","GM",1,.HLRST)
  1. ;
  1. EX ;
  1. D KILL^HLTRANS
  1. K VAFHGBL,VAFHDT,VAFHPTR,VAFHPID,VAFHZPD,PV1,EVN,CTR,SING,ERR
  1. K ^TMP("HLS",$J),^TMP("VAFHERR",$J)
  1. Q