Index: r/trunk/proj_docs/C0C_1_0.txt
===================================================================
--- /ccr/trunk/proj_docs/C0C_1_0.txt	(revision 1551)
+++ 	(revision )
@@ -1,119 +1,0 @@
-CCR Package version 1.0
-
-The purpose of the CCR package is to provide support for exporting and eventually importing patient information from/to VistA in XML documents conforming to the Continuity of Care Record (CCR - ASTM) and Continuity of Care Document (CCD - HL7) standards.
-
-This version of the CCR package provides:
-
-EXPORT^C0CCCR
-A command line interface to export a single patient's CCR to a host directory by specifying the patient by name.
-
-EXPORT^C0CCCD
-A command line interface to export a single patient's CCD to a host directory by specifying the patient by name. As an alternative to generating the CCD directly, an XSLT transformation is available to translate a CCR into a level 2 CCD. This tranformation has been tested and produces a CCD with all currently supported sections of the CCR. The EXPORT^C0CCCD only extracts the PROBLEMS section into a CCD.
-
-XPAT^C0CCCR(DFN,OUTDIR,OUTFILE)
-A command line and program interface to export a single patient's CCR using the IEN of the patient in the ^DPT file (DFN).
-OUTDIR specifies an existing directory on the Host system into which the CCR XML document will be written. If OUTDIR is null (""), the output directory name will be taken from ^TMP("C0CCCR","ODIR").
-OUFILE specifies the host file name of the CCR XML document that will be written for this patient. If OUTFILE is null ("") the document name will default to PAT_x_CCR_V1.xml where x is the DFN of the patient.
-
-CCRRPC(CCRGRTN,DFN,CCRPARMS,CCRPART)
-An RPC and program interface to return in return array CCRGRTN (passed by reference) a single patient's CCR.
-DFN is the patient's IEN
-CCRPART is what portion of the CCR should be returned. If "CCR" is specified, the entire CCR will be returned. If "PROBLEMS", "VITALS", or "MEDICATIONS" is specified, only that section of the CCR will be returned.
-CCRPARMS ARE PARAMETERS THAT AFFECT THE EXTRACTION
-IN THE FORM "PARM1:VALUE1^PARM2:VALUE2"
-EXAMPLE: "LABLIMIT:T-60" TO LIMIT LAB EXTRACTION TO THE LAST 60 DAYS
-SEE C0CPARMS FOR A COMPLETE LIST OF SUPPORTED PARAMETERS
-
-ANALYZE^C0CRIMA(BGNDFN,DFNCNT,CCRPARMS)
-A command line and program interface to analyze the data from multiple patients into categories that can be batch extracted.
-BGNDFN is the beginning DFN to be analyzed. If BGNDFN is null ("") its value will be taken from ^TMP("C0CRIM","RESUME"). If this variable does not exist, the routine will start with the first IEN in the patient file ^DPT. ^TMP("C0CRIM","RESUME") is updated to the "next" patient to be analyzed on successful completion.
-DFNCNT is the count of how many patient records will be analyzed in this execution.
-For example ANALYZE^C0CRIMA(1000,1000) would start at patient DFN 1000 and analyzes 1000 patient records. ANALYZE^C0CRIMA("",1000) would then analyze the next 1000 patients. When the end of the patient file is reached, the routine terminates with a message that RESET^C0CRIMA would need to be called to restart the analysis.
-
-The categories into which the records are analyzed consist of attribute strings. The attributes represent characteristics of the variables that can be extracted for a given patient into the CCR or the CCD. This version supports the following attributes:
-VITALS : the patient has variables for the VITALS section of the CCR/CCD
-PROBLEMS : the patient has variables for the PROBLEMS section of the CCR/CCD
-MEDS : the patient has variables for the MEDICATIONS section of the CCR/CCD
-HEADER : the patient has variables for the HEADER section of the CCR/CCD. All patients are marked with the HEADER attribute in this version.
-NOTEXTRACTED : the CCR or CCD has not yet been produced/extracted for this patient. All patient records are marked with the NOTEXTRACTED attribute in this version for batch control processing (not implemented in this version).
-
-ANAZYZE^C0CRIMA calls the variable extraction routines that would be used to produce a CCR or a CCD and saves the results to ^TMP("C0CRIM",DFN) for each patient. In addition, the attribute string for each patient is saved in ^TMP("C0CRIM","ATTR")
-
-Categories are created as they first occur based on each unique combination of attributes that is encountered. They are named after the attribute table that is used for the analysis. This version supports only the attribute table .RIMTBL. and the categories are named "RIMTBL_x". An example set of categories from a demo systems is:
-
-GTM>D CLIST^C0CRIMA
-(RIMTBL_1:105) ^NOTEXTRACTED^HEADER^^^PROBLEMS^^^^^VITALS^^^^^MEDS
-(RIMTBL_2:596) ^NOTEXTRACTED^HEADER^^^^^^^^VITALS
-(RIMTBL_3:44) ^NOTEXTRACTED^HEADER^^^PROBLEMS^^^^^VITALS
-(RIMTBL_4:821) ^NOTEXTRACTED^HEADER
-(RIMTBL_5:18) ^NOTEXTRACTED^HEADER^^^^^^^^VITALS^^^^^MEDS
-(RIMTBL_6:14) ^NOTEXTRACTED^HEADER^^^PROBLEMS
-(RIMTBL_7:15) ^NOTEXTRACTED^HEADER^^^^^^^^^^^^^MEDS
-(RIMTBL_8:5) ^NOTEXTRACTED^HEADER^^^PROBLEMS^^^^^^^^^^MEDS
-
-for RIMTBL_1 in this example, 105 is the record count of patients who have this combination of attributes. The list of patients for each category is also maintained for batch extraction.
-
-CLIST^C0CRIMA
-A command line interface to show a summary of the categories, record counts, and attributes that have been analyzed so far. It produces the listing in the example above from information stored in ^TMP("C0CRIM","CATS","RIMTBL"). It is intended for future versions that attribute tables be supported in addition to the default "RIMTBL".
-
-CPAT^C0CRIMA(CPATCAT)
-A command line interface which shows the DFN numbers of the patients represented by the category CPATCAT. DFNs are listed 10 per line. For example:
-
-GTM>D CPAT^C0CRIMA("RIMTBL_1")
-1 3 8 25 42 69 123 140 146 149
-151 168 204 205 217 218 224 228 229 231
-236 237 240 253 260 267 271 301 347 350
-366 379 384 391 407 418 419 420 428 433
-442 520 569 600 620 692 706 715 722 723
-724 728 730 744 745 746 747 748 749 750
-751 752 753 754 755 756 757 758 759 760
-761 762 763 764 765 766 767 768 769 770
-771 772 773 774 775 776 777 778 779 780
-100000 100001 100002 100003 100004 100005 100006 100007 100008 100009
-100010 100011 100012 100013 100014
-
-These are the 105 patient records included in category "RIMTBL_1" from the above example.
-
-DPATV^C0CRIMA(DFN,"SECTION")
-A command line interface to display the values of variables for a patient. "SECTION" can be any of the CCR sections. ie "ALERTS","RESULTS","MEDS". If SECTION is ommitted, all sections will be shown. An example:
-
-GTM>D DPATV^C0CRIMA(2,"PROBLEMS")
-1 1^PROBLEMCODEVALUE^V18.0
-2 1^PROBLEMCODINGVERSION^
-3 1^PROBLEMCONDITION^P
-4 1^PROBLEMDATEMOD^2005-07-19T00:00:00-05:00
-5 1^PROBLEMDATEOFONSET^1700--T00:00:00-05:00
-6 1^PROBLEMDESCRIPTION^Family History of Diabetes Mellitus (ICD-9-CM V18.0)
-7 1^PROBLEMDTREC^1701--T00:00:00-05:00
-8 1^PROBLEMHASCMT^
-9 1^PROBLEMIEN^8
-10 1^PROBLEMINACT^1700--T00:00:00-05:00
-
-DCCR^C0CCCR(DFN)
-This will display the XML of a CCR that has been generated for a patient. It is run after generating the CCR with XPAT^C0CCCR or XCPAT^C0CRIMA.
-
-XCPAT^C0CRIMA(CPATCAT)
-A command line interface to extract a batch of patient CCR documents that are associated with the category CPATCAT. For example,
-
-XCPAT^C0CRIMA("RIMTBL_1") to extract the CCR documents for the 105 patients in the above example.
-
-RESET^C0CRIMA
-A command line interface to kill all ANALYZE^C0CRIMA results stored so far so that the analysis can be done again. It kills ^TMP("C0CRIM","RESUME") and all extraction variables that have been saved in ^TMP("C0CRIM")
-
-NOTES:
-This version of the package is a prototype, and does not yet make use of the standard VistA features that are appropriate for it to use.
-
-^TMP("C0CCCR","ODIR") must be set manually to the output directory on the Host System. It is intended that this be maintainable in a parameter file.
-
-CCRRPC^C0CCCR and CCDRPC^C0CCCD are intended to be RPC interfaces to the package but there is no entry for them in the RPC table and the RPC method of access has not been tested.
-
-Most of the command line interface functions in the package are intended to also be made available as RPC calls. This will provide the ability to invoke and control batch extraction and analysis via RPCs
-
-The "RIM" variables and attributes that are now being stored in ^TMP("C0CRIM") are intended to be maintained in a standard FILEMAN global, and to take advantage of FILEMAN indexing for efficient batch analysis and processing.
-
-It is intended that menu interfaces be provided in addition to command line interfaces for all package functions.
-
-
-
-
-
Index: r/trunk/proj_docs/C0C_1_1_0_T7.TXT
===================================================================
--- /ccr/trunk/proj_docs/C0C_1_1_0_T7.TXT	(revision 1551)
+++ 	(revision )
@@ -1,15 +1,0 @@
-=============================================================================
-Designation: C0C_1_1_0_T7.KID
-Package    : CCR
-Version    : 0.7
-Status     : Released
-Date       : Jan 09, 2012
-=============================================================================
-
-Purpose:-
-
-	Date range for all the modules and include notes or not? these values are coming from C0C PARAMETER file as a input values.
-
-Details:-
-	All C0C*.m routines are included.
-	C0C PARAMETER file is also included.
Index: /ccr/trunk/proj_docs/INSTALL.txt
===================================================================
--- /ccr/trunk/proj_docs/INSTALL.txt	(revision 1552)
+++ /ccr/trunk/proj_docs/INSTALL.txt	(revision 1552)
@@ -0,0 +1,1090 @@
+These are install instructions for the CCD/CCR GENERATATION UTILTIES package.
+
+Before you install, you must install the pre-requisites.
+
+NHIN 1.0
+NHIN*1.0*1
+
+They can be found at the VA VISTA FOIA site. For convenience, here are the URLs.
+
+https://downloads.va.gov/files/FOIA/Software/Patches_By_Application/NHIN-National%20Health%20Info%20Network/NHIN1_0.KID
+https://downloads.va.gov/files/FOIA/Software/Patches_By_Application/NHIN-National%20Health%20Info%20Network/NHIN-1_SEQ-1_PAT-1.KID
+
+These URLs are subject to change.
+
+Download the KIDS file to an easily accessible directory.
+https://trac.opensourcevista.net/svn/ccr/tags/CCD-CCR_GENERATION_UTILITIES_1P2/CCD-CCR_GENERATION_UTILITIES_1P2.KID
+
+Run as a user with XUPROG key, enter the KIDS menu (XPD MAIN MENU) and choose
+the installation menu. Choose option 1 to load and option 6 to install. Run
+options 2, 3, 4, and 5 if you need to.
+
+When running the installation, you will see this error:
+
+'''
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+'''
+
+This error is known and will be resovled with a future release. It's only an
+install time error and will not affect the operation of the package. It can
+be safely ignored.
+
+Here is a transcript of the installation.
+
+Select Installation Option: 1  Load a Distribution
+Enter a Host File: CCD-CCR_GENERATION_UTILITIES_1P2.KID
+
+KIDS Distribution saved on Jun 25, 2012@10:01:50
+Comment: Changed name to full Package Name rather than nmsp
+
+This Distribution contains Transport Globals for the following Package(s):
+   CCD/CCR GENERATION UTILITIES 1.2
+Distribution OK!
+
+Want to Continue with Load? YES// 
+Loading Distribution...
+
+Build CCD/CCR GENERATION UTILITIES 1.2 has an Enviromental Check Routine
+Want to RUN the Environment Check Routine? YES// 
+   CCD/CCR GENERATION UTILITIES 1.2
+Will first run the Environment Check Routine, C0CENV
+
+ 
+                        --- Environment Check is Ok ---                         
+Use INSTALL NAME: CCD/CCR GENERATION UTILITIES 1.2 to install this Distribution.
+
+
+Select Installation Option: 6  Install Package(s)
+Select INSTALL NAME:    CCD/CCR GENERATION UTILITIES 1.2     Loaded from Distrib
+ution     Loaded from Distribution  10/2/12@11:25:29
+     => Changed name to full Package Name rather than nmsp  ;Created on Jun 25
+
+This Distribution was loaded on Oct 02, 2012@11:25:29 with header of 
+   Changed name to full Package Name rather than nmsp  ;Created on Jun 25, 2012@
+10:01:50
+   It consisted of the following Install(s):
+CCD/CCR GENERATION UTILITIES 1.2
+
+   Checking CCD/CCR GENERATION UTILITIES 1.2 for overlap with VOE 1.0 .... OK
+            No overlap found
+
+
+   Checking CCD/CCR GENERATION UTILITIES 1.2 for overlap with VOE 1.1 .... OK
+            No overlap found
+
+
+   Checking CCD/CCR GENERATION UTILITIES 1.2 for overlap with NO HOME 1.0 .... O
+K
+            No overlap found
+
+Checking Install for Package CCD/CCR GENERATION UTILITIES 1.2
+Will first run the Environment Check Routine, C0CENV
+
+ 
+                        --- Environment Check is Ok ---                         
+
+Install Questions for CCD/CCR GENERATION UTILITIES 1.2
+
+Incoming Files:
+
+
+   170       CCR DICTIONARY  (including data)
+
+
+   170.101   CCR NODE TYPE  (including data)
+
+
+   170.9     C0C PARAMETERS  (including data)
+
+
+   171.101   CCR E2
+
+
+   171.401   CCR SOURCE
+
+
+   175       C0C INCOMING XML
+
+
+   176.112   C0C RXNORM VUID EXPANSION  (including data)
+
+
+   177.101   CCR PATIENT SUBSCRIPTIONS
+
+
+   177.201   CCR SUBSCRIBERS  (including data)
+
+
+   177.301   C0C BATCH CONTROL
+
+
+   178.101   C0C XDS PROTOTYPE  (including data)
+
+
+   178.301   C0C XML MISC  (including data)
+
+Want KIDS to Rebuild Menu Trees Upon Completion of Install? NO// 
+
+
+Want KIDS to INHIBIT LOGONs during the install? NO// 
+Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO// 
+
+Enter the Device you want to print the Install messages.
+You can queue the install by enter a 'Q' at the device prompt.
+Enter a '^' to abort the install.
+
+DEVICE: HOME// phome  HOME PRINTER
+
+ 
+ Install Started for CCD/CCR GENERATION UTILITIES 1.2 : 
+               Oct 02, 2012@11:25:45
+ 
+Build Distribution Date: Jun 25, 2012
+ 
+ Installing Routines:...........................................................
+.....................
+               Oct 02, 2012@11:25:47
+ 
+ Running Pre-Install Routine: PRE^C0CENV.
+ 
+                         No action need for pre-install                         
+ 
+ Installing Data Dictionaries: .............
+               Oct 02, 2012@11:25:47
+ 
+ Installing Data: 
+ 
+** ERROR IN DATA FOR FILE # 170 **
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+
+The input parameter that identifies the RECORD is missing or invalid.
+
+The entry does not exist.
+               Oct 02, 2012@11:26:19
+ 
+ Installing PACKAGE COMPONENTS: 
+ 
+ Installing REMOTE PROCEDURE..
+ 
+ Installing OPTION...........
+               Oct 02, 2012@11:26:19
+ 
+ Running Post-Install Routine: POST^C0CENV.
+ 
+ Updating Routine file......
+ 
+ Updating KIDS files.......
+ 
+ CCD/CCR GENERATION UTILITIES 1.2 Installed. 
+               Oct 02, 2012@11:26:20
+ 
+ NO Install Message sent 
+
Index: /ccr/trunk/proj_docs/README.txt
===================================================================
--- /ccr/trunk/proj_docs/README.txt	(revision 1552)
+++ /ccr/trunk/proj_docs/README.txt	(revision 1552)
@@ -0,0 +1,114 @@
+CCR Package version 1.2
+
+The purpose of the CCR package is to provide support for exporting and eventually importing patient information from/to VistA in XML documents conforming to the Continuity of Care Record (CCR - ASTM) and Continuity of Care Document (CCD - HL7) standards.
+
+This version of the CCR package provides:
+
+EXPORT^C0CCCR
+A command line interface to export a single patient's CCR to a host directory by specifying the patient by name.
+
+EXPORT^C0CCCD
+A command line interface to export a single patient's CCD to a host directory by specifying the patient by name. As an alternative to generating the CCD directly, an XSLT transformation is available to translate a CCR into a level 2 CCD. This tranformation has been tested and produces a CCD with all currently supported sections of the CCR. The EXPORT^C0CCCD only extracts the PROBLEMS section into a CCD.
+
+XPAT^C0CCCR(DFN,OUTDIR,OUTFILE)
+A command line and program interface to export a single patient's CCR using the IEN of the patient in the ^DPT file (DFN).
+OUTDIR specifies an existing directory on the Host system into which the CCR XML document will be written. If OUTDIR is null (""), the output directory name will be taken from ^TMP("C0CCCR","ODIR").
+OUFILE specifies the host file name of the CCR XML document that will be written for this patient. If OUTFILE is null ("") the document name will default to PAT_x_CCR_V1.xml where x is the DFN of the patient.
+
+CCRRPC(CCRGRTN,DFN,CCRPARMS,CCRPART)
+An RPC and program interface to return in return array CCRGRTN (passed by reference) a single patient's CCR.
+DFN is the patient's IEN
+CCRPART is what portion of the CCR should be returned. If "CCR" is specified, the entire CCR will be returned. If "PROBLEMS", "VITALS", or "MEDICATIONS" is specified, only that section of the CCR will be returned.
+CCRPARMS ARE PARAMETERS THAT AFFECT THE EXTRACTION
+IN THE FORM "PARM1:VALUE1^PARM2:VALUE2"
+EXAMPLE: "LABLIMIT:T-60" TO LIMIT LAB EXTRACTION TO THE LAST 60 DAYS
+SEE C0CPARMS FOR A COMPLETE LIST OF SUPPORTED PARAMETERS
+
+ANALYZE^C0CRIMA(BGNDFN,DFNCNT,CCRPARMS)
+A command line and program interface to analyze the data from multiple patients into categories that can be batch extracted.
+BGNDFN is the beginning DFN to be analyzed. If BGNDFN is null ("") its value will be taken from ^TMP("C0CRIM","RESUME"). If this variable does not exist, the routine will start with the first IEN in the patient file ^DPT. ^TMP("C0CRIM","RESUME") is updated to the "next" patient to be analyzed on successful completion.
+DFNCNT is the count of how many patient records will be analyzed in this execution.
+For example ANALYZE^C0CRIMA(1000,1000) would start at patient DFN 1000 and analyzes 1000 patient records. ANALYZE^C0CRIMA("",1000) would then analyze the next 1000 patients. When the end of the patient file is reached, the routine terminates with a message that RESET^C0CRIMA would need to be called to restart the analysis.
+
+The categories into which the records are analyzed consist of attribute strings. The attributes represent characteristics of the variables that can be extracted for a given patient into the CCR or the CCD. This version supports the following attributes:
+VITALS : the patient has variables for the VITALS section of the CCR/CCD
+PROBLEMS : the patient has variables for the PROBLEMS section of the CCR/CCD
+MEDS : the patient has variables for the MEDICATIONS section of the CCR/CCD
+HEADER : the patient has variables for the HEADER section of the CCR/CCD. All patients are marked with the HEADER attribute in this version.
+NOTEXTRACTED : the CCR or CCD has not yet been produced/extracted for this patient. All patient records are marked with the NOTEXTRACTED attribute in this version for batch control processing (not implemented in this version).
+
+ANAZYZE^C0CRIMA calls the variable extraction routines that would be used to produce a CCR or a CCD and saves the results to ^TMP("C0CRIM",DFN) for each patient. In addition, the attribute string for each patient is saved in ^TMP("C0CRIM","ATTR")
+
+Categories are created as they first occur based on each unique combination of attributes that is encountered. They are named after the attribute table that is used for the analysis. This version supports only the attribute table .RIMTBL. and the categories are named "RIMTBL_x". An example set of categories from a demo systems is:
+
+GTM>D CLIST^C0CRIMA
+(RIMTBL_1:105) ^NOTEXTRACTED^HEADER^^^PROBLEMS^^^^^VITALS^^^^^MEDS
+(RIMTBL_2:596) ^NOTEXTRACTED^HEADER^^^^^^^^VITALS
+(RIMTBL_3:44) ^NOTEXTRACTED^HEADER^^^PROBLEMS^^^^^VITALS
+(RIMTBL_4:821) ^NOTEXTRACTED^HEADER
+(RIMTBL_5:18) ^NOTEXTRACTED^HEADER^^^^^^^^VITALS^^^^^MEDS
+(RIMTBL_6:14) ^NOTEXTRACTED^HEADER^^^PROBLEMS
+(RIMTBL_7:15) ^NOTEXTRACTED^HEADER^^^^^^^^^^^^^MEDS
+(RIMTBL_8:5) ^NOTEXTRACTED^HEADER^^^PROBLEMS^^^^^^^^^^MEDS
+
+for RIMTBL_1 in this example, 105 is the record count of patients who have this combination of attributes. The list of patients for each category is also maintained for batch extraction.
+
+CLIST^C0CRIMA
+A command line interface to show a summary of the categories, record counts, and attributes that have been analyzed so far. It produces the listing in the example above from information stored in ^TMP("C0CRIM","CATS","RIMTBL"). It is intended for future versions that attribute tables be supported in addition to the default "RIMTBL".
+
+CPAT^C0CRIMA(CPATCAT)
+A command line interface which shows the DFN numbers of the patients represented by the category CPATCAT. DFNs are listed 10 per line. For example:
+
+GTM>D CPAT^C0CRIMA("RIMTBL_1")
+1 3 8 25 42 69 123 140 146 149
+151 168 204 205 217 218 224 228 229 231
+236 237 240 253 260 267 271 301 347 350
+366 379 384 391 407 418 419 420 428 433
+442 520 569 600 620 692 706 715 722 723
+724 728 730 744 745 746 747 748 749 750
+751 752 753 754 755 756 757 758 759 760
+761 762 763 764 765 766 767 768 769 770
+771 772 773 774 775 776 777 778 779 780
+100000 100001 100002 100003 100004 100005 100006 100007 100008 100009
+100010 100011 100012 100013 100014
+
+These are the 105 patient records included in category "RIMTBL_1" from the above example.
+
+DPATV^C0CRIMA(DFN,"SECTION")
+A command line interface to display the values of variables for a patient. "SECTION" can be any of the CCR sections. ie "ALERTS","RESULTS","MEDS". If SECTION is ommitted, all sections will be shown. An example:
+
+GTM>D DPATV^C0CRIMA(2,"PROBLEMS")
+1 1^PROBLEMCODEVALUE^V18.0
+2 1^PROBLEMCODINGVERSION^
+3 1^PROBLEMCONDITION^P
+4 1^PROBLEMDATEMOD^2005-07-19T00:00:00-05:00
+5 1^PROBLEMDATEOFONSET^1700--T00:00:00-05:00
+6 1^PROBLEMDESCRIPTION^Family History of Diabetes Mellitus (ICD-9-CM V18.0)
+7 1^PROBLEMDTREC^1701--T00:00:00-05:00
+8 1^PROBLEMHASCMT^
+9 1^PROBLEMIEN^8
+10 1^PROBLEMINACT^1700--T00:00:00-05:00
+
+DCCR^C0CCCR(DFN)
+This will display the XML of a CCR that has been generated for a patient. It is run after generating the CCR with XPAT^C0CCCR or XCPAT^C0CRIMA.
+
+XCPAT^C0CRIMA(CPATCAT)
+A command line interface to extract a batch of patient CCR documents that are associated with the category CPATCAT. For example,
+
+XCPAT^C0CRIMA("RIMTBL_1") to extract the CCR documents for the 105 patients in the above example.
+
+RESET^C0CRIMA
+A command line interface to kill all ANALYZE^C0CRIMA results stored so far so that the analysis can be done again. It kills ^TMP("C0CRIM","RESUME") and all extraction variables that have been saved in ^TMP("C0CRIM")
+
+NOTES:
+This version of the package is a prototype, and does not yet make use of the standard VistA features that are appropriate for it to use.
+
+^TMP("C0CCCR","ODIR") must be set manually to the output directory on the Host System. It is intended that this be maintainable in a parameter file.
+
+CCRRPC^C0CCCR and CCDRPC^C0CCCD are intended to be RPC interfaces to the package but there is no entry for them in the RPC table and the RPC method of access has not been tested.
+
+Most of the command line interface functions in the package are intended to also be made available as RPC calls. This will provide the ability to invoke and control batch extraction and analysis via RPCs
+
+The "RIM" variables and attributes that are now being stored in ^TMP("C0CRIM") are intended to be maintained in a standard FILEMAN global, and to take advantage of FILEMAN indexing for efficient batch analysis and processing.
+
+It is intended that menu interfaces be provided in addition to command line interfaces for all package functions.
Index: r/trunk/proj_docs/proj_plan
===================================================================
--- /ccr/trunk/proj_docs/proj_plan	(revision 1551)
+++ 	(revision )
@@ -1,93 +1,0 @@
-
- Everybody,
-
- We have been spending a lot of time discussing strategies on how we
- are going to proceed about this project. Initially, we were going to
- produce a CCD, and we didn't have quite a plan on how we are going to
- extract the data except as piecemeal. With the advent of the U of Minn
- on the project, and with Emory's discussions, we are going to extract
- a CCR (and I am infinitely happy; the CCD spec belongs to the garbage
- can; I willingly send my abominations to the HL7 committee), and we
- are going to use Mumps Routines called by CPRS for most of the data
- extraction.
-
- There has been a lot of bantering around, and I wish for us to settle
- this by deciding a general strategy and the steps needed to produce
- it, as well as a timeline and expected deliverables. May I propose
- that the initial CCR be generated completely from Mumps without us
- having to do any GUI programming. Why? At this point we have not even
- defined the requirements that any of the steps are going to satisfy
- (at least that is the way it seems to me); developing the stuff in
- Mumps will at least help us define the requirements; plus, it is
- always my belief in anything Vista that the functionality must be
- available using the roll-and-scroll interface. Does that mean we don't
- need Java programmers? Absolutely not! I would like them to work in
- tandem with the Mumps development process to produce the GUI.
-
- Here is my plan, sketched on the plane...
- 0. Read the CCR Spec from beginning to end
- 1. Enumerate the sections of the CCR, defining what data is needed for
- each section. (This step is almost done for us by the spec.)
- 2. Define the needs of the end user on how they are to use the CCR
- functionality (this is very important and has not been done)
- 3. Define a Mumps strategy on how to extract the data (more on that below)
- 5. Define where the data is going to be extracted from (this is being
- carried out by George right now)
- 6. Document Data Output from M/CPRS (RPC's etc.)
- 7. Match data from CPRS with CCR sections
- 8. Define routines that need to be written/modified in order to allow
- us to fill in the missing info for CCR that's not in CPRS (e.g. LOINC
- codes for Labs; they are not in the RPC)
- 9. Write the M code to extract the data from each of the sections
- 10. Write a Mumps XML Writer
- 11. Write the CCR writer that utilizes the XML Writer for output
- 12. Write the CCR user interface that does the user interaction,
- initially in MUMPS, then in a GUI.
- 13. Write a CCR viewer, initially in Mumps, then in a GUI.
-
- I am most concerned with step #2. We need to do mock-ups and present
- them for ideas.
-
- Deliverables (#'s refer to above):
- 1. Spreadsheet
- 2. Needs document; roll-and-scroll and GUI mock-ups.
- 3. Document
- 5. Document
- 6. Series of Documents for each RPC
- 7. Spreadsheet from #1, modified
- 8. Document; work assignments for completion
- 9. Working Code - unit tested
- 10. Working Code
- 11. Working Code
- 12. Working Code
- 13. Working Code
-
- Each of the steps may take a loooooooooong time... Witness George's
- analysis of the RPCs. We need to take advantage as much as possible of
- parallelism; while George is analyzing the RPCs, somebody can be
- writing the Mumps XML output routine, and others can be defining user
- needs, and others can be constructing CCR/Vista data spreadsheets.
-
- The other thing I thought about is how are we going to write the Mumps
- Routines to extract the data. This is all tenative:
- 0. CCRCOMP () - Routine to ask user about patient, purpose of CCR,
- receipient, transmission method, sections, date range
- 1. CCRPROC (DFN, ARRAY1, DUZ, DOCTYPE, BEGDATE, ENDDATE) - Routine to
- process CCRCOMP choices that calls the next routine
- 2. CCRSECTIONS - Outputs data into
- ^TMP($J,"CCR",Section,Name,Value,SubValues,ActorID)
- a. Demograhics (DFN)
- b. Purpose
- c. Payers (DFN, DT)
- d. Meds (DFN, DT1, DT2, DetailFlag)
- e. Labs (DFN, DT1, DT2, DetailFlag) etc etc.
- 3. MXMLWRIT (Name, ATTRIBUTE array, Value) - Writes XML from Mumps
- 4. CCRWRITE (^TMP array) - Write data from ^TMP to the file system
- using MXMLWRIT
-
- --
- Sam
-
- PS: George has been kind enough to host me at his NY apartment for
- hammering out the details of our implementation and show me his
- progress thus far.
