Afsin Ustundag. Preliminary Deliverables List of application layer modules Already in the OSEHRA Architecture document Number of applications: 168 Identification.

Slides:



Advertisements
Similar presentations
Logical and Physical Design of an Information System
Advertisements

Scheduling Videoconferences On An MCU Presented at the SURA/ViDe Digital Video Workshop Atlanta, Georgia March 24-26, 2003 By Larry Amiot Northwestern.
Ch-11 Project Execution and Termination. System Testing This involves two different phases with two different outputs First phase is system test planning.
Java Packages CSci 1130 Intro to Computer Programming with Java Instructor Tatyana Volk.
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
NGT Information Technology Technical Discussion Bob DeHoff Info Tech, Inc.
Programming Logic and Design Fourth Edition, Introductory
T-FLEX DOCs PLM, Document and Workflow Management.
St Testing, Simulation and Monitoring (actually mostly simulation) Stephen Hillier Joint Meeting, Mainz, June 2001.
1 SYSTEM and MODULE DESIGN Elements and Definitions.
1 / 31 CS 425/625 Software Engineering User Interface Design Based on Chapter 15 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed.,
Physical design. Stage 6 - Physical Design Retrieve the target physical environment Create physical data design Create function component implementation.
Design, Implementation and Maintenance
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
1 LOMGen: A Learning Object Metadata Generator Applied to Computer Science Terminology A. Singh, H. Boley, V.C. Bhavsar National Research Council and University.
AWG Agenda – 03/13/12 Start: Introductions and Roll Call Minutes: Approve last week’s minutes and review/update this week’s agenda – Last week’s call discussed.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
Open Source EHR Services OSEHRA Architecture Work Group Meeting June 4, 2013.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
GLAST Science Support CenterAugust 9, 2004 Implementation of the Standard Analysis Environment (SAE) James Peachey (HEASARC/GLAST SSC—GSFC/L3)
Implementation Considerations Yonglei Tao. Components of Coding Standards 2  File header  file location, version number, author, project, update history.
Chapter 8: Writing Graphical User Interfaces
Afsin Ustundag, Ray Group International 1. Scheduling Update Scheduling was chosen as the second package to refactor  Significant number of dependencies.
Ch:10 Component Level Design Unit 4. What is Component? A component is a modular building block for computer software Because components reside within.
Product Development Chapter 6. Definitions needed: Verification: The process of evaluating compliance to regulations, standards, or specifications.
SOFTWARE REUSABILITY AJAYINDER SINGH CSC What is Software Reuse Software reuse is the process of implementing or updating software systems using.
Toward the Next Generation of Ingres Administration Tools UKIUA 2010 June 8, 2010.
13-1 Application Architecture Application architecture – a specification of the technologies to be used to implement information systems. The blueprint.
Exploring an Open Source Automation Framework Implementation.
Stored procedures1 Stored procedures and functions Procedures and functions stored in the database.
Slide 1 Project Management Chapter 4. Slide 2 Objectives ■ Become familiar with estimation. ■ Be able to create a project workplan. ■ Become familiar.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
Systems Analysis and Design
Design and Development of MAQM, an Air Quality Model Architecture with Process-Level Modularity Weimin Jiang, Helmut Roth, Qiangliang Li, Steven C. Smyth,
Software Construction Lecture 18 Software Testing.
Final Presentation Industrial project Automatic tagging tool for Hebrew Wiki pages Supervisors: Dr. Miri Rabinovitz, Supervisors: Dr. Miri Rabinovitz,
TEST-1 6. Testing & Refactoring. TEST-2 How we create classes? We think about what a class must do We focus on its implementation We write fields We write.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
SiD Workshop October 2013, SLACDmitry Onoprienko SiD Workshop SLAC, October 2013 Dmitry Onoprienko SLAC, SCA FreeHEP based software status: Jas 3, WIRED,
1 CMPT 275 High Level Design Phase Modularization.
Chapter 7 Implementation. Implementation Approaches F Big bang –Code entire system and test in an unstructured manner F Top-down –Start by implementing.
Worldwide Protein Data Bank Common D&A Project Sequence Processing Modular Demo May 6, 2010 Project Deliverable.
Design and Planning Or: What’s the next thing we should do for our project?
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
CSC 2720 Building Web Applications Basic Frameworks for Building Dynamic Web Sites / Web Applications.
2 Software CASE tools state-of-the-art UML modeling Partially automatic code generation Refactoring browsers (occasionally) Context-sensitive search and.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
Be “GUI ready” developing in RPG by Robert Arce from PrismaTech. Be “GUI ready” developing in RPG-ILE Presented by: Robert Arce.
CSCI 161 Lecture 3 Martin van Bommel. Operating System Program that acts as interface to other software and the underlying hardware Operating System Utilities.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
350 parts. i-bank functional structure ▪technical modules – authentication – auditing – user profile – OTP functionality – notifications – push.
1 3:00 PM, EST. 2 Don Hewitt Vice President, Business Operations OSEHRA Ramina Toy Program Manager Brad Triebwasser.
AWG Discussion Peter Li,
Software Testing.
PLM, Document and Workflow Management
AVOIR -African virtual
Hierarchical Architecture
FORMAL SYSTEM DEVELOPMENT METHODOLOGIES
SAEG, 15 March 2018 Item 2.2 Development: progress and next steps. Contribution of the NBB
Top Reasons to Choose Angular. Angular is well known for developing robust and adaptable Single Page Applications (SPA). The Application structure is.
Software Development Process
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Starting Design: Logical Architecture and UML Package Diagrams
COCOMO Models.
ViViaN Tutorial Joseph Snyder Betsy McPhail
ENERGY 211 / CME 211 Lecture 27 November 21, 2008.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Afsin Ustundag

