Changeset 75 for ccr/trunk/p/GPLCCD.m
- Timestamp:
- Jul 26, 2008, 3:16:58 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ccr/trunk/p/GPLCCD.m
r74 r75 26 26 S DFN=$P(Y,U,1) ; SET THE PATIENT 27 27 ; N CCRGLO 28 D CC RRPC(.CCRGLO,DFN,"CCD","","","")28 D CCDRPC(.CCRGLO,DFN,"CCD","","","") 29 29 S OARY=$NA(^TMP("GPLCCR",$J,DFN,"CCD",1)) 30 30 S ONAM="PAT_"_DFN_"_CCD_V1.xml" … … 38 38 Q 39 39 ; 40 CC RRPC(CCRGRTN,DFN,CCRPART,TIME1,TIME2,HDRARY) ;RPC ENTRY POINT FOR CCR OUTPUT40 CCDRPC(CCRGRTN,DFN,CCRPART,TIME1,TIME2,HDRARY) ;RPC ENTRY POINT FOR CCR OUTPUT 41 41 ; CCRGRTN IS RETURN ARRAY PASSED BY NAME 42 42 ; DFN IS PATIENT IEN … … 48 48 ; HDRARY IS THE HEADER ARRAY DEFINING THE "FROM" AND 49 49 ; "TO" VARIABLES 50 ; IF NULL WILL DEFAULT TO "FROM" DUZAND "TO" DFN50 ; IF NULL WILL DEFAULT TO "FROM" ORGANIZATION AND "TO" DFN 51 51 S DEBUG=0 52 52 N CCD S CCD=0 ; FLAG FOR PROCESSING A CCD … … 61 61 E D LOAD^GPLCCR0(TGLOBAL) ; LOAD THE CCR TEMPLATE 62 62 D CP^GPLXPATH(TGLOBAL,CCRGLO) ; COPY THE TEMPLATE TO CCR GLOBAL 63 N CAPSAVE,CAPSAVE2 ; FOR HOLDING THE CCD ROOT LINES 63 64 S CAPSAVE=@TGLOBAL@(3) ; SAVE THE CCD ROOT 64 65 S CAPSAVE2=@TGLOBAL@(@TGLOBAL@(0)) ; SAVE LAST LINE OF CCD … … 75 76 I DEBUG F I=1:1:@CCRGLO@(0) W @CCRGLO@(I),! 76 77 ; 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) 78 91 ; 79 92 K ^TMP("GPLCCR",$J,"CCRSTEP") ; KILL GLOBAL PRIOR TO ADDING TO IT … … 99 112 . D INSERT^GPLXPATH(CCRGLO,OXML,"//ContinuityOfCareRecord/Body") 100 113 . 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") 105 119 N I,J,DONE S DONE=0 106 120 F I=0:0 D Q:DONE ; DELETE UNTIL ALL EMPTY ELEMENTS ARE GONE
Note:
See TracChangeset
for help on using the changeset viewer.