Indivo Document Metadata SchemaΒΆ

Schema:

<?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:complexType name="Principal">
    <xs:sequence>
      <xs:element name="fullname" type="xs:string" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <!-- e.g. "fhh@apps.indivo.org" -->
    <xs:attribute name="id" type="xs:string" use="required" />
    <!-- e.g. "userapp" or "account" or "adminapp" -->
    <xs:attribute name="type" type="xs:string" use="required" />
  </xs:complexType>

  <xs:complexType name="Relation">
    <xs:attribute name="type" type="xs:string" use="required" />
    <xs:attribute name="count" type="xs:integer" use="required" />
  </xs:complexType>

  <xs:element name="Document">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="createdAt" type="xs:dateTime" minOccurs="1" maxOccurs="1" />
        <xs:element name="creator" type="Principal" minOccurs="1" maxOccurs="1" />

        <!-- if suppressedAt is non-null, then suppressor should be present -->
        <xs:element name="suppressedAt" type="xs:dateTime" minOccurs="0" maxOccurs="1" />
        <xs:element name="suppressor" type="Principal" minOccurs="0" maxOccurs="1" />

        <xs:element name="replacedBy" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:attribute name="id" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
        <xs:element name="replaces" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:attribute name="id" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
        <xs:element name="original" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:attribute name="id" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
        <xs:element name="latest" minOccurs="0" 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:element name="status" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="nevershare" type="xs:boolean" minOccurs="0" maxOccurs="1" />

        <xs:element name="relatesTo" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="relation" type="Relation" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>

        <xs:element name="isRelatedFrom" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="relation" type="Relation" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>

      </xs:sequence>
      <xs:attribute name="id" type="xs:string" use="required" />
      <xs:attribute name="record_id" type="xs:string" use="optional" />
      <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>

Example:

<?xml version="1.0" encoding="utf-8" ?>
<Document id="14c81023-c84f-496d-8b8e-9438280441d3" type="" digest="7e9bc09276e0829374fd810f96ed98d544649703db3a9bc231550a0b0e5bcb1c" size="77">
  <createdAt>2009-05-04T17:05:33</createdAt>
  <creator id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </creator>
  <suppressedAt>2009-05-06T17:05:33</suppressedAt>
  <suppressor id="steve@indivo.org" type="account">
    <fullname>Steve Zabak</fullname>
  </suppressor>
  <original id="14c81023-c84f-496d-8b8e-9438280441d3" />
  <latest id="14c81023-c84f-496d-8b8e-9438280441d3" createdAt="2009-05-05T17:05:33" createdBy="steve@indivo.org" />
  <label>HBA1C reading</label>
  <status>active</status>
  <nevershare>false</nevershare>
  <relatesTo>
    <relation type="http://indivo.org/vocab/documentrels#attachment" count="1" />
    <relation type="http://indivo.org/vocab/documentrels#annotation" count="5" />
  </relatesTo>
  <isRelatedFrom>
    <relation type="http://indivo.org/vocab/documentrels#interpretation" count="1" />
  </isRelatedFrom>
</Document>

Project Versions

Previous topic

Indivo Schemas

Next topic

Indivo Account Schema

This Page