Home > Articles > Web Services > XML

SyncML Applications

This chapter is from the book

Supporting Roving Nightingales

In the era of rising health-care costs, the City General Hospital provides extended care for its patients in their homes. The hospital employs a fleet of visiting nurses called the “Roving Nightingales.” The nurses provide ongoing home care for some patients, as well as pre- and post-operative care for other patients. Over the course of a day, nurses visit a number of patients, record vital signs and other measurements, perform home tests, and collect samples for laboratory tests. The nurses also record a summary of their visual observation of the patients. Sometimes, if a patient is not doing too well, a nurse may decide that the patient needs to come in to the hospital-affiliated clinic to see a doctor. The hospital hosts a Complete eCare application that manages information flow and synchronization between the roving nightingales, doctors, and laboratories, as shown in Figure 3-3. In a real-life scenario, other entities like health insurance agents and pharmacies may need to be incorporated in the Complete eCare application. Those entities are ignored in this application for simplicity.

03fig03.jpgFigure 3-3. The setting for the Complete eCare application coordinating information exchange between different employees of the hospital and outside entities like independent laboratories.

Application Setting

The Complete eCare application is the nerve center for the information flow and synchronization required for this scenario. Like the Web calendar, the various Client parts of this application run on various devices, such as a PDA, a laptop, an office PC, and a special purpose medical tablet device. Unlike the Web calendar application, however, the programmers that implement the Client parts used by the doctors and the visiting nurses also implement the Server part of the application. The information systems group of the hospital likely employs them. The Client part that runs in the laboratory office may be implemented by another independent organization.

Thelma, a typical roving nightingale, uses both a PDA and a laptop. She typically starts the day by synchronizing her daily schedule information with the Server calendar. She visits patients according to the schedule but synchronizes the schedule regularly to obtain schedule changes. When she visits a patient, she finds it convenient to record observations and home-test results quickly on her handheld PDA and synchronize the PDA with the Server's “daily visits” datastore. She finds the laptop more convenient for typing in visit summaries. At the end of the day, she usually synchronizes her daily visit records from the Server onto her laptop. The records already contain the information entered on the PDA throughout the day. She types in summaries for each visit and synchronizes the laptop to complete the records for the daily visits. Upon completion of the record, the laptop application also synchronizes the same record with the “patient chart” datastore. The patient chart datastore contains information in addition to records of the nurse visits. For certain patients that need to see a doctor, Thelma can mark certain records “red.” When such red records are synchronized with the Server, the Server application schedules an appointment with a relevant doctor. Thelma can also collect samples (mailed separately to the lab) and order lab tests from her PDA. When the PDA is synchronized, the Server application updates the local “daily lab orders” datastore with the ordered test.

Jacob, a doctor in the hospital, uses a lightweight, touch-screen, multimedia-enabled, and wireless-LAN-capable tablet device. The device is his single-point portal for all the information that he needs to perform his job. He can access and make changes to his schedule, access and update patient charts, access lab results (including digitized x-ray images and CT scans), and order lab tests.

John, an office assistant in a small medical laboratory, uses a basic office PC. The PC is not normally connected to the network. Typically, the Client application on the PC dials in and synchronizes with the hospital Server in the morning to obtain the lab orders for the day. The orders are processed, lab tests are performed, and the results of completed lab tests are synchronized with the hospital Server at the end of the day. The data format of the lab orders and results conform to an XML-based standard called “LabML.”2

The Server part of the Complete eCare application runs on server-class networked machines. The application manages many datastores, including schedules for nurses and doctors, lab orders and results, daily visit records for nurses, and patient charts. The Server supports the HTTP and WSP transport protocols over many underlying communication protocols including wide-area wireline and wireless, as well as local-area wireless.

Application Logic

Most of the application intelligence resides with the Server application. For illustrative purposes, the Server application may be guided by the following rules:

  • The Server application may enter appointments, perhaps following a call into the office from a patient. If there are conflicts between appointments entered by the application and those entered by the doctor or the nurse, the appointments entered by the doctor or the nurse take precedence.

  • If the nurse and the doctor have ordered the same lab test for a particular patient in the span of a week, the second test order is discarded, and the doctor or the nurse is notified by email.

  • Ordinary entries from the visiting nurse are synchronized with the daily visit datastore. Entries marked “red” are also synchronized with the patient chart datastore. When an entry marked “red” is received, the Server application also schedules an appointment for the patient to visit the doctor at the hospital clinic and alerts the office assistant to notify the patient about the appointment.

