Changeset 40 for ccr/trunk/p/GPLVITALS.m
- Timestamp:
- Jul 3, 2008, 9:02:47 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ccr/trunk/p/GPLVITALS.m
r36 r40 1 GPLVITALS 2 3 EXTRACT(VITXML,DFN,VITOUTXML) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 1 GPLVITALS ; CCDCCR/CJE - CCR/CCD PROCESSING FOR VITALS ; 07/03/08 2 ;;0.1;CCDCCR;;JUL 3,2008; 3 EXTRACT(VITXML,DFN,VITOUTXML) ; EXTRACT PROBLEMS INTO PROVIDED XML TEMPLATE 4 ; 5 ; VITXML AND OUTXML ARE PASSED BY NAME SO GLOBALS CAN BE USED 6 ; IVITXML WILL CONTAIN ONLY THE VITALS SECTION OF THE OVERALL TEMPLATE 7 ; 8 N VITRSLT,J,K,VITPTMP,X,VITVMAP,TBUF 9 D VITALS^ORQQVI(.VITRSLT,DFN,"","") 10 I '$D(VITRSLT(1)) W "ERROR RUNNINIG VITALS RPC",! Q 11 ; ZWR RPCRSLT 12 S VITTVMAP=$NA(^TMP($J,"VITALS")) 13 S VITTARYTMP=$NA(^TMP($J,"VITALARYTMP")) 14 F J=1:1:VITRSLT(1) D ; FOR EACH VITAL IN THE LIST 15 . I $D(VITRSLT(J)) D 16 . . S VITVMAP=$NA(@VITTVMAP@(J)) 17 . . K @VITVMAP 18 . . I DEBUG W "VMAP= ",VMAP,! 19 . . S VITPTMP=VITRSLT(J) ; PULL OUT VITAL FROM RPC RETURN ARRAY 20 . . S @VITVMAP@("VITALSIGNSDATAOBJECTID")="VITAL"_J ; UNIQUE OBJID FOR VITAL 21 . . I $P(VITPTMP,U,2)="HT" D 22 . . . S @VITVMAP@("VITALSIGNSDATETIMETYPETEXT")="OBSERVED" 23 . . . S @VITVMAP@("VITALSIGNSEXACTDATETIME")=$$FMDTOUTC^CCRUTIL($P(VITPTMP,U,4),"DT") 24 . . . W "CONVERTED DATE TIME: ",@VITVMAP@("VITALSIGNSEXACTDATETIME"),! 25 . . . S @VITVMAP@("VITALSIGNSDESCRIPTIONTEXT")="HEIGHT" 26 . . . ;S @VITVMAP@("VITALSIGNSSOURCEACTORID")="" 27 . . . S @VITVMAP@("VITALSIGNSTESTOBJECTID")="VITALTEST"_J 28 . . . S @VITVMAP@("VITALSIGNSTESTTYPETEXT")="OBSERVED" 29 . . . S @VITVMAP@("VITALSIGNSDESCRIPTIONTEXT")="HEIGHT" 30 . . . ;S @VITVMAP@("VITALSIGNSDESCRIPTIONCODEVALUE")="" 31 . . . ;S @VITVMAP@("VITALSIGNSDESCRIPTIONCODINGSYSTEM")="" 32 . . . ;S @VITVMAP@("VITALSIGNSDESCRIPTIONCODEVERSION")="" 33 . . . ;S @VITVMAP@("VITALSIGNSTESTSOURCEACTORID")="" 34 . . . S @VITVMAP@("VITALSIGNSTESTRESULTVALUE")=$P(VITPTMP,U,3) 35 . . . S @VITVMAP@("VITALSIGNSTESTRESULTUNIT")="in" 36 . . . ;S @VITVMAP@("HEIGHTWEIGHTSOURCE")=$P(VITPTMP,U,7) 37 . . E I $P(VITPTMP,U,2)="WT" D 38 . . . S @VITVMAP@("VITALSIGNSDATETIMETYPETEXT")="OBSERVED" 39 . . . S @VITVMAP@("VITALSIGNSEXACTDATETIME")=$$FMDTOUTC^CCRUTIL($P(VITPTMP,U,4),"DT") 40 . . . S @VITVMAP@("VITALSIGNSDESCRIPTIONTEXT")="WEIGHT" 41 . . . ;S @VITVMAP@("VITALSIGNSSOURCEACTORID")="" 42 . . . S @VITVMAP@("VITALSIGNSTESTOBJECTID")="VITALTEST"_J 43 . . . S @VITVMAP@("VITALSIGNSTESTTYPETEXT")="OBSERVED" 44 . . . S @VITVMAP@("VITALSIGNSDESCRIPTIONTEXT")="WEIGHT" 45 . . . ;S @VITVMAP@("VITALSIGNSDESCRIPTIONCODEVALUE")="" 46 . . . ;S @VITVMAP@("VITALSIGNSDESCRIPTIONCODINGSYSTEM")="" 47 . . . ;S @VITVMAP@("VITALSIGNSDESCRIPTIONCODEVERSION")="" 48 . . . ;S @VITVMAP@("VITALSIGNSTESTSOURCEACTORID")="" 49 . . . S @VITVMAP@("VITALSIGNSTESTRESULTVALUE")=$P(VITPTMP,U,3) 50 . . . S @VITVMAP@("VITALSIGNSTESTRESULTUNIT")="lbs" 51 . . E D 52 . . . ;W "IN VITAL: OTHER",! 53 . . . S @VITVMAP@("VITALSIGNSDATETIMETYPETEXT")="OBSERVED" 54 . . . S @VITVMAP@("VITALSIGNSEXACTDATETIME")=$$FMDTOUTC^CCRUTIL($P(VITPTMP,U,4),"DT") 55 . . . S @VITVMAP@("VITALSIGNSDESCRIPTIONTEXT")="OTHER VITAL" 56 . . . S @VITVMAP@("VITALSIGNSSOURCEACTORID")="" 57 . . . S @VITVMAP@("VITALSIGNSTESTOBJECTID")="VITALTEST"_J 58 . . . S @VITVMAP@("VITALSIGNSTESTTYPETEXT")="OBSERVED" 59 . . . S @VITVMAP@("VITALSIGNSDESCRIPTIONTEXT")="OTHER" 60 . . . S @VITVMAP@("VITALSIGNSDESCRIPTIONCODEVALUE")="" 61 . . . S @VITVMAP@("VITALSIGNSDESCRIPTIONCODINGSYSTEM")="" 62 . . . S @VITVMAP@("VITALSIGNSDESCRIPTIONCODEVERSION")="" 63 . . . S @VITVMAP@("VITALSIGNSTESTSOURCEACTORID")="" 64 . . . S @VITVMAP@("VITALSIGNSTESTRESULTVALUE")=$P(VITPTMP,U,3) 65 . . . S @VITVMAP@("VITALSIGNSTESTRESULTUNIT")="UNKNOWN" 66 . . . ;S @VITVMAP@("HEIGHTWEIGHTSOURCE")=$P(VITPTMP,U,7) 67 . . S VITARYTMP=$NA(@VITTARYTMP@(J)) 68 . . K @VITARYTMP 69 . . D MAP^GPLXPATH(VITXML,VITVMAP,VITARYTMP) 70 . . I J=1 D ; FIRST ONE IS JUST A COPY 71 . . . ; W "FIRST ONE",! 72 . . . D CP^GPLXPATH(VITARYTMP,VITOUTXML) 73 . . . ; W "OUTXML ",OUTXML,! 74 . . I J>1 D ; AFTER THE FIRST, INSERT INNER XML 75 . . . D INSINNER^GPLXPATH(VITOUTXML,VITARYTMP) 76 ; ZWR ^TMP($J,"VITALS",*) 77 ; ZWR ^TMP($J,"VITALARYTMP",*) ; SHOW THE RESULTS 78 ; ZWR @OUTXML 79 N VITTMP,I 80 D MISSING^GPLXPATH(VITOUTXML,"VITTMP") ; SEARCH XML FOR MISSING VARS 81 I VITTMP(0)>0 D ; IF THERE ARE MISSING VARS - MARKED AS @@X@@ 82 . W "VITALS MISSING ",! 83 . F I=1:1:VITTMP(0) W VITTMP(I),! 84 Q 85 ;
Note:
See TracChangeset
for help on using the changeset viewer.