Changeset 75 for ccr/trunk/p/GPLCCD.m


Ignore:
Timestamp:
Jul 26, 2008, 3:16:58 PM (16 years ago)
Author:
George Lilly
Message:

second CCD commit

File:
1 edited

Legend:

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

    r74 r75  
    2626       S DFN=$P(Y,U,1) ; SET THE PATIENT
    2727       ; N CCRGLO
    28        D CCRRPC(.CCRGLO,DFN,"CCD","","","")
     28       D CCDRPC(.CCRGLO,DFN,"CCD","","","")
    2929       S OARY=$NA(^TMP("GPLCCR",$J,DFN,"CCD",1))
    3030       S ONAM="PAT_"_DFN_"_CCD_V1.xml"
     
    3838       Q
    3939       ;
    40 CCRRPC(CCRGRTN,DFN,CCRPART,TIME1,TIME2,HDRARY)  ;RPC ENTRY POINT FOR CCR OUTPUT
     40CCDRPC(CCRGRTN,DFN,CCRPART,TIME1,TIME2,HDRARY)  ;RPC ENTRY POINT FOR CCR OUTPUT
    4141    ; CCRGRTN IS RETURN ARRAY PASSED BY NAME
    4242    ; DFN IS PATIENT IEN
     
    4848    ; HDRARY IS THE HEADER ARRAY DEFINING THE "FROM" AND
    4949    ;    "TO" VARIABLES
    50     ;    IF NULL WILL DEFAULT TO "FROM" DUZ AND "TO" DFN
     50    ;    IF NULL WILL DEFAULT TO "FROM" ORGANIZATION AND "TO" DFN
    5151    S DEBUG=0
    5252    N CCD S CCD=0 ; FLAG FOR PROCESSING A CCD
     
    6161    E  D LOAD^GPLCCR0(TGLOBAL)  ; LOAD THE CCR TEMPLATE
    6262    D CP^GPLXPATH(TGLOBAL,CCRGLO) ; COPY THE TEMPLATE TO CCR GLOBAL
     63    N CAPSAVE,CAPSAVE2 ; FOR HOLDING THE CCD ROOT LINES
    6364    S CAPSAVE=@TGLOBAL@(3) ; SAVE THE CCD ROOT
    6465    S CAPSAVE2=@TGLOBAL@(@TGLOBAL@(0)) ; SAVE LAST LINE OF CCD
     
    7576    I DEBUG F I=1:1:@CCRGLO@(0) W @CCRGLO@(I),!
    7677    ;
    77     D HDRMAP(CCRGLO,DFN,HDRARY) ; MAP HEADER VARIABLES
     78    I 'CCD D HDRMAP(CCRGLO,DFN,HDRARY) ; MAP HEADER VARIABLES
     79    ; MAPPING THE PATIENT PORTION OF THE CDA HEADER
     80    S ZX="//ContinuityOfCareRecord/recordTarget/patientRole/patient"
     81    D QUERY^GPLXPATH(CCRGLO,ZX,"ACTT1")
     82    D PATIENT^GPLACTORS("ACTT1",DFN,"ACTORPATIENT_"_DFN,"ACTT2") ; MAP PATIENT
     83    D PARY^GPLXPATH("ACTT2")
     84    D REPLACE^GPLXPATH(CCRGLO,"ACTT2",ZX)
     85    D PARY^GPLXPATH(CCRGLO)
     86    K ACTT1 K ACCT2
     87    ; MAPPING THE PROVIDER ORGANIZATION,AUTHOR,INFORMANT,CUSTODIAN CDA HEADER
     88    ; FOR NOW, THEY ARE ALL THE SAME AND RESOLVE TO ORGANIZATION
     89    D ORG^GPLACTORS(CCRGLO,DFN,"ACTORPATIENTORGANIZATION","ACTT2") ; MAP ORG
     90    D CP^GPLXPATH("ACTT2",CCRGLO)
    7891    ;
    7992    K ^TMP("GPLCCR",$J,"CCRSTEP") ; KILL GLOBAL PRIOR TO ADDING TO IT
     
    99112    . D INSERT^GPLXPATH(CCRGLO,OXML,"//ContinuityOfCareRecord/Body")
    100113    . I DEBUG F GPLI=1:1:@OXML@(0) W @OXML@(GPLI),!
    101     D ACTLST^GPLCCR(CCRGLO,ACTGLO) ; GEN THE ACTOR LIST
    102     D QUERY^GPLXPATH(TGLOBAL,"//ContinuityOfCareRecord/Actors","ACTT")
    103     D EXTRACT^GPLACTORS("ACTT",ACTGLO,"ACTT2")
    104     D INSINNER^GPLXPATH(CCRGLO,"ACTT2","//ContinuityOfCareRecord/Actors")
     114    ; NEED TO ADD BACK IN ACTOR PROCESSING AFTER WE FIGURE OUT LINKAGE
     115    ; D ACTLST^GPLCCR(CCRGLO,ACTGLO) ; GEN THE ACTOR LIST
     116    ; D QUERY^GPLXPATH(TGLOBAL,"//ContinuityOfCareRecord/Actors","ACTT")
     117    ; D EXTRACT^GPLACTORS("ACTT",ACTGLO,"ACTT2")
     118    ; D INSINNER^GPLXPATH(CCRGLO,"ACTT2","//ContinuityOfCareRecord/Actors")
    105119    N I,J,DONE S DONE=0
    106120    F I=0:0 D  Q:DONE ; DELETE UNTIL ALL EMPTY ELEMENTS ARE GONE
Note: See TracChangeset for help on using the changeset viewer.