The Gastro Intestinal Markup Language (GIML) is a subset of XML and is completely descibed in this document. The goal of GIML is to povide companies with a common file format to use with their instruments so that researchers will be able to share files created by different machines. GIML is designed to be human readable so that converting present files to this format will be relatively easy.
1 Introduction
2 XML Basics
2.1 XML
2.2 DTD
2.3 XML Schema
3 GIML Structural Markup
3.1 Introduction
3.2 File Format and main Block (GIML)
3.3 Storing dates and times (time)
3.3.1 Specifying a year (year)
3.3.2 Specifying a month (month)
3.3.3 Specifying a date (date)
3.3.4 Specifying an hour (hour)
3.3.5 Specifying a minute (minute)
3.3.6 Specifying a second (second)
3.4 The header block (head)
3.5 Specifying a name (name)
3.5.1 Specifying a surname (surname)
3.5.2 Specifying a given name (given)
3.5.3 Specifying a middles name/initial (middle)
3.5.4 Specifying a persons title (title)
3.5.5 Specifying a business name (business_name)
3.6 Specifying a gender (gender)
3.7 Specifying a mass (mass)
3.8 Specifying a height (height)
3.9 Specifying contact information (contact_info)
3.9.1 Specifying an address (address)
3.9.2 Specifying a city (city)
3.9.3 Specifying a state (state)
3.9.4 Specifying a zip/postal code (zip)
3.9.5 Specifying a country (country)
3.9.6 Specifying a telephone number (telephone)
3.9.7 Specifying a facsimile number (fax)
3.9.8 Specifying an email address (email)
3.10 Specifying allergies (allergies)
3.11 The use of comments (comment)
3.12 Specifying a hospital (hospital)
3.13 Specifying a referring doctor (referring_doctor)
3.14 Specifying an interval (interval)
3.15 Specifying an acquired (or computed) data point (d)
3.15.1 Constants for marker attribute
3.16 Specifying a sensor (sensor)
3.16.1 Constants for type attribute
3.16.2 Constants for sensor attribute
3.17 Specifying an investigation (investigation)
3.17.1 Constants for type attribute
3.18 Specifying a patient (patient)
3.19 Overall structure summary
4 GIML Reserved Characters and Definitions
4.1 Reserved Characters
4.2 Applicable Units
4.3 Definitions of Structures
4.3.1 Selected Examples
4.4 File Naming Convention
5 GIML DTD
6 GIML XML Schema
7 References
8 Appendix
8.1 Extended Example
8.2 Simple Example
The Gastro Intestinal Markup Language (GIML) is intended to be used by companies that manufacture instruments used for various motility studies. Presently, these companies independently develop their software, so the formats that their files are saved are incompatible. As a result anyone using an instrument from one company can not properly view a saved file from an instrument developed by another company. Hence, this makes it difficult for physicians, researchers, and programmers to share information collected from studies using instruments developed by separate companies.
A solution to this problem was to find an impartial party to develop a common format for these companies to comply with. The benefit of asking a impartial party to develop the format is that favoritism of certain companies can be avoided, and, perhaps more importantly, it would be cheaper for one impartial party to develop the format than to have all the companies attempt to collaborate and develop it together. It is for these reasons that the GIML was developed at MIT under the supervision of Dr. Richard Gilbert.
GIML is developed from the standard maintained by the World Wide Web Consortium (W3C) known as the Extensible Markup Language (XML). XML is a standard used to develop standards. This documentation will provide some information on XML and it's Document Type Definition (DTD) files as well as the newly accepted XML Schemas. This document focuses on how to develop files in the GIML standard. Also included in Appendix are sample files to help demonstrate the standard set out by GIML. This information should be sufficient such that programmers will be able to take existing formats and convert them into the GIML standard so that sharing of studies will be simpler.
XML is closely related to the Standard Generalized Markup Language (SGML) and is similar in syntax to Hypertext Markup Language (HTML). Thus, once a basis is developed for XML, it is not too difficult to conform to it. The standard is available to the public by the organization that maintains it, W3C. By using XML, it is possible to create a standard, like GIML, that can be compared against either a DTD or an XML Schema in order to determine if the XML file is valid. An XML Schema better restricts the file format than a DTD, but both have been developed for the sake of programmers who may be familiar with DTDs. A plan of action would be to develop software that would take present file formats and convert them into the GIML standard. They can then be referenced against the GIML DTD. Once the conversion is solid, the files can be referenced against the GIML Schema. This is recommended because the XML Schema standard is new, so those that are familiar with DTDs might fell more comfortable using them to begin with. The final format developed by the programmers must be validated against the GIML Schema, since the restrictions are more rigid.
The following example of a Christmas memo will be used in the following example to demonstrate how XML, DTDs, and XML Schemas are structured.
MEMO
To: John Doe
From: Jane Doe
Date: 18 December
Subject: Christmas
We are all looking forward to seeing you as we
receive gifts from "the Big Man" next week at the
fundraiser. Don't forget to bring a buddy *GIGGLE*.
Dinner will be great & admission is free.
Love, sis
The above memo can be structured in XML so that a common looking memo standard could be developed. A set of tags can be used to define significant parts of a memo. The memo can be validated against the DTD and/or XML Schema and the file sent out to everyone involved. The receiving end would then have a program that will parse the file, check applicable tags and present the user with the memo in the common format required.
Below is an example of the memo in XML format. Entities like "To:" and "From:" are common to every memo, so they can be within the Element Tags. Parsers would see these Element tags, extract whatever is between them, and make them viewable in the common format. Elements and their attributes, as in HTML, are found between matching pairs of angle brackets (<...>) and the entity references start with an ampersand and end with a semicolon (&...;). Knowing this, such documents are readable even without the parser, it just does not look as nice.
<?xml version="1.0"?> <MEMO> <to>John Doe</to> <from>Jane Doe</from> <date type="day">18</date> <date type="month">December</date> <subject>Christmas</subject> <para>We are all looking forward to seeing you as we receive gifts from <emph>the Big Man</emph> next week at the fundraiser. Don't forget to bring a buddy <GIGGLE/>. Dinner will be great & admission is free.</para> <salutation>Love, sis</salutation> </MEMO>
Such a structure will allow programmers to create a parser to go through such a document with little trouble. The start of each logical element of the file is easy to identify. Each entry is nested between a start tag (<to>) and an end tag (</to>). In such a parsing program, the programmer can decide how things appear on the screen, such as bolding MEMO, acknowledging the giggle with stars, and putting quotations around "the Big Man".
The tags used in the above example are not predefined XML tags. XML provides the flexibility of creating tags in the DTD. The DTD formally identifies the relationships between the various elements that form the documents. DTDs do not provide enough constraints in some situations, which could become problematic in the case of people entering day values that are greater than 31. An example of a DTD for the above memo is shown below:
<!ELEMENT memo (to, from, date?, subject?, para+, salutation?)> <!ELEMENT para (GIGGLE* , emph*)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT date (year?,month?,date?)> <!ELEMENT subject (#PCDATA)> <!ELEMENT salutation (#PCDATA)> <!-- The following elements are members of date --> <!ELEMENT year (#PCDATA)> <!ELEMENT month (#PCDATA)> <!ELEMENT day (#PCDATA)> <!-- ========================================= --> <!-- The following elements are members of para --> <!ELEMENT GIGGLE (#PCDATA)> <!ELEMENT emph (#PCDATA)> <!-- ========================================= -->
This DTD tells the programmer that within the memo file are the header elements to, for, optional date, optional subject, and optional salutation as well as the contents of the memo. The contents of the memo are made up of at least one paragraph, depicted by para+. Other elements contained within the paragraph are the giggle and emph.
The XML Schema was accepted as a standard in May 2001, so it is fairly new to the world of XML. Schemas provide further constraints than DTDs did. In the example above, there is nothing stopping someone from entering 2001 as a day. DTDs do not constrain within reasonable ranges, like 1 to 31. The XML Schema, however, constrains such situations nicely. Schemas will provide programmers with a more exact way of defining how elements are supposed to appear. Shown below is a schema for the memo example.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" elementFormDefault="qualified">
<xsd:element name="memo">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="to" type="xsd:string"/>
<xsd:element name="from" type="xsd:string"/>
<xsd:element ref="date" minOccurs="0" maxOccurs="1"/>
<xsd:element name="subject" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="para" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="GIGGLE" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="emph" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="salutation" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="date">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="year" minOccurs="0" maxOccurs="1"/>
<xsd:element name="month" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="day" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="year">
<xsd:simpleType>
<xsd:restriction base="xsd:nonNegativeInteger">
<xsd:minInclusive value="1997"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="day">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="31"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:schema>
The XML Schema is somewhat longer and more complex, but that should be expected. The day is now constricted between 1 and 31. Now if the year is mixed up and accidentally placed in the day position and the file is validated against the XML Schema, and error will occur. An error would not be evident with the DTD.
This chapter describes the structural elements used in GIML. The structural elements provide a standard to organizing and storing the information pertaining to GI studies.
GIML)
Every GIML file must define the XML version and must also contain a document-type declaration. As such, the first two lines of any GIML file should read as follows:
<?xml version="1.0"?> <!DOCTYPE GIML SYSTEM "http://web.mit.edu/~sherwood/www/giml/giml.dtd">
The <GIML></GIML> tagset is required and is the main block which encompasses all other child blocks. The GIML block should be opened immediately after the document-type declaration. As such, files have the following structure
<?xml version="1.0"?> <!DOCTYPE GIML SYSTEM "http://web.mit.edu/~sherwood/www/giml/giml.dtd"> <GIML> . . . </GIML>
time)
The time block has several child blocks specific only to itself, these are year, month, date, hour, minute, and second. time also has a require attribute, type, to indicate what the time is representative of. The type attribute can be any of dob, created, modified, or begin to represent a date of birth, file creation time, file modification time, or time of the beginning of an investigation respectively. The time block can be constructed in any of three ways;
In the first, year, month, and date are all required. An example illustrates,
<time type="modified"> <year>1999</year> <month>12</month> <date>31</date> </time>
The second specification requires hour with minute and second being optional. Below are a couple of possible examples of this,
<time type="modified"> <hour>23</hour> <minute>59</minute> <second>59</second> </time>
or
<time type="begin"> <hour>23</hour> </time>
The third specification is a combination of the above two. This requires year, month, date, hour and optionally minute and second
<time type="modified"> <year>1999</year> <month>12</month> <date>31</date> <hour>23</hour> <minute>59</minute> <second>59</second> </time>
year)
The field appearing between the <year></year> tagset is restricted to being a non-negative integer value. year has no child elements or attributes.
month)
The field appearing between the <month></month> tagset is restricted to being a non-negative integer with a minimum value of 1 (January) and a maximum value of 12 (December). month has no child elements or attributes.
date)
The field appearing between the <date></date> tagset is restricted to being a non-negative integer with a minimum value of 1 and a maximum value of 31. date has no child elements or attributes.
hour)
The field appearing between the <hour></hour> tagset is restricted to being a non-negative integer with a minimum value of 0 and a maximum value of 23. hour has no child elements or attributes.
minute)
The field appearing between the <minute></minute> tagset is restricted to being a non-negative integer with a minimum value of 0 and a maximum value of 59. minute has no child elements or attributes.
second)
The field appearing between the <second></second> tagset is of type double to allow for decimal values and extended timing beyond seconds. second has no child elements or attributes.
head)
The header block must appear exactly once within the GIML block. This header contains at least 1, and up to two time blocks. The time blocks should be of type creation and modified to represent the date and time of the creation of the file and its last modification respectively. An example is as follows;
<head>
<time type="created">
<year>1999</year>
<month>12</month>
<date>31</date>
<hour>23</hour>
<minute>59</minute>
<second>59</second>
</time>
<time type="modified">
<year>2000</year>
<month>1</month>
<date>1</date>
<hour>2</hour>
<minute>26</minute>
<second>34</second>
</time>
</head>
name)
The name block contains a required surname and given with optional middle and title blocks. The second type of specification of name allows for only a business_name. The following three examples are possible appearances of the name block;
<name> <surname>Smith</surname> <given>John</given> </name>
or
<name> <surname>Smith</surname> <given>John</given> <title>Agent</title> </name>
or
<name> <business_name>Massachusetts Institute of Technology</business_name> </name>
surname)
The field appearing between the <surname></surname> tagset is restricted to being a string. surname has no child elements or attributes.
given)
The field appearing between the <given></given> tagset is restricted to being a string. given has no child elements or attributes.
middle)
The field appearing between the <middle></middle> tagset is restricted to being a string. middle has no child elements or attributes.
title)
The field appearing between the <title></title> tagset is restricted to being a string. title has no child elements or attributes.
business_name)
The field appearing between the <business_name></business_name> tagset is restricted to being a string. business_name has no child elements or attributes.
gender)
The field appearing between the <gender></gender> tagset is restricted to being either of M or F. gender has no child elements or attributes.
mass)
The field appearing between the <mass></mass> tagset is restricted to being a non-negative integer which represents a mass in kilograms (kg). mass has no child elements or attributes.
height)
The field appearing between the <height></height> tagset is restricted to being a non-negative integer which represents a height in centimeters (cm). height has no child elements or attributes.
contact_info)
The contact_info block contains no attributes, but several optional elements. The child elements of contact_info are address, city, state, zip, country, telephone, fax, and email, all of which are optional. The following examples portray two possible uses of the contact_info element;
<contact_info> <address>77 Massachusetts Avenue</address> <city>Cambridge</city> <state>MA</state> </contact_info>
or
<contact_info> <country>Canada</country> </contact_info>
address)
The field appearing between the <address></address> tagset is restricted to being a string. address has no child elements or attributes.
city)
The field appearing between the <city></city> tagset is restricted to being a string. city has no child elements or attributes.
state)
The field appearing between the <state></state> tagset is restricted to being a string. state has no child elements or attributes.
zip)
The field appearing between the <zip></zip> tagset is restricted to being a string. zip has no child elements or attributes.
country)
The field appearing between the <country></country> tagset is restricted to being a string. country has no child elements or attributes.
telephone)
The field appearing between the <telephone></telephone> tagset is restricted to being a string. telephone has no child elements or attributes.
fax)
The field appearing between the <fax></fax> tagset is restricted to being a string. fax has no child elements or attributes.
email)
The field appearing between the <email></email> tagset is restricted to being a string. email has no child elements or attributes.
allergies)
The field appearing between the <allergies></allergies> tagset is restricted to being a string. allergies has no child elements or attributes.
comment)
The field appearing between the <comment></comment> tagset is restricted to being a string. comment has no child elements or attributes. The comment is only permitted in the locations noted in the documentation as specified by the DTD/Schema.
hospital)
The hospital element has no attributes and only one required child element. The required child element is name which should ideally contain a business_name element. Additionally, there are two optional child elements; contact_info and comment. Here, the contact_info should contain information related to the hospital, and the comment can contain any additional comments in regards to the hospital or its facilities. Below is an example of a possible hospital block;
<hospital>
<name
<business_name>Royal University Hospital</business_name>
</name>
<contact_info>
<city>Saskatoon</city>
<state>SK</state>
<country>Canada</country>
</contact_info>
<comment>RUH is located on the University of Saskatchewan campus.</comment>
</hospital>
referring_doctor)
The referring_doctor element has no attributes and only one required child element. The required child element is name. Additionally, there are two optional child elements; contact_info and hospital. Here, the contact_info should contain information related to the referring doctor, and the hospital element may specify the referring doctors place of practice. Below is an example of a possible referring_doctor block;
<referring_doctor>
<name>
<surname>Doe</surname>
<given>John</given>
<title>Dr.</title>
</name>
<hospital>
<name
<business_name>Royal University Hospital</business_name>
</name>
<contact_info>
<city>Saskatoon</city>
<state>SK</state>
<country>Canada</country>
</contact_info>
<comment>RUH is located on the University of Saskatchewan campus.</comment>
</hospital>
</referring_doctor>
interval)
The field appearing between the <interval></interval> tagset is restricted to being a non-negative integer which represents a time in seconds (s). interval has no child elements or attributes.
d)
The d element has two optional attributes and no child elements. The field between the <d></d> tagset is restricted to being a value of type double. The two optional attributes are marker and position. The marker attribute can be any of the constant integers listed in section 3.15.1, while the position attribute can be any of start, stop, or null (which is the default value when not specified). These values represent the start or end of the event specified by marker required child element is name. Below is an example of a brief stream of acquired data, there are two demonstrations of markers - a cough is recorded as well as a meal;
<sensor num="1" type="1" organ="5">
.
.
.
<d>4.797527246</d>
<d>5.689050268</d>
<d>4.937734629</d>
<d>5.914450127</d>
<d marker="35">6.237353115</d>
<d>5.788652168</d>
<d>4.775597166</d>
<d marker="7" position="start">4.99377791</d>
<d>5.02335076lt;/d>
<d>4.750525623</d>
<d marker="7" position="stop">4.937044999</d>
<d>5.689050268</d>
.
.
.
</sensor>
marker attribute
The marker attribute of the d element may be set equal to any of the constants listed in the following table to represent a marker for the corresponding event.
Table 3.1: marker values
| Value | Event |
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
Null Event Marker (default) Comment Marker Artifact Marker Audio Comment Marker Pause Balloon inflation Balloon deflation Meal Drink Supine Pain Special PH Analysis Period Kaye meal Dry Swallow Wet Swallow Swallow X Swallow Y Swallow Z In UES Intrabolus marker Shoulder Marker AP Swallow Pharyngeal transit UES Swallow In oesophagus Oesophageal Contraction In LES LES resting pressure LES relaxation RIP Respiration Inversion Point LES profile In LES Squeeze Endurance Squeeze Push/Strain Cough RAIR Resting Anal Profile Squeeze Anal Profile Compliance Calculation No Sensation First Sensation First Urge Modest Urge Intense Urge Max tolerable volume |
sensor)
The sensor element has three attributes; num, type, and organ. sensor also has three child elements; an optional comment which is ideal for recording the model of the instrument used, a single required interval block to indicate the spacing (in seconds) between each data point, and any number of d elements. The num attribute must be unique to each sensor and is a string, but ideally would be integer values representing channel numbers. The type attribute can be any of the constant integers listed in section 3.16.1. And finally the organ attribute can be any of the constant integer values listed in section 3.16.2. The following is a possible example of the use of the sensor block;
<sensor num="1" type="1" organ="5">
<comment>MODEL#1234ABC</comment>
<interval>60</interval>
<d>4.797527246</d>
<d>5.914450127</d>
.
.
.
<d>5.689050268</d>
<d>4.937734629</d>
</sensor>
type attribute
The type attribute of the sensor element may be set equal to any of the constants listed in the following table to represent the corresponding sensor type. One should also not that the values from 240 to 255 have been reserved for internal use only. These sensor types are not meant to be parsed when sharing files, but meant for internal use and storage only for applications that might require a means to first record raw data and later compute actual values.
Table 3.2: type values
| Value | Type |
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 240-255 |
Unspecified (default) PH Pressure Swallow Signal Respiration Signal EMG EGG TMPD Volume Flow Conductance Impedance SaO2 Baseline Data Single Event Period Event Reserved for internal use ONLY. |
sensor attribute
The organ attribute of the d element may be set equal to any of the constants listed in the following table to represent the corresponding organ type.
Table 3.3: organ values
| Value | Organ |
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Unspecified (default) Tongue Pharynx UES/UOS Oesophagus/Esophagus LES/LOS Stomach Antrum Pylorus Small Bowel Duodenum Jejenum Lleum Colon Ascending colon Transfer colon Descedning colon Rectum Anal Canal IAS EAS Nose Troth Abdomen Stomach Skin Pelvic Floor Finger |
investigation)
The investigation block has three child elements and one attribute. The child elements are an optional comment block which should ideally contain a description of the investigation, an optional time block (of type begin) to indicate the beginning of the investigation, and any number of sensor blocks (one for each sensor in the investigation). The type attribute of investigation may be any of the constant integer values cited in section 3.17.1 to indicate the type of investigation. Below is an example of a possible investigation block;
<investigation type="1">
<comment>An Ambulatory Stomach PH Study</comment>
<time type="begin">
<year>2001</year>
<month>07</month>
<date>03</date>
<hour>14</hour>
<minute>39</minute>
<second>34</second>
</time>
<sensor num="1" type="1" organ="5">
<comment>MODEL#1234ABC</comment>
<interval>60</interval>
<d>4.797527246</d>
<d>5.914450127</d>
.
.
.
<d>5.689050268</d>
<d>4.937734629</d>
</sensor>
</investigation>
type attribute
The type attribute of the investigation element may be set equal to any of the constants listed in the following table to represent the corresponding investigation type.
Table 3.4: type values
| Value | Type |
|
0 1 2 3 4 5 6 7 8 9 |
Unspecified (default) Ambulatory oesophageal/stomach pH study Abulatory bile study UES manometry Oesophageal body manometry LES manometry Antrum/Pylorus/Duodenal (APD) manometry Small bowel manometry Colon manometry Ano-rectal manometry |
patient)
The patient block has eleven child elements and one attribute. The child elements are name (one occurrence required), time (of type="dob" - one occurrence required), gender (one occurrence required), mass (one occurrence required), height (one occurrence required), contact_info (optional), allergies (optional), refering_doctor (optional), comment (optional), hospital (optional), and any number of investigation blocks. The one attribute of patient is id and is required. This patient ID is used as an identifier for the patients and may be following a different convention from clinic to clinic.
Below is an overall structure diagram for quick reference. The values noted in brackets after the element names indicate the required number of occurrences of that element in that particular block. The indentation of this tree is representative of the nesting of child elements in their parent blocks.
GIML (1)
head (1)
time (1 or 2)
year (1 / 0 / 1)
month (1 / 0 / 1)
date (1 / 0 / 1)
hour (0 / 1 / 1)
minute (0 / 0 or 1 / 0 or 1)
second (0 / 0 or 1 / 0 or 1)
patient (any)
name (1)
surname (1 / 0)
given (1 / 0)
middle (0 or 1 / 0)
title (0 or 1 / 0)
business_name (0 / 1)
time (0 or 1)
year (1 / 0 / 1)
month (1 / 0 / 1)
date (1 / 0 / 1)
hour (0 / 1 / 1)
minute (0 / 0 or 1 / 0 or 1)
second (0 / 0 or 1 / 0 or 1)
gender (0 or 1)
mass (0 or 1)
height (0 or 1)
contact_info (1)
address (0 or 1)
city (0 or 1)
state (0 or 1)
zip (0 or 1)
country (0 or 1)
telephone (0 or 1)
fax (0 or 1)
email (0 or 1)
allergies (0 or 1)
referring_doctor (0 or 1)
name (1)
surname (1 / 0)
given (1 / 0)
middle (0 or 1 / 0)
title (0 or 1 / 0)
business_name (0 / 1)
contact_info (0 or 1)
address (0 or 1)
city (0 or 1)
state (0 or 1)
zip (0 or 1)
country (0 or 1)
telephone (0 or 1)
fax (0 or 1)
email (0 or 1)
hospital (0 or 1)
name (1)
surname (1 / 0)
given (1 / 0)
middle (0 or 1 / 0)
title (0 or 1 / 0)
business_name (0 / 1)
contact_info (0 or 1)
address (0 or 1)
city (0 or 1)
state (0 or 1)
zip (0 or 1)
country (0 or 1)
telephone (0 or 1)
fax (0 or 1)
email (0 or 1)
comment (0 or 1)
comment (0 or 1)
hospital (0 or 1)
name (1)
surname (1 / 0)
given (1 / 0)
middle (0 or 1 / 0)
title (0 or 1 / 0)
business_name (0 / 1)
contact_info (0 or 1)
address (0 or 1)
city (0 or 1)
state (0 or 1)
zip (0 or 1)
country (0 or 1)
telephone (0 or 1)
fax (0 or 1)
email (0 or 1)
comment (0 or 1)
investigation (any)
comment (0 or 1)
time (0 or 1)
sensor (0 or 1)
comment (0 or 1)
interval (1)
d (any)
GIML is very strict in its usage, but there are still some situations that the file will be validated against the GIML Schema, or the GIML DTD, in which the GIML file is not valid. The programmers must handle these situations so that GIML files can be read by any GIML parser correctly.
The characters reserved in GIML are the same as those reserved in XML. Usage of such characters will result in parsers misreading the GIML files. Situations in which these characters are used are anywhere that strings occur, like inside a comment tag. Table 4.1 contains characters that are used by GIML as markup indicators, as well as entities that can be used in place of these indicators.
| Character | Entity | Example | Parsed Result |
|
apostrophe (') quotation (") ampersand (&) less than (<) greater than (>) |
' " & < > |
can't "ouch" AT&T 3 < 12 18 > 6 |
can't "ouch" AT&T 3 < 12 18 > 6 |
Table 4.1: GIML Entities Used to Replace Markup Indicators
The entities ' and "e; are only needed in attributes, so sections like comment can contain characters like ' and ". Attributes are contained within quotation marks in order to be valid GIML like: <time type="dob">. If dob was not contained between quotations, an error will appear when attempting to validate the file against the GIML Schema or GIML DTD.
Some countries have different keyboards than other countries. In order to reference characters outside the range of a particular keyboard, it is possible to use the character number in its place. For example, in order to reference a British pound sign (£), the entity £ can be used in place of the pound sign. These situations will likely occur within comment tags and should be taken lightly. It is the programmers responsibility to interpret the files so that &, <, >, and extended ASCII characters are replaced with things like and, less than, greater than and word replacements for extended ASCII characters so that parsing difficulties do not occur in GIML files.
All measurements will have to be converted to the International System of units (SI units) if not already done so. Table 4.2 shows the measurement types available in GIML and the corresponding units associated with them.
| Measurement | Data Type | Unit |
|
year month date hour minute second |
integer integer integer integer integer double |
year month day hour min s |
|
mass |
double |
kg |
|
height |
double |
cm |
|
pH |
double |
pH |
|
pressure |
double |
kPa |
|
voltage |
double |
V |
|
volume |
double |
mL |
|
flow |
double |
mL/s |
|
conductivity |
double |
Siemens |
|
impedance |
double |
Ohms |
|
percentage |
double |
% |
Table 4.2: GIML Measurement Types and Units
A notable item in Table 4.2 is pressure. Although it can be measured in mmHg and kPa, kPa was chosen due to the relation to SI units. This may seem awkward to some, but it is the programmer's responsibility to convert from kPa to mmHg, if required, when developing a program to create the GIML file. If mmHg is preferred to be viewed, it is the programmer's responsibility to convert from kPa to mmHg for such viewing purposes.
The various structures used in GIML are listed below along with a brief explanation of each structure.
Selected examples of the definitions in 4.3 are shown below.
120 and 1.20e2 are identical.0, -0, INF, -INF and NaN, respectively.-12.3574E17 and 6.2214e-4.-3,0,+6257, and 12226.0,+6257, and 12226.The extension of GIML files is to be .giml. Naming conventions for different locations is at the discretion of the programmers. If a database is ever developed with the intention of sharing studies, the database should be set up to take care of keeping each file identity unique that is submitted.
<!-- GIML.dtd - Common Gastro File Format - version 1.0
Date: 2001.7.20
XML language Document Type Definition (.dtd).
GIML is to be used as a common file format for various types of
gastro-intestinal studies.
-->
<!ELEMENT GIML (head,patient*)>
<!ELEMENT head (time+)>
<!ELEMENT time ((year,month,date)|(hour,minute?,second?)|(year,month,date,hour,minute?,second?))>
<!ATTLIST time type ( dob | creation | modified | begin ) #REQUIRED>
<!ELEMENT name ((surname,given,middle?,title?)|(business_name))>
<!ELEMENT patient (name,time,gender,mass,height,contact_info?,allergies?,referring_doctor?,comment?,hospital?,investigation*)>
<!ATTLIST patient id CDATA #REQUIRED>
<!ELEMENT gender (#PCDATA)>
<!ELEMENT mass (#PCDATA)>
<!ELEMENT height (#PCDATA)>
<!ELEMENT contact_info (address?,city?,state?,zip?,country?,telephone?,fax?,email?)>
<!ELEMENT allergies (#PCDATA)>
<!ELEMENT referring_doctor (name,contact_info?,hospital?)>
<!ELEMENT comment (#PCDATA)>
<!ELEMENT hospital (name,contact_info?,comment?)>
<!-- ====================================================
An "investigation" block represents an
investigation done on the patient. More than one
investigation block per patient block is permitted.
==================================================== -->
<!ELEMENT investigation (comment?,time?,sensor*)>
<!ATTLIST investigation type ( 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ) "0">
<!-- ====================================================
The "type" attributes constant values are
representative of the following list of possible
investigation types:
0 Unspecified
1 Ambulatory oesophageal/stomach pH study
2 Abulatory bile study
3 UES manometry
4 Oesophageal body manometry
5 LES manometry
6 Antrum/Pylorus/Duodenal (APD) manometry
7 Small bowel manometry
8 Colon manometry
9 Ano-rectal manometry
==================================================== -->
<!-- ====================================================
"sensor" models each sensor in the investigation.
Multiple sensors per investigation are permitted.
==================================================== -->
<!ELEMENT sensor (comment?,interval,d*)>
<!ATTLIST sensor num CDATA #REQUIRED>
<!ATTLIST sensor type ( 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
| 10 | 11 | 12 | 13 | 14 | 15
| 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249
| 250 | 251 | 252 | 253 | 254 | 255 ) "0">
<!ATTLIST sensor organ ( 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
| 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19
| 20 | 21 | 22 | 23 | 24 | 25 | 26 ) "0">
<!-- ====================================================
The "type" attributes constant values are
representative of the following list of possible
sensor types:
0 Unspecified
1 PH
2 Pressure
3 Swallow Signal
4 Respiration Signal
5 EMG
6 EGG
7 TMPD
8 Volume
9 Flow
10 Conductance
11 Impedance
12 SaO2
13 Baseline Data
14 Single Event
15 Period Event
240 to 255 are reserved for internal use ONLY.
The "organ" attributes constant values are
representative of the following list of possible
organs:
0 Unspecified
1 Tongue
2 Pharynx
3 UES/UOS
4 Oesophagus/Esophagus
5 LES/LOS
6 Stomach
7 Antrum
8 Pylorus
9 Small Bowel
10 Duodenum
11 Jejenum
12 Lleum
13 Colon
14 Ascending colon
15 Transfer colon
16 Descedning colon
17 Rectum
18 Anal Canal
19 IAS
20 EAS
21 Nose
22 Troth
23 Abdomen
24 Stomach Skin
25 Pelvic Floor
26 Finger
==================================================== -->
<!-- ====================================================
"interval" is the spacing between each data element
interval MUST be recorded in SECONDS
==================================================== -->
<!ELEMENT interval (#PCDATA)>
<!-- ====================================================
Element "d" represents each data point aquired
==================================================== -->
<!ELEMENT d (#PCDATA)>
<!ATTLIST d marker ( 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
| 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19
| 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29
| 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39
| 40 | 41 | 42 | 43 | 44 | 45 ) "0">
<!ATTLIST d position ( start | stop | null) "null">
<!-- ====================================================
The "marker" attributes constant values are
representative of the following list of possible
event markers:
0 Generic Event Marker
1 Comment Marker
2 Artifact Marker
3 Audio Comment Marker
4 Pause
5 Balloon inflation
6 Balloon deflation
7 Meal
8 Drink
9 Supine
10 Pain
11 Special PH Analysis Period
12 Kaye meal
13 Dry Swallow
14 Wet Swallow
15 Swallow X
16 Swallow Y
17 Swallow Z
18 In UES
19 Intrabolus marker
20 Shoulder Marker
21 AP Swallow
22 Pharyngeal transit
23 UES Swallow
24 In oesophagus
25 Oesophageal Contraction
26 In LES
27 LES resting pressure
28 LES relaxation
29 RIP Respiration Inversion Point
30 LES profile
31 In LES
32 Squeeze
33 Endurance Squeeze
34 Push/Strain
35 Cough
36 RAIR
37 Resting Anal Profile
38 Squeeze Anal Profile
39 Compliance Calculation
40 No Sensation
41 First Sensation
42 First Urge
43 Modest Urge
44 Intense Urge
45 Max tolerable volume
==================================================== -->
<!-- ====================================================
The following elements are members of contact_info
==================================================== -->
<!ELEMENT address (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT zip (#PCDATA)>
<!ELEMENT telephone (#PCDATA)>
<!ELEMENT fax (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!-- ==================================================== -->
<!-- ====================================================
The following elements are members of contact_info
==================================================== -->
<!ELEMENT surname (#PCDATA)>
<!ELEMENT given (#PCDATA)>
<!ELEMENT middle (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT business_name (#PCDATA)>
<!-- ==================================================== -->
<!-- ====================================================
The following elements are members of time
==================================================== -->
<!ELEMENT year (#PCDATA)>
<!ELEMENT month (#PCDATA)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT hour (#PCDATA)>
<!ELEMENT minute (#PCDATA)>
<!ELEMENT second (#PCDATA)>
<!-- ==================================================== -->
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" elementFormDefault="qualified">
<xsd:element name="GIML">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
The GIML block is required and contains exactly one 'head'
block and any amount of 'patient' blocks.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="head" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="patient" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="head">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
The 'head' block contains up to 2 'time' blocks, one of
which is manditory.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="time" minOccurs="1" maxOccurs="2"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="time">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
The 'time' tag has a required 'type' attribute and can be
constructed in numerous ways.
See documentation for details.
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:sequence>
<xsd:element ref="year" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="month" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="date" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:sequence>
<xsd:element ref="hour" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="minute" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="second" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:sequence>
<xsd:element ref="year" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="month" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="date" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="hour" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="minute" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="second" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:choice>
<xsd:attribute name="type" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="dob"/>
<xsd:enumeration value="creation"/>
<xsd:enumeration value="modified"/>
<xsd:enumeration value="begin"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="year">
<xsd:simpleType>
<xsd:restriction base="xsd:nonNegativeInteger">
<xsd:minInclusive value="1900"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="month">
<xsd:simpleType>
<xsd:restriction base="xsd:nonNegativeInteger">
<xsd:maxInclusive value="12"/>
<xsd:minInclusive value="1"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="date">
<xsd:simpleType>
<xsd:restriction base="xsd:nonNegativeInteger">
<xsd:maxInclusive value="31"/>
<xsd:minInclusive value="1"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="hour">
<xsd:simpleType>
<xsd:restriction base="xsd:nonNegativeInteger">
<xsd:maxInclusive value="23"/>
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="minute">
<xsd:simpleType>
<xsd:restriction base="xsd:double">
<xsd:maxExclusive value="60"/>
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="second">
<xsd:simpleType>
<xsd:restriction base="xsd:nonNegativeInteger">
<xsd:maxInclusive value="59"/>
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="patient">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
The 'patient' block requires a 'name' block many other
optional blocks.
The 'patient' tag has a required 'id' attribute.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="name" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="time" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="gender" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="mass" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="height" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="contact_info" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="allergies" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="referring_doctor" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="comment" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="hospital" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="investigation" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="name">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
The 'name' block requires the 'surname' and 'given' blocks, and
optionally 'middle' and 'title' blocks; else the 'name' block
may contain only a 'business_name' block.
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:sequence>
<xsd:element ref="surname" minOccurs="1" maxOccurs="1/>
<xsd:element ref="given" minOccurs="1" maxOccurs="1/>
<xsd:element ref="middle" minOccurs="0" maxOccurs="1/>
<xsd:element ref="title" minOccurs="0" maxOccurs="1/>
</xsd:sequence>
<xsd:choice>
<xsd:element ref="business_name"/>
</xsd:choice>
</xsd:choice>
</xsd:complexType>
</xsd:element>
<xsd:element name="surname" type="xsd:string"/>
<xsd:element name="given" type="xsd:string"/>
<xsd:element name="middle" type="xsd:string"/>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="business_name" type="xsd:string"/>
<xsd:element name="gender">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
The 'gender' block contains either an "M" or an "F", no
other characters are permitted.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="xsd:string">
<xsd:pattern value="([M]{1})|([F]{1})"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="mass" type="xsd:double">
<xsd:annotation>
<xsd:documentation>
'mass' is recorded in units of kilograms (kg)
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="height" type="xsd:double">
<xsd:annotation>
<xsd:documentation>
'height' is recorded in units of centimeters (cm)
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="contact_info">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
The child blocks of 'contact_info' are all optional.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="address" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="city" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="state" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="zip" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="country" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="telephone" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="fax" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="email" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="address" type="xsd:string"/>
<xsd:element name="city" type="xsd:string"/>
<xsd:element name="state" type="xsd:string"/>
<xsd:element name="zip" type="xsd:string"/>
<xsd:element name="country" type="xsd:string"/>
<xsd:element name="telephone" type="xsd:string"/>
<xsd:element name="fax" type="xsd:string"/>
<xsd:element name="email" type="xsd:string"/>
<xsd:element name="allergies" type="xsd:string"/>
<xsd:element name="referring_doctor">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
The 'referring_doctor' block contains a 'name' block and
optionally 'contact_info' and 'hospital' blocks.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="name" minOccurs="1" maxOccurs="1/>
<xsd:element ref="contact_info" minOccurs="0" maxOccurs="1/>
<xsd:element ref="hospital" minOccurs="0" maxOccurs="1/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="comment" type="xsd:string"/>
<xsd:element name="hospital">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
The 'hospital' block contains a 'name' (where one would
desire a 'business_name' block) and optionally 'contact_info'
and 'comment' blocks.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="name" minOccurs="1" maxOccurs="1/>
<xsd:element ref="contact_info" minOccurs="0" maxOccurs="1/>
<xsd:element ref="comment" minOccurs="0" maxOccurs="1/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="investigation">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
The 'investigation' block is representative of each investigation
performed on the patient (of the parent 'patient' block).
The 'investigation' block may contain a 'comment' block, a 'time'
block, and any number of 'sensor' blocks. There is a 'type' attribute
for the 'investigation' tag which defaults to "0" (unspecified).
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="comment" minOccurs="0" maxOccurs="1/>
<xsd:element ref="time" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="sensor" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="type" use="default" value="0">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>
The "type" attributes constant values are
representative of the following list of possible
investigation types:
0 Unspecified
1 Ambulatory oesophageal/stomach pH study
2 Abulatory bile study
3 UES manometry
4 Oesophageal body manometry
5 LES manometry
6 Antrum/Pylorus/Duodenal (APD) manometry
7 Small bowel manometry
8 Colon manometry
9 Ano-rectal manometry
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:nonNegativeInteger">
<xsd:maxInclusive value="9"/>
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="sensor">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
The 'sensor' block must contain an 'interval', optionally a
'comment' and any number of 'd' (data points). There are
three attributes for the 'sensor' tag; 'num', 'type', and 'organ'.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="comment" minOccurs="0" maxOccurs="1/>
<xsd:element ref="interval" minOccurs="1" maxOccurs="1/>
<xsd:element ref="d" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="num" type="xsd:string" use="required"/>
<xsd:attribute name="type" use="default" value="0">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>
The "type" attributes constant values are
representative of the following list of possible
sensor types:
0 Unspecified
1 PH
2 Pressure
3 Swallow Signal
4 Respiration Signal
5 EMG
6 EGG
7 TMPD
8 Volume
9 Flow
10 Conductance
11 Impedance
12 SaO2
13 Baseline Data
14 Single Event
15 Period Event
240 to 255 are reserved for internal use ONLY.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:nonNegativeInteger">
<xsd:pattern value="([0-15]{1})|([240-255]{1})"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="organ" use="default" value="0">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>
The "organ" attributes constant values are
representative of the following list of possible
organs:
0 Unspecified
1 Tongue
2 Pharynx
3 UES/UOS
4 Oesophagus/Esophagus
5 LES/LOS
6 Stomach
7 Antrum
8 Pylorus
9 Small Bowel
10 Duodenum
11 Jejenum
12 Lleum
13 Colon
14 Ascending colon
15 Transfer colon
16 Descedning colon
17 Rectum
18 Anal Canal
19 IAS
20 EAS
21 Nose
22 Troth
23 Abdomen
24 Stomach Skin
25 Pelvic Floor
26 Finger
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:nonNegativeInteger">
<xsd:maxInclusive value="26"/>
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="d">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
The 'd' block represents aquired and/or computed data points. It has
no child blocks. The 'd' tag has two attributes; 'marker' and 'position'.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="xsd:double">
<xsd:attribute name="marker" use="default" value="0">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>
The "marker" attributes constant values are
representative of the following list of possible
event markers:
0 Null event, simply data aquired.
1 Comment Marker
2 Artifact Marker
3 Audio Comment Marker
4 Pause
5 Balloon inflation
6 Balloon deflation
7 Meal
8 Drink
9 Supine
10 Pain
11 Special PH Analysis Period
12 Kaye meal
13 Dry Swallow
14 Wet Swallow
15 Swallow X
16 Swallow Y
17 Swallow Z
18 In UES
19 Intrabolus marker
20 Shoulder Marker
21 AP Swallow
22 Pharyngeal transit
23 UES Swallow
24 In oesophagus
25 Oesophageal Contraction
26 In LES
27 LES resting pressure
28 LES relaxation
29 RIP Respiration Inversion Point
30 LES profile
31 In LES
32 Squeeze
33 Endurance Squeeze
34 Push/Strain
35 Cough
36 RAIR
37 Resting Anal Profile
38 Squeeze Anal Profile
39 Compliance Calculation
40 No Sensation
41 First Sensation
42 First Urge
43 Modest Urge
44 Intense Urge
45 Max tolerable volume
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:maxInclusive value="45"/>
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="position" use="default" value="null">
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="start"/>
<xsd:enumeration value="stop"/>
<xsd:enumeration value="null"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="interval" type="xsd:double">
<xsd:annotation>
<xsd:documentation>
'interval' is recorded in units of seconds (s)
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:schema>
Biron, Paul V. and Malhotra, Ashok. XML Schema Part 2: Datatypes. Found at: <www.w3c.org/TR/2000/CR-xmlschema-2-20001024>.
Connolly, Dan and Thompson, Henry. XML Schema. Found at: <www.w3c.org/XML/Schema>.
St. Laurent, Simon and Cerami, Ethan. Building XML Applications. New York: McGraw-Hill, 1999.
van der Wal, Jan-Willem. Common Gastro File Format. Draft version 0.3, January 16, 2001
*NOTE: as of 2001.08.20 all links in this document are active.
<?xml version='1.1' encoding='UTF-8'?>
<!DOCTYPE GIML SYSTEM "http://www.xml.org/xml/schema/2dd8e1e2/giml.dtd">
<GIML>
<head>
<time type="creation">
<year>2001</year>
<month>07</month>
<date>03</date>
<hour>13</hour>
<minute>29</minute>
<second>34</second>
</time>
<time type="modified">
<year>2001</year>
<month>07</month>
<date>03</date>
<hour>13</hour>
<minute>29</minute>
<second>34</second>
</time>
</head>
<patient id="7182">
<name>
<surname>Sherwood</surname>
<given>Mark</given>
<middle>James</middle>
</name>
<time type="dob">
<year>1979</year>
<month>10</month>
<date>05</date>
</time>
<gender>M</gender>
<mass>70.9</mass>
<height>183</height>
<contact_info>
<address>324 Alexander St.</address>
<city>Saskatoon</city>
<state>SK</state>
<zip>S7N8E9</zip>
<country>CANADA</country>
<telephone>3065556363</telephone>
<fax>3065556464</fax>
<email>mark@saskatoon.com</email>
</contact_info>
<allergies>Felines</allergies>
<referring_doctor>
<name>
<surname>Gilbert</surname>
<given>Richard</given>
<title>Dr.</title>
</name>
<contact_info>
<city>Boston</city>
<state>MA</state>
<country>USA</country>
<telephone>6175551212</telephone>
</contact_info>
<hospital>
<name>
<business_name>St. Elizabeth Medical Center</business_name>
</name>
<contact_info>
<city>Cambridge</city>
<state>MA</state>
<zip>02131</zip>
<country>USA</country>
<telephone>6175552121</telephone>
</contact_info>
<comment>Large Tonsils</comment>
</hospital>
</referring_doctor>
<comment>none</comment>
<hospital>
<name>
<business_name>Simmons Hospital</business_name>
</name>
<contact_info>
<city>Cambridge</city>
<state>MA</state>
<zip>02133</zip>
<country>USA</country>
<telephone>61755531311</telephone>
</contact_info>
<comment>NONE</comment>
</hospital>
<investigation type="1">
<comment>An Ambulatory Stomach PH Study</comment>
<time type="begin">
<year>2001</year>
<month>07</month>
<date>02</date>
<hour>14</hour>
<minute>39</minute>
<second>34</second>
</time>
<sensor num="1" type="1" organ="5">
<comment>Sanhill Scientific Model #456-HL</comment>
<interval>72.5</interval>
<d>5.689050268</d>
<d>4.797527246</d>
<d>4.937734629</d>
<d>5.914450127</d>
<d>6.237353115</d>
<d>5.467594508</d>
<d>5.668320138</d>
<d>4.994726231</d>
<d>5.628969478</d>
<d>4.531899024</d>
<d>6.202969758</d>
<d>5.788652168</d>
<d>4.775597166</d>
<d>5.562424511</d>
<d>4.99377791</d>
<d>6.315507657</d>
<d>5.023350766</d>
<d>4.750525623</d>
<d>5.334797572</d>
<d>5.469609727</d>
<d>5.459781528</d>
<d>4.937044999</d>
<d>5.141592712</d>
<d>6.004678194</d>
<d>6.367194779</d>
<d>4.642579611</d>
<d>5.197010943</d>
<d>6.267123177</d>
<d>5.839378207</d>
<d>4.956020674</d>
<d>5.501688973</d>
<d>4.510058378</d>
<d>5.705984069</d>
<d>4.892193149</d>
<d>4.651574362</d>
<d>5.534461413</d>
<d>6.36819493</d>
<d>6.465059585</d>
<d>5.772833778</d>
<d>5.423187438</d>
<d>5.546479811</d>
<d>6.400878582</d>
<d>5.45120928</d>
<d>4.748997218</d>
<d>6.32432951</d>
<d>5.662772235</d>
<d>4.508769782</d>
<d>5.050679156</d>
<d>5.14264629</d>
<d>6.351872037</d>
<d>6.157931028</d>
<d>5.463275497</d>
<d>5.251308474</d>
<d>5.523178631</d>
<d>5.559990391</d>
<d>5.088287656</d>
<d>6.495725205</d>
<d>4.939891484</d>
<d>5.096914163</d>
<d>5.216652744</d>
<d>5.169251626</d>
<d>5.642869121</d>
<d>5.040291926</d>
<d>5.129662913</d>
<d>4.842121852</d>
<d>4.901357882</d>
<d>4.658409268</d>
<d>4.660075132</d>
<d>5.020526825</d>
<d>5.016604954</d>
<d>6.499905723</d>
<d>5.996762892</d>
<d>4.631021108</d>
<d>5.680951463</d>
<d>5.046976628</d>
<d>4.78011548</d>
<d>5.936778875</d>
<d>5.527982424</d>
<d>4.738043846</d>
<d>4.751262269</d>
<d>4.569399564</d>
<d>6.495770159</d>
<d>5.381383621</d>
<d>4.991191826</d>
<d>4.917574006</d>
<d>5.916969133</d>
<d>4.976512457</d>
<d>4.751497756</d>
<d>4.882112588</d>
<d>5.650376745</d>
<d>4.772668212</d>
<d>4.797168278</d>
<d>5.412311527</d>
<d>4.734161698</d>
<d>4.624686371</d>
<d>5.467503737</d>
<d>4.776859095</d>
<d>5.955824572</d>
<d>4.575776854</d>
<d>5.127136626</d>
<d>6.031462491</d>
<d>5.415781758</d>
<d>4.815301796</d>
<d>5.501590501</d>
<d>5.542965329</d>
<d>5.885146869</d>
<d>6.45005442</d>
<d>6.407112161</d>
<d>4.671190261</d>
<d>6.182210968</d>
<d>5.916569713</d>
<d>5.053802107</d>
<d>5.813144314</d>
<d>5.312960553</d>
<d>5.008242094</d>
<d>6.368260558</d>
<d>5.10959118</d>
<d>5.717633869</d>
<d marker="20" position="start">5.886012999</d>
<d>5.304880038</d>
<d>5.649509652</d>
<d>6.256945663</d>
<d>5.886012999</d>
<d>4.956317481</d>
<d>6.41663286</d>
<d>6.173975628</d>
<d>5.037293636</d>
<d>5.683450108</d>
<d>5.586168124</d>
<d>6.179800502</d>
<d>6.243382442</d>
<d>4.681613842</d>
<d>4.552195391</d>
<d>5.533586703</d>
<d>5.77766793</d>
<d>4.899391929</d>
<d>5.350789893</d>
<d>4.530191086</d>
<d>5.42931146</d>
<d>5.690506594</d>
<d>4.887917402</d>
<d>4.659458504</d>
<d>4.964620732</d>
<d>5.962859955</d>
<d>5.670275248</d>
<d>6.195863211</d>
<d>5.995246258</d>
<d>5.736151309</d>
<d>5.16465565</d>
<d>4.505797418</d>
<d>5.859100362</d>
<d>4.647309739</d>
<d>5.651601203</d>
<d>4.798064977</d>
<d>6.218795729</d>
<d>5.215509538</d>
<d>5.941826509</d>
<d>5.100794984</d>
<d>5.330192383</d>
<d>6.24205181</d>
<d>5.613484336</d>
<d>6.452315014</d>
<d>4.608402533</d>
<d>5.543929661</d>
<d>5.355857761</d>
<d>6.301720569</d>
<d>5.620358697</d>
<d>5.965415093</d>
<d>4.764277643</d>
<d>6.39338582</d>
<d>5.864791453</d>
<d>4.539516973</d>
<d>5.018850268</d>
<d>4.551137045</d>
<d>5.139571307</d>
<d marker="20" position="stop">5.85478769</d>
<d>6.152460061</d>
<d>5.73291202</d>
<d>5.35159912</d>
<d>6.477611563</d>
<d>5.045811894</d>
<d>5.341265177</d>
<d>4.987957445</d>
<d>5.15271918</d>
<d>5.277716607</d>
<d>4.877451175</d>
<d>5.870641946</d>
<d>5.997206582</d>
<d>4.988497276</d>
<d>6.454404245</d>
<d>5.126741364</d>
<d>6.149588066</d>
<d>5.527048346</d>
<d>5.564464147</d>
<d>5.025046535</d>
<d>5.404676116</d>
<d>5.746789383</d>
<d>5.641186603</d>
<d>4.516278674</d>
<d>4.795514565</d>
<d>5.171198477</d>
<d>4.762901481</d>
<d>4.878101068</d>
<d>6.253243061</d>
<d>5.522756617</d>
<d>5.415385607</d>
<d>4.924704541</d>
<d>5.94595187</d>
<d>5.615969045</d>
<d>4.854648115</d>
<d>5.921788376</d>
<d>6.306292905</d>
<d>4.525271162</d>
<d>5.110731441</d>
<d>4.916138775</d>
<d>5.821567065</d>
<d>6.032801107</d>
<d>4.562324089</d>
<d>5.007527429</d>
<d>5.349538481</d>
<d>6.240071526</d>
<d>6.165107447</d>
<d>5.942887205</d>
<d>5.517899178</d>
<d>5.710480196</d>
<d>5.048661083</d>
<d>5.323152144</d>
<d>5.099864678</d>
<d>6.193659417</d>
<d>6.351790071</d>
<d>5.352939928</d>
<d>5.645690236</d>
<d>4.746458319</d>
<d>5.389806179</d>
<d>5.709134226</d>
<d>5.82988739</d>
<d>5.746715121</d>
<d>4.911860562</d>
<d>5.805230416</d>
<d>5.590565638</d>
<d>5.367783596</d>
<d>5.425353998</d>
<d>4.824265153</d>
<d>5.53072026</d>
<d>5.626325534</d>
<d>4.565726666</d>
<d>6.424244316</d>
<d>4.926086335</d>
<d>5.516545425</d>
<d>6.415277288</d>
<d>4.860895462</d>
<d>5.27698166</d>
<d>5.659533502</d>
<d>4.701179306</d>
<d>4.704620793</d>
<d>4.503458371</d>
<d>4.887318476</d>
<d>4.777408561</d>
<d>5.352133401</d>
<d>5.72478698</d>
<d>5.555581857</d>
<d>5.79207105</d>
<d>6.352432381</d>
<d>5.661067838</d>
<d>5.76988912</d>
<d>4.50369852</d>
<d>5.245818276</d>
<d>5.603942247</d>
<d>4.739456992</d>
<d>4.629772542</d>
<d>5.418784562</d>
<d>6.305842199</d>
<d>6.098894294</d>
<d>5.66351777</d>
<d>5.830674241</d>
<d>5.47437081</d>
<d>6.218377784</d>
<d>5.110867161</d>
<d>6.249039316</d>
<d>6.237774669</d>
<d>5.607678614</d>
<d>5.434322941</d>
<d>4.908253731</d>
<d>6.382541585</d>
<d>5.363561491</d>
<d>5.960056975</d>
<d>6.142208545</d>
<d>5.052776964</d>
<d>5.745216543</d>
<d>6.194326915</d>
<d>4.907283812</d>
<d>4.85697066</d>
<d>4.731501762</d>
<d>4.501456182</d>
<d>5.223820637</d>
<d>5.565131116</d>
<d>5.575342846</d>
<d>5.864748452</d>
<d>6.117198839</d>
<d>5.432447562</d>
<d>6.490157203</d>
<d>6.256549217</d>
<d>5.992514655</d>
<d>4.909076824</d>
<d>6.466142413</d>
<d>6.40728847</d>
<d>6.40271307</d>
<d>5.467711998</d>
<d>4.822185854</d>
<d>5.10992357</d>
<d>4.982033004</d>
<d>4.968782701</d>
<d>4.837563724</d>
<d>6.135983913</d>
<d>5.920659656</d>
<d>5.221135238</d>
<d>5.191827834</d>
<d>5.363814839</d>
<d>6.448189502</d>
<d>6.091753838</d>
<d>5.537096318</d>
<d>6.245596625</d>
<d>6.427106769</d>
<d>5.038233189</d>
<d>4.910803042</d>
<d>5.419332661</d>
<d>5.688716889</d>
<d>5.311225658</d>
<d>5.969839183</d>
<d>6.213270867</d>
<d>4.95583883</d>
<d>5.715804593</d>
<d>5.339564469</d>
<d>6.285304942</d>
<d>6.402486601</d>
<d>5.243559799</d>
<d>5.423439222</d>
<d>6.019257531</d>
<d>5.550864945</d>
<d>5.467281843</d>
<d>4.597631177</d>
<d>5.758438613</d>
<d>6.048267701</d>
<d>6.459743735</d>
<d>5.565875703</d>
<d>4.887936753</d>
<d>4.849505089</d>
<d>5.412132691</d>
<d>4.977807531</d>
<d>5.470412029</d>
<d>5.339191586</d>
<d>4.623223778</d>
<d>5.103375543</d>
<d>4.673864475</d>
<d>6.445665464</d>
<d>5.303176426</d>
<d>4.918331323</d>
<d>5.354576847</d>
<d>5.721870836</d>
<d>4.916136</d>
<d>5.794312082</d>
<d>6.361613892</d>
<d>5.832687557</d>
<d>5.247152911</d>
<d>4.711388263</d>
<d>4.966788856</d>
<d>5.256006299</d>
<d>5.66051343</d>
<d>6.325053822</d>
<d>4.776243046</d>
<d>5.905610198</d>
<d>5.420412656</d>
<d>6.295350886</d>
<d>5.063704777</d>
<d>5.067267667</d>
<d>6.058412675</d>
<d>6.093536897</d>
<d>5.048519853</d>
<d>5.936133207</d>
<d>5.186875407</d>
<d>4.726021496</d>
<d>4.679769376</d>
<d>6.437696124</d>
<d>5.036292391</d>
<d>5.850223155</d>
<d>5.464256317</d>
<d>4.883944891</d>
<d>5.645431005</d>
<d>6.200558321</d>
<d>6.105926793</d>
<d>4.729688648</d>
<d>4.694866526</d>
<d>4.706803545</d>
<d>5.940273743</d>
<d>5.851080987</d>
<d>5.889030659</d>
<d>4.592755961</d>
<d>5.878946164</d>
<d>5.552926833</d>
<d>5.717084385</d>
<d>5.908401546</d>
<d>4.834234997</d>
<d>5.444555191</d>
<d>5.399184621</d>
<d>5.814819203</d>
<d>5.762050538</d>
<d>5.520984339</d>
<d>6.00984777</d>
<d>5.137598919</d>
<d>4.781638348</d>
<d>4.892870659</d>
<d>5.305399411</d>
<d>4.750266826</d>
<d>4.793153165</d>
<d>5.979882884</d>
<d>4.85245875</d>
<d>6.420033138</d>
<d>5.568104405</d>
<d>4.776010673</d>
<d>5.62347595</d>
<d>4.579958618</d>
<d>6.196244048</d>
<d>5.735454092</d>
<d>6.317291664</d>
<d>4.544090309</d>
<d>5.933583192</d>
<d>6.143183334</d>
<d>4.626172777</d>
<d>6.065492857</d>
<d>5.628004284</d>
<d>5.052724081</d>
<d>5.225851339</d>
<d>5.50865134</d>
<d>4.887462373</d>
<d>6.19062092</d>
<d>4.51071187</d>
<d>6.123933631</d>
<d>5.574841616</d>
<d>4.942162323</d>
<d>5.398831431</d>
<d>6.346134792</d>
<d>5.812442995</d>
<d>6.425307157</d>
<d>5.364247645</d>
<d>4.6987735</d>
<d>5.07719492</d>
<d>5.553964027</d>
<d>5.903364933</d>
<d>5.36965643</d>
<d>5.818451364</d>
<d>5.433504363</d>
<d>4.86900404</d>
<d>4.911334776</d>
<d>4.641486257</d>
<d>6.45918175</d>
<d>6.04661717</d>
<d>6.249876209</d>
<d>6.456906304</d>
<d>5.699462381</d>
<d>4.842699767</d>
<d>4.577069107</d>
<d>5.818352816</d>
<d>6.465659102</d>
<d>5.660697096</d>
<d>6.128833952</d>
<d>5.700896118</d>
<d>4.92343207</d>
<d>5.44900933</d>
<d>5.143280742</d>
<d>4.582818822</d>
<d>6.286300345</d>
<d>6.178343867</d>
<d>5.937772186</d>
<d>5.283295732</d>
<d>5.67004013</d>
<d>5.886767938</d>
<d>6.370572543</d>
<d>5.815600909</d>
<d>5.439179532</d>
<d>4.604841429</d>
<d>4.570326898</d>
<d>5.603116191</d>
<d>4.62676195</d>
<d>5.851762047</d>
<d>4.577717639</d>
<d>6.187587851</d>
<d>4.722942978</d>
<d>6.445636227</d>
<d>5.016043623</d>
<d>4.987079539</d>
<d>4.530808192</d>
<d>5.489906266</d>
<d>4.792088652</d>
<d>5.525305561</d>
<d>6.448571122</d>
<d>5.83964116</d>
<d>5.538482259</d>
<d>5.856918477</d>
<d>5.219014764</d>
<d>6.366653689</d>
<d>5.328536995</d>
<d>5.984481252</d>
<d>6.013031882</d>
<d>6.408770113</d>
<d>4.9539303</d>
<d>4.972129535</d>
<d>5.706818848</d>
<d>5.090560502</d>
<d>4.817343578</d>
<d>5.553931814</d>
<d>5.586995479</d>
<d>6.305255643</d>
<d>6.338321146</d>
<d>5.07463066</d>
<d>6.370361603</d>
<d>5.74395756</d>
<d>5.829854743</d>
<d>5.426082152</d>
<d>5.975472638</d>
<d>5.539436406</d>
<d>5.227593779</d>
<d>4.621155466</d>
<d>4.790490309</d>
<d>5.827974512</d>
<d>4.960333594</d>
<d>5.85887586</d>
<d>6.442470836</d>
<d>5.928735563</d>
<d>4.534618655</d>
<d>4.912464812</d>
<d>5.73957372</d>
<d>4.776153683</d>
<d>5.027975903</d>
<d>6.173996992</d>
<d>5.247107671</d>
<d>6.267094075</d>
<d>5.553565588</d>
<d>5.99029334</d>
<d>5.093549189</d>
<d>6.169239795</d>
<d>4.526683353</d>
<d>4.979865788</d>
<d>5.684560606</d>
<d>6.492369926</d>
<d>5.987693999</d>
<d>5.565419136</d>
<d>6.40399112</d>
<d>6.019444116</d>
<d>5.38331535</d>
<d>5.962706332</d>
<d>6.161545347</d>
<d>4.95951081</d>
<d>5.778321386</d>
<d>5.316986395</d>
<d>4.546042253</d>
<d>5.103617415</d>
<d>5.049286335</d>
<d>5.463752893</d>
<d>5.939811404</d>
<d>5.310453573</d>
<d>6.387197476</d>
<d>5.0890636</d>
<d>6.116272288</d>
<d>6.332791822</d>
<d>4.771142134</d>
<d>5.809548922</d>
<d>6.002618937</d>
<d>6.143230653</d>
<d>5.090901072</d>
<d>6.162079695</d>
<d>6.20733836</d>
<d>4.692690342</d>
<d>5.334506147</d>
<d>4.607526945</d>
<d>4.944778736</d>
<d>5.094615562</d>
<d>4.642083713</d>
<d>6.326798578</d>
<d>5.911485739</d>
<d>5.124101234</d>
<d>6.220869576</d>
<d>5.582757413</d>
<d>4.683203212</d>
<d>6.161401496</d>
<d>5.546743411</d>
<d>4.989688925</d>
<d>6.157581863</d>
<d>6.034128338</d>
<d>5.59706341</d>
<d>5.182400762</d>
<d>4.78053411</d>
<d>6.048147498</d>
<d>5.279235408</d>
<d>5.793594784</d>
<d>5.317025533</d>
<d>4.930412348</d>
<d>6.002322695</d>
<d>5.233840556</d>
<d>5.970752103</d>
<d>5.179055101</d>
<d>5.92280426</d>
<d>6.283288158</d>
<d>4.595649442</d>
<d>6.29582294</d>
<d>5.699746359</d>
<d>5.631642661</d>
<d>4.785226739</d>
<d>6.134458208</d>
<d>4.93671756</d>
<d>5.925810558</d>
<d>5.808142717</d>
<d>6.192275799</d>
<d>4.763279915</d>
<d>4.594695588</d>
<d>4.928022966</d>
<d>4.536204723</d>
<d>6.489236541</d>
<d>5.214723515</d>
<d>6.22229204</d>
<d>5.552777213</d>
<d>6.247661359</d>
<d>4.704857209</d>
<d>4.825301096</d>
<d>5.704716682</d>
<d>6.445186124</d>
<d>4.595577709</d>
<d>5.591329475</d>
<d>4.869429102</d>
<d>5.08586004</d>
<d>4.654107597</d>
<d>6.413366405</d>
<d>6.094115287</d>
<d>4.728889962</d>
<d>4.850972336</d>
<d>5.821970593</d>
<d>5.995847923</d>
<d>5.645106952</d>
<d>5.018030603</d>
<d>4.501209382</d>
<d>4.799992531</d>
<d>5.149296749</d>
<d>5.66602755</d>
<d>6.479220285</d>
<d>4.845076131</d>
<d>5.915335033</d>
<d>4.928013227</d>
<d>6.440559305</d>
<d>5.155588463</d>
<d>5.456949816</d>
<d>5.126793337</d>
<d>4.660013694</d>
<d>6.417145679</d>
<d>5.210363442</d>
<d>5.402013009</d>
<d>5.592415315</d>
<d>5.533464418</d>
<d>4.576706311</d>
<d>6.255332765</d>
<d>6.045740107</d>
<d>5.636241064</d>
<d>5.946145373</d>
<d>5.516361861</d>
<d>4.612487893</d>
<d>5.666249318</d>
<d>4.657209776</d>
<d>4.879864464</d>
<d>5.571558536</d>
<d>4.699033376</d>
<d>5.629435732</d>
<d>5.110979365</d>
<d>5.351001711</d>
<d>4.610458636</d>
<d>5.736916081</d>
<d>4.675488843</d>
<d>6.398580169</d>
<d>4.87849048</d>
<d>6.077655694</d>
<d>5.079219974</d>
<d>5.442019784</d>
<d>6.498950038</d>
<d>4.610980096</d>
<d>4.858177804</d>
<d>4.586869324</d>
<d>6.066288985</d>
<d>5.446774112</d>
<d>5.191211541</d>
<d>5.311201031</d>
<d>5.727977107</d>
<d>4.885822961</d>
<d>6.089951822</d>
<d>5.839495284</d>
<d>6.105838207</d>
<d>5.859680339</d>
<d>6.343265064</d>
<d>5.628845843</d>
<d>5.317677659</d>
<d>5.334945072</d>
<d>4.918202837</d>
<d>6.092715435</d>
<d>4.980939538</d>
<d>6.229855888</d>
<d>5.837332229</d>
<d>4.86247805</d>
<d>4.819583797</d>
<d>5.555121455</d>
<d>5.27046432</d>
<d>5.652737971</d>
<d>5.962270827</d>
<d>5.88444438</d>
<d>5.550911542</d>
<d>5.924906673</d>
<d>4.93109263</d>
<d>4.683370674</d>
<d>5.806046728</d>
<d>5.607574051</d>
<d>6.407412101</d>
<d>5.61689547</d>
<d>5.953061874</d>
<d>5.443318977</d>
<d>5.258324868</d>
<d>6.431181658</d>
<d>5.057715649</d>
<d>6.248038697</d>
<d>6.410698737</d>
<d>5.894946953</d>
<d>4.696679288</d>
<d>4.50993717</d>
<d>4.515599646</d>
<d>6.126781507</d>
<d>5.543837714</d>
<d>6.452840873</d>
<d>5.772872418</d>
<d>5.802666322</d>
<d>6.408598627</d>
<d>5.269772041</d>
<d>4.853868646</d>
<d>6.266630229</d>
<d>4.998129294</d>
<d>5.0504549</d>
<d>4.940231172</d>
<d>6.432992465</d>
<d>4.841653239</d>
<d>6.299118076</d>
<d>6.061275032</d>
<d>6.204741348</d>
<d>5.187436012</d>
<d>6.231725221</d>
<d>6.196053585</d>
<d>5.86490828</d>
<d>5.686868717</d>
<d>5.160325778</d>
<d>5.982118322</d>
<d>4.806695388</d>
<d>4.978057794</d>
<d>5.928245087</d>
<d>5.717652548</d>
<d>5.488326364</d>
<d>5.27587901</d>
<d>4.830410077</d>
<d>5.880024941</d>
<d>6.147601452</d>
<d>6.016512904</d>
<d>4.595888361</d>
<d>4.642246595</d>
<d>5.926460992</d>
<d>6.196052752</d>
<d>5.856734399</d>
<d>5.411185653</d>
<d>5.676949295</d>
<d>5.741683954</d>
<d>5.5007625</d>
<d>5.411167401</d>
<d>5.497699219</d>
<d>5.326687865</d>
<d>5.82417193</d>
<d>5.615179858</d>
<d>5.104037892</d>
<d>5.178789033</d>
<d>5.309743767</d>
<d>5.416189128</d>
<d>4.816081744</d>
<d>5.161463477</d>
<d>5.155459433</d>
<d>6.189747091</d>
<d>5.928830411</d>
<d>5.466117995</d>
<d>5.167481349</d>
<d>6.256983384</d>
<d>6.256469808</d>
<d>5.212635528</d>
<d>5.716177046</d>
<d>4.997418601</d>
<d>6.070735032</d>
<d>5.111406813</d>
<d>5.548960091</d>
<d>4.75971165</d>
<d>5.550767874</d>
<d>4.513940964</d>
<d>5.836856776</d>
<d>6.193049971</d>
<d>6.366423833</d>
<d>5.071115853</d>
<d>5.851441742</d>
<d>5.431998346</d>
<d>6.07841144</d>
<d>4.501403509</d>
<d>4.706520646</d>
<d>5.161919122</d>
<d>5.6303488</d>
<d>6.07822106</d>
<d>4.631684908</d>
<d>6.200134322</d>
<d>5.941834158</d>
<d>5.175923953</d>
<d>5.171795005</d>
<d>4.621395183</d>
<d>5.144746461</d>
<d>4.977647801</d>
<d>5.901705599</d>
<d>5.073344571</d>
<d>5.739682178</d>
<d>5.841327447</d>
<d>6.099511982</d>
<d>5.729834058</d>
<d>5.122932821</d>
<d>4.745890398</d>
<d>5.812248622</d>
<d>4.516371383</d>
<d>5.70601007</d>
<d>5.147554832</d>
<d>4.55865739</d>
<d>4.996880072</d>
<d>4.781842045</d>
<d>4.893373105</d>
<d>6.239920693</d>
<d>4.683781944</d>
<d>5.845129863</d>
<d>5.443043209</d>
<d>4.550008228</d>
<d>6.053459362</d>
<d>5.447045267</d>
<d>5.854225396</d>
<d>4.770271572</d>
<d>5.259758103</d>
<d>4.506980103</d>
<d>5.474246195</d>
<d>4.994537946</d>
<d>5.779823713</d>
<d>6.071341689</d>
<d>5.069382378</d>
<d>4.826990677</d>
<d>6.298097481</d>
<d>6.038012439</d>
<d>5.742821954</d>
<d>4.677060055</d>
<d>5.829457354</d>
<d>5.523324558</d>
<d>4.993136589</d>
<d>6.017095457</d>
<d>6.317137409</d>
<d>5.029144045</d>
<d>5.646318302</d>
<d>4.914693976</d>
<d>5.63219059</d>
<d>6.166433768</d>
<d>4.968685991</d>
<d>5.88776854</d>
<d>6.197488675</d>
<d>5.958930732</d>
<d>5.081375302</d>
<d>4.609492775</d>
<d>6.251196333</d>
<d>5.421838419</d>
<d>6.297763548</d>
<d>4.758459597</d>
<d>5.254355315</d>
<d>5.446202242</d>
<d>5.574877455</d>
<d>5.294138215</d>
<d>6.154067852</d>
<d>5.5230246</d>
<d>6.04725431</d>
<d>4.507233982</d>
<d>5.967595366</d>
<d>6.176746055</d>
<d>6.24565744</d>
<d>5.02437652</d>
<d>4.824456096</d>
<d>5.405976561</d>
<d>4.51845996</d>
<d>6.21792277</d>
<d>4.642175316</d>
<d>5.226427933</d>
<d>5.171380453</d>
<d>4.550080981</d>
<d>4.767965258</d>
<d>4.609447922</d>
<d>5.810695303</d>
<d>5.261229205</d>
<d>4.954679134</d>
<d>6.32643114</d>
<d>6.302879638</d>
<d>5.003578914</d>
<d>4.571170436</d>
<d>5.88750725</d>
<d>5.631353398</d>
<d>5.944377198</d>
<d>6.151119866</d>
<d>4.570855812</d>
<d>4.79758323</d>
<d>5.487551331</d>
<d>5.664273435</d>
<d>5.252054357</d>
<d>4.848495813</d>
<d>5.500031134</d>
<d>6.228416715</d>
<d>5.7032149</d>
<d>5.696190018</d>
<d>4.704816223</d>
<d>6.422781279</d>
<d>4.557599853</d>
<d>4.610813133</d>
<d>5.218437004</d>
<d>4.692470463</d>
<d>4.796515506</d>
<d marker="22" position="start">5.001440404</d>
<d>5.568865148</d>
<d>6.247276156</d>
<d>4.921777378</d>
<d>5.198286366</d>
<d>4.793058218</d>
<d>5.047409705</d>
<d>5.033368445</d>
<d>5.134153219</d>
<d>4.94141331</d>
<d>6.042768827</d>
<d>6.455302374</d>
<d>5.947267173</d>
<d>4.533555768</d>
<d>6.47384679</d>
<d>6.071981288</d>
<d>5.350880342</d>
<d>5.418489889</d>
<d>5.4118492</d>
<d>6.193648556</d>
<d>6.245125056</d>
<d>5.795826472</d>
<d>5.234432153</d>
<d>5.780826269</d>
<d>5.917445898</d>
<d>5.658821431</d>
<d>5.707923495</d>
<d>5.939294513</d>
<d>6.234064098</d>
<d>5.166156042</d>
<d>5.241138424</d>
<d>5.64311443</d>
<d>5.449468476</d>
<d>5.65255214</d>
<d>6.137220286</d>
<d>6.06307955</d>
<d>5.926911415</d>
<d>4.619659455</d>
<d>6.098160461</d>
<d>6.456543218</d>
<d>6.133602191</d>
<d>4.529767452</d>
<d>5.268802524</d>
<d>5.332239135</d>
<d>6.343194785</d>
<d>4.938641765</d>
<d>4.823428194</d>
<d>5.310949073</d>
<d>5.253502098</d>
<d>5.066755083</d>
<d>5.02432027</d>
<d>6.272028853</d>
<d>6.018021479</d>
<d>5.411598778</d>
<d>5.734255011</d>
<d>4.541120857</d>
<d>4.770594668</d>
<d>6.432892473</d>
<d>5.859627253</d>
<d>5.821907604</d>
<d>5.377235886</d>
<d>6.256293676</d>
<d>5.482842369</d>
<d>5.417557137</d>
<d>6.251300731</d>
<d>6.447133304</d>
<d>5.718833993</d>
<d>5.091299649</d>
<d>6.07651011</d>
<d>5.828446456</d>
<d>5.595300404</d>
<d>5.867921329</d>
<d>5.278021955</d>
<d>5.876272753</d>
<d>5.297360681</d>
<d>5.801903508</d>
<d>4.917001215</d>
<d>6.291590896</d>
<d>6.136846872</d>
<d>6.395784307</d>
<d>5.42033338</d>
<d>5.516778097</d>
<d>4.700340841</d>
<d>6.470051306</d>
<d>4.796527891</d>
<d>5.123072369</d>
<d>6.11639229</d>
<d>5.511335318</d>
<d>5.246812836</d>
<d>5.371512654</d>
<d>6.048425007</d>
<d>6.004648001</d>
<d>6.070668694</d>
<d>6.459895664</d>
<d>5.057973305</d>
<d>4.778479635</d>
<d>5.871148611</d>
<d>4.973159156</d>
<d>5.818724301</d>
<d>6.114010182</d>
<d>6.116650584</d>
<d>6.048039075</d>
<d>6.21440924</d>
<d>6.135796208</d>
<d>6.077214537</d>
<d>4.746625694</d>
<d>5.033598956</d>
<d>5.398004415</d>
<d>6.224014293</d>
<d>6.467021339</d>
<d>5.039227614</d>
<d>4.67705202</d>
<d>5.750543364</d>
<d>4.509029957</d>
<d>5.605860581</d>
<d>5.579423485</d>
<d>5.940696795</d>
<d>6.00587702</d>
<d>6.140866944</d>
<d>5.876908402</d>
<d>5.540070763</d>
<d>5.457614063</d>
<d>5.650368311</d>
<d>4.689836819</d>
<d>5.31005665</d>
<d>6.489013522</d>
<d>5.024458058</d>
<d>5.625245493</d>
<d>5.958636506</d>
<d>6.191784302</d>
<d>5.93628057</d>
<d>4.634129523</d>
<d>6.208702491</d>
<d>6.089818352</d>
<d>4.528686095</d>
<d>4.648793861</d>
<d>6.227160593</d>
<d>5.366838977</d>
<d>6.148245603</d>
<d>6.342717005</d>
<d>6.246357274</d>
<d>5.897444064</d>
<d>5.220811376</d>
<d>6.011179714</d>
<d>6.218627477</d>
<d>5.563108825</d>
<d>5.714420408</d>
<d>5.745478534</d>
<d>4.767332079</d>
<d>6.391006616</d>
<d>6.498626875</d>
<d>5.437196446</d>
<d>5.128949433</d>
<d>5.835030897</d>
<d>6.261096164</d>
<d>4.648080882</d>
<d>5.224997896</d>
<d>5.126988675</d>
<d>4.57843411</d>
<d>5.224045117</d>
<d>5.769748575</d>
<d>5.123412414</d>
<d>5.455975407</d>
<d>5.557126576</d>
<d>4.962761306</d>
<d>5.70144351</d>
<d>6.299361459</d>
<d>6.451542908</d>
<d>5.025551214</d>
<d>6.361129583</d>
<d>5.076283766</d>
<d>4.605519226</d>
<d>5.226969226</d>
<d>6.487424468</d>
<d>5.4183498</d>
<d>6.036044219</d>
<d>6.412929848</d>
<d>5.806694405</d>
<d>5.968402795</d>
<d>6.106506612</d>
<d>6.424090995</d>
<d>5.420312284</d>
<d>5.30959575</d>
<d>5.962518281</d>
<d>6.314690715</d>
<d>5.000167643</d>
<d>5.069076584</d>
<d>5.823784429</d>
<d>5.80953501</d>
<d>5.865983632</d>
<d>6.247904359</d>
<d>5.091366576</d>
<d>4.733800579</d>
<d>5.078139475</d>
<d>4.830436309</d>
<d>6.137641876</d>
<d>6.203519495</d>
<d>5.187614732</d>
<d>5.986932666</d>
<d>6.088367895</d>
<d>6.283750956</d>
<d>5.14079509</d>
<d>6.171233655</d>
<d>6.108375124</d>
<d>4.774748686</d>
<d>5.229503127</d>
<d>5.372866754</d>
<d>5.347049037</d>
<d>5.791250244</d>
<d>6.291298584</d>
<d>5.266049753</d>
<d>6.297275385</d>
<d>5.96420963</d>
<d>4.925430013</d>
<d>5.070809307</d>
<d>4.840854351</d>
<d>6.453233019</d>
<d>5.624133231</d>
<d>5.035113814</d>
<d>6.27541886</d>
<d>5.311273914</d>
<d>6.443765868</d>
<d>4.647242988</d>
<d marker="22" position="stop">5.003233019</d>
<d>4.527547625</d>
<d>5.467878728</d>
<d>6.459639192</d>
<d>4.539161639</d>
<d>5.529112357</d>
<d>5.835111205</d>
<d>5.049797965</d>
<d>6.488464053</d>
<d>5.628120073</d>
<d>6.18988856</d>
<d>5.318199317</d>
<d>6.458143224</d>
<d>5.847255093</d>
<d>6.314920288</d>
<d>5.254801692</d>
<d>5.830066771</d>
<d>5.508413118</d>
<d>4.547885635</d>
<d>5.20747448</d>
<d>5.029525257</d>
<d>5.390203735</d>
<d>5.6135381</d>
<d>4.980334863</d>
<d>6.291341429</d>
<d>5.686832832</d>
<d>4.807894775</d>
<d>4.757243151</d>
<d>5.307641222</d>
<d>4.767097335</d>
<d>6.085577347</d>
<d>4.877780118</d>
<d>5.101193965</d>
<d>5.248582085</d>
<d>4.747310827</d>
<d>5.762285349</d>
<d>5.827071327</d>
<d>6.090156309</d>
<d>5.847765892</d>
<d>5.33147477</d>
<d>4.836371982</d>
<d>6.431886166</d>
<d>5.976690621</d>
<d>5.501243857</d>
<d>6.138571289</d>
<d>5.331283645</d>
<d>4.959327283</d>
<d>5.97589997</d>
<d>5.736255978</d>
<d>6.192615771</d>
<d>6.10213731</d>
<d>5.513178621</d>
<d>5.349889665</d>
</sensor>
</investigation>
</patient>
</GIML>
<?xml version='1.1' encoding='UTF-8'?>
<!DOCTYPE GIML SYSTEM "http://www.xml.org/xml/schema/2dd8e1e2/giml.dtd">
<GIML>
<head>
<time type="creation">
<year>2001</year>
<month>07</month>
<date>03</date>
<hour>13</hour>
<minute>29</minute>
<second>34</second>
</time>
</head>
<patient id="1543">
<name>
<surname>Bjarnason</surname>
<given>Thor</given>
</name>
<time type="dob">
<year>1979</year>
<month>08</month>
<date>19</date>
</time>
<gender>M</gender>
<mass>63.8</mass>
<height>175</height>
<investigation type="1">
<comment>An Ambulatory Stomach PH Study</comment>
<time type="begin">
<hour>0</hour>
</time>
<sensor num="1" type="1" organ="4">
<comment>Sanhill Scientific Model #456-HL</comment>
<interval>620</interval>
<d>4.797527246</d>
<d>4.937734629</d>
<d>5.914450127</d>
<d>6.237353115</d>
<d>5.467594508</d>
<d>5.668320138</d>
<d>4.994726231</d>
<d>5.628969478</d>
<d>4.531899024</d>
<d>6.202969758</d>
<d>5.788652168</d>
<d>4.775597166</d>
<d>5.562424511</d>
<d>4.99377791</d>
<d>6.315507657</d>
<d>5.023350766</d>
<d>4.750525623</d>
<d>5.334797572</d>
<d>5.469609727</d>
<d>5.459781528</d>
<d>4.937044999</d>
<d>5.141592712</d>
<d>6.004678194</d>
<d>6.367194779</d>
<d>4.642579611</d>
<d>5.197010943</d>
<d>6.267123177</d>
<d>5.839378207</d>
<d>4.956020674</d>
<d>5.501688973</d>
<d>4.510058378</d>
<d>5.705984069</d>
<d>4.892193149</d>
<d>4.651574362</d>
<d>5.534461413</d>
<d>6.36819493</d>
<d>6.465059585</d>
<d>5.772833778</d>
<d>5.423187438</d>
<d>5.546479811</d>
<d>6.400878582</d>
<d>5.45120928</d>
<d>4.748997218</d>
<d>6.32432951</d>
<d>5.662772235</d>
<d>4.508769782</d>
<d>5.050679156</d>
<d>5.14264629</d>
<d>6.351872037</d>
<d>6.157931028</d>
<d>5.463275497</d>
<d>5.251308474</d>
<d>5.523178631</d>
<d>5.559990391</d>
<d>5.088287656</d>
<d>6.495725205</d>
<d>4.939891484</d>
<d>5.096914163</d>
<d>5.216652744</d>
<d>5.169251626</d>
<d>5.642869121</d>
<d>5.040291926</d>
<d>5.129662913</d>
<d>4.842121852</d>
<d>4.901357882</d>
<d>4.658409268</d>
<d>4.660075132</d>
<d>5.020526825</d>
<d>5.016604954</d>
<d>6.499905723</d>
<d>5.996762892</d>
<d>4.631021108</d>
<d>5.680951463</d>
<d>5.046976628</d>
<d>4.78011548</d>
<d>5.936778875</d>
<d>5.527982424</d>
<d>4.738043846</d>
<d>4.751262269</d>
<d>4.569399564</d>
</sensor>
</investigation>
</patient>
</GIML>