In-Depth
Military Health Systems
Resources Information Technology Program Office
2006 ADT Innovator Awards Nomination
I. Project and Personal Information
a. Company and division name:
Military Health Systems-Resources Information Technology Program Office
c. Project designation
The Defense Occupational and Environmental Health Readiness System – Industrial Hygiene (DOEHRS-IH) is a Department of Defense (DoD) project managed by the Military Health System (MHS). DOEHRS-IH is an environmental monitoring and analysis medical system and data warehouse that captures, stores, and analyzes the exposure history of all military related exposures throughout the life of both military personnel and DoD civilians. Records are transferred to the Veteran’s Administration upon separation from the military for lifetime tracking and potential follow-up.
d. Brief explanation of the goals of the project
DOEHRS-IH provides the ability to capture exposure information, support industrial hygiene decisions, and enroll service personnel into medical surveillance programs based on individual exposure history. If “an ounce of prevention is worth a pound of cure,” then DOEHRS-IH support of preventive environmental, safety, hearing conservation, and occupational health programs will save the U.S. taxpayer billions of dollars throughout its lifecycle.
<>
e. Brief description of the business risks involved
Since the 9/11 terrorist attack on the World Trade Center, increased terror attacks worldwide, and the creation of Homeland Security, environmental monitoring and hazardous exposure information collected in real time and analysis of this information has been deemed essential to national security. DOEHRS-IH is the first commercial or federal system designed to collect this information on a global basis.
f. Brief description of how the system helps users
DOEHRS-IH enhances readiness by providing information to enable exposure-based medical surveillance and enhance IH risk reduction. Early detection and identification of environmental hazards enables prompt federal, state, and local response to potential life threatening scenarios affecting both the military and the general population. The MHS operates 76 medical centers and hospitals, and more than 460 ambulatory clinics worldwide supporting a beneficiary population exceeding nine million. Over 40,000 direct care providers and a total staff of approximately 160,000 provide definitive care in a challenging environment that supports a global presence and highly mobile beneficiary population. The sheer size and geographic dispersal of the military population provides an opportunity for environmental exposure monitoring, sampling, and analysis that can be applied to the civilian sector. Emerging customers (including the National Security Agency) will use the system for early detection, identification, and analysis of advent of nuclear, biological, chemical, and environmental threats to the general population.
II. Organizational Objectives
a. What short- and long-term benefits did the organization achieve from the project? Did the solution meet the projected goals for saving time and money? How were benefits measured? Was the system mission-critical
to the organization?
DOEHRS-IH, a mission critical system developed as a Web-based application, follows the DoD Joint Technical Architecture and MHS guidelines. DOEHRS-IH provides the first near-to real-time environmental monitoring capability to a highly mobile population replacing the standard hard copy forms that were filed in patient’s records. During a patient encounter paper copies of local environmental threats often were not available to the provider and consolidated information was incomplete and dated. As such, sound analytical assessments could not be used to prevent or contain large-scale incidents. DOEHRS-IH will save lives and protect the military and general public by accomplishing real- to near-time monitoring and analysis of environmental information. It will also decrease medical costs as potential personnel exposures will be identified and addressed before they become health issues. Early detection of potential threats and health hazards not only makes it possible for personnel to avoid exposure but it also enables prompt treatment and follow-on care for individuals or populations affected by adverse agents.
Department of Defense industrial hygienists are tasked to anticipate, recognize, evaluate, and control occupational health hazards at medical treatment facilities and installations worldwide. In order to accomplish these tasks, industrial hygienists conduct evaluations or surveys at the workplace to determine personnel exposure to chemical, physical, biological, and ergonomic hazards. Information gathered during these evaluations, including worker exposure monitoring results, is entered into DOEHRS-IH. This database collection system will be deployed throughout the DoD and to other federal agencies.
DOEHRS-IH records contain the history of an individual workers pre-deployment, deployment, and post-deployment exposures. The data is analyzed and used by environmental, safety and occupational health practitioners to prioritize preventive medicine actions. Actions include establishing a baseline to facilitate exposure-based medical surveillance and post-deployment follow-up, allocating resources, implementing controls, and developing appropriate training programs. All these measures enhance combat readiness by focusing efforts to reduce workplace exposures, illnesses and injuries.
b. Describe the business purpose of the new system.
The terror attack on 9/11 as well as other incidents worldwide confirms that early detection of environmental hazards is no longer limited to military forces in combat environments. The threat of future terror attacks on military as well as civilian targets has created new requirements for early detection and identification of environmental hazards. Prompt detection and identification of applicable agents enables prompt federal, state, and local response to potential life threatening scenarios affecting both the military and the general population. DOEHRS-IH integrates Force Health Protection (FHP) information by providing automated support for the MHS industrial hygiene, environmental health, and hearing conservation communities. DOEHRS-IH also supports health care demand management by enabling exposure based occupational medicine and industrial hygienist interventions.
c. Describe the features of the new system.
The data collection modules in the DOEHRS-IH are based on the DoD Industrial Hygiene Exposure Assessment Model developed by the DoD IH Working Group. This model describes an 8-step exposure assessment strategy for use by field level hygienists to collect and evaluate IH exposure data throughout DoD. The model applies to IH risk assessments performed on DoD operations ranging from peacetime fixed facilities to military field deployments and afloat; and for exposures ranging from repetitive industrial maintenance operations to one-time exposures to ambient chemical, biological, and physical stresses.
d. Explain the functions of the new system.
Preventive medicine environmental health capabilities support the anticipation, identification, assessment, communication, and management of health risks posed by environmental health hazards associated with military activities. The scope of these capabilities addresses environmental health issues that impact military personnel, their families, and the civilian work force. These capabilities can also address the health impacts of military activities or surrounding communities. Preventive medicine environmental health capabilities address the environmental health risks of the military environmental program by providing medical oversight of environmental programs to prevent disease and injury.
DOEHRS-IH is based on the DoD IH Exposure Assessment Model and contains menus that were built on this process. The system is web-based with a mobile capability that enables users to capture data on PC Tablets not connected to the NIPRNet and then synchronize their tablets with the web-based system when they have NIPRNet access.
e. Who were the internal sponsors of the project? Which officials or groups were opposed to developing the application? Why?
The Department of Defense and the military Services were the internal sponsors of the system. A formal working group comprising all stakeholders or users, worked directly with providers and support personnel to reshape the overall business processes involving environmental monitoring and analysis capabilities.
There were no dissenting sponsors on the overall concept but there were proprietary issues involving Service unique legacy systems and requirements. One of the hardest tasks in systems development that turns off legacy systems for multiple users and agencies is to properly define the requirements. However, accurate requirements must be accomplished to ensure that each user will have capability that matches or exceeds current legacy capabilities. To offset any mistrust or concern with stakeholders, the program manager used meticulous attention to detail and customer focus to create an air of confidence and trust with the military Services.
Stakeholders worked together to redefine the business processes and then integrated technology as an enabler. Meticulous attention to every detail and constant oversight resulted in a three-year deployment delay being totally overcome in less than 18 months. This in itself is unparalleled, but the comprehensive understanding and resultant reengineering greatly enhanced data collection and analysis affecting the individual patient encounter.
The DOEHRS-IH team consistently updates and publishes user manuals, software release notes, and table downloads for customer reference. In addition, the team provides customers with periodic on-site training and coaching sessions.
f. Were users of the system involved in the project during the planning and development phases? If so, how?
This entire process was a joint venture with all of the military Services (Army, Navy, and Air Force) -- from kick-off through briefings, training, limited-rate deployment, and full-rate deployment. The DOEHRS-IH integrated team was fully engaged in every aspect of the development and deployment processes. DOEHRS-IH uses Joint Application Configuration (JAC) sessions with at least two members from each of the Services, Information Management (IM), Systems Integration, Technical Services, and Support Services to develop initial and follow-on requirements. JAC also validates requirements and has begun to redevelop business processes that streamline and improve patient flow and individual encounters.
JAC business sessions also review both commercial and government business processes and government and commercial software products through a series of concept explorations that involve having vendors exhibit their products for a particular system. They also select COTS products, configure COTS products, and select beta sites for the configured product.
The DOEHRS-IH team provides the MHS with the ability to capture accurate, auditable environmental monitoring data in a standardized, electronic format. DOEHRS–IH benefits were documented in two different categories: direct and indirect. Direct benefits include enhanced collection, analysis, modeling, and reporting functionalities. Indirect benefits include enterprise-wide analytical capability and clinical care initiatives such as disease management.
Following a proven process, the DOEHRS-IH team has successfully worked with the customer (the Services) by forming a cohesive team with all the vendors and Service representatives throughout the full cycle of requirements baselining, acquisition, configuration, testing, integration, selection of beta sites, limited-rate deployment, and full-rate deployment.
g. What were the greatest challenges in completing this project? How were they overcome?
The greatest challenge in any software or systems development initiative is communication. The program manager for this project not only formed a cohesive team, but he enabled the process by closely monitoring the project and paying close attention to all details. Through these actions, he gained the trust and cooperation of all parties involved.
Immediate need for the system was another significant challenge. Following 9/11, the unknown level of threat caused by terror-related activities and the protection of military and civilian personnel from environmental hazards became a high priority. Requirements for near- to real-time access to, and analysis of, environmental information formed the catalyst for DOEHRS-IH development and deployment. Prior to 9/11, initial deployment of DOEHRS-IH had slipped three years and the program was in danger of being cancelled because the user community could not agree on minimum essential system requirements necessary for initial deployment. The integrated management team initiated Scope Management practices as the starting point for the turn around. Functional proponents advocated additional capabilities that exceeded the budget authorization, therefore, change management control was the key to executing what the provided funds were to deliver.
The DOEHRS-IH working group immediately reached consensus on minimum essential system requirements for initial deployment, and a firm baseline was defined to ensure there was no scope or requirements creep. Daily team meetings were initiated with government and Services’ representatives and the contractor to focus on issues that would have delayed development and deployment of DOEHRS-IH.
Improved time management processes were also considered key to the DOEHRS-IH turn around. Developing DoD systems is a complex environment. The program manager not only must worry about sequencing and scheduling the technical work but he also must integrate this within the Defense Acquisition System’s requirements and constraints. The government support team prepared a road map for completing all of the DOD 5000 acquisition documentation necessary for a successful Milestone C decision. The combination of agreement on system requirements, tight contract management, and an understanding of the DOD 5000 acquisition process led to the DOEHRS-IH Milestone C approval.
h. Were the goals changed as the project progressed? If so, what were the changes and why were they made?
Change is inevitable in any information technology endeavor. However, control of the change process and development of new and revised requirements must be managed extensively to ensure constant change does not bog down the program.
The DOEHRS-IH team followed standard configuration management processes to track, prioritize, fund, and schedule approved changes. The working group is also tasked to look at potential solutions that would improve the system workflow while resolving many of the shortcomings of the stand-alone processes and applications. These integrated solutions provide prompt interfacing and retrieval of data. The DOEHRS–IH working group follows a general format in evaluating any and all recommendations for change.
- Improvement to response time or data analysis capabilities
- Support for quality of care initiatives – automated patient record
- Improvement to population health studies and disease management
- User friendly system application – easy to use and effective
- Improvement of data quality and consistency
- Streamlined provider/patient encounter – clinical and business processes
- Patient centric results retrieval for clinical information
- Integrated application that provides health assessment and plan
- Improved and automated medical surveillance for designated populations
- Improved business processes
III. Category
Please indicate the Innovator Award category as listed below. (Categories reflect the editorial organization
of Application Development Trends. Many projects can reasonably be fit into multiple categories. Try to fit
your project into the category that best reflects the tools and technologies used. Don’t worry about whether you picked the right category; we will review all submissions carefully and will make changes where appropriate.)
Data Warehousing
Emphasizes the design and development processes and tools used in enterprise data warehousing projects,
including: data mining tools, online transaction processing systems, data extraction and transformation tools,
database management systems, universal data management systems, query and reporting tools.
RECOMMEND USING THE COMPONENT BASED DEVELOPMENT CATEGORY
IV. Methodology/Process
a. Describe how productivity tools or techniques were used in the project.
The Together Control Center (TCC) tool was used to maintain DOEHRS-IH design. TCC is a modeling and development tool that supports the lifecycle by providing tools to model software, develop code, and keep model and code synchronized throughout the lifecycle. TCC provides tools that support the standard Unified Modeling Language, the industry standard for object-oriented designs and entity relationship diagrams, the defacto standard for relational data modeling. This tool enabled the design staff to complete preliminary and detail design phases of the project much more rapidly.
AllFusion ERWin Data Modeler was used to develop and maintain data models. It modeled the system and created both logical and physical data models as well as the data dictionary. AllFusion ERWin data models help visualization of data structures to facilitate the organization, management, and moderation of data complexities; database technologies; and the deployment environment. AllFusion Model Manager supports multi-user data model development. This tool was essential for the database engineers as DOEHRS-IH has over 565 database tables and very complex data entity relationships.
b. Were testing tools used during development?
Yes. Mercury Interactive Test Director was used to manage test activities, test cases, and defect tracking. Test Director maintains traceability between software requirements and test cases. Mercury Interactive Quick Test Professional was used to automate testing during system integration, system testing, and regression testing. JUnit and Jakarta Cactus were used write and run repeatable tests during unit testing.
If so, when were they used?
JUnit and Jakarta were used during unit testing by the developers of individual components. Test Director was used during integration and system testing to manage test activities, test cases, and defect tracking. Quick Test Pro was used to automate testing during system integration, system testing, and regression testing.
Was the testing cost-effective?
Yes. The use of testing tools, particularly Test Director, enabled Northrop Grumman to conduct testing with one full time tester augmented by CM and QA personnel on an as needed basis.
c. Was a formal or informal software development life-cycle methodology employed? If yes, please describe it.
Yes. The DOEHRS-IH project followed the QUality Engineering STandard (QUEST) Incremental Design Lifecycle methodology as defined in the Northrop Grumman Mission Systems Policy & Requirements Manual (PRM) and the Standard Process Manual (SPM). DOEHRS-IH utilized an Incremental Design life-cycle methodology as the system requirements were initially established on the first contract but the design, development and testing was performed in an iterative fashion in three separate versions of the system that built on each other. The Northrop Grumman Mission Systems Policy & Requirements Manual (PRM) and the Standard Process Manual (SPM) were developed based on the Software Engineering Institute Capability Maturity Methodology Integrated (SEI-CMMI) software development processes. Northrop Grumman was assessed at CMMI Level 5 in December 2004.
d. What formal or informal project management methodologies and/or tools were used to manage the project?
If used, please describe how.
The DOEHRS-IH project operates in accordance with the QUEST policies and processes. The goal of QUEST is to continuously improve system, software and information engineering practices in order to develop a standard, tailorable, high quality methodology to maximize process efficiency. QUEST provides policies and processes for all aspects of software engineering program management through the Policy & Requirements Manual (PRM) and Standard Process Manual (SPM).
The PMP, QAP, and CMP comprise the primary planning documentation for the DOEHRS-IH. The Risk Management plan is contained in the PMP.
Northrop Grumman uses established project control procedures to monitor the costs associated with DOEHRS-IH. Key to effective project control is the monitoring of labor and costs. Northrop Grumman uses a SAP implementation called TEMPO to provide Project Managers and Program Control with real-time access to contract cost accounting data. Northrop Grumman includes earned value and an integrated project schedule that clearly identifies critical path, time, milestones, deliverables and links to other tasks in each monthly report.
A systematic, disciplined risk analysis method is used to ensure that project risks are identified, that probability of occurrence and impact on the DOEHRS-IH are determined, and that plans to reduce or eliminate the risks are developed. The risk assessment is documented using the Risk Radar Tool, a Microsoft Access-based tool that organizes risk by severity and timeframe, and provides a framework for identifying and tracking the action to be taken to mitigate each risk.
e. Were software quality metrics used? If so, what were they, and did using them significantly help the project?
Yes. The software quality metrics were defect density by phase and defect containment by phase. The defect containment aided the project as were able to identify defects that occurred as early as the requirements phase but weren’t identified until testing. Based on this data we were able to improve our peer review process for the requirements and design phase thereby reducing defect leakage from one phase to the next during the last version of the DOEHRS-IH system.
V. Technology
a. What were the major technical challenges that had to be overcome to complete the project successfully?
The biggest technical challenge faced by the development team on DOEHRS-IH was the need to have a PC tablet able to operate the DOEHRS-IH system while disconnected from the web based application. The data gathered during standalone operation had to be synchronized with the central server for the web based system. This requirement was not part of the initial contract and was implemented by an ECP with very tight development timelines.
How did the team respond to those challenges?
The team decided to reuse the majority of the server components on the mobile system, which facilitate development of the required mobile functionality as well as system maintenance and extensibility. The mobile DOEHRS-IH system provides the user with access to most web system application functions, as well as apply the same business rule processing. Reusing a tailored version of the DOEHRS-IH web system components obviated the need to re-implement significant portions of the custom-developed components for the mobile client, thereby accelerating development of the mobile system. This approach also facilitated maintenance by ensuring that updates to custom-developed components convey to both the main web system, as well as mobile clients. This decision also ensures that the application’s user interface remains consistent regardless of which mode the user is operating, thereby facilitating user training. In addition to the existing server components, database synchronization between laptop/tablet and server; and external data synchronization between laptop/tablet and server were essential for DOEHRS-IH stand alone operation to meet the user needs. The development team rapidly identified Marimba and Oracle Advanced Replication as the best COTS product to solve this major technical challenge.
b. What software tools, including databases, operating systems and all development tools, were selected for the project?
DOEHRS-IH leverages existing solutions by integrating with industry-proven products. The selections of third party components favor companies that comply with industry-accepted standards such as J2EE. As detailed in the DOEHRS-IH Application Server Trade Study, Oracle 9iAS is the application server selected as the cornerstone of the DOEHRS-IH system architecture. Some of the complementary components were favored to promote a single vendor solution. This approach takes advantage of optimization features not available with other vendor components. Although, the design team has developed a largely single vendor solution, the design is not precluded from “upgrading” to other certified components. Because J2EE components offer plug and play-like features, as DOEHRS-IH evolves, components can be upgraded to meet these extensibility needs without affecting other components in the system and without the burden of re-factoring the architecture. This loose coupling of components allows for right sizing the architecture and adapting to the changing needs of the customer. The purchase of third party components can also provide a savings to the government and preclude a stovepipe solution. These components provide a majority of the infrastructure in DOEHRS-IH.
All third party components are operationally configured based on the relevant DISA Security Technical Implementation Guides (STIG) produced by DISA Field Security Operations.
Client Browser
The client browser is specified by the system requirements as Microsoft Internet Explorer Version 6.0 or higher. It provides the user interface and supports user interaction such as forms based input, interface to report generation, and access to internal and external data. Client side validation is also supported on the browser.
Web Server
The web server software is responsible for receiving client requests and sending corresponding responses. DOEHRS-IH uses the HTTP server from the Apache Software Foundation (hereafter the HTTP server is generally referred to as Apache). Apache is a supported service of the application server chosen and is among the top two in market share for web servers. It services client requests for static information such as access to static documents, CD-ROM documents, and manuals. The web server is securely configured as defined by the latest version of the DISA Web Application STIG.
Servlet Container
The servlet container software (also referred to as web container software) is responsible for processing Java server page (JSP) templates and Java servlets. The servlet container software is logically separate from the application server, which serves primarily as an EJB container. Like most other major application servers, however, the Oracle 9iAS application server features an integrated web container, which handles servlet and JSP processing. DOEHRS-IH uses the servlet container provided by the Oracle9iAS Containers for J2EE (OC4J) component of Oracle 9iAS. The Oracle servlet container is fully compliant with the J2EE servlet specification. See the DOEHRS-IH Application Server Trade Study for more details.
The DOEHRS-IH physical architecture colocates OC4J with the EJB container portion of Oracle 9iAS. Both components reside within the same Java Virtual Machine (JVM) on each application server in the application server cluster and are, therefore, able to communicate directly. Thus, this section does not identify any additional enabling communication mechanism between these components.
Alternative(s): The Jakarta project produces the Tomcat servlet container. This open-source servlet container could be used instead of OC4J. There are also several other servlet containers that could be considered; however, there is no functionality difference. Since they are functionally equivalent, performance is the driving factor for selection. Further, as demands change and vendors distinguish themselves through higher performance servers, the server can be upgraded with minimal impact. It provides dynamic content by communicating with backend components to retrieve data from the DOEHRS-IH database and format it for the user.
Application Server
The application server software is responsible for implementing the J2EE specification. This software provides a majority of the enterprise infrastructure. DOEHRS-IH uses the Enterprise Edition of the Oracle 9iAS application server for the web solution and Oracle 9iAS standard edition for the mobile solution.
Alternative(s): BEA Weblogicâ (version 7) and IBMâ Websphereâ (version 5) provide enterprise framework support comparable to Oracle 9iAS. DOEHRS-IH is designed to run on any certified J2EE 1.3 application server. The application server supports many of the architectural considerations by providing an integrated business and security engine. All business logic and workflow is controlled via this component in a manner that is highly reliable and scalable. Server side validation and security are also implemented in the application server.
Messaging Provider (Web System Only)
The messaging provider is responsible for implementing the Java Messaging Service (JMS). DOEHRS-IH uses JMS to interface with external DoD and military systems. The messaging provider (like the servlet container) is logically separate from the application server; however, most application server vendors offer messaging services integrated with their application server products. DOEHRS-IH uses the Oracle Advanced Queuing messaging provider.
Alternative(s): IBM Websphere MQ and MQ Series, TIBCOÔ, Sonic MQ, Swift MQ and Softwired iBus are all viable messaging provider alternatives. DOEHRS-IH uses point-to-point asynchronous messaging (instead of the publisher-subscriber model). Any JMS that supports point-to-point messaging could be used instead of Oracle Advanced Queuing.
Relational Database Management System (RDBMS)
RDBMS is responsible for the persistence of system data. DOEHRS-IH uses the Oracle 9i database management system as its relational database. DOEHRS-IH has requirements that are heavily data-centric. A majority of the requirements involve the storage or retrieval of data. The transactional nature of the data, along with the need for data interaction such as report generation and query capabilities, lends itself well to an RDBMS. Oracle 9i is the industry leader for database performance, reliability, security, and scalability. In addition, the Oracle 9i product suite provides a rich array of supporting modules, including enterprise management tools.
The DOEHRS-IH web system will use the Enterprise Edition of the Oracle 9i database. This version provides the advanced features needed to support large enterprise applications, including support for rich data types, high-availability, and database server clustering. In contrast, DOEHRS-IH mobile clients will utilize the Personal Edition of Oracle 9i. Oracle 9i Personal Edition provides nearly identical database functionality as the Enterprise Edition with the exception of the Enterprise Edition’s more advanced enterprise management and enterprise configuration features. The Personal Edition is also based on the same internal database engine as the Enterprise Edition. Selection of the Personal Edition of Oracle 9i for the mobile clients helps to ensure both initial and future compatibility between the business and data tier components that reside on the web system’s central servers and the same tiers that reside on the mobile clients. The disadvantage of this selection is the product’s footprint. Oracle 9i Personal Edition is essentially a single-user installation of the Enterprise Edition. While this product offers full compatibility with the Enterprise Edition and significantly mitigates risk for future DOEHRS-IH application extensibility, the selection places significant demands on the mobile client laptop/tablets. The design team has attempted to mitigate this risk by specifying adequate processing power, disk space, and physical RAM for the mobile laptops/tablets hardware. The RDBMS will be securely configured as defined by the latest version of the DISA Database STIG.
Alternative(s): The Oracle 9i product suite also offers two other database products – Oracle9i Standard Edition and 9i Lite. Oracle 9i Standard Edition is a full-featured database server environment that is also compatible with Oracle 9i Enterprise Edition. In general, applications written for any Oracle 9i edition (other than 9i Lite) should execute on the same version of the other editions. The Standard Edition, however, cannot be extended to utilize a number of advanced Oracle database extensions, including the Advanced Security Option and Advanced Replication modules. Since the DOEHRS-IH web system may utilize these components, adoption of the Standard Edition may introduce unacceptable development constraints. Should the detailed design determine that such components would not be utilized on the mobile client, the design team will be able to switch editions with little to no impact on the development cycle.
The remaining database product offered by Oracle, Oracle 9i Lite, is a Java-enabled relational database created specifically for laptops, handheld computers, PDAs, and information appliances. This edition has a much smaller footprint on the client and requires less processing power, hard disk space, and physical RAM. This edition also supports large portions of standard SQL as well as stored procedures written in Java. This application, however, is not based on the same database engine as the Personal, Standard, and Enterprise Editions of Oracle 9i and has many associated limitations, including lack of support for PL/SQL as well as most Oracle advanced database extensions. Thus, adopting this edition introduces unacceptable risk. The development team will reconsider the selected edition of the Oracle RDBMS for the mobile client should the detailed design indicate that the client application requires limited support for SQL, security, and replication.
Report Generator
The report generator is responsible for the creation of reports in an acceptable, print friendly format such as PDF. DOEHRS-IH uses Quadbase EspressReport as the report generator. See the DOEHRS-IH Report Generator Trade Study for more details.
DOEHRS-IH is required to generate a large number of reports. Third party report generators offer many desired reporting capabilities such as the creation of PDF formatted and printable reports, graphic display such as bar charts, and preview capabilities. All these features are required by DOEHRS-IH.
The DOEHRS-IH Mobile system will also use Quadbase ExpressReport as its report generator and will use the same custom code developed for the web solution. The decision to use the same reporting tool will help both systems in integration, code reuse, reporting tool updates, and applications patches. Additionally, by using the same reporting tool, the DOEHRS-IH end user will interact with a common UI across the web and mobile systems.
Push/Pull Component (Mobile)
The Push/Pull component is responsible for synchronizing the data between the mobile staging server and the laptop/tablets and provides automatic software updates to DOEHRS-IH applications. DOEHRS-IH mobile will use Marimba for the application and data synchronization between the mobile system and stating server. Marimba will also provide remote application installation, which will eliminate the need for any additional installation of software for the mobile system. Marimba is based on a Java platform code and comes with two suites of applications that will be used for DOEHRS-IH synchronization. Marimba's Desktop/Mobile product family is an enterprise level configuration management solution that streamlines the delivery, installation, update and management of applications on desktops, laptops and mobile devices. Marimba Desktop/Mobile products help DOEHRS-IH dramatically improve quality of service by automating data and application synchronization.
Alternative(s): PeerDirect provides technology to implement occasionally connected computing architectures. This ability is a direct result of PeerDirect’s bi-directional update everywhere application model. Backweb allows mobile users to access and interact with critical information by enabling offline access and notification when information is available.
DOEHRS-IH Mobile requires a solution that could be implemented with a minimum amount of change to the existing code base. Any of the above alternatives is capable of performing application synchronization reliably.
Marimba is currently leading the aforementioned products with a solution that is widely accepted in the industry as reliable and robust. Experience has shown that Marimba has reliable support and is willing to work with customers on further enhancing/customizing their product suite. Marimba’s solution is 100% Java, allowing for support across a wide variety of platforms.
c. Why were they selected over competing tools?
The rationale for the selection of the components used in the DOEHRS-IH application is included above with the discussion of the individual components.
d. What process was used to select development tools and software platforms?
Northrop Grumman followed the standard decision analysis and resolution process, as outlined in the assessed QUality Engineering STandard (QUEST) product lifecycle methodology, in completing trade studies. The following steps were performed to complete the studies:
- Identify Alternatives
- Establish Decision Criteria
- Perform Decision Analysis
- Perform Consequence Analysis
e. Describe the overall system architecture. Were elements of the technical infrastructure put in place to support the new system? Please describe.
The DOEHRS-IH system consists of a web-based solution and a mobile solution. The Web component supports users connected via a network connection to a central server (also called the production server). Web users utilize Microsoft Internet Explorer to access the DOEHRS-IH application. The Mobile component supports users working disconnected from a network. Mobile users have laptops/tablets configured with the DOEHRS-IH application as well as a web server, application server, and RDBMS. Data is synchronized with the Web component when a Mobile user establishes a connection to the network.
The DOEHRS-IH system has over 1.4 million lines of code, 880 individual web pages and more than 565 database tables. It is designed to support 2,000 users with an ability to scale to 70,000 users.
The DOEHRS-IH Web system architecture is based upon four Java 2 Enterprise Edition (J2EE) tiers as depicted in the Figure below. The Figure highlights the major software components, including custom and third party components of the DOEHRS-IH architecture. Because the DOEHRS-IH user interface is a web browser, the Client tier is simply a web browser with some minor user interface (UI) components. The logical Presentation tier is comprised of the web server and servlet container along with some UI and utility components. The Business tier is the most complex tier, comprised of application and messaging servers that host many business, infrastructure, interface, and data access components. The Data tier is mainly comprised of the relational database management system (RDBMS) with some external components existing outside of the DOEHRS-IH architecture. Security overarches all tiers because of the need to secure all aspects of the system.
Within the DOEHRS-IH physical architecture, the Client tier will always reside on the client workstation or laptop/tablet. The DOEHRS-IH Web system will host the presentation, business, and data tiers on remote servers, which will interface with the Client tier via the web standard HTTP protocol. To enable disconnected operations, however, DOEHRS-IH client laptops/tablets will also host significant portions of the presentation, business, and data tiers along with the Client tier.
The following Figure represents the mobile software components. The major differences between the software components of the web and mobile architecture are in the data and application synchronization components that overarch all tiers on the mobile system, indicating the need for all tiers to synchronize with the staging server. Oracle advanced data replication will handle the database level synchronization of the laptop/tablets and staging server database. The data and application transmitter components on the staging server and push/pull client components on the laptops/tablets will ensure the laptop/tables are synchronized. This mobile solution uses database replication of the mobile staging database server with web system central database server. Database replication will be implemented by the Oracle advanced replication solution.
f. What characteristics of the tools and technologies used were most important in achieving the business purposes of the system?
Since DOEHRS-IH is an Enterprise Application that will be used throughout DoD and the Federal Government it is important that both the hardware and software architectures scale to meet demands. The DOEHRS-IH architecture is based on multiple loosely coupled tiers, described in detail below. This loose coupling allows each tier to specialize and handle a tailored set of responsibilities. Hardware in each tier can then be added as needed to scale. For example, if user operations change such that more business processing is needed, the hardware in the business tier can be scaled.
In evaluating scalability, there are generally two accepted measures: horizontal and vertical. Horizontal scalability refers to the ability to increase capacity of a system by adding additional complete systems. Vertical scalability refers to the ability to increase capacity of a system by installing internal upgrades (e.g., additional CPU and disks). The DOEHRS-IH architecture supports a combination of upgrade paths to ensure flexibility in meeting changing needs and missions.
VI. Project Team
a. What was the size of the development team?
The average size of the development team was 12 persons.
b. Describe the software development experience of the team members.
Withheld due to Web constraints.
c. What was the composition and skill level of the team?
The development team comprised primarily mid- to senior-level Java developers. It was essential to have a highly skilled workforce given the relatively small size of the project.
Did development teams require training to work with the technology?
Our development team possessed extensive Java skills so they didn’t require any training. The only exception was a training course that team members took to better understand Toplink which is an Oracle object to relational (O/R) mapping solution.
d. Please list team members and their titles.
All members of the software team are either Software development engineers or System development engineers. Additionally, the team was comprised of a Program Manager, QA Analyst, and Test Engineer.
e. How many person-months/days did the project take, and over what calendar time frame?
The project took 52 man years to complete over a 3.5 year time frame.
Was a formal schedule created at the start of the project?
Yes. A formal schedule was created in MS Project and maintained through the course of the project.
Did the project stay on schedule?
No. There was substantial requirements creep experienced during the first 2.5 years of the project. After the system requirements/software requirements were frozen in November 2004 the project was able to maintain schedule and achieved Milestone C approval in August 2005.
f. Did management and the user community consider the project a success?
Yes. The DOEHRS management and user community has now fully embraced the system. It is currently in deployment worldwide and has already been the recipient of numerous awards including the Federal Computer Week Best Program Management Award.
g. If you had to do the project over again, would you do anything differently? If yes, please explain why.
Yes. The RITPO would have engaged the user community earlier and frozen the system/software requirements earlier.