| [20] | 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. | 
|---|