← Prev in month
← Prev in thread
XML Schema for SAF information model
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
targetNamespace="http://docs.oasis-open.org/saf/ns/symptoms/2012/07"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:saf="http://docs.oasis-open.org/saf/ns/symptoms/2012/07"
elementFormDefault="qualified" attributeFormDefault="qualified">
<!--
**************
Core
**************
-->
<xsd:complexType name="SAFType">
<xsd:sequence>
<xsd:element name="URI" type="xsd:anyURI" />
<xsd:element ref="saf:Version" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Version" type="xsd:string"/>
<!--
**************
Syndrome
**************
-->
<xsd:element name="Syndrome">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="SyndromeType" type="saf:SAFType"/>
<xsd:element name="SyndromeName" type="xsd:string"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element ref="saf:Likelihood"/>
<xsd:element ref="saf:Impact"/>
<xsd:element ref="saf:Urgency"/>
<xsd:element name="Signature" type="xsd:string"/>
<xsd:element ref="saf:AssociatedProtocols" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Likelihood">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="VeryFrequent"/>
<xsd:enumeration value="Frequent"/>
<xsd:enumeration value="Balanced"/>
<xsd:enumeration value="Infrequent"/>
<xsd:enumeration value="Rare"/>
<xsd:enumeration value="NotAvailable"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Impact">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="VeryHigh"/>
<xsd:enumeration value="High"/>
<xsd:enumeration value="Moderate"/>
<xsd:enumeration value="Low"/>
<xsd:enumeration value="Minimal"/>
<xsd:enumeration value="Unknown"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Urgency">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="VeryHigh"/>
<xsd:enumeration value="High"/>
<xsd:enumeration value="Moderate"/>
<xsd:enumeration value="Low"/>
<xsd:enumeration value="VeryLow"/>
<xsd:enumeration value="Unknown"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="AssociatedProtocols">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ProtocolReference" type="saf:SAFType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="ProtocolGroupReference" type="saf:SAFType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Syndromes">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="saf:Syndrome" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!--
**************
Protocols
**************
-->
<xsd:element name="Protocol">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ProtocolType" type="saf:SAFType"/>
<xsd:element name="PrescriptionType" type="saf:SAFType"/>
<xsd:element name="ProtocolName" type="xsd:string"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element ref="saf:Effectiveness"/>
<xsd:element ref="saf:Risk"/>
<xsd:element ref="saf:Duration"/>
<xsd:element ref="saf:Function"/>
<xsd:element name="Directive" type="xsd:string"/>
<xsd:element name="Process" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="saf:PotentialSyndromes" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Effectiveness">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Effective"/>
<xsd:enumeration value="PartiallyEffective"/>
<xsd:enumeration value="BestEffort"/>
<xsd:enumeration value="Ineffective"/>
<xsd:enumeration value="Inconclusive"/>
<xsd:enumeration value="Unknown"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Risk">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="VeryHigh"/>
<xsd:enumeration value="High"/>
<xsd:enumeration value="Moderate"/>
<xsd:enumeration value="VeryLow"/>
<xsd:enumeration value="Low"/>
<xsd:enumeration value="Unknown"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Duration">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="VeryLong"/>
<xsd:enumeration value="Long"/>
<xsd:enumeration value="Moderate"/>
<xsd:enumeration value="Short"/>
<xsd:enumeration value="VeryShort"/>
<xsd:enumeration value="Unknown"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Function">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Diagnostic"/>
<xsd:enumeration value="Preventative"/>
<xsd:enumeration value="Remedial"/>
<xsd:enumeration value="Diagnostic_Preventative"/>
<xsd:enumeration value="Diagnostic_Remedial"/>
<xsd:enumeration value="Preventative_Remedial"/>
<xsd:enumeration value="Diagnostic_Preventative_Remedial"/>
<xsd:enumeration value="Other"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PotentialSyndromes">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="SyndromeReference" type="saf:SAFType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Protocols">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="saf:Protocol" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!--
**************
ProtocolGroup
**************
-->
<xsd:element name="ProtocolGroup">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ProtocolGroupType" type="saf:SAFType"/>
<xsd:element name="ProtocolGroupName" type="xsd:string"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element ref="saf:ProtocolCollection"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ProtocolCollection">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ProtocolReference" type="saf:SAFType" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!--
**************
Prescription
**************
-->
<xsd:element name="Prescription">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="PrescriptionId" type="xsd:anyURI"/>
<xsd:element name="PrescriptionType" type="saf:SAFType"/>
<xsd:element name="ExpirationDate" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="saf:Arguments" minOccurs="0" maxOccurs="1"/>
<xsd:element name="Process" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Arguments">
<xsd:complexType>
<xsd:sequence>
<xsd:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!--
**************
Symptoms
**************
-->
<xsd:element name="Symptom">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="SymptomId" type="xsd:anyURI"/>
<xsd:element name="SymptomType" type="saf:SAFType"/>
<xsd:element name="CreationDate" type="xsd:dateTime"/>
<xsd:element ref="saf:Confidence"/>
<xsd:element name="Reporter" type="xsd:anyURI"/>
<xsd:element name="Subject" type="xsd:anyURI"/>
<xsd:element name="ExpirationDate" type="xsd:dateTime" minOccurs="0"/>
<xsd:element ref="saf:RelatedSymptoms" minOccurs="0" />
<xsd:element name="Incident" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="saf:Content" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Confidence">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="High"/>
<xsd:enumeration value="Moderate"/>
<xsd:enumeration value="Low"/>
<xsd:enumeration value="Unknown"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Content">
<xsd:complexType>
<xsd:sequence>
<xsd:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="RelatedSymptoms">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="saf:RelatedSymptom" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="RelatedSymptom">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:anyURI">
<xsd:attribute type="xsd:string" name="type" use="required" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="Symptoms">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="saf:Symptom" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!--
**************
Schemata
**************
-->
<xsd:element name="SymptomSchema">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="SymptomType" type="saf:SAFType"/>
<xsd:element ref="saf:ContentSchema"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ContentSchema">
<xsd:complexType>
<xsd:sequence>
<xsd:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="PrescriptionSchema">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="PrescriptionType" type="saf:SAFType"/>
<xsd:element ref="saf:ArgumentSchema"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ArgumentSchema">
<xsd:complexType>
<xsd:sequence>
<xsd:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
← Prev in month
← Prev in thread