| 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. | 
|---|