Jan Schultz

Jan Schultz
Director, Reuse Group
IDX Systems Corporation
1400 Shelburne Road
Burlington, VT 05402
802 864-1758 ext 6468
Jan_Schultz@idx.com
© 1999 Jan Schultz
New item 6/1:  a short paper I wrote about a year ago that is very relevant for this workshop:
        Programming considered harmful for application development (and reuse)

Statement about End-User Programming:

End-user programming (EUP) systems are hard to build. They are subtle. The EUP system must be responsive enough so that the user can think about getting their work done and not about the system they are using to get it done. This is less of a problem now then it was twenty years ago. The EUP system must be structured so that the end-user is surrounded by their domain and are very comfortable using the system because it is made of their content. In general, EUP systems are built over many years by many people who work together in a coordinated way.

EUP systems require run-time interpretation of metadata. The programmer - whether an end-user or a domain expert (who is entering the knowledge used by the end user) - must enter metadata that describes the run-time operation of the system. The system must interpret the metadata at run-time in order to have the flexibility required to make it usable. EUP systems have three levels of access and programmability:

  1. the end-user (a non-programmer doing stereotyped programming)
  2. the domain expert (non-programmer with more systems expertise)
  3. the system developer (programmer).
Both the end-user and the domain expert use the “end-user framework”, but they use it in different ways - one to get their work done, and the other to enter the domain knowledge to allow the end-user to get their work done.

Questions to ask:

Metadata:

Some background: I was the primary architect on the PROMIS system which was developed over 20 years and was redeveloped 5 times. While at the University of Vermont (where PROMIS was developed) we had 10 programmers and hardware people and 15 domain experts (radiologist, pharmacists, internists, surgeons, nurses and hospital administrators). The final version of the system had over 60,000 frames of medical knowledge. The domain experts entered the medical knowledge into the frames without programmer assistance. The frames were connected in a hypertext network with associative branching among them and the content on the frames was context sensitive. The user’s traversal of the frames generated the text for the electronic medical record, so that 80% of the content of a patient’s medical record was entered from selections.

My last business, StepSoft, was developing a system to build large complex applications. StepWise, the product name, could build large networks of hypertext linked screens. There were “wizards” that allowed end-users to build the screens and define the branching among them. A user could build a screen in a couple of minutes and connect it up to other screens easily.  Large applications could be built in this way very quickly. There were wizards to enter business rules that could be connected to various data entry points in the screens and to a back-end database. Systems like this have been called “performance support” systems.

For background on the PROMIS System see a paper written by me in the ACM Press Book, A History of Personal Workstations. The paper is titled “A History of the PROMIS Technology: An Effective Human Interface”.

General Experience:

Jan Schultz is an experienced executive, software entrepreneur and software designer. He has had extensive experience in all aspects of software analysis, design and development as well as extensive business planning and execution experience. He has started two software businesses and one computer consulting business as well as done pioneering medical Informatics work in the UVM Department of Medicine.

Jan is the Director of Reuse and the team leader of the Reuse Group at IDX which has three main objectives: Significantly enhance extensibility / maintainability of our software, continue our move toward true integration of our applications and accelerate the development of our applications through code reuse, component design, knowledge management and other techniques. Jan’s background includes most recently being Senior Vice President for Engineering, President and Founder of StepSoft, Inc. a Burlington software company that was 90% completed in developing an application development tool kit for the Windows Client / Server market. He found a pioneer customer who invested over $1M, managed outside relationships with pioneer customer and other potential investors, interested parties and customers. He participated in prototype object oriented design and coding in C++. Grew start-up to staff of 10. Hired President, six programmers, UI designer and a tester. Wrote product plan and managed product development process and staff. Used an Object Oriented system development methodology based upon an iterative/incremental development cycle with short, fixed delivery schedules.

Prior to forming StepSoft, Jan was the Director of Information Services and a member of the Executive Staff at the University of Vermont Health Center (UHC). At the UHC he managed Operations, Application Support, the HELP desk and Production. His accomplishments included installing the IDX Patient Accounting and Scheduling applications and the ROSS General Ledger application. He reorganized the Information Services Division by flattening the division’s organizational structure. He hired four new programmers so that the Division could develop applications and reports and work in a knowledgeable way with the UHC’s application vendors.

Jan was Principal and owner of JRS Computer Consultants in Burlington. He provided product design and implementation in the medical and financial service software industries. He provided computer use planning, computer personnel selection and assessment, design, specification and selection of systems, project management, problem specification and vendor communication. He managed over 25 engagements over a four-year period.

Jan was also Principal Systems Engineer and a Founder of Second Foundation, Inc. a "spin-off" from PROMIS Laboratory (see below). While at Second Foundation, Jan designed and implemented an object oriented, database management system tailored to manage electronic medical records. He also designed and implemented a 4GL with a "C like syntax" to operate in the UNIX environment to replace PPL (see below) and he converted 400,000 lines of PPL code to the new language. Second Foundation was sold to Vencor, Inc., a chain of proprietary critical care and nursing homes, in 1993. The system Second Foundation developed (called ProTouch) is installed in all of the 40 Vencor hospitals and is used for all patient medical record recording needs.

He was Director of Systems Development for PROMIS Laboratory and a Research Associate in the Department of Medicine as well as an Assistant Professor of Computer Science in the Engineering, Mathematics and Business Administration College of UVM. He planned, coordinated and implemented the evolution of the PROMIS system through four generations of hardware and software. The PROMIS system was a highly interactive, touch screen system that allowed users to manipulate an electronic medical record within the context of a large body of medical knowledge. PROMIS had over 60,000 frames of knowledge within it. The system was architected so that the same core system used to manage patient data could be used by domain experts to maintain and add new medical knowledge. Jan designed and implemented a high-level, structured programming language, PPL, in which all PROMIS applications were developed as well as designing and implementing the electronic medical record database application.

Jan has a BS in Mathematics and Physics and MS in Mathematics from the University of Illinois. He developed a very early computer-based teaching machine called Socrates while a graduate student.