WO2011066597A1 - Method of and apparatus for recording information - Google Patents

Method of and apparatus for recording information Download PDF

Info

Publication number
WO2011066597A1
WO2011066597A1 PCT/AU2009/001580 AU2009001580W WO2011066597A1 WO 2011066597 A1 WO2011066597 A1 WO 2011066597A1 AU 2009001580 W AU2009001580 W AU 2009001580W WO 2011066597 A1 WO2011066597 A1 WO 2011066597A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
computer
client
recording information
implemented method
Prior art date
Application number
PCT/AU2009/001580
Other languages
French (fr)
Inventor
Bruce Cohen
Graham Cohen
Original Assignee
Enotefile Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Enotefile Pty Ltd filed Critical Enotefile Pty Ltd
Priority to AU2009356144A priority Critical patent/AU2009356144A1/en
Priority to PCT/AU2009/001580 priority patent/WO2011066597A1/en
Publication of WO2011066597A1 publication Critical patent/WO2011066597A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/20ICT specially adapted for the handling or processing of patient-related medical or healthcare data for electronic clinical trials or questionnaires
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/67ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Epidemiology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Client software on user terminals (1) enables users to enter information (322) in documents for storage, for later retrieval by the user, and for sharing with other users. The documents may contain graphical representations (320) of physical entities on which the users can graphically make markings (321).

Description