Usage Instances

The following illustrates a few usage scenarios where SyncML is used to synchronize different data between a variety of devices using diverse network protocols.

Thelma visits her first patient

Thelma turns on her WAP-enabled PDA in the morning. She had manually entered a morning appointment on her schedule the previous evening. Upon synchronization, the Server application discovers a conflict with a previously scheduled appointment and resolves the conflict in favor of the appointment entered by Thelma. The conflict, however, is flagged during synchronization and the conflicting record is returned to the PDA. The PDA application brings the conflict to Thelma's attention and she enters a new appointment in the afternoon to visit the originally scheduled patient.

Thelma visits the first patient. She records vital signs and performs a few quick tests, and then enters the observations and results in the local PDA. The patient appeared fine and there was no need to order any lab tests or to schedule a doctor's visit. She synchronizes her PDA to quickly upload the visit records to the Server. She does this to ensure that the records are not lost in case the PDA is lost, stolen, or broken. At the end of the day, Thelma synchronizes her laptop application with the Server daily visit datastore. Her laptop application obtains the daily updates previously synchronized from the PDA. She fills the descriptive visit summary in the empty summary field and resynchronizes the laptop to complete this visit record and other similar records.

Thelma's lab order application is upgraded

The “LabML” standards committee had introduced a new field called “priority” in the lab order data format. The priority field is intended for use by the requester to express priorities of high, medium, or low. A laboratory can now better schedule its lab tests according to the expressed priorities of the orders. Over the last few weeks, the Complete eCare application programmers have updated the Client and Server applications to expose this new field in the Client GUI and make necessary changes in the data formats. Now the updated applications are ready for deployment.

The SyncML Device Management Protocol (see Chapter 9) is ideal for configuring and managing software on diverse client devices. When Thelma synchronizes her PDA after visiting the first patient, the Client information technology (IT) management application on Thelma's PDA uses the Device Management Protocol to obtain the latest updates to the Lab Order application code from the hospital Server. It installs the application code and enables Thelma to take advantage of this new feature immediately. When Thelma connects her laptop to the Server in the evening, the Client IT management application on the laptop similarly obtains the latest updates to the Lab Order application code from the Server.

Thelma's second patient is not doing too well

Thelma visits her second patient of the day and finds that he is not doing too well. The patient is under post-operative in-home care and his recovery is not progressing as expected. She records all the measurements and marks the daily visit update “red”; she also orders a high priority blood test on her PDA application, and then synchronizes her PDA. The Client application synchronizes the daily visit update with not only the Server daily visit datastore, but also the Server patient chart datastore, since the entry is marked “red,” The Server application schedules a next-day afternoon appointment with the appropriate clinic doctor. The Server application also synchronizes the lab order with the Server lab order datastore. Meanwhile, just before lunch, Thelma ships the blood sample in a protective envelope for next-day morning delivery to the lab.

The doctor, in the middle of his morning rounds, synchronizes his wireless tablet calendar with the Server calendar. He notices the new appointment (during his clinic office hours) with the patient. He opens his local patient chart datastore and synchronizes it with the Server. The synchronization updates the local patient datastore with the latest patient chart from the Server datastore for this patient. The doctor reviews the chart briefly over lunch the next day in preparation for the afternoon visit.

The lab results are ready in time

In order to differentiate from the competition, the laboratory has instituted a policy that results for high priority lab tests will be synchronized with the hospital every two hours. John synchronizes the laboratory office PC with the hospital lab order datastore at 5 PM and picks up the high priority lab order that Thelma entered. The corresponding blood sample arrives the next morning. The sample, being high priority, is tested quickly. The results are ready by 1 PM. John synchronizes the results for this high-priority order in the 2 PM batch and the results appear in the Server lab results datastore. The doctor had noticed the outstanding lab order during his lunch review of the patient charts. Just before the patient visit at 3 PM, he synchronizes the lab results datastore on his tablet with the Server datastore and obtains the results. He is now fully informed before the patient visit and is able to make the best medical decision for the patient.

The Benefits of SyncML

