1. Field of the Invention
The present invention relates to an information processing method and apparatus thereof for deciding a layout by acquiring contents from a database.
2. Description of the Related Art
In recent years, application software have diversified and gained multi-functions, and have many controls and display items. Along with the diversification and multi-functions of application software, the number of items to be displayed increases inevitably. Conventionally, the number of display items is increased by utilizing switching by means of multi-windows and tab control (for example, see Japanese Patent Laid-Open No. 11-282600).
Also, a layout system which prepares a plurality of containers in a limited region, inserts data from a database into containers, and dynamically arranges the containers is known. The layout system can variably set the container size of the inserted text and image. However, the layout system is means for inserting predetermined data into a predetermined container and displaying the data, and cannot automatically lay out data desired by the user.
For example, assume that there is a database which stores an infinite number of data, and containers A and B whose size is variable (to be referred to as “variable containers” hereinafter) are created. In this state, data are inserted in variable containers A and B and are displayed. When data to be inserted into both variable containers A and B is large and cannot fall within one page, the sizes of the data to be inserted into variable containers A and B are made equal or these data are displayed to fall within the page in a predetermined priority order.
The priority order corresponds to the weigh assigned to a size change amount which is decided in advance for each variable container. When the variable containers are weighted, a variable container having the large weigh is displayed in a size close to the set size as much as possible, and a variable container having the small weigh need not approach the set size.
Such layout system suffers the following problems. The number of containers cannot be increased or decreased as needed like that the currently required display items are containers A and B, but the next items to be displayed are containers A, B, and C. Also, the criteria and container used upon displaying the item to be displayed cannot be decided.
The first aspect of the present invention discloses an information processing method comprising the steps of: selecting a container; and deciding a layout of the container based on the selected container and a correlation table which defines a layout of containers.
The second aspect of the present invention discloses an information processing apparatus comprising: a selector, arranged to select a container; and a decision section, arranged to decide a layout of the container based on the selected container and a correlation table which defines a layout of containers.
The third aspect of the present invention discloses an information processing method comprising the steps of: selecting a content of an electronic medical chart; and deciding a layout of containers based on the selected content and a correlation table which defines a layout of the containers.
The fourth aspect of the present invention discloses an information processing method comprising the steps of: laying out contents for an electronic medical chart, and displaying the laid contents on a monitor; selecting a specific content from the displayed contents; and changing a combination of contents to be displayed and a layout of the contents in accordance with the selected content.
The fifth aspect of the present invention discloses an information processing method comprising the steps of: designating a role of a user; laying out contents, and displaying the laid contents on a monitor; selecting a specific content from the displayed contents; and changing a combination of contents to be displayed and a layout of the contents in accordance with the selected content and the designated role.
The sixth aspect of the present invention discloses an information processing apparatus comprising: a selector, arranged to select a content of an electronic medical chart; and a decision section, arranged to decide a layout of containers based on the selected content and a correlation table which defines a layout of the containers.
The seventh aspect of the present invention discloses an information processing apparatus comprising: a display controller, arranged to lay out contents for an electronic medical chart, and displaying the laid contents on a monitor; a selector, arranged to select a specific content from the displayed contents; and a controller, arranged to change a combination of contents to be displayed and a layout of the contents in accordance with the selected content.
The eighth aspect of the present invention discloses an information processing apparatus comprising: a designator, arranged to designate a role of a user; a display controller, arranged to lay out contents, and displaying the laid contents on a monitor; a selector arranged to select a specific content from the displayed contents; and a controller, arranged to change a combination of contents to be displayed and a layout of the contents in accordance with the selected content and the designated role.
According to the present invention, the correlation between contents to be displayed can be set, and screen information based on the set correlation can be generated.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
An information processing method and apparatus thereof according to preferred embodiments of the present invention will be described hereinafter with reference to the accompanying drawings.
First Embodiment
[Layout System]
System Arrangement
A layout edit application 121 which runs on a host computer 101 includes a user interface (UI) 103 and layout engine 105 as software components. The UI 103 provides display to the user, and also a mechanism that associates data in a database (DB) 119 managed by a database (DB) server 117 with data sources. The layout engine 105 calculates the positions of rectangles and lines based on limitations and sizes given as a rectangle range, as will be described in detail later. Note that the UI 103 and layout engine 105 communicate with each other via a communication channel 123.
The host computer 101 communicates with the DB server 117, a file server 115, a printer server 109, and the like via a network 107.
The layout engine 225 of the engine server 227 communicates with the layout engine 105 of the host computer 101, executes the above calculations for the layout engine 105, and returns the calculation result to the layout engine 105. With this arrangement, the engine server 227 compensates for the calculation performance of the host computer 101, thus speeding up the layout edit processing.
A CPU 135 of the host computer 101 executes all or some processes of software such as the layout edit application 121. Especially, display processing that naturally takes place upon layout edit is implemented when the CPU 135 controls components to be described below via a system bus 134.
A hard disk drive (HDD) 139 and a ROM of a memory 136 store software such as an operating system (OS), the layout edit application 121, and the like.
The CPU 135 inputs user instructions via a keyboard 132 and a pointing device 133 connected to an I/O 143. The CPU 135 loads programs and data stored in the HDD 139, a CDROM inserted in a CDROM drive 142, or the like onto a RAM of the memory 136 in accordance with the user instructions. The CPU 135 accesses the file server 115 connected to the network 107 via an NIC 138, and downloads programs and data provided by the file server 115. The CPU 135 executes programs to process data, and displays the processes and results on a monitor 144 connected to a video interface (I/F) 137. The CPU 135 then outputs the program execution result and data processing result in accordance with a user instruction.
The outputs of the program execution result and data processing result include storage in the HDD 139, uploading to the DB server 117 or file server 115 connected to the network 107 via the NIC 138, and the like. Alternatively, such outputs may include printing by means of a local printer 145 connected to a general-purpose I/F 140 such as USB (Universal Serial Bus) or the like. Of course, a printer 113 connected to the network 107 can be utilized in printing via the NIC 138.
User Interface
The window 301 comprises a menu bar 302 whose display can be enabled/disabled. Also, the window 301 comprises a floating tool bar 303 which moves to and can be set at an arbitrary position on the screen of the monitor 144, and a work area 306 also in a floating state.
When the user clicks one of menu items 304 on the menu bar 302, a drop-down menu is hierarchically displayed. The tool bar 303 has many tool buttons 305 and widgets whose display can be enabled/disabled by, e.g., an environmental setting menu of a file menu.
In the work area 306, a cursor pointer 313 is displayed. A ruler 308 whose display can be enabled/disabled is used to indicate the positions of the pointer 313, a page 309, a line, a margin guide 310, and containers or objects. The work area 306 can scroll by a scroll guide 307.
A selection tool button 403 is used to select, move, and change the size of a side of a container, and to lock and unlock it. The button 403 allows to select a plurality of containers by dragging a selection box around containers or selecting containers while holding down, e.g., a CTRL key on the keyboard 132.
An image container tool button 405 is used to create a container having a static or variable image. A text container tool button 404 is used to create a container having static or variable text. A link tool button 406 is used to create a link for controlling the distance between containers.
These buttons are implemented on the UI 103 as tool tips of icons which change according to the operation conditions.
Document Template
The work area 306 is used to display and edit the design of a document template. The user designs a display overview of a document in a preparation stage to understand how the merged document changes based on the volumes and sizes of variable data.
If an external data source has a link to a template, variable text and images are displayed in these containers to allow the user to preview the current document.
The document structure and a visual clue upon rendering a container of variable data are always displayed when the pointer 313 is moved onto the container or when the container is selected.
The page size of the document template is designated by the window size. The actual number of pages of each document may change depending on variable data. If variable data cannot be fit into one page, an additional page is automatically generated.
A boundary line (margin guide 310) in each page indicates a maximum displayable region of an object on a page.
Container
A container is a space having static or variable text or a static or variable image in the document template, and is laid out together with another container and object. The container can be moved, resized, and re-created using the cursor pointer 313. More properly, the container has a set of settings, visual expression, interaction, and edit operation. The container is defined as follows.
The container has a static or variable content. A variable content is dynamic in the sense that it is brought from a data source and may be displayed differently in different documents. A static content is displayed in the same way in all documents generated using the container. However, the static content may have different positions in respective documents due to the operation of the variable container.
The container has a modification function of text settings such as a background color, border, font, style, and the like to be applied to a content.
The container is merged with data from a data source upon generation of a document. The modification function is visible on display like every static contents. The variable content allows display of specific data from a data source. This expression of the container can be attained, e.g., when it is printed, when it is displayed on the monitor 144, or by both the methods.
The container has a user interface. For example, the container has an interactive graphical user interface (GUI) used to, e.g., edit the container and to make its display settings. Elements of the interface are displayed on the monitor 144 but they are not displayed upon displaying a document and are not printed upon printing the document. The UI 103 displays some modification functions of the container such as a background color and font, and adds a function required to permit to edit or display the settings of the container. A special function of the UI 103 includes, for example, a corner icon which is used to interactively change and display the size and position of the border or container. Furthermore, the special function includes a number, line, icon, and text which are overwritten to indicate the operation of the container when the container is merged with data from a data source.
Limitations on Container
The container has limitations to control how to link contents displayed by respective documents. These limitations (link static and variable contents with containers and) are the principal method of allowing the user to control generation of a large number of documents from a single document template. An example of the limitations is that “the height of a content of this container has a maximum value of 4 inches”. Another example of the limitations is that “the left ends of contents of the containers must be displayed an identical horizontal position in respective documents”. The contents described here are various methods for displaying and editing such limitations.
The user can designate the sizes and positions of contents of documents using the containers.
The sides of one container define virtual boundary lines within which associated contents are displayed in documents. Discussing about the left side of the container amounts to discussing about the displayable leftmost sides of the associated contents in every documents. Likewise, discussing about the height of the container amounts to discussing about the limitation on the heights of the content associated with created documents. The above differences will be clarified below upon discussing the sides or the size of the container with reference to the UI 103.
Term “fixed” used to define some values to limit display of the content is common to all documents.
If the width of the container is fixed, the same widths are assigned to the associated contents in all documents. If the height of the container is fixed, the same heights are assigned to the associated contents in all documents.
If the limitation on the distance is fixed, the designated distance is a limitation for all documents. If the right and left sides of the container are fixed, the horizontal positions of the sides are the same in a page for all documents. However, the height or vertical position of the container is variable. For example, if the left side of the container is fixed, the associated contents may be displayed near the top of a page in one document, or may be displayed near the bottom of a page in another document. However, the left sides have the same horizontal position in all cases.
If the top and bottom sides of the container are fixed, the height and the vertical positions of the sides of containers are the same in a page for all documents. However, the width and horizontal position of the containers are variable.
The vertical axis of the container is an imaginary vertical line located between the parallel right and left sides of the container. If the vertical axis of the container is fixed, the averages of the horizontal positions of the right and left sides of containers are the same in all documents. With this limitation, the width of the container can change. In a document having different right and left sides, the right and left sides may be far from or near the vertical axis, but the vertical axes are located at the same horizontal position in all documents. However, the height and horizontal position of the container are not influenced by this limitation.
Likewise, if the horizontal axis is fixed, it limits the vertical positions of the top and bottom sides of the container, but the height of the container is not influenced by this limitation.
On the other hand, if both the horizontal and vertical axes are fixed, this means that the central position of each container is fixed. However, the width and height of the container are not influenced by this limitation.
If a corner of the container, the middle position between the sides of the container, or the central position of the container is fixed, contents are displayed at the same positions in all documents and at the same positions associated with containers. For example, if the upper left corner of the container is fixed, the upper left positions of laid-out containers are the same in all documents.
The vertical side or axis is fixed in terms of the right or left side, right or left margin, or another horizontal position of a page. Likewise, the horizontal side or axis is fixed in terms of the top or bottom side or margin, or another vertical position of a page. Term “fixed” is important only when documents have different page sizes, since documents have no difference if all documents have the same page size.
Antonym “variable” of term “fixed” means that limitations on the side, axis, corner, middle position, or document may change among documents. However, a document specific setting may not require this. For example, there are other external limitations such as actual preferred positions of sides due to change. If no external limitations are applied, since the sides are labeled as “unfixed”, the positions of the sides can be changed.
Display and Edit Container
Create New Container
There are two types of containers, i.e., a text container and image container. The text container has text and an embedded image. The image container has an image alone.
A new container is created by clicking the text container tool button 404 or image container tool button 405 in
A dialog box or another prompt used to insert a container of a default size or to set the size of a new container is displayed. Some containers are dynamically created by a schema which is defined or calculated in advance, and are laid out.
Display Container
The state of the set container is preferably rendered by a graphical expression. The states of some sides may be fewer than graphic display since some conditions are independently expressed.
The layout edit application 121 draws the sides of a container using solid lines 503 or broken lines 504 to express the states of the sides. The container has icons of anchors 506, 507, and 509, handles 502, and sliders (denoted by reference numeral 413 in
The container display rules in
(1) A fixed side is rendered by a solid line, and an anchor 509 is rendered near its center.
(2) For a container with a fixed width, the right and left sides are rendered by solid lines.
(3) For a container with a fixed height, the top and bottom sides are rendered by solid lines.
(4) No axis is rendered.
(5) A side which is not rendered is rendered by a broken line, and an extend/shrink icon 505 is rendered near it.
(6) If crossing sides (or axes) are fixed, an anchor 506 (or 507) is rendered at their intersection.
(7) If no anchor 509 is rendered in case of the fixed side, a slider 413 is rendered near the center of that side.
(8) If neither an anchor nor slider are rendered for the crossing sides (or aces), a handle 502 is rendered at their intersection.
Lines guaranteed by rules 1 to 3 are rendered using broken lines if they are fixed or limited. A variable side guaranteed by rule 5 is rendered by a broken line. Anchors 506 (or 507) are displayed for fixed sides guaranteed by rules 6 to 8, sliders 413 are displayed for some fixed sides, and handles 502 are displayed for some other fixed sides.
In the above description, a side must be rendered only once. Once a given rule is applied to the side to be rendered, that rule is never applied to the same side again later. For example, if a container is too small and icons overlap each other, or it makes other display functions indistinct, simpler icons may be displayed, or display of the icons may be omitted.
The rendering position of the variable side depends on the content of a container. As will be described later, “dynamic calibration processing” which means that the content is merged with the document template and is visualized by the UI 103 is used. Alternative means that decides whether the contents areas or variable sides of containers which are averaged in all documents are to be laid out on the UI 103 may be used.
These content expressions provide graphical means that displays the states of the sides of a container. The expressions can be interpreted as follows.
The broken lines 410 shown in
The solid lines mean the limited sides. This is because the sides 414 in
An anchor means that the intersection of the sides or axes is fixed. Therefore, anchor points appear at horizontal and vertical positions of all documents. Obviously, the anchor is fixed. The anchor icon 409 shown in
A slider means that the corresponding side is fixed. The position of a container is decided by the “length of the slider” along the side. For example, the sliders 413 shown in
Some or all of these icons and sides may or may not be rendered depending on the selected tool or container to be highlighted or activated. In general, since the sides and icons of a container are used to help design the document template, they are not displayed when the content is displayed.
Settings of the minimum or maximum values of the width and height of a container are displayed on a subsidiary dialog window.
In a container 501 shown in
In a container 501 shown in
In a container 501 shown in
In a container 501 shown in
Link
A link indicates an association between containers. The association indicates the distance between the containers, and the layouts of the containers associated by the link are calculated while they are influenced by each other's layout changes. A link 412 shown in
Set Link
Upon setting a link, the user creates at least two containers to which a link is to be set (S601). The user clicks the link tool button 406 to make it active (S602).
Sides 701 and 702 are fixed by anchors 703 and 704. The user moves a cursor pointer 705 to one container to which a link is to be set and clicks it to select that container (S603).
As shown in
After step S604, a link 707 is displayed (S605), as shown in
Sides 708 indicated by the broken lines in
Extend/shrink icons 709 shown in
Layout Calculation
The layout edit application 121 comprises a layout mode for creating containers, associating the containers with each other, and creating a layout. Also, the layout edit application 121 comprises a preview mode for inserting the contents of records into the created layout, and previewing the layout result after the contents are actually inserted. When the user selects the preview mode, the layout edit application 121 inserts the contents of actual records and calculates a layout. Note that the preview mode is a layout calculation on display. Upon printing, the contents are inserted, and a layout corresponding to a recording paper size is calculated. In this case, the same calculation method is used. Note that a record is a unit of information recorded in the DB 119 shown in
The content of a record to be previewed is selected and is inserted into a layout (S802), and the layout is calculated (S803). The calculated layout is displayed (S804). The user is asked whether he or she wants to preview another record (S805). If the user decides not to preview another record, the preview mode ends (S807).
If the user decides to preview another record, the other record is selected (S806) to select its content and to insert it into a layout (S802). The layout is calculated again (S803), and the calculation result is previewed (S804).
Note that print processing calculates layouts in turn for all contents to be printed. Hence, the print processing does not include any processes in steps S805 and S807. Upon completion of printing of all the contents, the print processing ends.
Layout Calculation Method
Set of containers, the layout of which is to be calculated are obtained (S901). The layout calculation is made for the associated containers as one set.
One set is selected from the obtained sets of containers so as to calculate a layout (S902), and the layout of the selected set is calculated. The layout is optimized to minimize the differences between the sizes of the containers to be laid out and those of actual contents (S903). The optimization of the layout is done so that the differences between the sizes of contents respectively inserted into the associated containers to allow a dynamic change in size and those of the containers to be laid out are possibly equal to each other between the containers. After optimization of the layout, rule violations are checked (S904). If any rule violations are found, the layout is calculated again to correct the rule violations (S904). The rules are limitations which are set by the user upon creation of a layout, and include the sizes and positions of containers, the length of a link, and the like. If the layout free from any rule violations is calculated, the layout of that set is completed. The processes in steps S902 to S904 are executed for all the sets on the page based on the checking result in step S905, thus deciding the layout on the entire page.
Set Variable Link
In nearly the same manner as in
The dialog 1401 includes a title bar 1402, tool buttons 1403, buttons 1404 used to apply the settings on the dialog or to close the dialog, and a region 1409 on which various kinds of information are set. A link with a variable or fixed length can be set by one of radio buttons 1406 and 1407 on a “link type” field 1405. In case of the variable-length link, a maximum value, minimum value, and current value of the distance of the link can be set using text boxes 1410 to 1412 on a “link distances” field 1408.
The user moves the cursor pointer and selects the link 1503 by clicking (S1302). Then, the user displays the dialog 1401 shown in
Next, the user selects the radio button 1407 to change the link 1503 to a variable length (S1304). With this operation, the text boxes 1410 to 1412 laid out on the “link distance” field 1408 are enabled to allow numerical value settings. The user sets appropriate values in the text boxes 1410 to 1412 to set the distance of the link 1503 (S1305). Next, when the user presses the button 1404 to apply the settings, the display state of the link 1503 changes to that of the link 1209 shown in
For example, assume that contents with different sizes are to be inserted into the containers 1501 and 1502 shown in
However, the fixed-length link 1503 is set between the containers 1501 and 1502, and the left side of the container 1501 and the right side of the container 1502 are fixed by anchors. For this reason, the sizes of the containers 1501 and 1502, which are preferentially calculated upon layout calculation, are changed. As a result, the containers 1501 and 1502 cannot assure optimal sizes suited to the content sizes, and have container sizes smaller than the optimal container sizes 1504 and 1505. In other words, since the link 1503 has a fixed length, the containers 1501 and 1502 cannot attain their optimal container sizes.
When the variable-length link 1603 is set between the containers 1501 and 1502, the distance of the link 1603 can be reduced upon changing the sizes of the containers 1501 and 1502. As a result, the sizes of the containers 1501 and 1502 can be extended more than the example of
Layout Based on Correlations set for Role
The layout edit application 121 lays out containers to have optimal container sizes based on correlations set for respective roles and the properties of records set in the containers.
A role designated by the user is input (S17O1), and correlations of containers registered in the designated role are referred to (S1702). Note that the setting of the role and the correlations of containers will be described later.
The total number of containers is set in register N (S1703), and 1 is substituted in variable n (S1704). Containers are extracted based on the correlations referred to (S1705), and are laid out (S1706), thus incrementing variable n (S1707). The processes in steps S1705 to S1707 are repeated until n>N is decided in step S1708, thus laying out all containers.
The priority levels of the containers are referred to (S1709) to start a layout calculation (S1710).
The properties of contents set in the containers are detected (S1711). The actual size of each content stored in the DB 119 is obtained from the property of that content. When static text or image is inserted in a content, a size including its size is acquired. A layout is calculated based on the properties of the contents and setting values set in the containers (S1712), and the layout result is displayed on a window provided by the UI 103 (S1713).
Set Role
Each user may register roles or each group including a plurality of users may register them.
Correlation of Containers
[Application Example of Layout System]
An application example of the aforementioned layout system to an electronic medical chart will be described in detail hereinafter. The electronic medical chart has various input controls and data, and required display and browse contents are different depending on doctors, nurses, medical engineers, pharmacists, medical clerks, and the like. Therefore, the aforementioned layout system sets roles for users or groups to provide display and browsing of the electronic medical chart that the user wants.
In other words, displaying all pieces of information described in an electronic medical chart impairs visibility upon referring to the electronic medical chart. In case of an electronic medical chart used by integrating a plurality of departments of medicine, a doctor of another department of medicine must refer to the description contents after he or she displays all pieces of information once. Also, entries of the electronic medical chart include many that need not normally be browsed. That is, even a single electronic medical chart includes different kinds of information to be displayed in correspondence with those of interest for respective users or groups.
Overview of Electronic Medical Chart
The electronic medical chart includes a menu bar 2101 and tool bar 2102 on its upper portion.
Under the tool bar 2102, there is an information area 2104 which is used to input, edit, and display mandatory information for the electronic medical chart such as basic information such as a consultation day, patient name, and the like, consultation information, a medical history, receipt, medication information, and the like. Information input to the information area 2104 in the edit mode is stored in the DB 119 in a medical center, and is managed as the contents of the electronic medical chart. Note that
In this way, in the electronic medical chart application having a plurality of controls, only controls used are assembled, and the sizes of the respective controls are dynamically laid out within a displayable window size. Since the sizes of respective controls are changed depending on their data sizes, the visibility can be improved.
Transition of Display in Electronic Medical Chart System
In the edit mode, a doctor inputs required information to required fields of predetermined controls of the electronic medical chart shown in
In the view mode, when the viewer clicks one of the controls which are dynamically laid out, controls associated with the clicked control are assembled and laid out again, as shown in
As shown in
Furthermore, as shown in
In this way, only the used controls are extracted and are optimally laid out on the window, thus improving user's visibility. Also, since input items other than the user of interest are displayed in a related sequence, confirmation errors and the like can be avoided. Since users possess different correlation tables, display corresponding to the jobs and work contents of the users can be made using a single electronic medical chart.
Other Embodiment
The present invention can be applied to a system constituted by a plurality of devices (e.g., host computer, interface, reader, printer) or to an apparatus comprising a single device (e.g., copying machine, facsimile machine).
Further, the object of the present invention can also be achieved by providing a storage medium storing program codes for performing the aforesaid processes to a computer system or apparatus (e.g., a personal computer), reading the program codes, by a CPU or MPU of the computer system or apparatus, from the storage medium, then executing the program.
In this case, the program codes read from the storage medium realize the functions according to the embodiments, and the storage medium storing the program codes constitutes the invention.
Further, the storage medium, such as a flexible disk, a hard disk, an optical disk, a magneto-optical disk, CD-ROM, CD-R, a magnetic tape, a non-volatile type memory card, and RON can be used for providing the program codes.
Furthermore, besides aforesaid functions according to the above embodiments are realized by executing the program codes which are read by a computer, the present invention includes a case where an OS (operating system) or the like working on the computer performs a part or entire processes in accordance with designations of the program codes and realizes functions according to the above embodiments.
Furthermore, the present invention also includes a case where, after the program codes read from the storage medium are written in a function expansion card which is inserted into the computer or in a memory provided in a function expansion unit which is connected to the computer, CPU or the like contained in the function expansion card or unit performs a part or entire process in accordance with designations of the program codes and realizes functions of the above embodiments.
In a case where the present invention is applied to the aforesaid storage medium, the storage medium stores program codes corresponding to the flowcharts described in the embodiments.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims priority from Japanese Patent Application No. 2005-320011 filed Nov. 2, 2005, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2005-320011(PAT.) | Nov 2005 | JP | national |