Method of and Apparatus for Recording Information
Field of the invention
The present invention relates generally to a system for gathering, storing and sharing information. Although embodiments of the present invention are described with reference to a healthcare environment, the invention is not limited to use in such environments.
Background of the invention
In a healthcare facility such as a physiotherapy practice, it is necessary for healthcare clinicians to gather data concerning the disorders of the client, to record treatment and the like, and to store the recorded data. It is also desirable that the stored data be made available to other clinicians who are authorized to access that data.
Summary of the invention
Accordingly, in one aspect, the present invention provides a method of recording information in an environment which comprises;
at least one server; and
at least one client terminal which is adapted to:
communicate with the at least one server; and to
execute a software client application,
the process comprising the steps of the client software application:
receiving input from a user;
deriving data from the input from the user, and
storing that data in a database on the at least one client terminal.
It is preferred that the method further comprise the step of synchronizing data which is stored in the database on the at least one client terminal with data which is stored in a database on the at least one server. It is preferred that the method further comprise the step of synchronizing the data which is stored in the database on the at least one server with data which is stored in a database on at least another client terminal.
It is preferred that the software client application has been downloaded to the at least one client terminal from a server.
It is preferred that the software client application is adapted to display promotional material on the at least one client terminal.
It is preferred that the step of receiving input from a user comprises:
the display to the user of a document template; and
the user creating a document by entering input into the document template. It is preferred that the document template comprises an image of at least a portion of a physical entity.
It is preferred that the physical entity is the human body. It is preferred that the step of the user entering input in the document template further comprises the step of the user marking a portion of the image.
It is preferred that the user uses a pointing device to mark a portion of the image. It is preferred that the user enters handwritten input in the document template.
It is preferred thatthe document template comprises data entry fields.
It is preferred that the data entry fields have been customized by the user.
It is preferred that the method further comprise the step of client software application retrieving a document from the database on the at least one client terminal.
It is preferred that the document is retrieved by the client software application searching for documents which satisfy at least one criterion which has been specified .by the user.
It is preferred that the at least one criterion identifies a portion of a physical entity.
Further aspects of the present invention arc summarized in the claims. It will accordingly be seen that preferred embodiments of the present invention provide client application software, a public website, an administration website and
synchronization servers. According to some preferred embodiments; an end-user can download a copy of the application software from the public web site. The application software provides the facility whereby an end-user can create records of data, such as the clinical notes of a health-care professional. The records of data can be stored locally and remotely at the synchronization servers. Records of data which have been stored remotely can then be used to update records which are stored locally by other users. According to particularly preferred embodiments, the website owner generates revenue by the display of advertisements to the end-users.
Brief description of the drawings
This specification describes preferred embodiments of the invention with reference to the drawings, in which: '
figure 1 is a schematic representation of apparatus which is suitable for
implementing embodiments of the invention;
figures 2 to 42 are screen capture images of output from a user interface according - to preferred embodiments of the invention; and
figures 43 to 61 illustrated software-implemented processing according to preferred embodiments of the invention.
Description of preferred embodiments of the invention
Overview of hardware architecture
As is illustrated in figure 1, embodiments of the present invention are implemented by utilizing a client-server system 1. The client-server system 1 includes user terminals 1 which are connected over the Internet or other network 2 to a server or servers 3. Suitable forms of user terminal 1 include tablet PCs, laptop PCs and desktop PCs. As is also illustrated in figure 1 , the user terminals 1 may be used by standalone users and so be directly connected to the network 2 or may be aggregated in healthcare or the like facilities 4 and 6, in which case it is preferred that they be on a local network which is in turn connected to the Internet or the like.
Overview of operation According ιο preferred embodiments of the invention, users access the necessary client software by accessing a web site such as is illustrated by the web page 7 of figure 2. The web page 7 includes links to informational and promotional material and also a
"download" link 8 which is used to initiate the processes of user registration and software downloading.
On clicking on the download link 8, the user is presented with the registration form 9 which is illustrated in figure 3. The registration form 9 includes fields which allow for entry of the names of the user, contact details such as email address, a password and a check-box by which the users acknowledge that they agree to the terms of use. An example of a filled-in registration form is illustrated in figure 4.
On successfully filling in the details in the registration form 9 and clicking on the
"register" button 11 , a notification 12 is displayed to the user as is illustrated in figure 5. The notification 12 includes a message to the effect that an email has been sent to the user's email address to complete the registration process.
An example 13 of the contents of such an email is illustrated in figure 6. The email 13 includes a link 14 which, when clicked on by the user, takes the user to a web page 16 which is illustrated in figure 7. When the web page 16 is loaded into the user's web browser, a registration confirmation email is sent to the user. Contents of the registration confirmation email are illustrated in figure 18. The web page 16 includes a further link 17 which takes the user to a download options page 18 which is illustrated in figure 8. The download options page 18 includes links which lead to the downloading of embodiments of the client software which are tailored to suit the needs of different categories of end users. The embodiments of the software which arc illustrated in figure 8 are:
an embodiment which is tailored to the needs of health-related industries, which is downloaded by clicking on the download button 19;
an embodiment which is tailored to the needs of a client-related industry, which is downloaded by clicking on the download button 21;
an embodiment which is tailored to the needs of an education-related industry, which is downloaded by clicking on the download button 22; and
an embodiment which is tailored to the needs of a project-related industry, which is downloaded by clicking on the download button 23. The presently-described embodiments of the invention relate to the health related industries. As is described in further detail below in this specification, the client software utilizes a different version of a "terminology pack", depending on whether that client software is tailored to the needs of health-related industry, client-related industry, education-related industry or project-related industry.
As is illustrated in figure 9, on clicking on any of the links 19, 21 , 22 and 23 the user is presented with the option 24 of downloading a "quick install" of the user software and the option 26 of downloading a "full install" of the user software. The quick install option 24 is suitable when the operating system and middleware on the client device 1 are up-to-date and the full install 26 is suitable when the operating system and middleware on the client device 1 are not up-to-date. When the user chooses one of the download options 24 and 26, the download process starts as is illustrated in figure 10. When the download process has started, the user is prompted to run the downloaded software as is illustrated in figure 1 1. If the user chooses the "run" option which is illustrated in figure 1 1 , the user is then presented with the dialog box 28 which is illustrated in figure 12, The dialog box 28 gives the user the options of proceeding with the installation of the client software or terminating the installation of the client software. If the user proceeds with installation of the client software, the installation proceeds through the conventional steps of:
warning the user that the software is protected by copyright (as is illustrated in figure 13);
requiring the user to agree to licensing terms (as is illustrated in figure 14);
giving the user the option of changing the default software installation folder (as is illustrated in figure 15);
giving the user the option to back-track and change installation options (as is illustrated in figure 16); and
informing the user when the installation process is complete (as is illustrated in figure 17). On opening the installed client software, the user is presented with a logon window as is illustrated in figure 19. On the first logon by the user, a process of initial synchronization of data between the user software arid server software takes place, as is illustrated in figure 20 and as is described below. Following successful logon, the default initial screen which is displayed to the user is illustrated in figure 21. As is illustrated in figure 22, the default initial screen provides the facility for the user to input hand-written text and the like by use of a tablet device or other suitable input device. As is described below, text or the like which has been input as illustrated in figure 22 can be saved as an "electronic memo", associated with a client of the healthcare establishment. However, that memo cannot be saved as associated with a client until the record for that client is created, as is described below with reference to figure 31. As is described below, most categories of documents which are created by a user can be shared with other users. By default, electronic memos are not shared among users unless they are, subsequent to creation, associated by the user with a particular client. The hierarchy of entities which may be associated with a client are illustrated in figure 24, which illustrates that different categories of documents may be associated with a client, and that each document that is stored within a given category of documents may in turn consist of multiple pages.
In order to create records for a new client of the healthcare facility, the user clicks on the "new client" menu item 29 which is illustrated in figure 23 and the user is then presented with a default note-taking screen as is illustrated in figure 25. On clicking on the "client details" tab 30 which is illustrated in figure 25, the user is presented with an input form for entering details of the client as is illustrated in figure 26. As is illustrated in figure 27, the fields in this input screen are customizable, both as to the fields which are to appear in the form and as to the relative positioning of the fields on the form. Once the details of a new client have been entered as is illustrated in figure 28, those details may be saved. The default form of a category of documents can preferably be modified by the user. For example, a default category of document is the "outline body model". As is illustrated in figure 29, the outline body model category of document includes simplified front and rear views of the human body to facilitate note-taking by clinicians. Figures 29 and 30 illustrate that the fields "Clinician" and "Created by User" have been added to the default form of "outline body model" category of document by use of the drop-down menu 31. As a record for the client has now been created, any electronic memo which was previously created in respect of that client can now be saved in association with that client, as is illustrated in figure 31. Figure 32 illustrates an example of an outline body model document in which a clinician has entered clinical notes by use of a tablet computer or like device. The clinician has used a colour-pen tool to mark an area 321 of the body model 320. This marking indicates that the client is suffering right low back pain which is referring into the right buttock. The hand-written annotations 322 indicate that the clinicians subjective assessment (that is, an assessment which is based on discussion with the client) is that the client has suffered right low back pain for 2 days, which is aggravated by sitting and eased by lying. The client's general health is otherwise good and the client is not on medication. The clinician's objective (physical) assessment is that lumbar flexure range is around about half normal, but following treatment the client has a normal range of movement.
Unilaterally on the right hand side the client is tender on palpation at lumbar spine segments 4 and 5 and it also feels stiff. The treatment prescribed is a home exercise program and "hands on" treatment unilaterally on the right hand side with grade 4 mobilisation technique. The client is to be reviewed in 2 days. The document is a multi- page document and, as is illustrated in figure 33, the client software has the facility to popup a slider window 33 which shows thumb-nail images of the two pages of the document. The user choose a thumb-nail image to switch the main document view to the
corresponding page of the multi-page document. Figure 34 illustrates a document which the clinician has prepared when the client returns for review. The handwritten annotations in the document indicate that the clinician's objective assessment is that now no abnormality of lower spine flexion is detected.
Treatment is to be "status quo". The clinician's plan is to discharge the client. As there are now 2 documents associated with the client, as is illustrated in figure 34 the user can use the slider button 34 to move from document to document.
From time to time during the course of a clinician's work, it is desirable to synchronze the data which has been generated and saved locally with data which is stored on the servers 3. As is illustrated in figure 35, an indicator 36 pops up on the client window to indicate the progress of such a synchronization.
As is illustrated in figure 36, a drop-down menu 39 allows the user:
to perform a keyword search through all documents; to search using details of a client;
to search for data relating to a specified area of the clients' bodies; and
to show a listing of all clients. Figures 37 and 38 illustrate the process of keyword searching. After the user has entered the keyword "improving" in the text entry box 38 of figure 36 and has chosen a keyword search, a results window is displayed as is illustrated in figure 37. The results window lists the documents in which the keyword "improving" appears. As is illustrated in figure 38, clicking on the "Handwriting Keywords" button 35 displays an informational window which lists the words which a handwriting-recognition feature has identified as being within that document.
Figure 39 illustrates the process of searching using details of the client. The user has entered the first and last names of the client.and the date of birth of the client into the relevant fields of an input forum and clicked on the "search" button. The client software then performs a search using the entered search parameters and produces a listing of the clients who satisfy the search criteria.
Figure 40 illustrates the process of searching relating to a specified area of the human body. The user has used a pointing device to specify an area of the human body in respect of which to search and clicked on the "search" button. The client software then performs a search and produces a listing of the documents which satisfy the search criteria- Figure 41 illustrates the process of using the "show all" search to produce a listing of all documents. When the user clicks on the "show all" button, the software produces a listing of all documents.
As is illustrated in figure 42, if the user software is not able to connect to the servers 3, the. user will be prompted to make a decision as to whether or not to work offline. If the user chooses to work offline, locally-generated data cannot be synchronized with the servers 3 until the user software is again able to connect to the servers 3.
Detailed description of operation of the client software Explanation of terminology used in this specification
The following terminology is used in the following detailed description of the operation of the client software. An "organization" is a body in which one or more users collectively create and share projects. In the case of the description above of the overview of the operation of the user software, the "organization" is a healthcare facility such as a physiotherapy practice. All "projects" within an organization are visible to all users within that organization. In the case of a healthcare facility, the "projects" would be "clients".
A "category" is both a document template (such as the template for the "body model document" in a healthcare facility) and is a grouping of similar document (such as a collection of annotated body model documents for a client in a healthcare facility).
Categories can be set up as document templates that allow users to create consistent notations containing images, automatically populated fields and input controls. .
A "project" is a grouping of documents organized within categories and having associated metadata. In the case of a healthcare facility, a "project" is known as a "client". A. "document" is a notation consisting of one or more pages. Documents can contain ink, images, input controls and automatically populated fields based upon the containing project. ·
A "terminology pack" is a set of string resources that can be applied to the client application software to customize the terms that are displayed throughout the application to simplify the use across different industries.
A "user role" is the role that a user is assigned. The software client application according to embodiments of the present invention utilizes role-based security to manage access to various components, according to the "user roles" of users. User roles are not mutually exclusive - a user can be a member of one, two or all three of these roles simultaneously.
The "administrator" role is granted to only a select few users; It enables these users to effectively manage the day-to-day operations of the client application. Users who are assigned to this role have the ability to access an administration website to perform required maintenance tasks such as:
access detailed reports on user sign-ups, subscriptions and the like;
create and manage advertisements that are displayed in the client application; and create image packs that can be imported by end users of the client application.
The "organization administrator" role is automatically assigned to those users who initially register an organization. It can also be granted to additional users within an organization by an existing organization administrator with the help of the "my account" section of the website. Organization administrators have the following abilities:
add other users to their organization;
manage their organizations contact details;
request to merge their organization with another organization;
permanent deletion of documents, categories and other client application artefacts; customize project fields and the project identification format; and
category customization.
The "application user" role is automatically assigned to all users who successfully activate their account. Membership in this role allows access to the client application.
The "public website" runs on the servers 3. Material describing the features, functions and benefits of the client software is available on the public website.
Processing which is performed by preferred embodiments of the invention ;
Registration process
Figure 43 is a flowchart illustrating a user registration process 100 according to preferred embodiments of the present invention. Users must be registered in order to use the client application. Registration is open to the general public and is accessed by clicking 102 on download link on the public website. A registration page is presented 103 to the user. At sub-process 104 the users enter their first and last names, email address and password and click a "register" button on the registration page. The user must specify both the email address and password twice to ensure that they have not accidently typed either incorrectly. At 106, the data which was entered by the user at 104 is checked for validity. If the entered data is not valid, the user is returned to sub-process 103 to correct the registration page. If sub-process 106 determines that the data which was entered by the user at 104 is valid, then sub-process 108 checks whether the email address entered by the user is already registered. If the email address is already registered, then the user is returned to .· sub-process 103 to enter a different email address. If the email address is not registered, then sub-process 107 sends an email message to the user to confirm ownership of that email address.
At sub-process 109 the user receives that email message and at sub-process 1 1 1 the user reviews that email message and, if the user wishes to confirm ownership of the email address and proceed with registration, then the user clicks on a web-link in that message. Clicking on the web link results in the user's web browser navigating to an "account activation" page by sub-process 1 12. This page presents a link to enable download of client software.
Organization setup process
Directly following the registration process 100, the user is transitioned to the organization setup process. Figure 44 is a flowchart illustrating the "organization setup" process 200.
It is important to note that the organization setup process is only initiated for the user who initially signs up using the registration process 100. Additional users can be added to an organization once activated by using the tools available within a "my account" area of the website.
The client application is based on the Microsoft Windows Presentation Foundation Library which is part of the Microsoft .NET Framework. It is an occasionally connected application (OCA) that utilises Microsoft Synchronization Services for ADO.NET to enable user to synchronize and share their notations. Within the organization setup process 200, the user is first prompted by sub-process 201 to download the client application. The user does so by selecting one of the four available editions of the client application, namely:
client; education;
healthcare; or
project.
Although each of these editions results in the exact same file being downloaded to the user, these editions determine the terminology pack (see "terminology pack" later in this document) that is applied to the organization as a whole, together with the default project fields. The user selects the desired edition at sub-process 202 and a download option page is then presented to the user at sub-process 203. The download option page provides two methods in which a user can download the client. Those methods are a "web install" arid an "offline/full install". In a web install, any required dependencies (such as the Microsoft .NET Framework 3.5 SP1) will be downloaded during the installation process directly from the vender's website (in the above example, from Microsoft). The offline/full install is considerably larger and contains all required dependencies within the installation package. At sub-process 207, the user selects the desired download option. A new organization is then "set up" on the synchronization servers by defined process 209, based upon the user's selections throughout the registration process. The sequence diagram 300 of figure 45 details this process.
Once the user has selected one of the download options, a DotNctNukc module instantiates an organization manager and then invokes the activate organization method 301. The Activate organization method commences by first copying a template directory on a shared file system to an organization specific directory. Contained within chis template directory are the following items:
blank organization database files (MSSQL server data and log files); and a fanned directory structure containing the default images that will be available within the client application.
Once the organization's file system has been prepared, the activate organization method then communicates with a client SQL server instance and requests that the recently duplicated database files be attached and brought online for querying. With the database attached, connections can now be made to customise it for the new organization.
Assuming all previous steps have completed successfully, the master database is now updated to reflect the new organization's existence. The selected terminology pack is flagged and the user promoted to an organization administrator. A HTTP redirect is then sent back to the user at sub-process 21 1, directing the user's browser to the actual client application installer file for download. At sub-process 213, the user then either saves the installer to a location on their computer or chooses to immediately run the installer. Authentication and authorization
As the client application is an occasionally connected application (OCA), it is necessary that users are able to authenticate whether or not a connection is available to the · synchronization servers. For this reason, Client Application Services - a component of the Microsoft .NET Framework 3.5 - is integrated. Client Application Services allows for the secure local caching of user credentials, role memberships and user settings in a transparent fashion. The client application builds on top of this functionality by offering users the opportunity to "work offline" as if no connection to the servers is available. The authentication and authorization process is 400 illustrated by the flowchart of figure 46. The first window displayed following the launch of the client application is the login dialog box, by the sub-process 401. This dialog box prompts the user for their email address and password and also offers them the opportunity to "work offline". The user enters these credentials and clicks a "login" button at sub-process 402. Sub-process 403 checks whether the user has opted to work offline. If the user has not opted to work offline, sub-process 404 checks whether a server connection is available. If a server connection is available, the user's credentials are checked for validity at sub-process 407 to ensure that the user has entered the required information. If any of the details are not supplied, the fields are highlighted with a red border to indicate that the fields must be completed and the user is presented with a "login failed" message box by sub-process 414 and re-directed to the login sub-process 401. If the user has requested an offline session. If this is the case, sub-process 412 checks whether the user has previously had a successful online session. If this is the case, the user is authenticated against the local credential cache by sub-process 413. The local credential cache is a Microsoft SQL Server Compact Edition database. The client application does not directly interact with this database. In order for a user's credentials to be cached locally, the user must have previously authenticated against the server. If a user attempts an online login but the client application is not able to connect to the client application servers, then the user is alerted to the fact by sub-process 409 and given the opportunity to attempt an offline login.
Following a successful login, either online or offline, the default thread principal for the application domain is set to the current user to allow subsequent service calls to be made in context of the authenticated user.
Working offline
If a connection to the synchronization servers is not available, or if a user has elected to work offline, the application will not attempt to access any of the online services unless specifically requested by the user until the client's next online session. However, according to some embodiments of the invention, the supply of client software and of storage capacity to the client software are financially supported through the display of banner advertisements. In these embodiments of the invention, it is necessary for the client application attempts to request the latest set of advertisements even when an offline session is in progress. It is further preferred that, if the client application is unable to connect to the advertisement server for a period of 30 days or more, then the application will cease to launch, alerting the user that an update is required.
Once a user has set up an organization, or joined an existing organization, they are automatically assigned the "application user" role. This role allows the user to login and use the client application. As is described below with reference to figure 61, following the authentication process a background task is started that determines whether the currently-running version of the client application is supported. This task is started whether or not the User has selected to work offline. The task communicates to a WCF (Windows Communication Foundation) service, supplying the current user's credentials. From the credentials, the server extrapolates the organization's identifier and queries for the supported versions of the application for that particular organization. This supports the notion of different organizations running different versions of the client application. Both mandatory and optional upgrades are supported. If a mandatory upgrade is available, the user will be given the option of upgrading now or exiting the client application. An optional upgrade on the other-hand, allows the user either to download the upgrade or to continue working. Mandatory upgrades are provided to force users to upgrade to the latest version of client application to urgently address vulnerabilities or bugs. The application update service is described below in this specification. The client application has an embedded, default terminology pack that provides a fall backshould no additional terminology pack be available. The client application is distributed with all four additional terminology packs to simplify deployment. Following the login process, the user settings are retrieved from either the server or the local cache (via client application services) and queried for the correct pack to be applied. Each terminology pack is a WPF Resource Dictionary containing sti'ing resources that, when loaded, changes the names of menu items, message box content and various other items to more closely represent the organization's use of the system. Microsoft SQL Server Compact Edition (CE) is used for the local storage of data within the client application. Images that have been added by users are persisted out to the file system and reference records created within the database. Connectivity to the database is provided by ADO.NET using strongly-typed DataSets, Raw SQL queries and also LINQ to SQL.
Unlike standard Microsoft SQL Server development, SQLCE has been designed with compact, embedded devices in mind and as such imposes certain restrictions upon the way in which the calling code must interact with it. For example; when developing with Microsoft SQL Server, Microsoft recommend opening and closing database connections as required - as connection pooling is built it. With CE however, there is no connection pooling and applications will typically open a database connection at application start-up and hold on to it until the application terminates. To address these and other such issues, a central database connection factory is implemented to ensure that a single database connection object is not accessed across multiple threads of execution. This factory internally consists of a single dictionary object that maintains a list of executing threads (by their associated unique identifiers) and database connections.
The flowchart 500 of figure 47 illustrates the operation of the database connection factory. At sub-process 501 when a database connection is required the calling method queries the connection factory for the correct database connection to use. At sub-process 502, the database connection factory determines if the calling thread's unique identifier is already contained within its internal dictionary. If the thread's unique identifier is found, the associated open database connection is returned to the invoking method at sub-process 504. If the thread's unique identifier is not be located at sub-process 502, an internal synchronization lock is obtained at sub-process 506 to ensure that no other threads can manipulate the internal dictionary. At sub-process 507 the internal dictionary is again queried to ensure that another thread has not manipulated the dictionary before the current thread acquired the synchronization lock. If no database connection exists for the thread, a new database connection is opened by sub-process 508, the new database connection is opened by sub-process 508. The new database connection, together with the current thread's unique identifier, is added to the dictionary by sub-process 509. The
synchronization lock is released by sub-process 51 1, allowing other threads to create database connections if required. The new database connection is returned to the invoking method by sub-process 504.
Each client application uses local file system storage. Local file system directories are created for each organization - named by the organization's unique identifier
(organization ID). Each of these organization directories contains the following items: an MSSQL CE Database;
a directory for all notation images;
a directory for notation and image thumbnails; and
a directory for advertisements. Organization initialization
Following a successful authentication, a database initialization process 600 as is. illustrated in figure 48 is initiated by the client software to ensure that the necessary resources for a given organization can be accessed during the user's session. A test is conducted at sub- process 601 to determine whether a database exists. If the database does not exist, then sub-process 604 creates the database, sub-process 606 synchronization with the corresponding database on the servers 3, sub-process 607 executes an installation script and sub-process 602 retrieves the database revision number. If sub-process 601 identifies that the database does exist, then sub-process 602 retrieves the database revision number. After the database revision number has been retrieved, sub-process 603 checks whether that revision number is current. If it is current, then the organization installation process finishes. If the database revision number is not current, then sub-process 608 backs up the existing database, sub-process 609 executes an upgrade script, and sub-process 611 retrieves the database revision number. If it is current, then the organization installation process finishes. If the database revision number is not current, then sub-processes 609 and 61 1 are iterated until the database revision number is current.
Database upgrades
Provision is made to modify existing databases to support new features. The client software contains a number of database scripts that ensure that any version of client can be upgraded to any future version. Those scripts include:
an "install database" script which is responsible for the creation of a new empty organization database and is executed the first time a user logs in to an organization on a computer; and
scripts numbered "1 " to "N" which enable incremental upgrades from one version to the next version.
Synchronization process
The flowchart 700 of figure 49 illustrates a data synchronization process according to preferred embodiments of the invention. As is illustrated at sub-process 701 , to commence the data synchronization process, the user selects a "synchronize" menu item in the user software. If there are any notation (either electronic memo or project) windows open that have pending changes, validation is performed to ensure that all mandatory information within the windows has been provided and that all data entered is in a valid format. This involves performing validation at sub-process 703. At sub-process 704, all open windows are checked to ascertain whether or not they are valid. If an individual open window is valid when it is checked for validity, sub-process 707 saves that window. After all windows have been checked, if any individual open window is invalid, sub- process 706 activates the offending windows with the invalid fields highlighted for the user to address. A message is added to the window's status bar detailing what has happened and the process is terminated. When the user has corrected all invalid windows, they may re-initiatc the synchronization process. At sub-process 708, the user's credentials are appended to a new Microsoft
Synchronization Services SyncAgent object. This enables the synchronization servers to validate that the user is indeed a member of the organization. It also enables the servers to validate that a current synchronization subscription exists for the organization. At defined sub-process 709, Microsoft Synchronization Services is then used to perform the data synchronization. The processing which is performed within sub-process 709 is illustrated in the sequence diagram 800 of figure 50.
As is illustrated in figure 50, following application start-up, the object AppContext 801 is launched. AppContext is a long-lived object that maintains the state of the application from when it is launched to application exit. AppContcxt instantiates a SyncManager 802. The SyncManager 802 is responsible for initiating data synchronizations as well as ensuring that only one synchronization can occur at one time. Preferably, it is also able to schedule background synchronizations that occur automatically. Rather than implement an entire end-to-end file synchronization process, the client application builds on top of Microsoft Synchronization Services and monitors various events that are raised to determine when files need to be uploaded or downloaded to or from the synchronizationservers. The SyncAgcnt raises the ApplyingChanges event 804, The FileSyncManager 806 checks the list of registrations to determine if file uploads needs to be actioned by checking if any new rows have been added to the registered table since the last synchronization. The FileSyncManager 806 instantiates the registered File Sync Handler. The File Sync Handler uploads 805 a file to the synchronization servers.
Figure 50 also illustrates processing which takes place .when synchronization requires downloading to a client. The SyncAgent 803 raises the ChangesSelected event 807. The FileSyncManager 806 checks the list of registrations to determine if file downloads need to be actioned by checking the set of downloaded changes for any new rows that have been added since the last synchronization. The FileSyncManager 806 instantiates the registered File Sync Handler. The File Sync Handler then downloads 808 the file from the Synchronization Servers. Searching
As is previously described in this specification, the client application offers a number of options when it comes to locating information, including:
project search;
keyword search; and area search.
The keyword and area searches both rely on the generation of notation index records, without which, the searches would consume too much time to be worthwhile. A notation indexer regularly queries the database for batches of notations that have no corresponding index records, or for which the existing index record is stale. Index records are deemed to be stale if changes have been made to the notation subsequent to a previous indexing occurrence. Index records are not synchronized and must be generated on each application instance.
The notation indexer process 1000 is illustrated by the flowchart of figure 51. the notation indexer process is initiated on application start-up and fires every 5 seconds. At sub- process 1001, the timer is started. Sub-process 1002 illustrates the elapse of 5 seconds, on which the timer is stopped at sub-process 1003. Sub-process 1004 then queries the database for notations which require indexing. If no such notations arc found by the decision sub-process 1006, then the process returns to sub-process 1001 and the timer is re-started. If any such notations are found by the decision sub-process 1006, then sub- process 1007 generates indexing tasks and the tasks are then queued in their own thread. After the indexing tasks has been generated, the defined sub-process 1008 indexes the notations. When the indexing tasks have been completed, a check is performed by decision sub-process 1009 to determine if the application is exiting. If the application is not exiting, processing is returned to sub-process 1001 and the timer is re-started.
The flowchart 1 100 of figure 52 illustrates the processing that is performed by defined by the notation indexing sub-process 1008. At sub-process 1 101 a simplified bitmap such as is shown at 1301 in figure 54 is generated from an image such as the image 1201 of figure 53 (which shows a body model and a clinician's notations on that image), This simplified bitmap 1301 is to serve as a notation index bitmap. It is a 128 x 128 pixel, black and white image with' any category/template artefacts removed. Each notation index bitmap is stored as a consecutive array of 2048 bytes. This simplified format was chosen after various tests at various colour depths and sizes as it gave superior performance while providing a reduced index data footprint and. sufficient search precision. Following the generation of the notation index bitmap 1301, the "ink recognition" sub-process 1 102 attempts to recognize the user's hand-writing. This process integrates with Microsoft's in- built text recognition offered by the InkAnalyzer class, This process also ensures that duplicate terms are removed. If it is a project which is being indexed, all project field values are extracted and combined into a comma separated string and stored within the index record. A name for the item being indexed is then generated. This will be composed of a number of components based on the item's type. For example; a document page within a project will be named after the project (based on the project identification format) and the name of the category the document was based on. The index record is then persisted to the database by sub-process 1 106.
Project search
This search allows users to locate projects by searching based upon a defined list of project fields that have been configured organization-wide. The project search window dynamically lays out each of the defined project fields. An embodiment of a project search window is illustrated by the form 1401 of figure 55. Should a user wish to locate all projects with a specific last name for example, they supply a value only within a last name field 1402 and click a search button 1403. Should multiple results match the supplied last name, the user can then choose to refine the search by supplying additional values and again clicking the search button. Keyword searching is also available to locate projects. This differs from the keyword search functionality in that it will only return projects; and not the specific document page the specified keyword appears on.
Keyword search
The keyword search allows users to locate projects, electronic memos and document pages that contain specific text or keywords. These keywords can be hand-written within a document or typed directly into a text box or supplied as project field values. Keyword searching directly queries the notation index. Area Search
The area search allows a user to locate documents based on a region of interest as is illustrated in figures 56 to 58. For example, a physiotherapist can locate the records of all clients who have suffered disorders of their back. As is illustrated in figure 56, the physiotherapist then uses a mouse cursor or the like to highlight an area 1502 of the human back on the category/template image 1501. A search bitmap 1601 is produced from the highlighting on the image 1501. As is illustrated. in figure 58, a bitwise AND operation is then performed between the search bitmap 1601 and each notation index · record such as 1701 for the specified category to locate matching documents. As all notated areas on both the 1601 and the notation index record bitmaps are white
(represented by digits with the value of "1") any matching records return a number greater than zero. Notation index records which result in the generation of higher numbers following the AND operation are awarded the highest relevance. Category management
Categories are templates that can be constructed by adding and laying out any number of the following-components:
images;
project fields;
metadata fields;
labels;
text boxes; and
mandatory text boxes. Figure 59 depicts a sample "body model" category 1801 that would be suitable for use by physiotherapists.
When a document is created within a project, all of the details are copied from the category into the document to prevent future changes to the category from altering existing documents. Electronic forms can also be configured as categories. In this case, the paper form would be scanned in as an image, added to the category and subsequently text boxes and mandatory text boxes laid out where normal written notes are required. Project fields can also be added to the forms by adding and then dragging into place. This allows for the partial auto completion of forms and documents.
Documents
Documents are instances of categories / document templates. Each document is filed within the category in which it was created. For example, all documents created with the "3D body model" category are filed in the "3D body model" category within projects. A 3D body model document 1901 is illustrated in figure 60. The client application slider 1902 (located at the bottom left of the screen) enables the user to navigate backwards and forwards through their notations chronologically. Together with the components that have been defined at the category / document template level, the user is also able to define ad- hoc text boxes within a document as needed. They are also able to import images that relate specifically to the project (for example, a client XRAY).
Recycle bin
Should a user elect to remove an item - be it a document, document page, project, image or eMemo - it will be moved to the recycle bin. Should a user later determine that the item is again required, it can be restored from the recycle bin.
Synchronization servers
Synchronization servers 3 provide a number of important services to the client application, as follows:
authentication, authorisation and user profile services;
data synchronization services;
advertisement distribution services and
application update service.
Authentication, authorization andjiser profile services
The synchronization servers provide authentication and authorisation services to the client application by using the built-in ASP.NET membership, roles and profiling components. Client application services connects to each of these services automatically and transparently takes care of caching these details for offline use.
Data synchronization services
Windows Communication Foundation Services have been employed to facilitate data and file synchronization. There are two services involved during the synchronization process: data service; and
image service.
These services both require that user credentials be supplied during invocation to validate that the user is a valid subscriber and is a member of the organization in respect of which they are attempting to synchronize.
Advertisement distribution service
This service is responsible for the distribution of advertisements to the client applications. This service requires user credentials be supplied during invocation to validate that the user is a valid subscriber and to determine the organization for which they are a member. This allows for targeted advertisements to be delivered. For example, medical product advertisements can be sent to organizations which operate in the healthcare industry.
Application update process
Figure 61 is a flowchart illustrating a process 2001 of updating the user application software. The client application attempts to connect to a web-based update service at sub- process 2002. This service exposes a single method, GetVersionRequirements. This method requires the user's credentials to be supplied in order to determine the organization for which the user is a member. Upon establishing a connection, the web service queries the organization database at sub-process 2003 for the minimum and maximum supported versions of the client application. At sub-process 2004, the web service then returns the identified version numbers to the client application. At sub-process 2006, the client application then ascertains whether its version is equal to or greater than the return minimum version. At sub-process 2007 the client application determines whether its version is less than or equal to the maximum supported version.
If the executing version is less than the minimum supported version, then at sub-process 2008 the user is given the option of downloading the latest version of the client application or terminating the application. At sub-process 2009, a test is made to ascertain whether or not the user has opted to download the latest version of the client application. If the user has opted to do so, then the download is initiated at sub-process 2012 and the application then terminates at sub-process 2010. If the user has opted not to download the latest version of the client application, then the running client application is terminated at sub- process 2010. This updating process is accordingly a forced update.
If decision sub-processes 2006 determines that the executing version of the client is greater than or equal to the minimum supported version, but less than the maximum supported version, then decision sub-process 2007 determines whether the executing version is less than the maximum version. If the determination is positive, then sub- process 2014 offers to the user the option of downloading the latest version or continuing to use the current version of the client application OCA. If the user opts to download the latest version, then that version is downloaded by sub-process 2017. This updating process is accordingly an optional update.
Various embodiments of the invention may be embodied in many different forms, including computer program logic for use with a processor (eg., a microprocessor, microcontroller, digital signal processor, or general purpose computer), programmable logic for use with a programmable logic device (eg., a field programmable gate array (FPGA) or other PLD), discrete components, integrated circuitry (eg., an application specific integrated circuit (ASIC)), or any other means including any combination thereof. In an exemplary embodiment of the present invention, predominantly all of the communication between users and the server is implemented as a set of computer program instructions that is converted into a computer executable form, stored as such in a computer readable medium, and executed by a microprocessor under the control of an operating system. Computer program logic implementing all or part of the functionality where described herein may be embodied in various forms, including a source code form, a computer executable form, and various intermediate forms (e.g., forms generated by an assembler, compiler, linker, or locater). Source code may include a series of computer program instructions implemented in any of various programming languages (e.g., an object code, an assembly language, or a high-level language such as Fortran, C, C++, JAVA, Ruby, C#, XML, XAML, SQL, JavaScript, or HTML) for use with various operating systems or operating environments. The source code may define and use various data structures and communication messages. The source code may be in a computer executable form (e.g., via an inteipreter), or the source code may be converted (e.g., via a translator, assembler, or compiler) into a computer executable form.
The computer program may be fixed in any form (e.g., source code form, computer executable form, or an intermediate form) either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk), an optical memory device (e.g., a CD-ROM or DVD-ROM), a PC card (e.g., PCMCIA card), or other memory device. The computer program may be fixed in any form in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analogue technologies, digital technologies, optical technologies, wireless technologies (e.g., Bluetooth), networking technologies, and inter-networking technologies. The computer program may be distributed in any form as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the internet or world wide web).
Hardware logic (including programmable logic for use with a programmable logic device) implementing all or part of the functionality where described herein may be designed using traditional manual methods, or may be designed, captured, simulated, or
documented electronically using various tools, such as computer aided design (CAD), a hardware description language (e.g., VHDL or AHDL), or a PLD programming language (e.g., PALASM, ABEL, or CUPL). Programmable logic may be fixed either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk); an optical memory device (e.g., a CD-ROM or DVD-ROM), or other memory device. The programmable logic may be fixed in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analogue technologies, digital technologies, optical technologies, wireless technologies (e.g., Bluetooth), networking technologies, and internetworking technologies. The
programmable logic may be distributed as a removable storage medium with
accompanying printed or electronic documentation (e.g.. shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the internet or world wide web).
While the present invention has been described with reference to a few specific embodiments, the description is illustrative of the invention and is not to be construed as limiting the invention. Various modifications may occur to those skilled in the art without departing from the true spirit and scope of the invention as defined by the appended claims.
Throughout this specification, the words "comprise", "comprising", and corresponding parts of speech are to be taken to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.
In the claims, each dependent claim is to be read as being within the scope of its parent claim or claims, in the sense that a dependent claim is not to be interpreted as infringed unless its parent claims are also infringed.

