Changeset 43


Ignore:
Timestamp:
Jul 5, 2008, 11:49:50 AM (16 years ago)
Author:
George Lilly
Message:

Format changes for SAC compliance

Location:
ccr/trunk/p
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • ccr/trunk/p/GPLACTORS.m

    r40 r43  
    1515           . I ATYP="" Q ; NOT A VALID ACTOR
    1616           . ;
    17            . ; MAP ACTOR VARIABLES HERE
     17           . I ATYP="PATIENT" D  ; PATIENT ACTOR TYPE
     18           . . D QUERY^GPLXPATH(IPXML,"//Actors/ACTOR-PATIENT","ATMP")
     19           . . D PATIENT("ATMP",@ALST@(I),"ATMP2")
    1820           . ;
    19            . S @AMAP@("ACTOROBJECTID")=AOID ;ACTOR OBJECT ID
    20            . S @AMAP@("ACTORGIVENNAME")=""
    21            . S @AMAP@("ACTORMIDDLENAME")=""
    22            . S @AMAP@("ACTORFAMILYNAME")=""
    23            . S @AMAP@("ACTORDATEOFBIRTH")=""
    24            . S @AMAP@("ACTORGENDER")=""
    25            . S @AMAP@("ACTORSSN")=""
    26            . S @AMAP@("ACTORSSNSOURCEID")=""
    27            . S @AMAP@("ACTORADDRESSTYPE")=""
    28            . S @AMAP@("ACTORADDRESSLINE1")=""
    29            . S @AMAP@("ACTORADDRESSLINE2")=""
    30            . S @AMAP@("ACTORADDRESSCITY")=""
    31            . S @AMAP@("ACTORADDRESSSTATE")=""
    32            . S @AMAP@("ACTORADDRESSZIPCODE")=""
    33            . S @AMAP@("ACTORTELEPHONE")=""
    34            . S @AMAP@("ACTORTELEPHONETYPE")=""
    35            . S @AMAP@("ACTOREMAIL")=""
    36            . S @AMAP@("ACTORADDRESSSOURCEID")=""
    37            . S @AMAP@("ACTORINFOSYSNAME")=""
    38            . S @AMAP@("ACTORINFOSYSSOURCEID")=""
    39            . S @AMAP@("ACTORDISPLAYNAME")=""
    40            . S @AMAP@("ACTORRELATION")=""
    41            . S @AMAP@("ACTORRELATIONSOURCEID")=""
    42            . S @AMAP@("ACTORSPECIALITY")=""
     21           . I ATYP="SYSTEM" D  ; SYSTEM ACTOR TYPE
     22           . . D QUERY^GPLXPATH(IPXML,"//Actors/ACTOR-SYSTEM","ATMP")
     23           . . D SYSTEM("ATMP",@ALST@(I),"ATMP2")
    4324           . ;
     25           . I ATYP="NOK" D  ; NOK ACTOR TYPE
     26           . . D QUERY^GPLXPATH(IPXML,"//Actors/ACTOR-NOK","ATMP")
     27           . . D NOK("ATMP",@ALST@(I),"ATMP2")
    4428           . ;
    45            . D MAP^GPLXPATH(INXML,AMAP,"ATMP") ; MAP THE VARIABLE
     29           . I ATYP="PROVIDER" D  ; PROVIDER ACTOR TYPE
     30           . . D QUERY^GPLXPATH(IPXML,"//Actors/ACTOR-PROVIDER","ATMP")
     31           . . D PROVIDER("ATMP",@ALST@(I),"ATMP2")
     32           . ;
    4633           . I FIRST D  ; FIRST TIME , ONLY COPY THE ARRAY
    4734           . . D CP^GPLXPATH("ATMP",OUTXML) ;
     
    5037           . . D INSERT^GPLXPATH("ATMP","//",OUTXML) ; INSERT AT ROOT
    5138           ;
     39           D MISSING^GPLXPATH(OUTXML,"ACTTMP") ; SEARCH XML FOR MISSING VARS
     40           I ACTTMP(0)>0  D  ; IF THERE ARE MISSING VARS -
     41           . ; STRINGS MARKED AS @@X@@
     42           . W "ACTORS Missing list: ",!
     43           . F I=1:1:ACTTMP(0) W ACTTMP(I),!
    5244           Q
    5345           ;
    54 
     46PATIENT(INXML,ACTREC,OUTXML) ; PROCESS A PATIENT ACTOR
     47     ;
     48     N AMAP
     49     S @AMAP@("ACTOROBJECTID")=AOID ;ACTOR OBJECT ID
     50     S @AMAP@("ACTORGIVENNAME")=""
     51     S @AMAP@("ACTORMIDDLENAME")=""
     52     S @AMAP@("ACTORFAMILYNAME")=""
     53     S @AMAP@("ACTORDATEOFBIRTH")=""
     54     S @AMAP@("ACTORGENDER")=""
     55     S @AMAP@("ACTORSSN")=""
     56     S @AMAP@("ACTORSSNSOURCEID")=""
     57     S @AMAP@("ACTORADDRESSTYPE")=""
     58     S @AMAP@("ACTORADDRESSLINE1")=""
     59     S @AMAP@("ACTORADDRESSLINE2")=""
     60     S @AMAP@("ACTORADDRESSCITY")=""
     61     S @AMAP@("ACTORADDRESSSTATE")=""
     62     S @AMAP@("ACTORADDRESSZIPCODE")=""
     63     S @AMAP@("ACTORTELEPHONE")=""
     64     S @AMAP@("ACTORTELEPHONETYPE")=""
     65     S @AMAP@("ACTOREMAIL")=""
     66     S @AMAP@("ACTORADDRESSSOURCEID")=""
     67     D MAP^GPLXPATH(INXML,AMAP,OUTXML) ; MAP THE VARIABLE
     68     Q
     69     ;
     70SYSTEM(INXML,ACTREC,OUTXML) ; PROCESS A SYSTEM ACTOR
     71     ;
     72     N AMAP
     73     S @AMAP@("ACTOROBJECTID")=AOID ;ACTOR OBJECT ID
     74     S @AMAP@("ACTORINFOSYSNAME")=""
     75     S @AMAP@("ACTORINFOSYSSOURCEID")=""
     76     D MAP^GPLXPATH(INXML,AMAP,OUTXML) ; MAP THE VARIABLE
     77     Q
     78     ;
     79NOK(INXML,ACTREC,OUTXML) ; PROCESS A NEXT OF KIN TYPE ACTOR
     80     ;
     81     N AMAP
     82     S @AMAP@("ACTOROBJECTID")=AOID ;ACTOR OBJECT ID
     83     S @AMAP@("ACTORDISPLAYNAME")=""
     84     S @AMAP@("ACTORRELATION")=""
     85     S @AMAP@("ACTORRELATIONSOURCEID")=""
     86     D MAP^GPLXPATH(INXML,AMAP,OUTXML) ; MAP THE VARIABLE
     87     Q
     88     ;
     89PROVIDER(INXML,ACTREC,OUTXML) ; PROCESS A PROVIDER TYPE ACTOR
     90     ;
     91     N AMAP
     92     S @AMAP@("ACTOROBJECTID")=AOID ;ACTOR OBJECT ID
     93     S @AMAP@("ACTORGIVENNAME")=""
     94     S @AMAP@("ACTORMIDDLENAME")=""
     95     S @AMAP@("ACTORFAMILYNAME")=""
     96     S @AMAP@("ACTORSPECIALITY")=""
     97     S @AMAP@("ACTORADDRESSTYPE")=""
     98     S @AMAP@("ACTORADDRESSLINE1")=""
     99     S @AMAP@("ACTORADDRESSLINE2")=""
     100     S @AMAP@("ACTORADDRESSCITY")=""
     101     S @AMAP@("ACTORADDRESSSTATE")=""
     102     S @AMAP@("ACTORADDRESSZIPCODE")=""
     103     S @AMAP@("ACTORTELEPHONE")=""
     104     S @AMAP@("ACTORTELEPHONETYPE")=""
     105     S @AMAP@("ACTOREMAIL")=""
     106     S @AMAP@("ACTORADDRESSSOURCEID")=""
     107     D MAP^GPLXPATH(INXML,AMAP,OUTXML) ; MAP THE VARIABLE
     108     Q
     109     ;
  • ccr/trunk/p/GPLCCR.m

    r41 r43  
    11GPLCCR   ; CCDCCR/GPL - CCR MAIN PROCESSING; 6/6/08
    2 ;;0.1;CCDCCR;nopatch;noreleasedate
     2 ;;0.1;CCDCCR;nopatch;noreleasedate
    33     ;
    44     ; EXPORT A CCR
     
    118118    Q
    119119    ;
    120 TEST    ; RUN ALL THE TEST CASES
     120TEST ; RUN ALL THE TEST CASES
    121121  D TESTALL^GPLUNIT("GPLCCR")
    122122  Q
     
    128128  Q
    129129  ;
    130 TLIST     ; LIST THE TESTS
    131   N ZTMP
     130TLIST  ; LIST THE TESTS
     131  N ZTMP,GNEW
    132132  D ZLOAD^GPLUNIT("ZTMP","GPLCCR")
    133133  D TLIST^GPLUNIT(.ZTMP)
    134134  Q
    135   ;
    136 ;;><TEST>
    137 ;;><PROBLEMS>
    138 ;;>>>K GPL S GPL=""
    139 ;;>>>D CCRRPC^GPLCCR(.GPL,"2","PROBLEMS","","","")
    140 ;;>>?@GPL@(@GPL@(0))["</Problems>"
    141 ;;><VITALS>
    142 ;;>>>K GPL S GPL=""
    143 ;;>>>D CCRRPC^GPLCCR(.GPL,"2","VITALS","","","")
    144 ;;>>?@GPL@(@GPL@(0))["</VitalSigns>"
    145 ;;><CCR>
    146 ;;>>>K GPL S GPL=""
    147 ;;>>>D CCRRPC^GPLCCR(.GPL,"2","CCR","","","")
    148 ;;>>?@GPL@(@GPL@(0))["</ContinuityOfCareRecord>"
    149 ;;><ACTLST>
    150 ;;>>>K GPL S GPL=""
    151 ;;>>>D CCRRPC^GPLCCR(.GPL,"2","CCR","","","")
    152 ;;>>>D ACTLST^GPLCCR(GPL,"ACTTEST")
    153 ;;></TEST>
     135  ; LAST LINE BEFORE TESTS
     136NEW ; new debugging routine
     137    W "this is new",!
     138    Q
     139    ; end of NEW
     140 ;;><TEST>
     141 ;;><PROBLEMS>
     142 ;;>>>K GPL S GPL=""
     143 ;;>>>D CCRRPC^GPLCCR(.GPL,"2","PROBLEMS","","","")
     144 ;;>>?@GPL@(@GPL@(0))["</Problems>"
     145 ;;><VITALS>
     146 ;;>>>K GPL S GPL=""
     147 ;;>>>D CCRRPC^GPLCCR(.GPL,"2","VITALS","","","")
     148 ;;>>?@GPL@(@GPL@(0))["</VitalSigns>"
     149 ;;><CCR>
     150 ;;>>>K GPL S GPL=""
     151 ;;>>>D CCRRPC^GPLCCR(.GPL,"2","CCR","","","")
     152 ;;>>?@GPL@(@GPL@(0))["</ContinuityOfCareRecord>"
     153 ;;><ACTLST>
     154 ;;>>>K GPL S GPL=""
     155 ;;>>>D CCRRPC^GPLCCR(.GPL,"2","CCR","","","")
     156 ;;>>>D ACTLST^GPLCCR(GPL,"ACTTEST")
     157 ;;></TEST>
  • ccr/trunk/p/GPLPROBS.m

    r40 r43  
    5858          N PROBSTMP,I
    5959          D MISSING^GPLXPATH(ARYTMP,"PROBSTMP") ; SEARCH XML FOR MISSING VARS
    60           I PROBSTMP(0)>0  D  ; IF THERE ARE MISSING VARS - STRINGS MARKED AS @@X@@
     60          I PROBSTMP(0)>0  D  ; IF THERE ARE MISSING VARS -
     61          . ; STRINGS MARKED AS @@X@@
    6162          . W "PROBLEMS Missing list: ",!
    6263          . F I=1:1:PROBSTMP(0) W PROBSTMP(I),!
  • ccr/trunk/p/GPLUNIT.m

    r40 r43  
    3939          ;
    4040          N NUM F NUM=1:1 S LINE=$T(+NUM^@ROUTINE) Q:LINE=""  D
     41          . W NUM," ",LINE,!
    4142          . I LINE?." "1";;><TEST>".E S INTEST=1 ; entering test section
    4243          . I LINE?." "1";;><TEMPLATE>".E S INTEST=1 ; entering TEMPLATE section
  • ccr/trunk/p/GPLXPATH.m

    r39 r43  
    11GPLXPATH   ; CCDCCR/GPL - XPATH XML manipulation utilities; 6/1/08
    2 ;;0.2;CCDCCR;nopatch;noreleasedate
     2 ;;0.2;CCDCCR;nopatch;noreleasedate
    33          W "This is an XML XPATH utility library",!
    44          W !
     
    2424          ; VAL AND STK ARE PASSED BY REFERENCE
    2525          ;
    26           I @STK@(0)<1 S VAL="",@STK@(0)=0 Q ; IF ARRAY IS EMPTY
    27           I @STK@(0)>0  D
     26          I @STK@(0)<1 D  ; IF ARRAY IS EMPTY
     27          . S VAL=""
     28          . S @STK@(0)=0
     29          I @STK@(0)>0  D  ;
    2830          . S VAL=@STK@(@STK@(0))
    2931          . K @STK@(@STK@(0))
     
    243245         I DEBUG W "DOING INSERT ",INSXML,INSNEW,INSXPATH,!
    244246         I DEBUG F G1=1:1:@INSXML@(0) W @INSXML@(G1),!
    245          I '$D(@INSXML@(0)) D  Q ; INSERT INTO AN EMPTY ARRAY
     247         I '$D(@INSXML@(0)) D  ; INSERT INTO AN EMPTY ARRAY
    246248         . D CP^GPLXPATH(INSNEW,INSXML) ; JUST COPY INTO THE OUTPUT
    247249         I $D(@INSXML@(0)) D  ; IF ORIGINAL ARRAY IS NOT EMPTY
    248250         . I $D(INSXPATH) D  ; XPATH PROVIDED
    249251         . . D QOPEN("INSBLD",INSXML,INSXPATH) ; COPY THE BEFORE
    250          . . I DEBUG ZWR INSBLD
     252         . . I DEBUG D PARY^GPLXPATH("INSBLD")
    251253         . I '$D(INSXPATH) D  ; NO XPATH PROVIDED, OPEN AT ROOT
    252254         . . D QOPEN("INSBLD",INSXML,"//") ; OPEN WITH ROOT XPATH
     
    295297         D QUEUE("REBLD",REXML,XLAST,@REXML@(0)) ; THE REST
    296298         I DEBUG W "REPALCE PREBUILD",!
    297          I DEBUG ZWR REBLD
     299         I DEBUG D PARY("REBLD")
    298300         D BUILD("REBLD","RTMP")
    299301         K @REXML ; KILL WHAT WAS THERE
     
    362364        Q
    363365        ;
    364 ;;><TEST>
    365 ;;><INIT>
    366 ;;>>>K GPL S GPL=""
    367 ;;>>>D PUSH^GPLXPATH("GPL","FIRST")
    368 ;;>>>D PUSH^GPLXPATH("GPL","SECOND")
    369 ;;>>>D PUSH^GPLXPATH("GPL","THIRD")
    370 ;;>>>D PUSH^GPLXPATH("GPL","FOURTH")
    371 ;;>>?GPL(0)=4
    372 ;;><INITXML>
    373 ;;>>>K GXML S GXML=""
    374 ;;>>>D PUSH^GPLXPATH("GXML","<FIRST>")
    375 ;;>>>D PUSH^GPLXPATH("GXML","<SECOND>")
    376 ;;>>>D PUSH^GPLXPATH("GXML","<THIRD>")
    377 ;;>>>D PUSH^GPLXPATH("GXML","<FOURTH>@@DATA1@@</FOURTH>")
    378 ;;>>>D PUSH^GPLXPATH("GXML","<FIFTH>")
    379 ;;>>>D PUSH^GPLXPATH("GXML","@@DATA2@@")
    380 ;;>>>D PUSH^GPLXPATH("GXML","</FIFTH>")
    381 ;;>>>D PUSH^GPLXPATH("GXML","<SIXTH ID=""SELF"" />")
    382 ;;>>>D PUSH^GPLXPATH("GXML","</THIRD>")
    383 ;;>>>D PUSH^GPLXPATH("GXML","<SECOND>")
    384 ;;>>>D PUSH^GPLXPATH("GXML","</SECOND>")
    385 ;;>>>D PUSH^GPLXPATH("GXML","</SECOND>")
    386 ;;>>>D PUSH^GPLXPATH("GXML","</FIRST>")
    387 ;;><INITXML2>
    388 ;;>>>K GXML S GXML=""
    389 ;;>>>D PUSH^GPLXPATH("GXML","<FIRST>")
    390 ;;>>>D PUSH^GPLXPATH("GXML","<SECOND>")
    391 ;;>>>D PUSH^GPLXPATH("GXML","<THIRD>")
    392 ;;>>>D PUSH^GPLXPATH("GXML","<FOURTH>DATA1</FOURTH>")
    393 ;;>>>D PUSH^GPLXPATH("GXML","<FOURTH>")
    394 ;;>>>D PUSH^GPLXPATH("GXML","DATA2")
    395 ;;>>>D PUSH^GPLXPATH("GXML","</FOURTH>")
    396 ;;>>>D PUSH^GPLXPATH("GXML","</THIRD>")
    397 ;;>>>D PUSH^GPLXPATH("GXML","<_SECOND>")
    398 ;;>>>D PUSH^GPLXPATH("GXML","<FOURTH>DATA3</FOURTH>")
    399 ;;>>>D PUSH^GPLXPATH("GXML","</_SECOND>")
    400 ;;>>>D PUSH^GPLXPATH("GXML","</SECOND>")
    401 ;;>>>D PUSH^GPLXPATH("GXML","</FIRST>")
    402 ;;><PUSHPOP>
    403 ;;>>>D ZLOAD^GPLUNIT("ZTMP","GPLXPATH")
    404 ;;>>>D ZTEST^GPLUNIT(.ZTMP,"INIT")
    405 ;;>>?GPL(GPL(0))="FOURTH"
    406 ;;>>>D POP^GPLXPATH("GPL",.GX)
    407 ;;>>?GX="FOURTH"
    408 ;;>>?GPL(GPL(0))="THIRD"
    409 ;;>>>D POP^GPLXPATH("GPL",.GX)
    410 ;;>>?GX="THIRD"
    411 ;;>>?GPL(GPL(0))="SECOND"
    412 ;;><MKMDX>
    413 ;;>>>D ZLOAD^GPLUNIT("ZTMP","GPLXPATH")
    414 ;;>>>D ZTEST^GPLUNIT(.ZTMP,"INIT")
    415 ;;>>>S GX=""
    416 ;;>>>D MKMDX^GPLXPATH("GPL",.GX)
    417 ;;>>?GX="//FIRST/SECOND/THIRD/FOURTH"
    418 ;;><XNAME>
    419 ;;>>?$$XNAME^GPLXPATH("<FOURTH>DATA1</FOURTH>")="FOURTH"
    420 ;;>>?$$XNAME^GPLXPATH("<SIXTH  ID=""SELF"" />")="SIXTH"
    421 ;;>>?$$XNAME^GPLXPATH("</THIRD>")="THIRD"
    422 ;;><INDEX>
    423 ;;>>>D ZLOAD^GPLUNIT("ZTMP","GPLXPATH")
    424 ;;>>>D ZTEST^GPLUNIT(.ZTMP,"INITXML")
    425 ;;>>>D INDEX^GPLXPATH("GXML")
    426 ;;>>?GXML("//FIRST/SECOND")="2^12"
    427 ;;>>?GXML("//FIRST/SECOND/THIRD")="3^9"
    428 ;;>>?GXML("//FIRST/SECOND/THIRD/FIFTH")="5^7"
    429 ;;>>?GXML("//FIRST/SECOND/THIRD/FOURTH")="4^4"
    430 ;;>>?GXML("//FIRST/SECOND/THIRD/SIXTH")="8^8"
    431 ;;>>?GXML("//FIRST/SECOND")="2^12"
    432 ;;>>?GXML("//FIRST")="1^13"
    433 ;;><INDEX2>
    434 ;;>>>D ZTEST^GPLXPATH("INITXML2")
    435 ;;>>>D INDEX^GPLXPATH("GXML")
    436 ;;>>?GXML("//FIRST/SECOND")="2^12"
    437 ;;>>?GXML("//FIRST/SECOND/_SECOND")="9^11"
    438 ;;>>?GXML("//FIRST/SECOND/_SECOND/FOURTH")="10^10"
    439 ;;>>?GXML("//FIRST/SECOND/THIRD")="3^8"
    440 ;;>>?GXML("//FIRST/SECOND/THIRD/FOURTH")="4^7"
    441 ;;>>?GXML("//FIRST")="1^13"
    442 ;;><MISSING>
    443 ;;>>>D ZTEST^GPLXPATH("INITXML")
    444 ;;>>>S OUTARY="^TMP($J,""MISSINGTEST"")"
    445 ;;>>>D MISSING^GPLXPATH("GXML",OUTARY)
    446 ;;>>?@OUTARY@(1)="DATA1"
    447 ;;>>?@OUTARY@(2)="DATA2"
    448 ;;><MAP>
    449 ;;>>>D ZTEST^GPLXPATH("INITXML")
    450 ;;>>>S MAPARY="^TMP($J,""MAPVALUES"")"
    451 ;;>>>S OUTARY="^TMP($J,""MAPTEST"")"
    452 ;;>>>S @MAPARY@("DATA2")="VALUE2"
    453 ;;>>>D MAP^GPLXPATH("GXML",MAPARY,OUTARY)
    454 ;;>>?@OUTARY@(6)="VALUE2"
    455 ;;><QUEUE>
    456 ;;>>>D QUEUE^GPLXPATH("BTLIST","GXML",2,3)
    457 ;;>>>D QUEUE^GPLXPATH("BTLIST","GXML",4,5)
    458 ;;>>?$P(BTLIST(2),";",2)=4
    459 ;;><BUILD>
    460 ;;>>>D ZTEST^GPLXPATH("INITXML")
    461 ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD/FOURTH","G2")
    462 ;;>>>D ZTEST^GPLXPATH("QUEUE")
    463 ;;>>>D BUILD^GPLXPATH("BTLIST","G3")
    464 ;;><CP>
    465 ;;>>>D ZTEST^GPLXPATH("INITXML")
    466 ;;>>>D CP^GPLXPATH("GXML","G2")
    467 ;;>>?G2(0)=13
    468 ;;><QOPEN>
    469 ;;>>>K G2,GBL
    470 ;;>>>D ZTEST^GPLXPATH("INITXML")
    471 ;;>>>D QOPEN^GPLXPATH("GBL","GXML")
    472 ;;>>?$P(GBL(1),";",3)=12
    473 ;;>>>D BUILD^GPLXPATH("GBL","G2")
    474 ;;>>?G2(G2(0))="</SECOND>"
    475 ;;><QOPEN2>
    476 ;;>>>K G2,GBL
    477 ;;>>>D ZTEST^GPLXPATH("INITXML")
    478 ;;>>>D QOPEN^GPLXPATH("GBL","GXML","//FIRST/SECOND")
    479 ;;>>?$P(GBL(1),";",3)=11
    480 ;;>>>D BUILD^GPLXPATH("GBL","G2")
    481 ;;>>?G2(G2(0))="</SECOND>"
    482 ;;><QCLOSE>
    483 ;;>>>K G2,GBL
    484 ;;>>>D ZTEST^GPLXPATH("INITXML")
    485 ;;>>>D QCLOSE^GPLXPATH("GBL","GXML")
    486 ;;>>?$P(GBL(1),";",3)=13
    487 ;;>>>D BUILD^GPLXPATH("GBL","G2")
    488 ;;>>?G2(G2(0))="</FIRST>"
    489 ;;><QCLOSE2>
    490 ;;>>>K G2,GBL
    491 ;;>>>D ZTEST^GPLXPATH("INITXML")
    492 ;;>>>D QCLOSE^GPLXPATH("GBL","GXML","//FIRST/SECOND/THIRD")
    493 ;;>>?$P(GBL(1),";",3)=13
    494 ;;>>>D BUILD^GPLXPATH("GBL","G2")
    495 ;;>>?G2(G2(0))="</FIRST>"
    496 ;;>>?G2(1)="</THIRD>"
    497 ;;><INSERT>
    498 ;;>>>K G2,GBL,G3,G4
    499 ;;>>>D ZTEST^GPLXPATH("INITXML")
    500 ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD/FIFTH","G2")
    501 ;;>>>D INSERT^GPLXPATH("GXML","G2","//FIRST/SECOND/THIRD")
    502 ;;>>>D INSERT^GPLXPATH("G3","G2","//")
    503 ;;>>?G2(1)=GXML(9)
    504 ;;><REPLACE>
    505 ;;>>>K G2,GBL,G3
    506 ;;>>>D ZTEST^GPLXPATH("INITXML")
    507 ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD/FIFTH","G2")
    508 ;;>>>D REPLACE^GPLXPATH("GXML","G2","//FIRST/SECOND")
    509 ;;>>?GXML(3)="<FIFTH>"
    510 ;;><INSINNER>
    511 ;;>>>K GXML,G2,GBL,G3
    512 ;;>>>D ZTEST^GPLXPATH("INITXML")
    513 ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD","G2")
    514 ;;>>>D INSINNER^GPLXPATH("GXML","G2","//FIRST/SECOND/THIRD")
    515 ;;>>?GXML(10)="<FIFTH>"
    516 ;;><INSINNER2>
    517 ;;>>>K GXML,G2,GBL,G3
    518 ;;>>>D ZTEST^GPLXPATH("INITXML")
    519 ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD","G2")
    520 ;;>>>D INSINNER^GPLXPATH("G2","G2")
    521 ;;>>?G2(8)="<FIFTH>"
    522 ;;></TEST>
     366 ;;><TEST>
     367 ;;><INIT>
     368 ;;>>>K GPL S GPL=""
     369 ;;>>>D PUSH^GPLXPATH("GPL","FIRST")
     370 ;;>>>D PUSH^GPLXPATH("GPL","SECOND")
     371 ;;>>>D PUSH^GPLXPATH("GPL","THIRD")
     372 ;;>>>D PUSH^GPLXPATH("GPL","FOURTH")
     373 ;;>>?GPL(0)=4
     374 ;;><INITXML>
     375 ;;>>>K GXML S GXML=""
     376 ;;>>>D PUSH^GPLXPATH("GXML","<FIRST>")
     377 ;;>>>D PUSH^GPLXPATH("GXML","<SECOND>")
     378 ;;>>>D PUSH^GPLXPATH("GXML","<THIRD>")
     379 ;;>>>D PUSH^GPLXPATH("GXML","<FOURTH>@@DATA1@@</FOURTH>")
     380 ;;>>>D PUSH^GPLXPATH("GXML","<FIFTH>")
     381 ;;>>>D PUSH^GPLXPATH("GXML","@@DATA2@@")
     382 ;;>>>D PUSH^GPLXPATH("GXML","</FIFTH>")
     383 ;;>>>D PUSH^GPLXPATH("GXML","<SIXTH ID=""SELF"" />")
     384 ;;>>>D PUSH^GPLXPATH("GXML","</THIRD>")
     385 ;;>>>D PUSH^GPLXPATH("GXML","<SECOND>")
     386 ;;>>>D PUSH^GPLXPATH("GXML","</SECOND>")
     387 ;;>>>D PUSH^GPLXPATH("GXML","</SECOND>")
     388 ;;>>>D PUSH^GPLXPATH("GXML","</FIRST>")
     389 ;;><INITXML2>
     390 ;;>>>K GXML S GXML=""
     391 ;;>>>D PUSH^GPLXPATH("GXML","<FIRST>")
     392 ;;>>>D PUSH^GPLXPATH("GXML","<SECOND>")
     393 ;;>>>D PUSH^GPLXPATH("GXML","<THIRD>")
     394 ;;>>>D PUSH^GPLXPATH("GXML","<FOURTH>DATA1</FOURTH>")
     395 ;;>>>D PUSH^GPLXPATH("GXML","<FOURTH>")
     396 ;;>>>D PUSH^GPLXPATH("GXML","DATA2")
     397 ;;>>>D PUSH^GPLXPATH("GXML","</FOURTH>")
     398 ;;>>>D PUSH^GPLXPATH("GXML","</THIRD>")
     399 ;;>>>D PUSH^GPLXPATH("GXML","<_SECOND>")
     400 ;;>>>D PUSH^GPLXPATH("GXML","<FOURTH>DATA3</FOURTH>")
     401 ;;>>>D PUSH^GPLXPATH("GXML","</_SECOND>")
     402 ;;>>>D PUSH^GPLXPATH("GXML","</SECOND>")
     403 ;;>>>D PUSH^GPLXPATH("GXML","</FIRST>")
     404 ;;><PUSHPOP>
     405 ;;>>>D ZLOAD^GPLUNIT("ZTMP","GPLXPATH")
     406 ;;>>>D ZTEST^GPLUNIT(.ZTMP,"INIT")
     407 ;;>>?GPL(GPL(0))="FOURTH"
     408 ;;>>>D POP^GPLXPATH("GPL",.GX)
     409 ;;>>?GX="FOURTH"
     410 ;;>>?GPL(GPL(0))="THIRD"
     411 ;;>>>D POP^GPLXPATH("GPL",.GX)
     412 ;;>>?GX="THIRD"
     413 ;;>>?GPL(GPL(0))="SECOND"
     414 ;;><MKMDX>
     415 ;;>>>D ZLOAD^GPLUNIT("ZTMP","GPLXPATH")
     416 ;;>>>D ZTEST^GPLUNIT(.ZTMP,"INIT")
     417 ;;>>>S GX=""
     418 ;;>>>D MKMDX^GPLXPATH("GPL",.GX)
     419 ;;>>?GX="//FIRST/SECOND/THIRD/FOURTH"
     420 ;;><XNAME>
     421 ;;>>?$$XNAME^GPLXPATH("<FOURTH>DATA1</FOURTH>")="FOURTH"
     422 ;;>>?$$XNAME^GPLXPATH("<SIXTH  ID=""SELF"" />")="SIXTH"
     423 ;;>>?$$XNAME^GPLXPATH("</THIRD>")="THIRD"
     424 ;;><INDEX>
     425 ;;>>>D ZLOAD^GPLUNIT("ZTMP","GPLXPATH")
     426 ;;>>>D ZTEST^GPLUNIT(.ZTMP,"INITXML")
     427 ;;>>>D INDEX^GPLXPATH("GXML")
     428 ;;>>?GXML("//FIRST/SECOND")="2^12"
     429 ;;>>?GXML("//FIRST/SECOND/THIRD")="3^9"
     430 ;;>>?GXML("//FIRST/SECOND/THIRD/FIFTH")="5^7"
     431 ;;>>?GXML("//FIRST/SECOND/THIRD/FOURTH")="4^4"
     432 ;;>>?GXML("//FIRST/SECOND/THIRD/SIXTH")="8^8"
     433 ;;>>?GXML("//FIRST/SECOND")="2^12"
     434 ;;>>?GXML("//FIRST")="1^13"
     435 ;;><INDEX2>
     436 ;;>>>D ZTEST^GPLXPATH("INITXML2")
     437 ;;>>>D INDEX^GPLXPATH("GXML")
     438 ;;>>?GXML("//FIRST/SECOND")="2^12"
     439 ;;>>?GXML("//FIRST/SECOND/_SECOND")="9^11"
     440 ;;>>?GXML("//FIRST/SECOND/_SECOND/FOURTH")="10^10"
     441 ;;>>?GXML("//FIRST/SECOND/THIRD")="3^8"
     442 ;;>>?GXML("//FIRST/SECOND/THIRD/FOURTH")="4^7"
     443 ;;>>?GXML("//FIRST")="1^13"
     444 ;;><MISSING>
     445 ;;>>>D ZTEST^GPLXPATH("INITXML")
     446 ;;>>>S OUTARY="^TMP($J,""MISSINGTEST"")"
     447 ;;>>>D MISSING^GPLXPATH("GXML",OUTARY)
     448 ;;>>?@OUTARY@(1)="DATA1"
     449 ;;>>?@OUTARY@(2)="DATA2"
     450 ;;><MAP>
     451 ;;>>>D ZTEST^GPLXPATH("INITXML")
     452 ;;>>>S MAPARY="^TMP($J,""MAPVALUES"")"
     453 ;;>>>S OUTARY="^TMP($J,""MAPTEST"")"
     454 ;;>>>S @MAPARY@("DATA2")="VALUE2"
     455 ;;>>>D MAP^GPLXPATH("GXML",MAPARY,OUTARY)
     456 ;;>>?@OUTARY@(6)="VALUE2"
     457 ;;><QUEUE>
     458 ;;>>>D QUEUE^GPLXPATH("BTLIST","GXML",2,3)
     459 ;;>>>D QUEUE^GPLXPATH("BTLIST","GXML",4,5)
     460 ;;>>?$P(BTLIST(2),";",2)=4
     461 ;;><BUILD>
     462 ;;>>>D ZTEST^GPLXPATH("INITXML")
     463 ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD/FOURTH","G2")
     464 ;;>>>D ZTEST^GPLXPATH("QUEUE")
     465 ;;>>>D BUILD^GPLXPATH("BTLIST","G3")
     466 ;;><CP>
     467 ;;>>>D ZTEST^GPLXPATH("INITXML")
     468 ;;>>>D CP^GPLXPATH("GXML","G2")
     469 ;;>>?G2(0)=13
     470 ;;><QOPEN>
     471 ;;>>>K G2,GBL
     472 ;;>>>D ZTEST^GPLXPATH("INITXML")
     473 ;;>>>D QOPEN^GPLXPATH("GBL","GXML")
     474 ;;>>?$P(GBL(1),";",3)=12
     475 ;;>>>D BUILD^GPLXPATH("GBL","G2")
     476 ;;>>?G2(G2(0))="</SECOND>"
     477 ;;><QOPEN2>
     478 ;;>>>K G2,GBL
     479 ;;>>>D ZTEST^GPLXPATH("INITXML")
     480 ;;>>>D QOPEN^GPLXPATH("GBL","GXML","//FIRST/SECOND")
     481 ;;>>?$P(GBL(1),";",3)=11
     482 ;;>>>D BUILD^GPLXPATH("GBL","G2")
     483 ;;>>?G2(G2(0))="</SECOND>"
     484 ;;><QCLOSE>
     485 ;;>>>K G2,GBL
     486 ;;>>>D ZTEST^GPLXPATH("INITXML")
     487 ;;>>>D QCLOSE^GPLXPATH("GBL","GXML")
     488 ;;>>?$P(GBL(1),";",3)=13
     489 ;;>>>D BUILD^GPLXPATH("GBL","G2")
     490 ;;>>?G2(G2(0))="</FIRST>"
     491 ;;><QCLOSE2>
     492 ;;>>>K G2,GBL
     493 ;;>>>D ZTEST^GPLXPATH("INITXML")
     494 ;;>>>D QCLOSE^GPLXPATH("GBL","GXML","//FIRST/SECOND/THIRD")
     495 ;;>>?$P(GBL(1),";",3)=13
     496 ;;>>>D BUILD^GPLXPATH("GBL","G2")
     497 ;;>>?G2(G2(0))="</FIRST>"
     498 ;;>>?G2(1)="</THIRD>"
     499 ;;><INSERT>
     500 ;;>>>K G2,GBL,G3,G4
     501 ;;>>>D ZTEST^GPLXPATH("INITXML")
     502 ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD/FIFTH","G2")
     503 ;;>>>D INSERT^GPLXPATH("GXML","G2","//FIRST/SECOND/THIRD")
     504 ;;>>>D INSERT^GPLXPATH("G3","G2","//")
     505 ;;>>?G2(1)=GXML(9)
     506 ;;><REPLACE>
     507 ;;>>>K G2,GBL,G3
     508 ;;>>>D ZTEST^GPLXPATH("INITXML")
     509 ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD/FIFTH","G2")
     510 ;;>>>D REPLACE^GPLXPATH("GXML","G2","//FIRST/SECOND")
     511 ;;>>?GXML(3)="<FIFTH>"
     512 ;;><INSINNER>
     513 ;;>>>K GXML,G2,GBL,G3
     514 ;;>>>D ZTEST^GPLXPATH("INITXML")
     515 ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD","G2")
     516 ;;>>>D INSINNER^GPLXPATH("GXML","G2","//FIRST/SECOND/THIRD")
     517 ;;>>?GXML(10)="<FIFTH>"
     518 ;;><INSINNER2>
     519 ;;>>>K GXML,G2,GBL,G3
     520 ;;>>>D ZTEST^GPLXPATH("INITXML")
     521 ;;>>>D QUERY^GPLXPATH("GXML","//FIRST/SECOND/THIRD","G2")
     522 ;;>>>D INSINNER^GPLXPATH("G2","G2")
     523 ;;>>?G2(8)="<FIFTH>"
     524 ;;></TEST>
Note: See TracChangeset for help on using the changeset viewer.