| 1 | MDUXMLOX ; HOIFO/WAA -OBX converter XML text  ; 7/26/00 | 
|---|
| 2 | ;;1.0;CLINICAL PROCEDURES;**6**;Apr 01, 2004;Build 102 | 
|---|
| 3 | ; OBX for the XML Parser | 
|---|
| 4 | ; | 
|---|
| 5 | OBX D XML^MDUXMLU1("<OBSERVATION>") | 
|---|
| 6 | D BLDXML^MDUXMLU1("SEQUENCE",$P(LINE,DL,2)) | 
|---|
| 7 | D XML^MDUXMLU1("<CODE>") | 
|---|
| 8 | D BLDXML^MDUXMLU1("SCHEME",DEVICE) | 
|---|
| 9 | I $P($P(LINE,DL,4),"^")="",$P($P(LINE,DL,4),"^",2)'="" S $P(LINE,DL,4)=$P($P(LINE,DL,4),"^",2) | 
|---|
| 10 | D BLDXML^MDUXMLU1("VALUE",$P(LINE,DL,4)) | 
|---|
| 11 | D BLDXML^MDUXMLU1("ORIGINAL","Y") | 
|---|
| 12 | D XML^MDUXMLU1("</CODE>") | 
|---|
| 13 | D BLDXML^MDUXMLU1("DATATYPE",$P(LINE,DL,3)) | 
|---|
| 14 | I $P(LINE,DL,3)="FT" D FREE | 
|---|
| 15 | E  D BLDXML^MDUXMLU1("VALUE",$P(LINE,DL,6)) | 
|---|
| 16 | D BLDXML^MDUXMLU1("UNITS",$P(LINE,DL,7)) | 
|---|
| 17 | I $P(LINE,DL,8)'="" D | 
|---|
| 18 | . N RANGE | 
|---|
| 19 | . S RANGE=$P(LINE,DL,8) | 
|---|
| 20 | . D XML^MDUXMLU1("<REFERENCE_RANGE>") | 
|---|
| 21 | . D BLDXML^MDUXMLU1("LOW",$P(RANGE,"-",1)) | 
|---|
| 22 | . D BLDXML^MDUXMLU1("HIGH",$P(RANGE,"-",2)) | 
|---|
| 23 | . D XML^MDUXMLU1("</REFERENCE_RANGE>") | 
|---|
| 24 | D XML^MDUXMLU1("</OBSERVATION>") | 
|---|
| 25 | Q | 
|---|
| 26 | FREE ; This will process free test | 
|---|
| 27 | D XML^MDUXMLU1("<VALUE>") | 
|---|
| 28 | N I,X,FREE,DATA | 
|---|
| 29 | S I=1 | 
|---|
| 30 | D XML^MDUXMLU1($P(LINE,DL,6)) ; First line | 
|---|
| 31 | S X=0 | 
|---|
| 32 | F  S X=$O(^TMP($J,"MDHL7A",NUM,X)) Q:X<1  D | 
|---|
| 33 | . S DATA=$G(^TMP($J,"MDHL7A",NUM,X)) Q:DATA="" | 
|---|
| 34 | . S DATA=$$VAL^MDUXMLU1($P(DATA,DL)) | 
|---|
| 35 | . D XML^MDUXMLU1(DATA) | 
|---|
| 36 | . Q | 
|---|
| 37 | ; ^---  THIS STUFF THE DATA INTO THE DATA ARRAY | 
|---|
| 38 | D XML^MDUXMLU1("</VALUE>") | 
|---|
| 39 | Q | 
|---|