Claims

Claims:
1. A computer-implemented method of recording information in an environment which comprises;
at least one server; and
at least one client terminal which is adapted to:
communicate with the at least one server; and to
execute a software client application,
the process comprising the steps of the client software application:
receiving input from a user;
deriving data from the input from the user; and- storing that data in a database on the at least one client terminal.
2. A computer-implemented method of recording information as claimed in claim 1 , further comprising the step of synchronizing data which is stored in the database on the at least one client terminal with data which is stored in a database on the at least one server.
3. A computer-implemented method of recording information as claimed in claim 2, further comprising the step of synchronizing the data which is stored in the database on the at least one server with data which is stored in a database on at least another client terminal.
4. A computer-implemented method of recording information as claimed in any one of the preceding claims, in which the software client application has been downloaded to the at least one client terminal from a server.
5. A computer-implemented method of recording information as claimed in any one of the preceding claims, in which the software client application is adapted to display promotional material on the at least one client terminal.
6. A computer-implemented method of recording information as claimed in any one of the preceding claims, in which the step of receiving input from a user comprises:
the display to the user of a document template; and
the user creating a document by entering input into the document template.
7. A computer-implemented method of recording information as claimed in claim 6, in which the document template comprises an image of at least a portion of a physical entity.
8. A computer-implemented method of recording information as claimed in claim 7, in which the physical entity is the human body.
9. A computer-implemented method of recording information as claimed in claim 8, in which the step of the user entering input in the document template further comprises the step of the user marking a portion of the image.
10. A computer-implemented method of recording information as claimed in claim 9, in which the user uses a pointing device to mark a portion of the image.
1 1. A computer-implemented method of recording information as claimed in any one of claims 6 to 10, in which the user enters handwritten input in the document template.
12. A computer-implemented method of recording information as claimed in any one of claims 6 to 10, in which the document template comprises data entry fields.
13. A computer-implemented method of recording information as claimed in claim 12, in which the data entry fields have been customized by the user.
14. A computer-implemented method of recording information as claimed in any one of claims 6 to 13, further comprising the step of client software application retrieving a document from the database on the at least one client terminal.
15. A computer-implemented method of recording information as claimed in any one of claims 6 to 14, in which the document is retrieved by the client software application searching for documents which satisfy at least one criterion which has been specified by the user.
16. A computer-implemented method of recording information as claimed in claim 15, in which the at least one criterion identifies a portion of a physical entity.
17. A method of processing coded information during a computer-implemented process, comprising the receipt at a server of data which is stored in the database of the at least one client terminal of any one of claims 1 to 16.
18. Apparatus adapted to record information , the apparatus comprising:
processor means adapted to operate in accordance with a predetermined instruction set;
the apparatus, in conjunction with the instruction set, being adapted to perform the method steps of any one of claims 1 to 17.
19. Computer apparatus when programmed to implement a method as claimed in any one of claims 1 to 17.
20. A machine readable substrate carrying computer-executable code for
implementation of a method as claimed in any one of claims 1 to 17.
21. The invention as claimed in any one of the preceding claims, substantially as described with reference to the drawings.
PCT/AU2009/001580 2009-12-04 2009-12-04 Method of and apparatus for recording information WO2011066597A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2009356144A AU2009356144A1 (en) 2009-12-04 2009-12-04 Method of and apparatus for recording information
PCT/AU2009/001580 WO2011066597A1 (en) 2009-12-04 2009-12-04 Method of and apparatus for recording information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/AU2009/001580 WO2011066597A1 (en) 2009-12-04 2009-12-04 Method of and apparatus for recording information

