- 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 Feb 18, 2025@23:41:52 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 ;