The use of SyncML in enterprise applications is beneficial from the point of view of the employees, the platform vendors, and the enterprise IT personnel, such as application programmers and system managers.

The employee perspective

Some of the biggest benefits from the employee standpoint are flexibility, empowerment, and usability. Since enterprise applications are usually richer in function and semantics, it is conceivable that certain parts of the application are best performed on certain devices. In Thelma's case, she finds it convenient to record brief results of observations and home-tests in her PDA as she is performing them. This way she does not have to take them down on paper and later re-enter them. On the other hand, entering lines of text for the visit summary is usually difficult to do on a PDA-type device. Thelma finds it convenient to record her subjective summary later in the day on her laptop. SyncML allows synchronization from diverse devices, allowing the flexibility that Thelma desires. SyncML allows applications to detect and resolve conflicts but enables communication of conflicts in a standard way in its Synchronization Protocol. Policies such as “Client resolves the conflict” can be implemented with relative ease by applications. Thelma is notified and allowed to resolve scheduling conflicts herself directly from her PDA, thereby feeling more empowered as an employee to manage her daily schedule. Thelma is also not worried about managing applications on her mobile devices. SyncML Device Management is used to seamlessly upgrade applications on her device in a timely fashion. This increases overall usability from her perspective and makes her a more effective roving nightingale.

The platform vendor perspective

In the previous Web calendar example, independent individuals make the buying decisions for the server platform and the client platform. In contrast, in the enterprise case the client and server platforms are bought by the same entity, namely the enterprise management, perhaps advised by the enterprise IT group. Without synchronization standards, it is possible that a dominant server vendor will also drag in client platforms that it owns, or its partners own, by closely coupling the platforms together technically. The reverse is also true. From a technical perspective, a synchronization standard such as SyncML allows server and client platform buying decisions to be relatively independent of each other. For example, when an enterprise buys a server platform, maybe the very best server platform, the owners of that platform cannot drag in its clients by claiming that one must buy these clients to communicate with this wonderful server. The world has converged largely on the TCP/IP communication protocol, and therefore any client implementing the TCP/IP protocol should be able to communicate with any server that does. This allows the clients to freely compete on the client side of the business. SyncML takes this argument to the next level, from the communication layer to the data exchange layer. By adopting a standard data synchronization protocol, the clients and servers can freely compete on the merits of their individual implementations and not use one leverage point to establish another.

The enterprise IT perspective

SyncML is enormously beneficial from the enterprise IT perspective. First, it reduces the cost of developing mobile enterprise applications. Both Client and Server application programmers can depend on the underlying SyncML stack. Assuming some form of a common SyncML toolkit that allows generation, processing, and communication of SyncML packages over a variety of transports, the application programmers can freely focus on the application logic and user interface issues. The SyncML toolkit can either be developed by the enterprise IT team or bought from a tool vendor, or can actually be included with the platform, as SyncML becomes more commonplace. Once there, the toolkit can be used in common by various applications. Therefore, although it is likely that enterprise applications will use proprietary data formats between Client and Server parts and will likely not be targeted to interoperate with applications developed by other entities, the use of SyncML as an underlying synchronization mechanism will reduce overall application development time.

Enterprise applications also need to synchronize with other enterprise applications. For example, the Complete eCare application includes synchronization with a Client in an independent laboratory. In order to really interoperate with applications developed across enterprises, standard data formats and their semantics need to be defined and used by SyncML. The imaginary LabML standard data format is key to interoperability between the hospital and the laboratory. Using a standard synchronization protocol, such as SyncML, and a standard data format, such as LabML, the hospital is able to interoperate with various independent laboratories. Thus, using SyncML, applications within an enterprise are well positioned to interoperate with applications outside the enterprise as standard data formats emerge.

Managing client devices is a key element of the overall IT cost in many enterprises. The software components of various devices, including application software, change from time to time. It is difficult to “roll out” the new versions of the software components in a consistent manner. This problem, however, is similar to data synchronization, where the “data” is the binary code for the software component. The IT management applications can use the SyncML Device Management Protocol (which uses the Representation Protocol) to keep device software and applications consistent. In the above example, Thelma's PDA gets updated with the new application code in a timely fashion, enabling a chain of events that result in better overall patient care. Chapter 9 covers SyncML Device Management in more detail.

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020