Publications (1)

Publication Number Publication Date
WO2011066597A1 true WO2011066597A1 (en) 2011-06-09

Family

ID=44114541

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2009/001580 WO2011066597A1 (en) 2009-12-04 2009-12-04 Method of and apparatus for recording information

Country Status (2)

Country Link
AU (1) AU2009356144A1 (en)
WO (1) WO2011066597A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021133152A1 (en) * 2019-12-23 2021-07-01 Mimos Berhad A method for authenticating and synchronizing offline data

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5807256A (en) * 1993-03-01 1998-09-15 Kabushiki Kaisha Toshiba Medical information processing system for supporting diagnosis
US6157914A (en) * 1992-02-21 2000-12-05 Kabushiki Kaisha Toshiba Medical support system
WO2001035376A1 (en) * 1999-11-12 2001-05-17 Recare, Inc. Electronic healthcare information and delivery management system
US6272470B1 (en) * 1996-09-03 2001-08-07 Kabushiki Kaisha Toshiba Electronic clinical recording system
WO2002042875A2 (en) * 2000-11-22 2002-05-30 Recare, Inc. Systems and methods for documenting medical findings of a physical examination
US20030204420A1 (en) * 2002-04-30 2003-10-30 Wilkes Gordon J. Healthcare database management offline backup and synchronization system and method
US20060178911A1 (en) * 2005-02-10 2006-08-10 Iqbal Syed System and user interface for providing patient status and care setting information

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157914A (en) * 1992-02-21 2000-12-05 Kabushiki Kaisha Toshiba Medical support system
US5807256A (en) * 1993-03-01 1998-09-15 Kabushiki Kaisha Toshiba Medical information processing system for supporting diagnosis
US6272470B1 (en) * 1996-09-03 2001-08-07 Kabushiki Kaisha Toshiba Electronic clinical recording system
WO2001035376A1 (en) * 1999-11-12 2001-05-17 Recare, Inc. Electronic healthcare information and delivery management system
WO2002042875A2 (en) * 2000-11-22 2002-05-30 Recare, Inc. Systems and methods for documenting medical findings of a physical examination
US20030204420A1 (en) * 2002-04-30 2003-10-30 Wilkes Gordon J. Healthcare database management offline backup and synchronization system and method
US20060178911A1 (en) * 2005-02-10 2006-08-10 Iqbal Syed System and user interface for providing patient status and care setting information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021133152A1 (en) * 2019-12-23 2021-07-01 Mimos Berhad A method for authenticating and synchronizing offline data

