Index: ccr/trunk/p/C0CDIC.m
===================================================================
--- ccr/trunk/p/C0CDIC.m	(revision 653)
+++ ccr/trunk/p/C0CDIC.m	(revision 662)
@@ -20,4 +20,23 @@
  W "This is the CCR Dictionary Utility Library ",!
  W !
+ Q
+ ;
+DIC2CSV ;OUTPUT THE CCR DICTIONARY TO A CSV FILE
+ ;
+ N ZI
+ S ZI=""
+ S G1=$NA(^TMP($J,"C0CCSV",1))
+ S G1A=$NA(@G1@("V"))
+ S G2=$NA(^TMP($J,"C0CCSV",2))
+ D GETN2^C0CRNF(G1,170) ; GET THE MATRIX
+ F  S ZI=$O(@G1A@(ZI)) Q:ZI=""  D  ;FOR EACH ROW IN THE MATRIX
+ . I $G(@G1A@(ZI,"MAPPING METHOD",1))'="" D  ;
+ . . W @G1A@(ZI,"MAPPING METHOD",1),!
+ . . ;K @G1A@(ZI,"MAPPING METHOD")
+ . ;W !,ZI,$G(@G1A@(ZI,"MAPPING METHOD",1))
+ D RNF2CSV^C0CRNF(G2,G1,"VN") ; PREPARE THE CVS FILE
+ K @G1
+ D FILEOUT^C0CRNF(G2,"FILE_"_170_".csv")
+ K @G2
  Q
  ;
Index: ccr/trunk/p/C0CRNF.m
===================================================================
--- ccr/trunk/p/C0CRNF.m	(revision 653)
+++ ccr/trunk/p/C0CRNF.m	(revision 662)
@@ -260,5 +260,5 @@
  . S RNX=RNX_RNI_"," ;ADD THE COLUMM ELEMENT AND A COMMA
  S RNX=$E(RNX,1,$L(RNX)-1) ; STRIP OFF THE LAST COMMA
- D PUSH^GPLXPATH(RNRTN,RNX) ; FIRST LINE CONTAINS COLUMN HEADINGS
+ D PUSH^C0CXPATH(RNRTN,RNX) ; FIRST LINE CONTAINS COLUMN HEADINGS
  S RNI=""
  F  S RNI=$O(@RNR@(RNI)) Q:RNI=""  D  ; FOR EACH ROW
@@ -270,5 +270,5 @@
  . . E  S RNX=RNX_"," ; NUL COLUMN
  . S RNX=$E(RNX,1,$L(RNX)-1) ; STRIP OFF THE LAST COMMA
- . D PUSH^GPLXPATH(RNRTN,RNX)
+ . D PUSH^C0CXPATH(RNRTN,RNX)
  Q
  ;
@@ -282,5 +282,5 @@
  . S RNX=RNX_RNI_"," ;ADD THE COLUMM ELEMENT AND A COMMA
  S RNX=$E(RNX,1,$L(RNX)-1) ; STRIP OFF THE LAST COMMA
- D PUSH^GPLXPATH(RNRTN,RNX) ; FIRST LINE CONTAINS COLUMN HEADINGS
+ D PUSH^C0CXPATH(RNRTN,RNX) ; FIRST LINE CONTAINS COLUMN HEADINGS
  S RNI=""
  F  S RNI=$O(@RNR@(RNI)) Q:RNI=""  D  ; FOR EACH ROW
@@ -292,5 +292,5 @@
  . . E  S RNX=RNX_"," ; NUL COLUMN
  . S RNX=$E(RNX,1,$L(RNX)-1) ; STRIP OFF THE LAST COMMA
- . D PUSH^GPLXPATH(RNRTN,RNX)
+ . D PUSH^C0CXPATH(RNRTN,RNX)
  Q
  ;
@@ -314,5 +314,5 @@
 FILEOUT(FOARY,FONAM)	; WRITE OUT A FILE
  ;
- W $$OUTPUT^GPLXPATH($NA(@FOARY@(1)),FONAM,^TMP("GPLCCR","ODIR"))
+ W $$OUTPUT^C0CXPATH($NA(@FOARY@(1)),FONAM,^TMP("GPLCCR","ODIR"))
  Q
  ;
