MHV7B1L ;KUM - HL7 message builder RTB^K13 DSS Units ; 9/19/14 3:06pm
;;1.0;My HealtheVet;**11**;Aug 23, 2005;Build 61
;;Per VHA Directive 2004-038, this routine should not be modified.
;
Q
;
RDF(MSGROOT,CNT,LEN,HL) ; Build RDF segment for DSS Units data
;
; Input:
; MSGROOT - Root of array holding the message
; CNT - Current message line counter
; LEN - Current message length
; HL - HL7 package array variable
;
; Output:
; - Populated message array
; - Updated LEN and CNT
;
N RDF
S RDF(0)="RDF"
S RDF(1)=4
S RDF(2,1,1)="Procedure IEN",RDF(2,1,2)="ST",RDF(2,1,3)=30
S RDF(2,2,1)="Procedure Code",RDF(2,2,2)="ST",RDF(2,2,3)=30
S RDF(2,3,1)="Procedure Desc",RDF(2,3,2)="ST",RDF(2,3,3)=50
S RDF(2,4,1)="Synonym",RDF(2,4,2)="ST",RDF(2,4,3)=50
;
S CNT=CNT+1
S @MSGROOT@(CNT)=$$BLDSEG^MHV7U(.RDF,.HL)
S LEN=LEN+$L(@MSGROOT@(CNT))
Q
;
RDT(MSGROOT,DATAROOT,CNT,LEN,HL) ; Build RDT segments for DSSUnits data
;
; Walks data in DATAROOT to populate MSGROOT with RDT segments
; sequentially numbered starting at CNT
;
; Integration Agreements:
; 10103 : FMTHL7^XLFDT
;
; Input:
; MSGROOT - Root of array holding the message
; DATAROOT - Root of array to hold extract data
; CNT - Current message line counter
; LEN - Current message length
; HL - HL7 package array variable
;
; Output:
; - Populated message array
; - Updated LEN and CNT
;
; POPULATE SEQUENCE NUMBER
N I,APP,RDT
D LOG^MHVUL2("MHV7B1L","BEGIN RDT","S","TRACE")
F I=1:1 Q:'$D(@DATAROOT@(I)) D
. S APP=@DATAROOT@(I)
. S RDT(0)="RDT"
. S RDT(1)=$P(APP,"^") ;Procedure IEN
. S RDT(2)=$$ESCAPE^MHV7U($P(APP,"^",3),.HL) ;Procedure Code
. S RDT(3)=$$ESCAPE^MHV7U($P(APP,"^",2),.HL) ;Procedure Desc
. S RDT(4)=$$ESCAPE^MHV7U($P(APP,"^",4),.HL) ;Synonym
. S CNT=CNT+1
. S @MSGROOT@(CNT)=$$BLDSEG^MHV7U(.RDT,.HL)
. S LEN=LEN+$L(@MSGROOT@(CNT))
. Q
D LOG^MHVUL2("MHV7B1L","END RDT","S","TRACE")
Q
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HMHV7B1L 2108 printed Dec 13, 2024@02:15:41 Page 2
MHV7B1L ;KUM - HL7 message builder RTB^K13 DSS Units ; 9/19/14 3:06pm
+1 ;;1.0;My HealtheVet;**11**;Aug 23, 2005;Build 61
+2 ;;Per VHA Directive 2004-038, this routine should not be modified.
+3 ;
+4 QUIT
+5 ;
RDF(MSGROOT,CNT,LEN,HL) ; Build RDF segment for DSS Units data
+1 ;
+2 ; Input:
+3 ; MSGROOT - Root of array holding the message
+4 ; CNT - Current message line counter
+5 ; LEN - Current message length
+6 ; HL - HL7 package array variable
+7 ;
+8 ; Output:
+9 ; - Populated message array
+10 ; - Updated LEN and CNT
+11 ;
+12 NEW RDF
+13 SET RDF(0)="RDF"
+14 SET RDF(1)=4
+15 SET RDF(2,1,1)="Procedure IEN"
SET RDF(2,1,2)="ST"
SET RDF(2,1,3)=30
+16 SET RDF(2,2,1)="Procedure Code"
SET RDF(2,2,2)="ST"
SET RDF(2,2,3)=30
+17 SET RDF(2,3,1)="Procedure Desc"
SET RDF(2,3,2)="ST"
SET RDF(2,3,3)=50
+18 SET RDF(2,4,1)="Synonym"
SET RDF(2,4,2)="ST"
SET RDF(2,4,3)=50
+19 ;
+20 SET CNT=CNT+1
+21 SET @MSGROOT@(CNT)=$$BLDSEG^MHV7U(.RDF,.HL)
+22 SET LEN=LEN+$LENGTH(@MSGROOT@(CNT))
+23 QUIT
+24 ;
RDT(MSGROOT,DATAROOT,CNT,LEN,HL) ; Build RDT segments for DSSUnits data
+1 ;
+2 ; Walks data in DATAROOT to populate MSGROOT with RDT segments
+3 ; sequentially numbered starting at CNT
+4 ;
+5 ; Integration Agreements:
+6 ; 10103 : FMTHL7^XLFDT
+7 ;
+8 ; Input:
+9 ; MSGROOT - Root of array holding the message
+10 ; DATAROOT - Root of array to hold extract data
+11 ; CNT - Current message line counter
+12 ; LEN - Current message length
+13 ; HL - HL7 package array variable
+14 ;
+15 ; Output:
+16 ; - Populated message array
+17 ; - Updated LEN and CNT
+18 ;
+19 ; POPULATE SEQUENCE NUMBER
+20 NEW I,APP,RDT
+21 DO LOG^MHVUL2("MHV7B1L","BEGIN RDT","S","TRACE")
+22 FOR I=1:1
if '$DATA(@DATAROOT@(I))
QUIT
Begin DoDot:1
+23 SET APP=@DATAROOT@(I)
+24 SET RDT(0)="RDT"
+25 ;Procedure IEN
SET RDT(1)=$PIECE(APP,"^")
+26 ;Procedure Code
SET RDT(2)=$$ESCAPE^MHV7U($PIECE(APP,"^",3),.HL)
+27 ;Procedure Desc
SET RDT(3)=$$ESCAPE^MHV7U($PIECE(APP,"^",2),.HL)
+28 ;Synonym
SET RDT(4)=$$ESCAPE^MHV7U($PIECE(APP,"^",4),.HL)
+29 SET CNT=CNT+1
+30 SET @MSGROOT@(CNT)=$$BLDSEG^MHV7U(.RDT,.HL)
+31 SET LEN=LEN+$LENGTH(@MSGROOT@(CNT))
+32 QUIT
End DoDot:1
+33 DO LOG^MHVUL2("MHV7B1L","END RDT","S","TRACE")
+34 QUIT
+35 ;