Changes in ccr/trunk/p/GPLCCR.m [30:16]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ccr/trunk/p/GPLCCR.m
r30 r16 7 7 ; Select a patient for real. 8 8 S DIC=2,DIC(0)="AEMQ" D ^DIC 9 I Y<1 Q ; EXIT10 9 S DFN=$P(Y,U,1) ; SET THE PATIENT 11 10 N CCRGLO … … 13 12 S OARY=$NA(^TMP($J,DFN,"CCR",1)) 14 13 S ONAM="PAT_"_DFN_"_CCR_V1.xml" 15 S ODIR="/home/ glilly/CCROUT"14 S ODIR="/home/wvehr1/EHR/CCR" 16 15 D OUTPUT^GPLXPATH(OARY,ONAM,ODIR) 17 16 Q … … 21 20 S TGLOBAL=$NA(^TMP($J,"TEMPLATE")) ; GLOBAL FOR STORING TEMPLATE 22 21 S CCRGLO=$NA(^TMP($J,DFN,"CCR")) ; GLOBAL FOR BUILDING THE CCR 23 S ACTGLO=$NA(^TMP($J,DFN,"ACTORS")); GLOBAL FOR ALL ACTORS IN CCR24 22 ; TO GET PART OF THE CCR RETURNED, PASS CCRPART="PROBLEMS" ETC 25 23 S CCRGRTN=$NA(^TMP($J,DFN,CCRPART)) ; RTN GLO NM OF PART OR ALL OF CCR … … 28 26 ; 29 27 ; DELETE THE BODY, ACTORS AND SIGNATURES SECTIONS FROM THE CCR GLOBAL 30 ; THESE WILL BE POPULATED AFTERCALLS TO THE XPATH PROCESSING ROUTINES28 ; THESE WILL BE POPULATED WITH CALLS TO THE XPATH PROCESSING ROUTINES 31 29 D REPLACE^GPLXPATH(CCRGLO,"","//ContinuityOfCareRecord/Body") 32 30 D REPLACE^GPLXPATH(CCRGLO,"","//ContinuityOfCareRecord/Actors") 33 31 D REPLACE^GPLXPATH(CCRGLO,"","//ContinuityOfCareRecord/Signatures") 34 I DEBUGF I=1:1:@CCRGLO@(0) W @CCRGLO@(I),!32 F I=1:1:@CCRGLO@(0) W @CCRGLO@(I),! 35 33 ; 36 D CCRHDR(CCRGLO,DFN) ; MAP HEADER VARIABLES37 34 S CCRXTAB="^TMP($J,""CCRSTEP"")" ; GLOBAL TO STORE CCR PROCESSING STEPS 38 35 D INITSTPS(CCRXTAB) ; INITIALIZED CCR PROCESSING STEPS … … 51 48 . X CALL 52 49 . ; NOW INSERT THE RESULTS IN THE CCR BUFFER 53 . D INSERT^GPLXPATH(CCRGLO,OXML,"//ContinuityOfCareRecord/Body")50 . ; D INSERT^GPLXPATH(CCRGLO,OXML,"//ContinuityOfCareRecord/Body") 54 51 . I DEBUG F GPLI=1:1:@OXML@(0) W @OXML@(GPLI),! 55 . D ACTLST^GPLCCR(CCRGLO,ACTGLO) 52 . D QOPEN^GPLXPATH("CCRBLD",CCRGLO,"//ContinuityOfCareRecord/Body") 53 . D QUEUE^GPLXPATH("CCRBLD",OXML,1,@OXML@(0)) 54 . D QCLOSE^GPLXPATH("CCRBLD",CCRGLO,"//ContinuityOfCareRecord/Body") 55 . I DEBUG W "GOING TO BUILD CCR",! 56 . N CCRTMP 57 . D BUILD^GPLXPATH("CCRBLD","CCRTMP") 58 . I DEBUG F GPLI=1:1:CCRTMP(0) W CCRTMP(GPLI),! 59 . D CP^GPLXPATH("CCRTMP",CCRGLO) 56 60 Q 57 61 ; … … 63 67 Q 64 68 ; 65 CCRHDR(CXML,DFN) ; MAP HEADER VARIABLES: FROM, TO ECT66 N VMAP S VMAP=$NA(^TMP($J,DFN,"HEADER"))67 ; K @VMAP68 S @VMAP@("ACTORPATIENT")="ACTORPATIENT_"_DFN69 S @VMAP@("ACTORFROM")="ACTORPROVIDER_"_DUZ ; FROM DUZ - ???70 S @VMAP@("ACTORFROM2")="ACTORPROVIDER_"_DUZ ; NEED A BETTER WAY71 S @VMAP@("ACTORTO")="ACTORPATIENT_"_DFN ; FOR TEST PURPOSES,72 ; THIS IS THE USE CASE FOR THE PHR WHERE "TO" IS THE PATIENT73 N CTMP74 D MAP^GPLXPATH(CXML,VMAP,"CTMP")75 D CP^GPLXPATH("CTMP",CXML)76 Q77 ;78 ACTLST(AXML,ACTRTN) ; RETURN THE ACTOR LIST FOR THE XML IN AXML79 ; AXML AND ACTRTN ARE PASSED BY NAME80 N I,J,K81 K @ACTRTN ; CLEAR RETURN ARRAY82 F I=1:1:@AXML@(0) D ; SCAN ALL LINES83 . I @AXML@(I)?.E1"<ActorID>".E D ; THERE IS AN ACTOR ON THIS LINE84 . . S J=$P($P(@AXML@(I),"<ActorID>",2),"</ActorID>",1)85 . . W "<ActorID>=>",J,!86 . . S K(J)="" ; HASHING ACTOR TO GET RID OF MULTIPLES87 S I="" ; GOING TO $O THROUGH THE HASH88 F J=0:0 D Q:$O(K(I))=""89 . S I=$O(K(I)) ; WALK THROUGH THE HASH OF ACTORS90 . D PUSH^GPLXPATH(ACTRTN,I) ; ADD THE ACTOR TO THE RETURN ARRAY91 Q92 ;93 69 TEST ; RUN ALL THE TEST CASES 94 ;D TESTALL^GPLUNIT("GPLCCR") 95 D ZTEST^GPLCCR("PROBLEMS") 96 W "TESTING RETURNED FROM PROBLMES",! 97 D ZTEST^GPLCCR("CCR") 70 N ZTMP 71 D ZLOAD^GPLUNIT("ZTMP","GPLCCR") 72 D ZTEST^GPLUNIT(.ZTMP,"ALL") 73 W ! 74 ; W "THE TESTS!",! 75 ; ZWR ZTMP 98 76 Q 99 77 ; … … 111 89 ; 112 90 ;;><TEST> 113 ;;>< PROBLEMS>91 ;;><INIT> 114 92 ;;>>>K GPL S GPL="" 115 ;;>>>D CCRRPC^GPLCCR(.GPL,"2","PROBLEMS")116 ;;>>?@GPL@(@GPL@(0))="</Problems>"117 ;;><CCR>118 ;;>>>K GPL S GPL=""119 ;;>>>D CCRRPC^GPLCCR(.GPL,"2","CCR")120 ;;>>?@GPL@(@GPL@(0))="</ContinutiyOfCareRecord>"121 ;;><ACTLST>122 ;;>>>N TCCR123 ;;>>>D CCRRPC^GPLCCR(.TCCR,"2","CCR")124 ;;>>>D ACTLST^GPLCCR("TCCR","ACTTEST")125 93 ;;></TEST>
Note:
See TracChangeset
for help on using the changeset viewer.