diff --git a/p/GPLCCR.m b/p/GPLCCR.m index 589631d..95a8d08 100644 --- a/p/GPLCCR.m +++ b/p/GPLCCR.m @@ -47,16 +47,16 @@ CCRRPC(CCRGRTN,DFN,CCRPART) ; RPC ENTRY POINT FOR CCR OUTPUT . W "RUNNING ",CALL,! . X CALL . ; NOW INSERT THE RESULTS IN THE CCR BUFFER - . ; D INSERT^GPLXPATH(CCRGLO,OXML,"//ContinuityOfCareRecord/Body") + . D INSERT^GPLXPATH(CCRGLO,OXML,"//ContinuityOfCareRecord/Body") . I DEBUG F GPLI=1:1:@OXML@(0) W @OXML@(GPLI),! - . D QOPEN^GPLXPATH("CCRBLD",CCRGLO,"//ContinuityOfCareRecord/Body") - . D QUEUE^GPLXPATH("CCRBLD",OXML,1,@OXML@(0)) - . D QCLOSE^GPLXPATH("CCRBLD",CCRGLO,"//ContinuityOfCareRecord/Body") - . I DEBUG W "GOING TO BUILD CCR",! - . N CCRTMP - . D BUILD^GPLXPATH("CCRBLD","CCRTMP") - . I DEBUG F GPLI=1:1:CCRTMP(0) W CCRTMP(GPLI),! - . D CP^GPLXPATH("CCRTMP",CCRGLO) + . ; D QOPEN^GPLXPATH("CCRBLD",CCRGLO,"//ContinuityOfCareRecord/Body") + . ; D QUEUE^GPLXPATH("CCRBLD",OXML,1,@OXML@(0)) + . ; D QCLOSE^GPLXPATH("CCRBLD",CCRGLO,"//ContinuityOfCareRecord/Body") + . ; I DEBUG W "GOING TO BUILD CCR",! + . ; N CCRTMP + . ; D BUILD^GPLXPATH("CCRBLD","CCRTMP") + . ; I DEBUG F GPLI=1:1:CCRTMP(0) W CCRTMP(GPLI),! + . ; D CP^GPLXPATH("CCRTMP",CCRGLO) Q ; INITSTPS(TAB) ; INITIALIZE CCR PROCESSING STEPS diff --git a/p/GPLCCR0.m b/p/GPLCCR0.m index eae2614..abc6cde 100644 --- a/p/GPLCCR0.m +++ b/p/GPLCCR0.m @@ -90,8 +90,8 @@ LOAD(ARY) ; LOAD A CCR TEMPLATE INTO ARY PASSED BY NAME ;;@@PROBLEMDESCRIPTION@@ ;; ;;@@PROBLEMCODEVALUE@@ -;;@@PROBLEMCODINGSYSTEM@@ICD9CM -;;@@PROBLEMCODINGVERSION@@2007 +;;ICD9CM +;;@@PROBLEMCODINGVERSION@@ ;; ;; ;; diff --git a/p/GPLPROBS.m b/p/GPLPROBS.m index 5d85b35..1637b7e 100644 --- a/p/GPLPROBS.m +++ b/p/GPLPROBS.m @@ -14,7 +14,7 @@ EXTRACT(IPXML,DFN,OUTXML) ; EXTRACT PROBLEMS INTO PROVIDED XML TEMPLATE N RPCRSLT,J,K,PTMP,X,VMAP,TBUF D LIST^ORQQPL3(.RPCRSLT,DFN,"") ; CALL THE PROBLEM LIST RPC I '$D(RPCRSLT(0)) W "ERROR CALLING LIST^ORQQPL3 ",! Q - I DEBUG ZWR RPCRSLT + ZWR RPCRSLT S TVMAP=$NA(^TMP($J,"PROBVALS")) S TARYTMP=$NA(^TMP($J,"PROBARYTMP")) F J=1:1:RPCRSLT(0) D ; FOR EACH PROBLEM IN THE LIST diff --git a/p/GPLUNIT.m b/p/GPLUNIT.m index 02911c4..ef97872 100644 --- a/p/GPLUNIT.m +++ b/p/GPLUNIT.m @@ -16,12 +16,14 @@ ZT(ZARY,BAT,TST) ; private routine to add a test case to the ZARY array S CNT=CNT+1 ; increment count S ZARY(CNT)=TST ; put the test in the array I $D(ZARY(BAT)) D ; NOT THE FIRST TEST IN BATTERY - . N II ; TEMP FOR ENDING TEST IN BATTERY + . N II,TN ; TEMP FOR ENDING TEST IN BATTERY . S II=$P(ZARY(BAT),"^",2) . S $P(ZARY(BAT),"^",2)=II+1 I '$D(ZARY(BAT)) D ; FIRST TEST IN THIS BATTERY . S ZARY(BAT)=CNT_"^"_CNT ; FIRST AND LAST TESTS IN BATTERY - . S ZARY("TESTS",BAT)="" ; PUT THE BATTERY IN THE TESTS INDEX + . ; S ZARY("TESTS",BAT)="" ; PUT THE BATTERY IN THE TESTS INDEX + . S TN=$NA(ZARY("TESTS")) + . D PUSH^GPLXPATH(TN,BAT) S ZARY(0)=CNT ; update the array counter Q ; @@ -45,38 +47,46 @@ ZLOAD(ZARY,ROUTINE) ; load tests into ZARY which is passed by reference . . . S SECTION=$P($P(LINE,";;><",2),">",1) ; pull out name . . I LINE?." "1";;>>".E D ; test case found . . . D ZT(.@ZARY,SECTION,$P(LINE,";;>>",2)) ; put the test in the array - S @ZARY@("ALL")="1"_"^"_@ZARY@(0) ; MAKE A BATTERY FOR ALL + ; S @ZARY@("ALL")="1"_"^"_@ZARY@(0) ; MAKE A BATTERY FOR ALL Q ; ZTEST(ZARY,WHICH) ; try out the tests using a passed array ZTEST - N I,ZX,ZR,ZP - S DEBUG=0 - I '$D(ZARY(WHICH)) D ; TEST SECTION DOESN'T EXIST - . W "ERROR -- TEST SECTION DOESN'T EXIST -> ",WHICH,! - . Q ; EXIT - N FIRST,LAST - S FIRST=$P(ZARY(WHICH),"^",1) - S LAST=$P(ZARY(WHICH),"^",2) - F I=FIRST:1:LAST D - . I ZARY(I)?1">"1.E D ; NOT A TEST, JUST RUN THE STATEMENT - . . S ZP=$E(ZARY(I),2,$L(ZARY(I))) - . . ; W ZP,! - . . S ZX=ZP - . . W "RUNNING: "_ZP - . . X ZX - . . W "..SUCCESS: ",WHICH,! - . I ZARY(I)?1"?"1.E D ; THIS IS A TEST - . . S ZP=$E(ZARY(I),2,$L(ZARY(I))) - . . S ZX="S ZR="_ZP - . . W "TRYING: "_ZP - . . X ZX - . . W $S(ZR=1:"..PASSED ",1:"..FAILED "),! - . . I '$D(TPASSED) D ; NOT INITIALIZED YET - . . . S TPASSED=0 S TFAILED=0 - . . I ZR S TPASSED=TPASSED+1 - . . I 'ZR S TFAILED=TFAILED+1 - Q - ; + N I,ZX,ZR,ZP + S DEBUG=0 + I WHICH="ALL" D Q ; RUN ALL THE TESTS + . W "DOING ALL",! + . N J,NT + . S NT=$NA(ZARY("TESTS")) + . W NT,@NT@(0),! + . F J=1:1:@NT@(0) D ; + . . W @NT@(J),! + . . D ZTEST^GPLUNIT(@ZARY,@NT@(J)) + I '$D(ZARY(WHICH)) D ; TEST SECTION DOESN'T EXIST + . W "ERROR -- TEST SECTION DOESN'T EXIST -> ",WHICH,! + . Q ; EXIT + N FIRST,LAST + S FIRST=$P(ZARY(WHICH),"^",1) + S LAST=$P(ZARY(WHICH),"^",2) + F I=FIRST:1:LAST D + . I ZARY(I)?1">"1.E D ; NOT A TEST, JUST RUN THE STATEMENT + . . S ZP=$E(ZARY(I),2,$L(ZARY(I))) + . . ; W ZP,! + . . S ZX=ZP + . . W "RUNNING: "_ZP + . . X ZX + . . W "..SUCCESS: ",WHICH,! + . I ZARY(I)?1"?"1.E D ; THIS IS A TEST + . . S ZP=$E(ZARY(I),2,$L(ZARY(I))) + . . S ZX="S ZR="_ZP + . . W "TRYING: "_ZP + . . X ZX + . . W $S(ZR=1:"..PASSED ",1:"..FAILED "),! + . . I '$D(TPASSED) D ; NOT INITIALIZED YET + . . . S TPASSED=0 S TFAILED=0 + . . I ZR S TPASSED=TPASSED+1 + . . I 'ZR S TFAILED=TFAILED+1 + Q + ; TEST ; RUN ALL THE TEST CASES N ZTMP D ZLOAD(.ZTMP) diff --git a/p/GPLXPATH.m b/p/GPLXPATH.m index c70e100..a7ac52c 100644 --- a/p/GPLXPATH.m +++ b/p/GPLXPATH.m @@ -188,6 +188,7 @@ CP(CPSRC,CPDEST) ; COPIES CPSRC TO CPDEST BOTH PASSED BY NAME I @CPSRC@(0)<1 D ; BAD LENGTH . W "ERROR IN COPY BAD SOURCE LENGTH: ",CPSRC,! . Q + ; I '$D(@CPDEST@(0)) S @CPDEST@(0)=0 ; IF THE DEST IS EMPTY, INITIALIZE D QUEUE("CPINSTR",CPSRC,1,@CPSRC@(0)) ; BLIST FOR ENTIRE ARRAY D BUILD("CPINSTR",CPDEST) Q @@ -237,14 +238,12 @@ INSERT(INSXML,INSNEW,INSXPATH) ; INSERT INSNEW INTO INSXML AT THE ; NOTE INSERT IS NON DESTRUCTIVE AND WILL ADD THE NEW ; XML AT THE END OF THE XPATH POINT ; INSXML AND INSNEW ARE PASSED BY NAME INSXPATH IS A VALUE - ; N INSBLD,INSTMP + N INSBLD,INSTMP I DEBUG W "DOING INSERT ",INSXML,INSNEW,INSXPATH,! I DEBUG F G1=1:1:@INSXML@(0) W @INSXML@(G1),! - I '$D(@INSXML@(0)) D ; INSERT INTO AN EMPTY ARRAY - . W "DOING A BAD COPY",! - . D CP^GPLXPATH(INSNEW,INXML) ; JUST COPY INTO THE OUTPUT + I '$D(@INSXML@(0)) D Q ; INSERT INTO AN EMPTY ARRAY + . D CP^GPLXPATH(INSNEW,INSXML) ; JUST COPY INTO THE OUTPUT I $D(@INSXML@(0)) D ; IF ORIGINAL ARRAY IS NOT EMPTY - . W "GOT HERE",! . I $D(INSXPATH) D ; XPATH PROVIDED . . D QOPEN("INSBLD",INSXML,INSXPATH) ; COPY THE BEFORE . . I DEBUG ZWR INSBLD @@ -255,8 +254,8 @@ INSERT(INSXML,INSNEW,INSXPATH) ; INSERT INSNEW INTO INSXML AT THE . . D QCLOSE("INSBLD",INSXML,INSXPATH) ; CLOSE WITH XPATH . I '$D(INSXPATH) D ; NO XPATH PROVIDED, CLOSE AT ROOT . . D QCLOSE("INSBLD",INSXML,"//") ; CLOSE WITH ROOT XPATH - . D BUILD("INSBLD",INSTMP) ; PUT RESULTS IN INDEST - . D CP^GPLXPATH(INSTMP,INSXML) ; COPY BUFFER TO SOURCE + . D BUILD("INSBLD","INSTMP") ; PUT RESULTS IN INDEST + . D CP^GPLXPATH("INSTMP",INSXML) ; COPY BUFFER TO SOURCE Q ; INSINNER(INNXML,INNNEW,INNXPATH) ; INSERT THE INNER XML OF INNNEW @@ -334,22 +333,23 @@ PARY(GLO) ;PRINT AN ARRAY Q ; TEST ; RUN ALL THE TEST CASES - N ZTMP - D ZLOAD^GPLUNIT("ZTMP","GPLXPATH") - D ZTEST^GPLUNIT(.ZTMP,"ALL") - W "PASSED: ",TPASSED,! - W "FAILED: ",TFAILED,! - W ! - ; W "THE TESTS!",! - ; ZWR ZTMP - Q - ; + N ZTMP + D ZLOAD^GPLUNIT("ZTMP","GPLXPATH") + D ZTEST^GPLUNIT(.ZTMP,"ALL") + W "PASSED: ",TPASSED,! + W "FAILED: ",TFAILED,! + W ! + ; W "THE TESTS!",! + ; ZWR ZTMP + Q + ; ZTEST(WHICH) ; RUN ONE SET OF TESTS - N ZTMP - D ZLOAD^GPLUNIT("ZTMP","GPLXPATH") - D ZTEST^GPLUNIT(.ZTMP,WHICH) - Q - ; + N ZTMP + S DEBUG=1 + D ZLOAD^GPLUNIT("ZTMP","GPLXPATH") + D ZTEST^GPLUNIT(.ZTMP,WHICH) + Q + ; TLIST ; LIST THE TESTS N ZTMP D ZLOAD^GPLUNIT("ZTMP","GPLXPATH") @@ -493,9 +493,9 @@ TLIST ; LIST THE TESTS ;;>>>K G2,GBL,G3,G4 ;;>>>D ZTEST^GPLXPATH("INITXML") ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD/FIFTH","G2") -;;>>>D INSERT^GPLXPATH("GXML","G2","G3","//FIRST/SECOND/THIRD") -;;>>>D INSERT^GPLXPATH("G3","G2","G4","//FIRST/SECOND/THIRD") -;;>>?G2(1)=G3(9) +;;>>>D INSERT^GPLXPATH("GXML","G2","//FIRST/SECOND/THIRD") +;;>>>D INSERT^GPLXPATH("G3","G2","//") +;;>>?G2(1)=GXML(9) ;;> ;;>>>K G2,GBL,G3 ;;>>>D ZTEST^GPLXPATH("INITXML")