Preliminary Deliverables List of application layer modules Already in the OSEHRA Architecture document Number of applications: 168 Identification of interfaces required and list of common services Start from XINDEX results More detail by code investigation, automation Similar project ongoing within OSEHRA?

Refactoring Deliverables Refactored Module Software Source Codes Module of our choice Scheduling is suggested No new functionality added Mainly reorganization of existing code to make it more modular and accessible Making the code compliant with OSEHRA guidelines Open source community to be engaged and participate

Delivered – Package Interfaces Automated Package to Package Interfaces Routine to routine only. Package routines are identified from namespaces. Uses XINDEX variant. Interfaces are specified as tags in routines Formal parameters. Inputs and outputs. Globals (top level). Indirection and Xecute statements. Read and Write statements.

Delivered – Package Interfaces Example Interface from Problem List Package GETLIST^GMPLHS CALLING PACKAGES : HEALTH SUMMARY,ORDER ENTRY/RESULTS REPORTING FORMAL: GMPDFN,STATUS INPUT: DUZ*,GMPDFN,GMPLVIEW*,IO,ION,IOST,IOT,ORWINDEV,SCS* STATUS,U OUTPUT: %,C,DI,DIL,DIQ0,DIQ1,DIQ2,DRS*,GMPLIST*,GMPTOTAL,I,J SCS*,X,Y GLBS: ^%ZOSF,^AUPNPROB,^DD,^DI,^DIC,^GMPL,^TMP,^VA READ: 0 WRITE: 1 PKG GLBS: ^%ZOSF,^AUPNPROB,^DIC,^GMPL,^TMP,^VA PKG EXEC: 1 PKG IND: 0

Delivered – Package Choice Choice of a preliminary package We chose Problem List. A package that does not have too many dependencies. A package that does not have too few dependencies. A clinical package. Has a menu based UI and GUI (CPRS).

Future Work - Dependencies Routine interfaces are not the only dependencies VistA file ownership. Global ownership. GUI RPCs. Data as Code (Faux Routines). Needs identification and automation Interfaces Needs to be fully validated. Namespace identification should be automated.

Future Work - Testing Understand OSEHRA resources and procedures. Understand VA resources and procedures. Automated tests? Test plans? Test data? MUnit? Determine and implement testing strategy. Requires understanding the functionality of Problem List package from user point of view. Test data? VA eHealth University?

Future Work - Refactoring Identify and separate presentation layer Can we implement a simple Problem List GUI? Needs more understanding of the code. Most read/writes are in common services? Do we move it to application layer? Needs more understanding of CPRS. Any business logic in CPRS? No Problem List RPC entries in ^XWB(8994? Problem List is manipulated through Order Entry package? Initialization and authentication? Need to look at Medical Domain Web Services (MDWS)

Future Work - Refactoring Identify and separate business logic Part of it is identifying presentation layer. Move direct data access to lower levels (FileMan). Move direct global lookup. Move Xecute statements. Limit indirection. Replace direct update calls to other packages with simple generic listeners? Define API’s between packages if not there.

Future Work - Refactoring Contribute XINDEX based utility Additional functionality already added for deliverables. Needs to be improved for dependencies. Improve as a tool to gather information about the codebase and globals. Looking at it as a automated refactoring tool. New all local variables. Add formal parameters. Replace old style tag/goto based loops. Identify dead code.