Ignore:
File:
1 edited

Legend:

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

    r30 r16  
    77        ; Select a patient for real.
    88        S DIC=2,DIC(0)="AEMQ" D ^DIC
    9         I Y<1 Q ; EXIT
    109        S DFN=$P(Y,U,1) ; SET THE PATIENT
    1110        N CCRGLO
     
    1312        S OARY=$NA(^TMP($J,DFN,"CCR",1))
    1413        S ONAM="PAT_"_DFN_"_CCR_V1.xml"
    15         S ODIR="/home/glilly/CCROUT"
     14        S ODIR="/home/wvehr1/EHR/CCR"
    1615        D OUTPUT^GPLXPATH(OARY,ONAM,ODIR)
    1716        Q
     
    2120        S TGLOBAL=$NA(^TMP($J,"TEMPLATE")) ; GLOBAL FOR STORING TEMPLATE
    2221        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 CCR
    2422        ; TO GET PART OF THE CCR RETURNED, PASS CCRPART="PROBLEMS" ETC
    2523        S CCRGRTN=$NA(^TMP($J,DFN,CCRPART)) ; RTN GLO NM OF PART OR ALL OF CCR
     
    2826        ;
    2927        ; DELETE THE BODY, ACTORS AND SIGNATURES SECTIONS FROM THE CCR GLOBAL
    30         ; THESE WILL BE POPULATED AFTER CALLS TO THE XPATH PROCESSING ROUTINES
     28        ; THESE WILL BE POPULATED WITH CALLS TO THE XPATH PROCESSING ROUTINES
    3129        D REPLACE^GPLXPATH(CCRGLO,"","//ContinuityOfCareRecord/Body")
    3230        D REPLACE^GPLXPATH(CCRGLO,"","//ContinuityOfCareRecord/Actors")
    3331        D REPLACE^GPLXPATH(CCRGLO,"","//ContinuityOfCareRecord/Signatures")
    34         I DEBUG F I=1:1:@CCRGLO@(0) W @CCRGLO@(I),!
     32        F I=1:1:@CCRGLO@(0) W @CCRGLO@(I),!
    3533        ;
    36         D CCRHDR(CCRGLO,DFN) ; MAP HEADER VARIABLES
    3734        S CCRXTAB="^TMP($J,""CCRSTEP"")" ; GLOBAL TO STORE CCR PROCESSING STEPS
    3835        D INITSTPS(CCRXTAB) ; INITIALIZED CCR PROCESSING STEPS
     
    5148        . X CALL
    5249        . ; NOW INSERT THE RESULTS IN THE CCR BUFFER
    53         . D INSERT^GPLXPATH(CCRGLO,OXML,"//ContinuityOfCareRecord/Body")
     50        . ; D INSERT^GPLXPATH(CCRGLO,OXML,"//ContinuityOfCareRecord/Body")
    5451        . 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)
    5660        Q
    5761        ;
     
    6367        Q
    6468         ;
    65 CCRHDR(CXML,DFN) ; MAP HEADER VARIABLES: FROM, TO ECT
    66         N VMAP S VMAP=$NA(^TMP($J,DFN,"HEADER"))
    67         ; K @VMAP
    68         S @VMAP@("ACTORPATIENT")="ACTORPATIENT_"_DFN
    69         S @VMAP@("ACTORFROM")="ACTORPROVIDER_"_DUZ ; FROM DUZ - ???
    70         S @VMAP@("ACTORFROM2")="ACTORPROVIDER_"_DUZ ; NEED A BETTER WAY
    71         S @VMAP@("ACTORTO")="ACTORPATIENT_"_DFN  ; FOR TEST PURPOSES,
    72         ; THIS IS THE USE CASE FOR THE PHR WHERE "TO" IS THE PATIENT
    73         N CTMP
    74         D MAP^GPLXPATH(CXML,VMAP,"CTMP")
    75         D CP^GPLXPATH("CTMP",CXML)
    76         Q
    77         ;
    78 ACTLST(AXML,ACTRTN) ; RETURN THE ACTOR LIST FOR THE XML IN AXML
    79         ; AXML AND ACTRTN ARE PASSED BY NAME
    80         N I,J,K
    81         K @ACTRTN ; CLEAR RETURN ARRAY
    82         F I=1:1:@AXML@(0) D  ; SCAN ALL LINES
    83         . I @AXML@(I)?.E1"<ActorID>".E D  ; THERE IS AN ACTOR ON THIS LINE
    84         . . S J=$P($P(@AXML@(I),"<ActorID>",2),"</ActorID>",1)
    85         . . W "<ActorID>=>",J,!
    86         . . S K(J)="" ; HASHING ACTOR TO GET RID OF MULTIPLES
    87         S I="" ; GOING TO $O THROUGH THE HASH
    88         F J=0:0 D  Q:$O(K(I))=""
    89         . S I=$O(K(I)) ; WALK THROUGH THE HASH OF ACTORS
    90         . D PUSH^GPLXPATH(ACTRTN,I) ; ADD THE ACTOR TO THE RETURN ARRAY
    91         Q
    92         ;
    9369TEST   ; 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
    9876      Q
    9977      ;
     
    11189      ;
    11290;;><TEST>
    113 ;;><PROBLEMS>
     91;;><INIT>
    11492;;>>>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 TCCR
    123 ;;>>>D CCRRPC^GPLCCR(.TCCR,"2","CCR")
    124 ;;>>>D ACTLST^GPLCCR("TCCR","ACTTEST")
    12593;;></TEST>
Note: See TracChangeset for help on using the changeset viewer.