The MIT Standard for the Gastro Intestinal Markup Language

Authors:
Thorarin Bjarnason
Mark Sherwood
Jeremy Suurkivi

Abstract

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.

Table of Contents

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

1 Introduction

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.

2 XML Basics

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.

2.1 XML

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 &amp; 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".

2.2 DTD

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.

2.3 XML Schema

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.

3 GIML Structural Markup

3.1 Introduction

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.

3.2 File Format and main Block (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>

3.3 Storing dates and times (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>

3.3.1 Specifying a year (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.

3.3.2 Specifying a month (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.

3.3.3 Specifying a date (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.

3.3.4 Specifying an hour (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.

3.3.5 Specifying a minute (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.

3.3.6 Specifying a second (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.

3.4 The header block (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>

3.5 Specifying a name (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>

3.5.1 Specifying a surname (surname)

The field appearing between the <surname></surname> tagset is restricted to being a string. surname has no child elements or attributes.

3.5.2 Specifying a given name (given)

The field appearing between the <given></given> tagset is restricted to being a string. given has no child elements or attributes.

3.5.3 Specifying a middles name/initial (middle)

The field appearing between the <middle></middle> tagset is restricted to being a string. middle has no child elements or attributes.

3.5.4 Specifying a persons title (title)

The field appearing between the <title></title> tagset is restricted to being a string. title has no child elements or attributes.

3.5.5 Specifying a business name (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.

3.6 Specifying a gender (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.

3.7 Specifying a mass (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.

3.8 Specifying a height (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.

3.9 Specifying contact information (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>

3.9.1 Specifying an address (address)

The field appearing between the <address></address> tagset is restricted to being a string. address has no child elements or attributes.

3.9.2 Specifying a city (city)

The field appearing between the <city></city> tagset is restricted to being a string. city has no child elements or attributes.

3.9.3 Specifying a state (state)

The field appearing between the <state></state> tagset is restricted to being a string. state has no child elements or attributes.

3.9.4 Specifying a zip/postal code (zip)

The field appearing between the <zip></zip> tagset is restricted to being a string. zip has no child elements or attributes.

3.9.5 Specifying a country (country)

The field appearing between the <country></country> tagset is restricted to being a string. country has no child elements or attributes.

3.9.6 Specifying a telephone number (telephone)

The field appearing between the <telephone></telephone> tagset is restricted to being a string. telephone has no child elements or attributes.

3.9.7 Specifying a facsimile number (fax)

The field appearing between the <fax></fax> tagset is restricted to being a string. fax has no child elements or attributes.

3.9.6 Specifying an email address (email)

The field appearing between the <email></email> tagset is restricted to being a string. email has no child elements or attributes.

3.10 Specifying allergies (allergies)

The field appearing between the <allergies></allergies> tagset is restricted to being a string. allergies has no child elements or attributes.

3.11 The use of comments (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.

3.12 Specifying a hospital (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>

3.13 Specifying a referring doctor (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>

3.14 Specifying an interval (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.

3.15 Specifying an acquired (or computed) data point (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>

3.15.1 Constants for 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

3.16 Specifying a sensor (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>

3.16.1 Constants for 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.

3.16.2 Constants for 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

3.17 Specifying an investigation (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>

3.17.1 Constants for 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

3.18 Specifying a patient (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.

3.19 Overall structure summary

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.

4 GIML Reserved Characters and Definitions

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.

4.1 Reserved Characters

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 (>)
&apos;
&quot;
&amp;
&lt;
&gt;
can&apos;t
&quot;ouch&quot;
AT&amp;T
3 &lt; 12
18 &gt; 6
can't
"ouch"
AT&T
3 < 12
18 > 6

Table 4.1: GIML Entities Used to Replace Markup Indicators

The entities &apos; and &quote; 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 &#163; 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.

4.2 Applicable Units

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.

4.3 Definitions of Structures

The various structures used in GIML are listed below along with a brief explanation of each structure.

string:
A set of finite length sequences of characters.
CDATA:
Any String that does not contain characters that are GIML markup indicator, carriage-return, line-feed, or tab characters.
double:
64 bit floating point number of the form n x 2^d, where n is an integer whose absolute value is less than 2^53, and d is an integer between -1075 and 970.
NMTOKEN:
A set of strings that must be matched within an attribute.
integer (int):
The standard mathematical concept of integer number is used. The values can range from -2147483648 to 2147483648 inclusive.
nonNegativeInteger:
Derived from integer, but the minimum value is set to 0..
PCDATA:
Used only in the DTD. The above definitions, except CDATA, replace PCDATA in the XML Schema.
4.3.1 Selected Examples

Selected examples of the definitions in 4.3 are shown below.

double:
The letters "e" or "E" are used to denote powers to the base 10 and any value following it represents the 10's power. If the "e" is omitted, the power is assumed to be zero. So, 120 and 1.20e2 are identical.
Special values are positive and negative zero, positive and negative infinity and not-a-number. They are represented with 0, -0, INF, -INF and NaN, respectively.
Some other legal values are, -12.3574E17 and 6.2214e-4.
integer (int):
A "-" is needed to indicate a negative number, but if a "+" is omitted, it is assumed.
Some legal values are, -3,0,+6257, and 12226.
nonNegativeInteger:
Some legal values are, 0,+6257, and 12226.

4.4 File Naming Convention

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.

5 GIML DTD

<!--	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)>
<!-- ==================================================== -->

6 GIML XML Schema

<?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>

7 References

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.

8 Appendix

8.1 Extended Example

<?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>

8.2 Simple Example

<?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>