--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/allergy.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://indivo.org/vocab/xml/documents#" xmlns:indivo="http://indivo.org/vocab/xml/documents#"
+elementFormDefault="qualified">
+
+ <include schemaLocation="codes.xsd" />
+
+ <element name="Allergy">
+ <complexType>
+ <sequence>
+ <element name="dateDiagnosed" type="dateTime" minOccurs="1" maxOccurs="1" />
+ <element name="diagnosedBy" type="string" minOccurs="0" maxOccurs="1" />
+ <element name="allergen">
+ <complexType>
+ <sequence>
+ <element name="type" type="indivo:CodedValue" />
+ <element name="name" type="indivo:CodedValue" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="reaction" minOccurs="0" maxOccurs="1" type="string" />
+ <element name="specifics" minOccurs="0" maxOccurs="1" type="string" />
+ </sequence>
+ </complexType>
+ </element>
+</schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/asthmaactionplan.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://indivo.org/vocab/xml/documents#"
+ xmlns:indivo="http://indivo.org/vocab/xml/documents#"
+ elementFormDefault="qualified">
+
+ <element name="AsthmaActionPlan">
+ <complexType>
+ <sequence>
+ <element name="startDate" type="dateTime" minOccurs="0" maxOccurs="1" />
+ <element name="endDate" type="dateTime" minOccurs="0" maxOccurs="1" />
+ <element name="notes" type="string" minOccurs="1" maxOccurs="1" />
+ <!-- the actual asthma plan is in an attached document -->
+ </sequence>
+ </complexType>
+ </element>
+</schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/codes.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://indivo.org/vocab/xml/documents#" xmlns:indivo="http://indivo.org/vocab/xml/documents#">
+
+ <xs:complexType name="CodedValue">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="type" type="xs:anyURI" use="optional" />
+ <xs:attribute name="value" type="xs:string" use="optional" />
+ <xs:attribute name="abbrev" type="xs:string" use="optional" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+</xs:schema>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/contact.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indivo.org/vocab/xml/documents#">
+
+ <xs:element name="Contact">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" minOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="fullName" type="xs:string" minOccurs="1" maxOccurs="1" />
+ <xs:element name="givenName" type="xs:string" minOccurs="1" maxOccurs="unbounded" />
+ <xs:element name="familyName" type="xs:string" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="email" minOccurs="1" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="type" type="xs:string" />
+ </xs:extension>
+ <!-- for now no restriction until we figure out a clean way to combine it with above
+ <xs:restriction base="xs:string">
+ <xs:pattern value="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"/>
+ </xs:restriction>-->
+
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="address" minOccurs="1" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="streetAddress" type="xs:string" minOccurs="1" />
+ <xs:element name="postalCode" type="xs:string" minOccurs="1" />
+ <xs:element name="locality" type="xs:string" minOccurs="1" />
+ <xs:element name="region" type="xs:string" minOccurs="1" />
+ <xs:element name="country" type="xs:string" minOccurs="1" />
+ <xs:element name="timeZone" type="xs:string" minOccurs="0" />
+ </xs:sequence>
+ <xs:attribute name="type" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="location" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="latitude" type="xs:string" />
+ <xs:element name="longitude" type="xs:string" />
+ </xs:sequence>
+ <xs:attribute name="type" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="phoneNumber" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="type" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="instantMessengerName" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="protocol" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="thumbnail" type="xs:string" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/demographics.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://indivo.org/vocab/xml/documents#">
+ <xs:element name="Demographics">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="dateOfBirth" type="xs:date" minOccurs="0" />
+ <xs:element name="dateOfDeath" type="xs:date" minOccurs="0" />
+ <xs:element name="gender" type="xs:string" minOccurs="0" />
+ <xs:element name="ethnicity" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="language" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="maritalStatus" type="xs:string" minOccurs="0" />
+ <xs:element name="employmentStatus" type="xs:string" minOccurs="0" />
+ <xs:element name="employmentIndustry" type="xs:string" minOccurs="0" />
+ <xs:element name="occupation" type="xs:string" minOccurs="0" />
+ <xs:element name="religion" type="xs:string" minOccurs="0" />
+ <xs:element name="income" type="xs:string" minOccurs="0" />
+ <xs:element name="highestEducation" type="xs:string" minOccurs="0" />
+ <xs:element name="organDonor" type="xs:boolean" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/equipment.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://indivo.org/vocab/xml/documents#"
+ xmlns:indivo="http://indivo.org/vocab/xml/documents#"
+ elementFormDefault="qualified">
+
+ <element name="Equipment">
+ <complexType>
+ <sequence>
+ <element name="name" type="string" minOccurs="1" maxOccurs="1" />
+ <element name="vendor" type="string" minOccurs="0" maxOccurs="1" />
+ <element name="description" type="string" minOccurs="0" maxOccurs="1" />
+ </sequence>
+ </complexType>
+ </element>
+</schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/hospital-api-metadata.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="Document">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="created" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:attribute name="at" type="xs:dateTime" use="required" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="suppressed" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:attribute name="at" type="xs:dateTime" use="required" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:string" use="required" />
+ <xs:attribute name="type" type="xs:string" use="required" />
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/immunization.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://indivo.org/vocab/xml/documents#"
+ xmlns:indivo="http://indivo.org/vocab/xml/documents#" elementFormDefault="qualified">
+
+ <include schemaLocation="codes.xsd" />
+
+ <element name="Immunization">
+ <complexType>
+ <sequence>
+ <element name="dateAdministered" type="dateTime" minOccurs="1" maxOccurs="1" />
+ <element name="administeredBy" type="string" minOccurs="0" maxOccurs="1" />
+ <element name="vaccine">
+ <complexType>
+ <sequence>
+ <element name="type" type="indivo:CodedValue" minOccurs="1" maxOccurs="1" />
+ <element name="manufacturer" type="string" minOccurs="0" maxOccurs="1" />
+ <element name="lot" type="string" minOccurs="0" maxOccurs="1" />
+ <element name="expiration" type="date" minOccurs="0" maxOccurs="1" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="sequence" type="integer" minOccurs="1" maxOccurs="1" />
+ <element name="anatomicSurface" type="indivo:CodedValue" minOccurs="0" maxOccurs="1" />
+ <element name="adverseEvent" type="string" minOccurs="0" maxOccurs="1" />
+ </sequence>
+ </complexType>
+ </element>
+</schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/lab.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://indivo.org/vocab/xml/documents#"
+ xmlns:indivo="http://indivo.org/vocab/xml/documents#"
+ elementFormDefault="qualified">
+
+ <xs:include schemaLocation="codes.xsd" />
+ <xs:include schemaLocation="provider.xsd" />
+ <xs:include schemaLocation="values.xsd" />
+
+ <!-- a type to represent a single lab test -->
+ <xs:complexType name="LabTest">
+ <xs:sequence>
+ <xs:element name="dateMeasured" type="xs:dateTime" minOccurs="1" maxOccurs="1" />
+
+ <!-- e.g. "hematocrit" -->
+ <xs:element name="name" type="indivo:CodedValue" minOccurs="1" maxOccurs="1" />
+
+ <xs:element name="result" type="indivo:ResultInRange" minOccurs="1" maxOccurs="1" />
+
+ <!-- e.g. "pending" -->
+ <xs:element name="status" type="xs:string" minOccurs="1" maxOccurs="1" />
+
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- a type to represent a panel of tests -->
+ <xs:complexType name="LabPanel">
+ <xs:sequence>
+ <!-- e.g. CBC -->
+ <xs:element name="name" type="indivo:CodedValue" minOccurs="1" maxOccurs="1" />
+
+ <!-- for now, no subpanels, but we could do it if we wanted to with a self-reference -->
+
+ <!-- a bunch of lab tests -->
+ <xs:element name="labTest" type="indivo:LabTest" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="Lab">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="dateMeasured" type="xs:dateTime" minOccurs="1" maxOccurs="1" />
+
+ <!-- e.g. "hematology" -->
+ <xs:element name="labType" type="xs:string" minOccurs="1" maxOccurs="1" />
+
+ <!-- the lab provider -->
+ <xs:element name="laboratory" type="indivo:LabProvider" minOccurs="0" maxOccurs="1" />
+
+ <!-- a bunch of panels -->
+ <xs:element name="labPanel" type="indivo:LabPanel" minOccurs="0" maxOccurs="unbounded" />
+
+ <!-- a bunch of additional tests not in any panel -->
+ <xs:element name="labTest" type="indivo:LabTest" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="comments" type="xs:string" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/medication.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://indivo.org/vocab/xml/documents#"
+ xmlns:indivo="http://indivo.org/vocab/xml/documents#"
+ elementFormDefault="qualified">
+
+ <xs:include schemaLocation="codes.xsd" />
+ <xs:include schemaLocation="provider.xsd" />
+ <xs:include schemaLocation="values.xsd" />
+
+ <!-- a medication, how often it's taken, etc.. -->
+ <xs:complexType name="Medication">
+ <xs:sequence>
+ <xs:element name="dateStarted" type="xs:date" minOccurs="0" maxOccurs="1" />
+ <xs:element name="dateStopped" type="xs:date" minOccurs="0" maxOccurs="1" />
+ <xs:element name="name" type="indivo:CodedValue" minOccurs="1" maxOccurs="1" />
+ <xs:element name="brandName" type="indivo:CodedValue" minOccurs="0" maxOccurs="1" />
+ <xs:element name="dose" type="indivo:ValueAndUnit" minOccurs="1" maxOccurs="1" />
+
+ <!-- this is typically contained in the code, but maybe not -->
+ <xs:element name="strength" type="indivo:ValueAndUnit" minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="frequency" type="indivo:CodedValue" minOccurs="1" maxOccurs="1" />
+
+ <!-- other details on this drug -->
+ <xs:element name="details" type="xs:string" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="Medication" type="indivo:Medication" />
+
+ <!-- a prescription for a medication -->
+ <xs:complexType name="Prescription">
+ <xs:sequence>
+ <xs:element name="medication" type="indivo:Medication" minOccurs="1" maxOccurs="1" />
+ <xs:element name="prescribedBy" type="indivo:Provider" minOccurs="1" maxOccurs="1" />
+ <xs:element name="prescribedOn" type="xs:date" minOccurs="0" maxOccurs="1" />
+ <xs:element name="dispenseAsWritten" type="xs:boolean" minOccurs="1" maxOccurs="1" />
+ <xs:element name="duration" type="xs:duration" minOccurs="0" maxOccurs="1" />
+ <xs:element name="refillInfo" type="xs:string" minOccurs="0" maxOccurs="1" />
+ <xs:element name="instructions" type="xs:string" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="Prescription" type="indivo:Prescription" />
+</xs:schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/metadata.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<!-- didn't place this in the Indivo namespace because it's not medical payload -->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="Document">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="created" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:attribute name="at" type="xs:dateTime" use="required" />
+ <xs:attribute name="by" type="xs:string" use="required" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="suppressed" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:attribute name="at" type="xs:dateTime" use="required" />
+ <xs:attribute name="by" type="xs:string" use="required" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="replacedBy" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:string" use="optional" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="replaces" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:string" use="optional" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="original" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:string" use="required" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="latest" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:string" use="required" />
+ <xs:attribute name="createdAt" type="xs:dateTime" use="required" />
+ <xs:attribute name="createdBy" type="xs:string" use="required" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="label" type="xs:string" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:string" use="required" />
+ <xs:attribute name="size" type="xs:string" use="required" />
+ <xs:attribute name="digest" type="xs:string" use="required" />
+ <xs:attribute name="type" type="xs:string" use="required" />
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/problem.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://indivo.org/vocab/xml/documents#" xmlns:indivo="http://indivo.org/vocab/xml/documents#"
+ elementFormDefault="qualified">
+
+ <include schemaLocation="codes.xsd" />
+
+ <element name="Problem">
+ <complexType>
+ <sequence>
+ <element name="dateOnset" type="dateTime" minOccurs="1" maxOccurs="1" />
+ <element name="dateResolution" type="dateTime" minOccurs="0" maxOccurs="1" />
+ <element name="name" type="indivo:CodedValue" minOccurs="1" maxOccurs="1" />
+ <element name="comments" type="string" minOccurs="0" maxOccurs="1" />
+ <element name="diagnosedBy" type="string" minOccurs="0" maxOccurs="1" />
+ </sequence>
+ </complexType>
+ </element>
+</schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/procedure.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://indivo.org/vocab/xml/documents#"
+ xmlns:indivo="http://indivo.org/vocab/xml/documents#" elementFormDefault="qualified">
+
+ <include schemaLocation="codes.xsd" />
+
+ <include schemaLocation="provider.xsd" />
+
+ <element name="Procedure">
+ <complexType>
+ <sequence>
+ <element name="datePerformed" type="dateTime" minOccurs="1" maxOccurs="1" />
+ <element name="name" type="indivo:CodedValue" minOccurs="1" maxOccurs="1" />
+ <element name="Provider" type="indivo:Provider" minOccurs="0" />
+ <element name="location" type="string" minOccurs="0" maxOccurs="1" />
+ <element name="comments" type="string" minOccurs="0" maxOccurs="1" />
+ </sequence>
+ </complexType>
+ </element>
+</schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/provider.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://indivo.org/vocab/xml/documents#"
+ xmlns:indivo="http://indivo.org/vocab/xml/documents#"
+ elementFormDefault="qualified">
+ <complexType name="Provider">
+ <sequence>
+ <element name="name" type="string" minOccurs="1" maxOccurs="1" />
+ <element name="institution" type="string" minOccurs="1" maxOccurs="1" />
+ </sequence>
+ </complexType>
+
+ <complexType name="LabProvider">
+ <sequence>
+ <element name="name" type="string" minOccurs="1" maxOccurs="1" />
+ <element name="address" type="string" minOccurs="1" maxOccurs="1" />
+ </sequence>
+ </complexType>
+
+</schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/schoolform.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://indivo.org/vocab/xml/documents#"
+ xmlns:indivo="http://indivo.org/vocab/xml/documents#"
+ elementFormDefault="qualified">
+
+ <element name="SchoolForm">
+ <complexType>
+ <sequence>
+ <element name="date" type="dateTime" minOccurs="1" maxOccurs="1" />
+ <element name="notes" type="string" minOccurs="1" maxOccurs="1" />
+ <!-- the actual school form is in an attached document -->
+ </sequence>
+ </complexType>
+ </element>
+</schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/values.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://indivo.org/vocab/xml/documents#"
+ xmlns:indivo="http://indivo.org/vocab/xml/documents#" elementFormDefault="qualified">
+
+ <xs:complexType name="Range">
+ <xs:sequence>
+ <!-- a missing minimum means < max -->
+ <xs:element name="minimum" type="xs:double" minOccurs="0" maxOccurs="1" />
+
+ <!-- a missing maximum means > min -->
+ <xs:element name="maximum" type="xs:double" minOccurs="0" maxOccurs="1" />
+
+ <!-- technically this schema allows a range with neither min nor max, which doesn't mean much, but no big deal -->
+
+ <xs:element name="unit" type="indivo:CodedValue" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="ValueAndUnit">
+ <xs:sequence>
+ <xs:element name="value" type="xs:double" minOccurs="0" maxOccurs="1" />
+ <xs:element name="textValue" type="xs:double" minOccurs="0" maxOccurs="1" />
+ <xs:element name="unit" type="indivo:CodedValue" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="ResultInRange">
+ <xs:sequence>
+ <xs:element name="valueAndUnit" type="indivo:ValueAndUnit" minOccurs="1" maxOccurs="1" />
+
+ <xs:element name="normalRange" type="indivo:Range" minOccurs="0" maxOccurs="1" />
+
+ <!-- nontoxicrange as in, if it's outside the range, it's toxic -->
+ <xs:element name="nonToxicRange" type="indivo:Range" minOccurs="0" maxOccurs="1" />
+
+ <!-- HL7 defines flag types -->
+ <xs:element name="flag" type="indivo:CodedValue" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syntheticPatients/indivo-schemas/vitals.xsd Wed Jul 14 17:05:29 2010 -0400
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://indivo.org/vocab/xml/documents#" xmlns:indivo="http://indivo.org/vocab/xml/documents#"
+ elementFormDefault="qualified">
+
+ <xs:include schemaLocation="codes.xsd" />
+
+ <xs:element name="VitalSign">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="dateMeasured" type="xs:dateTime" minOccurs="1" maxOccurs="1" />
+ <xs:element name="name" type="indivo:CodedValue" minOccurs="1" maxOccurs="1" />
+ <xs:element name="value" type="xs:decimal" minOccurs="1" maxOccurs="1" />
+ <xs:element name="unit" type="indivo:CodedValue" minOccurs="1" maxOccurs="1" />
+
+ <xs:element name="site" type="xs:string" minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="position" type="xs:string" minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="comments" type="xs:string" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>