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
|
---|