| 1 | MDUXML  ; HOIFO/WAA -Utilities for XML text  ; 7/26/00
 | 
|---|
| 2 |         ;;1.0;CLINICAL PROCEDURES;**6**;Apr 01, 2004;Build 102
 | 
|---|
| 3 |         ; This routine will loop throught the HL7 Message as sent
 | 
|---|
| 4 |         ; by the vendor and convert that message into XML for
 | 
|---|
| 5 |         ; Processing by the gateway.
 | 
|---|
| 6 |         ;
 | 
|---|
| 7 | EN1     ;
 | 
|---|
| 8 |         N NUM,LBL,XMLCNT,XMLLINE,DL,DEVICE,Q,ORDER
 | 
|---|
| 9 |         K ^TMP($J,"MDHL7XML")
 | 
|---|
| 10 |         S DL="|",QUOT=""""
 | 
|---|
| 11 |         S (XMLCNT,ORDER,NUM)=0
 | 
|---|
| 12 |         D HEAD^MDUXMLU1
 | 
|---|
| 13 |         F  S NUM=$O(^TMP($J,"MDHL7A",NUM)) Q:NUM<1  D
 | 
|---|
| 14 |         . N LINE,LBL
 | 
|---|
| 15 |         . S LINE=$G(^TMP($J,"MDHL7A",NUM)) Q:LINE=""
 | 
|---|
| 16 |         . I $P(LINE,DL,1)="OBX" D
 | 
|---|
| 17 |         . . I LINE["//" S LINE=$TR(LINE,"/","\")
 | 
|---|
| 18 |         . . I LINE["\E\" D
 | 
|---|
| 19 |         . . . N Y,Z,I S Z="" F I=1:1:$L(LINE) S Y=$E(LINE,I) D:Y="\"  S Z=Z_Y
 | 
|---|
| 20 |         . . . . I $E(LINE,I+1)="E",$E(LINE,I+2)="\" S I=I+2
 | 
|---|
| 21 |         . . . . Q
 | 
|---|
| 22 |         . . . S LINE=Z
 | 
|---|
| 23 |         . . . Q
 | 
|---|
| 24 |         . . I $P(LINE,DL,6)["\\" D
 | 
|---|
| 25 |         . . . N I
 | 
|---|
| 26 |         . . . S I=$O(^TMP($J,"MDHL7A",NUM),-1)
 | 
|---|
| 27 |         . . . S ^TMP($J,"MDHL7A",(NUM+1))="OBX||ST|PROCEDURE STATUS||DONE"
 | 
|---|
| 28 |         . . . Q
 | 
|---|
| 29 |         . . Q
 | 
|---|
| 30 |         . S LINE=$$VAL^MDUXMLU1(LINE)
 | 
|---|
| 31 |         . S LBL=$P(LINE,DL,1)
 | 
|---|
| 32 |         . Q:'($S(LBL="MSH":1,LBL="PID":1,LBL="PV1":1,LBL="ORC":1,LBL="OBR":1,LBL="OBX":1,1:0))
 | 
|---|
| 33 |         . S LBL=LBL_"^MDUXMLM"
 | 
|---|
| 34 |         . D @LBL
 | 
|---|
| 35 |         . Q
 | 
|---|
| 36 |         D TAIL^MDUXMLU1
 | 
|---|
| 37 |         Q
 | 
|---|