source: ccr/trunk/p/C0C_1_0.txt@ 744

Last change on this file since 744 was 593, checked in by Sam Habiel, 15 years ago

updated RPMS Meds...; still working on RxNorm

File size: 8.3 KB
RevLine 
[401]1CCR Package version 1.0
2
3The 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.
4
5This version of the CCR package provides:
6
7EXPORT^C0CCCR
8A command line interface to export a single patient's CCR to a host directory by specifying the patient by name.
9
10EXPORT^C0CCCD
[403]11A 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.
[401]12
13XPAT^C0CCCR(DFN,OUTDIR,OUTFILE)
14A command line and program interface to export a single patient's CCR using the IEN of the patient in the ^DPT file (DFN).
15OUTDIR 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").
16OUFILE 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.
17
[437]18CCRRPC(CCRGRTN,DFN,CCRPARMS,CCRPART)
[401]19An RPC and program interface to return in return array CCRGRTN (passed by reference) a single patient's CCR.
20DFN is the patient's IEN
21CCRPART 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.
[437]22CCRPARMS ARE PARAMETERS THAT AFFECT THE EXTRACTION
23IN THE FORM "PARM1:VALUE1^PARM2:VALUE2"
24EXAMPLE: "LABLIMIT:T-60" TO LIMIT LAB EXTRACTION TO THE LAST 60 DAYS
25SEE C0CPARMS FOR A COMPLETE LIST OF SUPPORTED PARAMETERS
[401]26
[437]27ANALYZE^C0CRIMA(BGNDFN,DFNCNT,CCRPARMS)
[401]28A command line and program interface to analyze the data from multiple patients into categories that can be batch extracted.
29BGNDFN 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.
30DFNCNT is the count of how many patient records will be analyzed in this execution.
31For 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.
32
33The 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:
34VITALS : the patient has variables for the VITALS section of the CCR/CCD
35PROBLEMS : the patient has variables for the PROBLEMS section of the CCR/CCD
36MEDS : the patient has variables for the MEDICATIONS section of the CCR/CCD
37HEADER : the patient has variables for the HEADER section of the CCR/CCD. All patients are marked with the HEADER attribute in this version.
38NOTEXTRACTED : 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).
39
40ANAZYZE^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")
41
42Categories 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:
43
44GTM>D CLIST^C0CRIMA
45(RIMTBL_1:105) ^NOTEXTRACTED^HEADER^^^PROBLEMS^^^^^VITALS^^^^^MEDS
46(RIMTBL_2:596) ^NOTEXTRACTED^HEADER^^^^^^^^VITALS
47(RIMTBL_3:44) ^NOTEXTRACTED^HEADER^^^PROBLEMS^^^^^VITALS
48(RIMTBL_4:821) ^NOTEXTRACTED^HEADER
49(RIMTBL_5:18) ^NOTEXTRACTED^HEADER^^^^^^^^VITALS^^^^^MEDS
50(RIMTBL_6:14) ^NOTEXTRACTED^HEADER^^^PROBLEMS
51(RIMTBL_7:15) ^NOTEXTRACTED^HEADER^^^^^^^^^^^^^MEDS
52(RIMTBL_8:5) ^NOTEXTRACTED^HEADER^^^PROBLEMS^^^^^^^^^^MEDS
53
54for 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.
55
56CLIST^C0CRIMA
57A 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".
58
59CPAT^C0CRIMA(CPATCAT)
60A command line interface which shows the DFN numbers of the patients represented by the category CPATCAT. DFNs are listed 10 per line. For example:
61
62GTM>D CPAT^C0CRIMA("RIMTBL_1")
631 3 8 25 42 69 123 140 146 149
64151 168 204 205 217 218 224 228 229 231
65236 237 240 253 260 267 271 301 347 350
66366 379 384 391 407 418 419 420 428 433
67442 520 569 600 620 692 706 715 722 723
68724 728 730 744 745 746 747 748 749 750
69751 752 753 754 755 756 757 758 759 760
70761 762 763 764 765 766 767 768 769 770
71771 772 773 774 775 776 777 778 779 780
72100000 100001 100002 100003 100004 100005 100006 100007 100008 100009
73100010 100011 100012 100013 100014
74
75These are the 105 patient records included in category "RIMTBL_1" from the above example.
76
77DPATV^C0CRIMA(DFN,"SECTION")
[402]78A 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:
[401]79
[402]80GTM>D DPATV^C0CRIMA(2,"PROBLEMS")
811 1^PROBLEMCODEVALUE^V18.0
822 1^PROBLEMCODINGVERSION^
833 1^PROBLEMCONDITION^P
844 1^PROBLEMDATEMOD^2005-07-19T00:00:00-05:00
855 1^PROBLEMDATEOFONSET^1700--T00:00:00-05:00
866 1^PROBLEMDESCRIPTION^Family History of Diabetes Mellitus (ICD-9-CM V18.0)
877 1^PROBLEMDTREC^1701--T00:00:00-05:00
888 1^PROBLEMHASCMT^
899 1^PROBLEMIEN^8
9010 1^PROBLEMINACT^1700--T00:00:00-05:00
91
[401]92DCCR^C0CCCR(DFN)
93This 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.
94
95XCPAT^C0CRIMA(CPATCAT)
96A command line interface to extract a batch of patient CCR documents that are associated with the category CPATCAT. For example,
97
98XCPAT^C0CRIMA("RIMTBL_1") to extract the CCR documents for the 105 patients in the above example.
99
100RESET^C0CRIMA
101A 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")
102
103NOTES:
104This 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.
105
106^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.
107
108CCRRPC^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.
109
110Most 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
111
112The "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.
113
114It is intended that menu interfaces be provided in addition to command line interfaces for all package functions.
Note: See TracBrowser for help on using the repository browser.