Also Published As

Publication number Publication date
AU2009356144A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
JP6793766B2 (en) Displaying presence in applications that access shared and synchronized content
JP6487456B2 (en) Determining presence in applications that access shared and synchronized content
US9286274B2 (en) Adaptive content management
TWI450107B (en) Method and computer readable storage media for web data usage platform
JP2020187759A (en) Managing presence among devices accessing shared and synchronized content
US9495376B2 (en) Content migration tool and method associated therewith
AU2009238294B2 (en) Data transformation based on a technical design document
US11553035B2 (en) Cross-platform module for loading across a plurality of device types
EP1958119A2 (en) System and method for appending security information to search engine results
US20220188217A1 (en) Methods and systems for content management and testing
NZ531280A (en) Method for managing file replication in applications
WO2015164108A1 (en) Decoupling front end page and back end using tags
US8527291B1 (en) Medical search engine system method and software product
EP1684170A2 (en) Software development system and method
WO2011066597A1 (en) Method of and apparatus for recording information
JP2005352980A (en) Document difference display system, document difference display server and document difference display method and its program
TW487879B (en) Internet document creation system and document-format generator therefor
US10445749B2 (en) Universal content architecture system
WO2017172558A1 (en) Using relevant objects to add content to a collaborative repository
CN113703898A (en) Card type interaction method, device, equipment and medium
KR101945993B1 (en) Method and apparatus for generating medical information of object
US20060004688A1 (en) Systems and methods for integrating various processes
WO2022006274A1 (en) Clinical trial protocol portal
Patel Ultimate search engine
ESCAP Geo DRM user manual: version 1.0 2014

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09851764

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009356144

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2009356144

Country of ref document: AU

Date of ref document: 20091204

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 09851764

Country of ref document: EP

Kind code of ref document: A1