source: ccr/trunk/proj_docs/proj_plan@ 897

Last change on this file since 897 was 20, checked in by Sam Habiel, 16 years ago

Imported initial project plan.

File size: 4.2 KB
Line 
1
2 Everybody,
3
4 We have been spending a lot of time discussing strategies on how we
5 are going to proceed about this project. Initially, we were going to
6 produce a CCD, and we didn't have quite a plan on how we are going to
7 extract the data except as piecemeal. With the advent of the U of Minn
8 on the project, and with Emory's discussions, we are going to extract
9 a CCR (and I am infinitely happy; the CCD spec belongs to the garbage
10 can; I willingly send my abominations to the HL7 committee), and we
11 are going to use Mumps Routines called by CPRS for most of the data
12 extraction.
13
14 There has been a lot of bantering around, and I wish for us to settle
15 this by deciding a general strategy and the steps needed to produce
16 it, as well as a timeline and expected deliverables. May I propose
17 that the initial CCR be generated completely from Mumps without us
18 having to do any GUI programming. Why? At this point we have not even
19 defined the requirements that any of the steps are going to satisfy
20 (at least that is the way it seems to me); developing the stuff in
21 Mumps will at least help us define the requirements; plus, it is
22 always my belief in anything Vista that the functionality must be
23 available using the roll-and-scroll interface. Does that mean we don't
24 need Java programmers? Absolutely not! I would like them to work in
25 tandem with the Mumps development process to produce the GUI.
26
27 Here is my plan, sketched on the plane...
28 0. Read the CCR Spec from beginning to end
29 1. Enumerate the sections of the CCR, defining what data is needed for
30 each section. (This step is almost done for us by the spec.)
31 2. Define the needs of the end user on how they are to use the CCR
32 functionality (this is very important and has not been done)
33 3. Define a Mumps strategy on how to extract the data (more on that below)
34 5. Define where the data is going to be extracted from (this is being
35 carried out by George right now)
36 6. Document Data Output from M/CPRS (RPC's etc.)
37 7. Match data from CPRS with CCR sections
38 8. Define routines that need to be written/modified in order to allow
39 us to fill in the missing info for CCR that's not in CPRS (e.g. LOINC
40 codes for Labs; they are not in the RPC)
41 9. Write the M code to extract the data from each of the sections
42 10. Write a Mumps XML Writer
43 11. Write the CCR writer that utilizes the XML Writer for output
44 12. Write the CCR user interface that does the user interaction,
45 initially in MUMPS, then in a GUI.
46 13. Write a CCR viewer, initially in Mumps, then in a GUI.
47
48 I am most concerned with step #2. We need to do mock-ups and present
49 them for ideas.
50
51 Deliverables (#'s refer to above):
52 1. Spreadsheet
53 2. Needs document; roll-and-scroll and GUI mock-ups.
54 3. Document
55 5. Document
56 6. Series of Documents for each RPC
57 7. Spreadsheet from #1, modified
58 8. Document; work assignments for completion
59 9. Working Code - unit tested
60 10. Working Code
61 11. Working Code
62 12. Working Code
63 13. Working Code
64
65 Each of the steps may take a loooooooooong time... Witness George's
66 analysis of the RPCs. We need to take advantage as much as possible of
67 parallelism; while George is analyzing the RPCs, somebody can be
68 writing the Mumps XML output routine, and others can be defining user
69 needs, and others can be constructing CCR/Vista data spreadsheets.
70
71 The other thing I thought about is how are we going to write the Mumps
72 Routines to extract the data. This is all tenative:
73 0. CCRCOMP () - Routine to ask user about patient, purpose of CCR,
74 receipient, transmission method, sections, date range
75 1. CCRPROC (DFN, ARRAY1, DUZ, DOCTYPE, BEGDATE, ENDDATE) - Routine to
76 process CCRCOMP choices that calls the next routine
77 2. CCRSECTIONS - Outputs data into
78 ^TMP($J,"CCR",Section,Name,Value,SubValues,ActorID)
79 a. Demograhics (DFN)
80 b. Purpose
81 c. Payers (DFN, DT)
82 d. Meds (DFN, DT1, DT2, DetailFlag)
83 e. Labs (DFN, DT1, DT2, DetailFlag) etc etc.
84 3. MXMLWRIT (Name, ATTRIBUTE array, Value) - Writes XML from Mumps
85 4. CCRWRITE (^TMP array) - Write data from ^TMP to the file system
86 using MXMLWRIT
87
88 --
89 Sam
90
91 PS: George has been kind enough to host me at his NY apartment for
92 hammering out the details of our implementation and show me his
93 progress thus far.
Note: See TracBrowser for help on using the repository browser.