WBS- Software Development MMS1.0 Build HL7-compliant EHR generator MMS1.1 Build or integrate COTS XML parsing engine MMS1.1.1 process generic XML tags MMS1.1.1.1 interpret generic XML tags MMS1.1.1.1.1 accept multiple encoding sets MMS1.1.1.1.1.1 create functionality to identify character set used MMS1.1.1.1.1.2 create ability to switch encoding modes as needed MMS1.1.1.1.1.2.1 handle UNICODE encoding MMS1.1.1.1.1.2.1 handle ISO 8859 encoding MMS1.1.1.1.1.2.1 handle JIS X 0202 encoding MMS1.1.1.3 create and interpret documents with generic tags MMS1.1.1.4 recognize and validate generic XML MMS1.1.2 process HL7 specific XML tags MMS1.1.2.1 recognize which version of the HL7 standard is being used MMS1.1.2.2 accept and recognize HL7 specific tags MMS1.1.2.3 create and interpret documents with HL7 specific tags MMS1.1.2.4 recognize and validate HL7 specific XML MMS1.1.3 process XML fields as HL7 messages MMS1.1.3.1 recognize HL7 specific tags indicating messages MMS1.1.3.1.1 add HL7 specific tags to XML tag database MMS1.1.3.2 create and interpret documents containg HL7 messages MMS1.1.3.3 handle valid but unknown tags MMS1.1.4 handle XML related errors MMS1.1.4.1 create error logs that record parsing related failures MMS1.1.4.2 create function to allow for attempt at error recovery MMS1.1.4.2.1 create log to handle attempted error recovery MMS1.1.4.2.1 create "go-back" mechanism for botched recovery attempts MMS1.2 Define HL7 objects MMS1.2.1 Create CDA (Clinical Document Architecture) Level 1 objects MMS1.2.1.1 Code DTD for CDA level 1 MMS1.2.2 Create CDA (Clinical Document Architecture) Level 2 objects MMS1.2.2.1 Code DTD for CDA level 2 MMS1.2.3 Create CDA (Clinical Document Architecture) Level 3 objects MMS1.2.3.1 Code DTD for CDA level 2 MMS1.2.4 Logic code to handle CDA/Expansion MMS1.3 Create File Handling Code MMS1.3.1 Create routine to prepare XML file for transportation MMS1.3.1.1 compress the existing XML file MMS1.3.1.2 encrypt the compressed file MMS1.3.2 Create routine to handle file received from button MMS1.3.2.1 encrypt the compressed file MMS1.3.2.2 compress the existing XML file MMS1.4 Button Integration MMS1.4.1 Integrate EHR engine with MacSema Button via SDK MMS1.4.1.1 Create Interface to Button Functions MMS1.4.2 Create File Handling Module for uploads/downloads to button MMS1.4.2.1 GUI interface for file transfer MMS1.4.2.2 File transfer verification MMS1.4.2.2.1 Error Handling Routines MMS1.5 Network Integration MMS1.5.1 TCP/IP functionality MMS1.5.2 SSH tunnel functionality MMS1.6 Validation Mechanism MMS1.6.1 Code for secure connection to validation servers MMS1.6.2 Code for validating equipment MMS1.6.3 Code for managing validation tokens MMS1.6.3.1 Tracking validation expiration MMS1.6.3.2 Hardware Lockout mechanism MMS1.6.3.2.1 Hardware Resoration mechanism MMS1.7 EMR Integration MMS1.8 User Interface MMS1.8.1 Create GUI Startup Screen MMS1.8.2 Create GUI screens for authorization scheme MMS1.8.2.1 Create user information screens about token expiration MMS1.8.2.2 Create equipment lockout screens MMS1.8.2.2.1 Create user screens to explain hardware restoration MMS1.8.3 Create GUI screens for MMS functions MMS1.8.3.1 Create patient type screen MMS1.8.3.1.1 Create screens to add new patient to system MMS1.8.3.1.2 Create screens to update existing patient MMS1.8.3.2 Create allergy information screen MMS1.8.3.2.1 Create allergy database MMS1.8.3.2.2 Create GUI allergy entry form MMS1.8.3.3.2 Create Insurance Information GUI MMS1.8.3.2.1 Create Insurance Information database MMS1.8.3.2.2 Create GUI Insurance form MMS1.8.3.3 Create Emergency Contact GUI MMS1.8.3.4 Create Medication Information GUI MMS1.8.3.4.1 Create Medication database MMS1.8.3.4.2 Create GUI Medication entry form MMS1.8.3.4.3 Create GUI medication search form MMS1.8.3.5 Create Lab Report GUI MMS1.8.3.5.1 Create lab report database MMS1.8.3.5.2 Create GUI report entry forms MMS1.8.3.5.2.1 Create GUI report wizard MMS1.8.3.5.2.2 Create GUI report search form MMS1.8.3.6 Create GUI search screens MMS1.8.3.6.1 create GUI Medication search form MMS1.8.3.6.2 Create GUI Insurance entry form MMS1.8.3.6.3 Create GUI Lab Report search form MMS1.8.3.6.4 Create GUI Allergy search form MMS1.8.3.6.5 Create GUI Contact search form MMS1.8.3.6.6 Create GUI Patient search form MMS1.8.3.6.7 Create GUI General Search form MMS1.9 Create Update Functionality MMS1.9.1 create code to check for new updates MMS1.9.1.1 create code to coordinate update check with validation MMS1.9.1.2 create code to compare version numbers MMS1.9.2 create code to handle downloading new update MMS1.9.2.1 create code to calculate checksum of download MMS1.9.2.1.1 create code to re-download mangled updates MMS1.9.3 create code to backup current configuration MMS1.9.3.1 create code to handle restoration of known-good setup MMS1.9.4 create code to build new version of software MMS1.9.5 create code to build configuration files MMS1.9.5.1 create code to import necessary old configuration settings MMS1.9.5.2 create code to archive old config files MMS1.9.6 create code to clean up unecessary leftover files MMS1.9.7 create code to maintain update log MMS1.9.8 create code to revert to known good status MMS1.9.8.1 create code to record errors to log MMS1.9.8.2 create code to completely restore previous known good version MMS1.9.8.3 create code to restore previous configuration only MMS1.9.8.4 create code to restore previous binary only MMS1.9.9 create code to self-test update MMS1.9.9.1 create code to test for errors in binary file MMS1.9.9.2 create code to test for configuration errors MMS1.9.9.3 create code to report update errors MMS2.0 Build EMR database MMS2.1 create EMR tables based on HL7 standards MMS2.2 create database colums MMS2.3 create database keys MMS2.4 create database triggers MMS2.5 create database procedures MMS3.0 Build Validation Software (Server Side) MMS3.1 create authentication token code MMS3.1.1 create expiration scheme MMS3.1.2 create token-keys based on client-machine requests MMS3.1.3 create code to issue authorization token MMS3.2 create lockout instructions MMS3.2.1 create code to issue machine restoration token MMS3.3 create update synchronization code MMS3.3.1 create code to check reported software version vs. expected MMS3.3.2 create code to signal new version routines MMS4.0 Testing MMS4.1 Test EHR processing MMS4.1.1 test XML processing MMS4.1.2 test EHR compression MMS4.1.3 test EHR encryption MMS4.2 Test Button Integration MMS4.2.1 EHR retrieval MMS4.2.1.1 EHR decryption MMS4.2.1.2 EHR decompression MMS4.2.1.3 EHR verification MMS4.2.2 EHR write to button MMS4.3 Test MMS networking abiltiy MMS4.3.1 Test remote TCP/IP Communication MMS4.3.2 Test MMS network LAN communication with potential servers MMS4.4 Test MMS validation schemes MMS4.4.1 Test Validation Conversations with remote validation server MMS4.4.2 Test Validation Token Exchanges MMS4.4.3 Test Validation Token Expiration schemes MMS4.4.4 Test Equipment Lockout routines MMS4.4.4.1 Test Equipment re-validation MMS4.5 Test EMR integration MMS4.6 Test Update routine MMS4.6.1 test update discovery MMS4.6.2 test downloading routines MMS4.6.2.1 test checksum calculations MMS4.6.2.2 test re-download logic MMS4.6.3 test current configuration backup MMS4.6.4 test build routines MMS4.6.5 test configuration routines MMS4.6.6 test code cleanup MMS4.6.7 test update log MMS4.6.7.1 test log creation MMS4.6.7.2 test log update MMS4.6.8 test "go-back" functionality MMS4.6.8.1 test restoration of previous binaries MMS4.6.8.2 test restoration of previous configuration MMS4.6.8.3 test restoration logic MMS4.6.8.3.1 test restoration configuration only MMS4.6.8.3.2 test restoration configuration only MMS4.6.8.4 test proper documentation in update log MMS4.6.9 test code to self-test update MMS4.6.9.1 test code to test for errors in binary file MMS4.6.9.2 test code to test for configuration errors MMS4.6.9.3 test error reporting mechanism MMS5.0 Build Support System MMS5.1 Documentation MMS5.1.1 create online documentation MMS5.1.1.1 create documention in online format MMS5.1.1.1.1 use html transformation utility MMS5.1.1.1.2 add hyperlinks to cross reference relative sections MMS5.1.1.2 transform html based documentation to PDF format MMS5.1.2 create printed documentation MMS5.1.2.1 transform PDF format into print-suitable condition MMS5.2 Website MMS5.2.1 FAQ MMS5.2.2 Tutorials MMS5.2.3 Message Boards MMS5.2.3.1 Create PHP-based moderated message board MMS5.2.4 Live online help section MMS5.2.4.1 Integrate COTS "LivePerson" style help