@@ -334,4 +334,45 @@
  . W "    text"_LN_": "_TXT(LN),!
  . Q
+ Q
+ ;
+RNF2HNV(ZOUT,ZIN) ;RETURN AN HTML TABLE IN ZOUT, PASSED BY NAME
+ ; OF ZIN, WHICH IS PASSED BY NAME AND IS IN RNF2 FORMAT
+ ; ZOUT IS NOT INITIALIZED, SO THE TABLE WILL GO AT THE END
+ ; THE TABLE WILL BE IN NV FORMAT, ROWS ARE NAMES COLUMNS ARE VALUES 
+ D PUSH^C0CXPATH(ZOUT,"<table>")
+ N ZI,ZJ,ZV,ZN S ZI="" S ZJ=0
+ D PUSH^C0CXPATH(ZOUT,"<tr><td></td>") ;begin row and leave a blank col
+ F  S ZJ=$O(@ZIN@("V",ZJ)) Q:+ZJ=0  D  ; FOR EACH OCCURANCE
+ . S ZV="<td>"_ZJ_"</td>" ; OCCURANCE AS COLUMNS HEADER
+ D PUSH^C0CXPATH(ZOUT,"</tr>") ;end of first row
+ F  S ZI=$O(@ZIN@("F",ZI)) Q:ZI=""  D  ; FOR EACH VARIABLE
+ . S ZN="<tr><td>"_ZI_"</td>" ; VARIABLE NAME IN FIRST COLUMN
+ . S ZJ=0 ;RESET TO DO IT AGAIN
+ . F  S ZJ=$O(@ZIN@("V",ZJ)) Q:+ZJ=0  D  ; FOR EACH OCCURANCE
+ . . S ZV="<td>"_$G(@ZIN@("V",ZJ,ZI,1))_"</td>"
+ . . D PUSH^C0CXPATH(ZOUT,ZV)
+ . D PUSH^C0CXPATH(ZOUT,"</tr>") ;END OF ROW
+ D PUSH^C0CXPATH(ZOUT,"</table>") ; end of table
+ Q
+ ;
+RNF2HVN(ZOUT,ZIN) ;RETURN AN HTML TABLE IN ZOUT, PASSED BY NAME
+ ; OF ZIN, WHICH IS PASSED BY NAME AND IS IN RNF2 FORMAT
+ ; ZOUT IS NOT INITIALIZED, SO THE TABLE WILL GO AT THE END
+ ; THE TABLE WILL BE IN VN FORMAT, ROWS ARE VALUES COLUMNS ARE NAMES 
+ D PUSH^C0CXPATH(ZOUT,"<table>")
+ N ZI,ZJ S ZI="" S ZJ=0
+ D PUSH^C0CXPATH(ZOUT,"<tr>") ;new row for column headers
+ F  S ZI=$O(@ZIN@("F",ZI)) Q:ZI=""  D  ; FOR EACH VARIABLE
+ . S ZV="<td>"_ZI_"</td>"
+ . D PUSH^C0CXPATH(ZOUT,ZV) ; name
+ D PUSH^C0CXPATH(ZOUT,"</tr>") ; end header row
+ S ZI="" ;RESET TO DO AGAIN
+ F  S ZJ=$O(@ZIN@("V",ZJ)) Q:+ZJ=0  D  ; FOR EACH ROW OF VARIABLES
+ . D PUSH^C0CXPATH(ZOUT,"<tr>") ;begin row
+ . F  S ZI=$O(@ZIN@("F",ZI)) Q:ZI=""  D  ; FOR EACH VARIABLE
+ . . S ZV="<td>"_$G(@ZIN@("V",ZJ,ZI,1))_"</td>" ; value
+ . . D PUSH^C0CXPATH(ZOUT,ZV) ; value
+ . D PUSH^C0CXPATH(ZOUT,"</tr>") ; end header
+ D PUSH^C0CXPATH(ZOUT,"</table>") ;end of table
  Q
  ;
