Systems Interoperability Framework™
SIF Infrastructure Specification 3.6

June 29, 2023






This version:
http://specification.sifassociation.org/Implementation/Infrastructure/3.6/
Previous version:
http://specification.sifassociation.org/Implementation/Infrastructure/3.5/
Latest version:
http://specification.sifassociation.org/Implementation/Infrastructure/

API Documentation
Infrastructure Services
XSD Schemas
Schema_NoIncludes_Strict (single file, non-annotated) (ZIP archive)
Schema_NoIncludes_Annotated_Strict (single file, annotated) (ZIP archive)
Schema_Strict (includes, non-annotated) (ZIP archive)
Schema_Annotated_Strict (includes, annotated) (ZIP archive)
JSON Support
Conversion Scripts
OpenAPI & JSON Schemas Files Archive
PESC Compliant JSON

This document is also available in these non-normative formats: ZIP archive, PDF (for printing as a single file), Excel spreadsheet.



Copyright ©2023 Systems Interoperability Framework (SIF™) Association. All Rights Reserved.


1 Preamble

1.1 Abstract

1.1.1 What is SIF?

SIF is not a product, but a technical blueprint for enabling diverse applications to interact and share data related to entities in the pK-12 instructional and administrative environment. SIF is designed to:

The SIF Implementation Specification defines common data formats and rules of interaction and architecture, and is made up of two parts:

SIF Infrastructure defines;

1.1.2 SIF Association

The Schools Interoperability Framework Association (SIF Association); also known as; the Systems Interoperability Framework Association outside North America, doing business as Access 4 Learning (A4L) Community, is an industry initiative to enable interoperability and data sharing between software applications in the pK-12 instructional and administrative environment, and the forum for companies and educators to participate in the development of SIF specifications in the SIF Association's working groups and task forces. The SIF Association is designed to:

1.2 Disclaimer

The information, software, products, and services included in the SIF Implementation Specification may include inaccuracies or typographical errors. Changes are periodically added to the information herein. The SIF Association may make improvements and/or changes in this document at any time without notification. Information contained in this document should not be relied upon for personal, medical, legal, or financial decisions. Appropriate professionals should be consulted for advice tailored to specific situations.

THE SIF ASSOCIATION, ITS PARTICIPANT(S), AND THIRD PARTY CONTENT PROVIDERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY, RELIABILITY, TIMELINESS, AND ACCURACY OF THE INFORMATION, SOFTWARE, PRODUCTS, SERVICES, AND RELATED GRAPHICS CONTAINED IN THIS DOCUMENT FOR ANY PURPOSE. ALL SUCH INFORMATION, SOFTWARE, PRODUCTS, SERVICES, AND RELATED GRAPHICS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE SIF ASSOCIATION AND/OR ITS PARTICIPANT(S) HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THIS INFORMATION, SOFTWARE, PRODUCTS, SERVICES, AND RELATED GRAPHICS, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.

IN NO EVENT SHALL THE SIF ASSOCIATION, ITS PARTICIPANT(S), OR THIRD PARTY CONTENT PROVIDERS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA, OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OR PERFORMANCE OF THIS DOCUMENT, WITH THE DELAY OR INABILITY TO USE THE DOCUMENT, THE PROVISION OF OR FAILURE TO PROVIDE SERVICES, OR FOR ANY INFORMATION, SOFTWARE, PRODUCTS, SERVICES AND RELATED GRAPHICS OBTAINED THROUGH THIS DOCUMENT OR OTHERWISE ARISING OUT OF THE USE OF THIS DOCUMENT, WHETHER BASED ON CONTRACT, TORT, STRICT LIABILITY, OR OTHERWISE, EVEN IF THE SIF ASSOCIATION, ITS PARTICIPANT(S), OR THIRD PARTY CONTENT PROVIDERS HAVE BEEN ADVISED OF THE POSSIBILITY OF DAMAGES. BECAUSE SOME STATES/JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU. IF YOU ARE DISSATISFIED WITH ANY PORTION OF THIS DOCUMENT OR WITH ANY OF THESE TERMS OF USE, YOUR SOLE AND EXCLUSIVE REMEDY IS TO DISCONTINUE USING THIS DOCUMENT.

This specification is released with the following provisos to developers and educators.

1.3 Certification and Compliance Claims

Though a product may be demonstrated to comply with this specification, no product may be designated as SIF Certified™ by an organization or individual until the product has been tested against and passed established compliance criteria, published separately [SIFCertification]. Organizations and individuals that are currently paying annual membership dues to the SIF Association and dedicating resources to the initiative may also use the designation SIF Participant to describe their involvement with the SIF Association and SIF in marketing, public relations and other materials.

1.4 Permissions and Copyright

Copyright© SIF Association (2011-2023). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the SIF Association, or its committees, except as needed for the purpose of developing SIF standards using procedures approved by the SIF Association, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the SIF Association or its successors or assigns.

Quick Table of Contents

1 Preamble

2 Introduction

3 Infrastructure


A Common Types

B Code Sets

C External Code Sets

D Background/Supplementary Documentation (non-normative)

E Index of Tables

F Index of Examples

G Index of Figures

H Index of Objects

I Index of Common Types

J Index of Elements

K Index of Attributes

L References

Full Table of Contents

1 Preamble

1.1 Abstract

1.1.1 What is SIF?

1.1.2 SIF Association

1.2 Disclaimer

1.3 Certification and Compliance Claims

1.4 Permissions and Copyright

2 Introduction

2.1 Specification Organization

2.2 Document Conventions

2.2.1 Definitions

2.2.2 Structure and Values

2.2.3 Examples

2.2.4 References

2.2.5 Terminology

2.2.6 XML Diagrams

2.3 Version Numbers

2.4 Highlighted Additions/Changes

3 Infrastructure

3.1 Introduction

3.1.1 Format

3.1.2 Conventions

3.1.2.1 Object Attributes/Primary Keys
3.1.2.2 Externally-Defined XML
3.1.2.3 Payload Validation
3.1.2.3.1 Create
3.1.2.3.2 Update

3.2 Privacy Services

3.2.1 pod

3.3 Request

3.3.1 deleteRequest

3.4 Response

3.4.1 adminDirective

3.4.2 createResponse

3.4.3 deleteResponse

3.4.4 error

3.4.5 updateResponse

3.5 SIF Infrastructure Services

3.5.1 environment

3.5.2 job

3.5.3 provisionRequest

3.5.4 queue

3.5.5 state

3.5.6 subscription

3.6 Utility Services

3.6.1 alert

3.6.2 codeSet

3.6.3 namespace

3.6.4 provider

3.6.5 xquery

3.6.6 zone


A Common Types

A.1 adapterFingerprintListType

A.2 aliasesType

A.3 aliasType

A.4 alternatePurposeListType

A.5 appIDListType

A.6 applicationInfoType

A.7 benchmarkListType

A.8 benchmarkType

A.9 clauseListType

A.10 clauseType

A.11 codeItemsType

A.12 codeItemType

A.13 codeType

A.14 conditionListType

A.15 conditionType

A.16 contractType

A.17 countryImpactedListType

A.18 countryImpactedType

A.19 createsType

A.20 createType

A.21 dataAccessType

A.22 dataControllerType

A.23 dataDeletionType

A.24 dataProcessorType

A.25 dataSubjectType

A.26 dataSubProcessorListType

A.27 dataSubProcessorType

A.28 defaultZoneType

A.29 DefinedProtocolsType

A.30 deidentifiedPurposeListType

A.31 deleteIdCollectionType

A.32 deleteIdType

A.33 deleteStatusCollectionType

A.34 deleteStatusType

A.35 employeeTrainingListType

A.36 employeeTrainingType

A.37 endpointListType

A.38 endpointType

A.39 enumerationsType

A.40 enumerationType

A.41 environmentTypeType

A.42 errorCommonType

A.43 errorDetailsType

A.44 errorDetailType

A.45 errorTypeType

A.46 ExtendedContentType

A.47 fieldListType

A.48 fieldType

A.49 gCoreAddressListType

A.50 gCoreAddressType

A.51 gCoreContactInfoType

A.52 gCoreContactListType

A.53 gCoreCountryType

A.54 gCoreEmailListType

A.55 gCoreEmailType

A.56 gCoreGenderType

A.57 gCoreLocalIdType

A.58 gCoreNameType

A.59 gCorePhoneNumberListType

A.60 gCorePhoneNumberType

A.61 gCoreStateProvinceIdType

A.62 gCoreStateProvinceType

A.63 infrastructureServiceNamesType

A.64 infrastructureServicesType

A.65 infrastructureServiceType

A.66 initializationType

A.67 jobStateType

A.68 lawListType

A.69 lawType

A.70 legalRequirementsType

A.71 mediaTypesType

A.72 messageTypeType

A.73 methodParametersType

A.74 methodParameterType

A.75 obligationListType

A.76 obligationType

A.77 operationsType

A.78 operationType

A.79 parametersType

A.80 parameterType

A.81 partyToDeleteDataType

A.82 passwordEmployeeAccessStandardType

A.83 phaseCollectionType

A.84 phaseStateType

A.85 phaseType

A.86 privacyListType

A.87 privacyObligationsDocumentType

A.88 privacyType

A.89 productIdentityType

A.90 propertiesType

A.91 propertyNVListType

A.92 propertyNVType

A.93 propertyType

A.94 protocolType

A.95 provisionedZonesType

A.96 provisionedZoneType

A.97 purposeListType

A.98 querySupportType

A.99 rangeType

A.100 requestTypeValueType

A.101 rightsType

A.102 rightType

A.103 rightTypeType

A.104 rightValueType

A.105 securityTechnologyListType

A.106 securityTechnologyType

A.107 securityTestRequiredListType

A.108 securityTestRequiredType

A.109 SelectedContentType

A.110 servicesType

A.111 serviceSubTypeType

A.112 serviceType

A.113 serviceTypeType

A.114 stateCommonType

A.115 stateListType

A.116 supportedRequestsType

A.117 supportedRequestType

A.118 technicalRequirementsType

A.119 updatesType

A.120 updateType

A.121 uriType

A.122 uuidType

A.123 versionType

A.124 zoneContextListType

A.125 zoneContextType

B Code Sets

IN Code Sets

C External Code Sets

International Standards Organization (ISO)

D Background/Supplementary Documentation (non-normative)

E Index of Tables

F Index of Examples

G Index of Figures

H Index of Objects

I Index of Common Types

J Index of Elements

K Index of Attributes

L References

2 Introduction

2.1 Specification Organization

With respect to this SIF Specification, decision makers are typically interested in the capabilities and designs largely present in the Base Architecture volume. This document, the SIF Infrastructure Specification, contains an Infrastructure section describing the payloads used in a format that should not be a barrier to readers with a some knowledge of [XML]. More technical readers, including software architects, developers and integrators, will also be interested in all the separate Infrastructure volumes.

2.2 Document Conventions

2.2.1 Definitions

The first time a term or concept is defined, it may be emphasized.

2.2.2 Structure and Values

SIF message and object names, XML element tags, attribute names and values, and other codes or values are typically presented as in this sentence.

2.2.3 Examples

{"sample": "Longer examples of XML or HTTP messages are typically numbered and presented as given here." }
Longer examples of XML or HTTP messages are typically numbered and presented as given here.
Example 2.2.3-1: Examples Convention

2.2.4 References

References to other works occurring in this text are given in brackets, e.g. [REFERENCE]. The text in brackets corresponds to a key in the References appendix. Often when the text in the brackets duplicates surrounding text, the reference alone is used (e.g. [XML] instead of XML [XML]).

2.2.5 Terminology

The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, OPTIONAL, when EMPHASIZED, are to be interpreted as described in [RFC 2119].

2.2.6 XML Diagrams

Quick overviews of XML structures, including messages, objects, common elements and types, are provided in XML diagrams. The following diagram illustrates the conventions typically encountered in SIF.

Figure 2.2.6-1: XML Diagram Conventions

XML elements are represented by rectangles with the name of the element in the upper portion and the type, if any, in the lower portion. Attributes are represented in the same fashion, but have an @ icon rather than a SIF icon. Elements and attributes that are optional have a circled ? (0 or 1 occurrence) to the left of the rectangle. Optional and mandatory repeatable elements are indicated by a circled * (0 or more occurrences) and + (1 or more occurrences), respectively. Element attributes are grouped together in a rectangular block and connected to the element with a line that turns at right angles. Ordered sequences of XML elements are bracketed by lines that turn at right angles. When a choice of XML elements is indicated, the elements are bracketed by angled lines. A choice of elements can occur within an element, or may be an unnamed choice of elements.

XML types are represented using the same conventions as for XML elements, though the type portion of the rectangle typically indicates a base type, if any.

The type name of any element, attribute or type may be prefixed with a , indicating the type is restricted in some fashion by one or more XML Schema facets (e.g. enumeration). When the type is a union of types, a list of types is presented, each type separated by |; if the list of union types is long, the list may be marked with ellipses, e.g., | ...

In an actual XML diagram, element, type and attribute rectangles are usually linked to their corresponding definitions/descriptions in accompanying tables.

2.3 Version Numbers

The SIF Implementation Specification uses the following version numbering scheme:

major version.minor version.revision number(X.Y.Z)

Once a versioned specification (Specification Release) has been released, the contents of that version MUST NOT be modified. Any modifications MUST be released under a new Specification Version Number unless the modification is the correction of an error or update of documentation. Each Specification Release has an associated errata section in which modifications and corrections of the release are listed.

A Specification Version Number for a Specification Release uses conventions as follows:

An instance of a Specification Version Number is the canonical identifier for a Specification Release. The manner in which the Specification Version Number increments after a given Specification Release depends on the type and relative magnitude of changes being proposed in the new release as follows:

1. The Revision version number ( Z in x.y.Z, where x >= 0) MUST be incremented when specification changes are limited to backward compatible changes. If Z=0 then the convention is to drop the Revision number: for example, 3.1 instead of 3.1.0. Backward compatible changes include the following:

2. The Minor version number ( Y in x.Y.z, where x > 0 ) MUST be incremented if new functionality is added to the specification. It MUST be incremented if any aspect of the specification is marked as deprecated. It MUST be incremented if any aspect of the specification is not backward compatible. (Backward compatible means any change that can be implemented by one participant (consumer, Environment or service provider) without requiring changes by other participants to maintaining the same level of interoperability.) It MAY be incremented if substantial new functionality or improvements are introduced. It MAY include changes that are categorized as ”Revision” level magnitude. The Revision version MUST be reset to 0 when the Minor version is incremented. Changes requiring a Minor version increment include the following:

3. The Major version number ( X in X.y.z, where X > 0 ) MUST be incremented if a significant change is introduced to the specification. It MAY include changes categorized as Minor and Revision level changes. The Revision and Minor version numbers MUST be reset to 0 when the Major version is incremented. Changes requiring a Major version increment include the following:

2.4 Highlighted Additions/Changes

3 Infrastructure

3.1 Introduction

This section presents the XML structure for SIF common elements and objects in a tabular format for readers less versed in parsing formal XML schema definitions, along with conventions that typically apply for easy reference.

3.1.1 Format

The Char(acteristics) column for all the tables in this section use the following codes:

CodeCharacteristic
MMandatory element or attribute
OOptional element or attribute
CConditional element or attribute
MRMandatory and repeatable element
OROptional and repeatable element
CRConditional and repeatable element

Mandatory elements MUST be present in Add events, and in non-empty and non-error responses to requests for entire SIF objects (e.g., no SIF_Query/SIF_QueryObject/SIF_Element elements supplied in the request). Mandatory attributes MUST always be present if their corresponding element is present.

SIF Adapters and message brokers MUST supply data according to the types specified in the Type columns and their corresponding equivalents in the most recent schema files associated with this specification. If there is a discrepancy between object and element definitions in this specification and the corresponding schema files, the definition in the schema files takes precedence; every effort will be made to note discrepancies in the errata for this document as they are identified.

3.1.2 Conventions

3.1.2.1 Object Attributes/Primary Keys

While XML attributes are primarily used in SIF to provide additional processing information regarding the associated element content, attributes at the root level of an object have special significance. These attributes serve as the primary key or identifier for the object; in all cases this is no more than a id GUID of uuidType

3.1.2.2 Externally-Defined XML

Note that XML not defined within SIF does not necessarily support ad hoc omission of XML elements at will to conform with the conventions of the SIF Publish/Subscribe Model (where unchanged elements are typically omitted in Change events, and where non-key elements are often omitted in Delete events) or of the SIF Request/Response Model (where a subset of elements can be retrieved from objects with requests). If externally-defined XML occurs within a SIF data object, SIF conventions do not extend to that XML unless that XML is defined to accommodate SIF conventions; the XML, when transmitted, must only conform to any external definitions dictating its structure, if any. Applications should be prepared for the possibility of receiving whole externally-defined XML structures in Change events (regardless of how little or much of the external XML has changed) and possibly also Delete events, likewise in responses even when a subset of the XML structure's child elements may have explicitly been requested.

3.1.2.3 Payload Validation

There are two sets of XSDs available for Validation of Payload.

3.1.2.3.1 Create

The first set, called "DataModel" or "Strict" is 'strict' and all of the elements that are required for validation are 'Mandatory' in this suite of XSDs. This suite is traditionally used for Creation of new entities, which generally require validation before being saved into a Data Store.

3.1.2.3.2 Update

The second set, called "SIF_Message" or "Lax" is 'lax' and every element within the schema is 'optional' except the 'Id' the identifying GUID/UUID. (However, required elements are not nillable.) This suite of XSDs are traditionally used for Update and Delete of current entities. If an element is not included in the payload of an Update operation, its value is assumed to be unchanged. In addition, if the payload contains the Id/UUID only, the consumer must assume that object to be DELETED or that it has been deleted since the original request was made.

3.2 Privacy Services

3.2.1 pod

This object contains information about privacy obligations.

SIF_Events are reported for this object.

pod
Figure 3.2.1-1: pod pod id podStatus podToken podVersion partyId privacyList
 Element/@AttributeCharPrivacy RatingDescriptionType
 pod Low

This object contains information about privacy obligations.

 
 
@
key
idMLow

The ID (GUID) that uniquely identifies this object.

 
uuidType
 podStatusMLow

The status value for this POD.

 
values:
Live
Draft
Pending
Expired
 podTokenMLow

The token reference for the POD, also conveyed as the dataPrivacyMarker header.

 
gCoreLocalIdType
 podVersionMLow

The POD version number. PODs are expected to change over time.

 
xs:normalizedString
 partyIdMLow

The name of the party (typically the data processor) which will receive the data from the school, district or state and has entered into an agreement to process the data and respect the privacy obligations of the data.

 
xs:normalizedString
 privacyListMLowThe set of privacy controls, laws and obligations which apply in this POD. There may be multiple sets which apply. privacyListType
Table 3.2.1-1: pod
[ { "pod": { "id": "D3E34B39-9D79-4019-8C39-00AA001A1659", "podStatus": "Live", "podToken": "1", "podVersion": "1.0.2", "partyId": "Compass", "privacyList": { "privacy": [ { "default": "Y", "dataModelNamespace": "http://www.sifinfo.org/infrastructure/2.x", "dataModelVersionMin": "2.4", "dataModelVersionMax": "2.8", "privacyObligationsDocument": { "contract": { "contractURI": "http://www.vic.priv.contract.edu.au/contract.pdf", "contractName": "Sample contract ABC", "dateValidFrom": "2018-03-01", "dateValidTo": "2018-06-01", "contractVersion": "0.2", "lawList": { "law": [ { "lawName": "APP1", "lawDescription": "XXXXX" }, { "lawName": "APP2", "lawDescription": "yyyy" } ] }, "studentDataIPRights": "Victorian Department of Education" }, "legalRequirements": { "clauseList": { "clause": [ { "clauseLabel": "Data Access", "clauseReference": "US-I.3", "clauseContent": "The agent shall access only data necessary to accomplish the business task for which it is contracted.", "obligationList": { "obligation": [ { "obligationDescription": "Restrict access to data fields to match the state profile.", "obligationURL": "https://thewave.sde.ok.gov/thewave/Portals/0/2%20x%20Wave%20Requirements_v1%2010.pdf", "benchmarkList": { "benchmark": [ { "benchmarkName": "Oklahoma State Profile" } ] } } ] } } ] } }, "technicalRequirements": { "dataAccess": { "clauseList": { "clause": [ { "clauseReference": "US-I.3" } ] }, "fieldList": { "field": [ { "fieldName": "/SchoolInfo/@RefId", "controlrights": "R" }, { "fieldName": "/SchoolInfo/LocalId", "controlrights": "R" }, { "fieldName": "/SchoolInfo/ACARAId", "controlrights": "RW" }, { "fieldName": "/StudentPersonal/@RefId", "controlrights": "RW" }, { "fieldName": "/StudentPersonal/LocalId", "controlrights": "RW" }, { "fieldName": "/StudentPersonal/FirstAUSchoolEnrollment", "controlrights": "RW" } ] } }, "conditionList": { "condition": [ { "typeOfCondition": "XQUERYTEMPLATE", "conditionName": "RetrieveByGrade", "conditionDescription": "Returns a StudentJoin of StudentPersonal and StudentSchoolEnrollment for the GradeLevel specified as a parameter." }, { "typeOfCondition": "contextId", "conditionName": "CurrentEnrollment", "conditionDescription": "Only works with student data whose records indicate they are currently enrolled according to the StudentSchoolEnrollment SIF object.", "propertyList": { "property": [ { "propertyName": "Enrolled After", "propertyValue": "/StudentSchoolEnrollment/EntryDate>=2018-09-01" }, { "propertyName": "Enrolled Before", "propertyValue": "/StudentSchoolEnrollment/EntryDate<=2019-09-01" } ] } } ] }, "dataSubject": { "clauseList": { "clause": [ { "clauseReference": "US-Subject1", "obligationList": { "obligation": [ { "obligationDescription": "FERPA requires records be delivered within 45 days of a request.", "obligationURL": "https://www2.ed.gov/policy/gen/guid/fpco/brochures/parents.html", "benchmarkList": { "benchmark": [ { "benchmarkName": "Family Educational Rights and Privacy Act (FERPA)" } ] } } ] } } ] }, "fieldList": { "field": [ { "fieldName": "/StudentPersonal/@RefId" }, { "fieldName": "/StudentPersonal/LocalId" }, { "fieldName": "/StudentPersonal/FirstAUSchoolEnrollment" } ] }, "respondInDays": 45, "requirePortability": "Y" }, "dataDeletion": { "deleteData": "Y", "dataRetention": 30, "deleteBy": "2019-07-15", "partyToDeleteData": { "organisation": "Local LEA", "deletecontactInfo": { "name": { "familyName": "EEe", "givenName": "Agg", "otherGivenNames": "hh" }, "positionTitle": "Data Owner", "emailList": { "email": [ "DataSec@localLEA.edu.au" ] }, "phoneNumberList": { "phoneNumber": [ { "number": "(03) 8888-9999" } ] } } } }, "securityTechnologyList": { "securityTechnology": [ { "clauseList": { "clause": [ { "clauseReference": "US-V.1.c" } ] }, "technologyName": "TLS", "versionMin": "1.2" } ] } }, "dataController": { "dataControllerName": "Victorian Department of Education", "privacyPolicyURL": "http://www.vic.priv.policy.edu.au/privacy.pdf", "privacyContactList": { "contact": [ { "name": { "familyName": "Smith", "givenName": "Christime", "otherGivenNames": "Margaret" }, "positionTitle": "Admin", "emailList": { "email": [ "chris@whoville.vic.edu.au" ] }, "phoneNumberList": { "phoneNumber": [ { "number": "(03) 9600-0102" } ] } } ] }, "issuesNotificationContactList": { "contact": [ { "name": { "familyName": "BBBB", "givenName": "AAA", "otherGivenNames": "CCC" }, "positionTitle": "Data Security", "emailList": { "email": [ "DataSec@whoville.edu.au" ] }, "phoneNumberList": { "phoneNumber": [ { "number": "(03) 8888-9999" } ] } } ] } }, "dataProcessor": { "dataProcessorName": "CEOProcessor2", "privacyPolicyURL": "www.ceo.priv.policy.edu.au", "privacyContactList": { "contact": [ { "name": { "familyName": "Woodall", "givenName": "Charles", "otherGivenNames": "William" }, "positionTitle": "Admin", "emailList": { "email": [ "drseuss@whoville.k12.ceo.edu.au" ] }, "phoneNumberList": { "phoneNumber": [ { "number": "(08) 8555-0102" } ] } } ] }, "notifyDataControllerOnAccessRequests": "Y", "dataProcessorContactForAccessRequestsList": { "contact": [ { "name": { "familyName": "XXX", "givenName": "YYY", "otherGivenNames": "ZZZ" }, "positionTitle": "Privacy Officer", "emailList": { "email": [ "off@whoville.au" ] }, "phoneNumberList": { "phoneNumber": [ { "number": "(03) 9999-9999" } ] } } ] }, "purposeList": { "purpose": [ "Admin System", "Australian Schools List" ] }, "alternatePurposeList": { "alternatePurpose": [ "Student Portal" ] }, "deidentifiedPurposeList": { "deidentifiedPurpose": [ "Research" ] }, "dataUsageMarketingAllowed": "N", "personalInformationUpdatedFromSource": 10, "dataBreachNotification": "Y", "dataBreachContactList": { "contact": [ { "name": { "familyName": "XXX", "givenName": "YYY", "otherGivenNames": "ZZZ" }, "positionTitle": "Privacy Officer", "emailList": { "email": [ "off@whoville.au" ] }, "phoneNumberList": { "phoneNumber": [ { "number": "(03) 9999-9999" } ] } } ] }, "employeesMustComplyWithAgreement": "Y", "employeeConfidentialityAgreement": "Y", "employeeTrainingList": { "employeeTraining": [ { "trainingName": "", "trainingURL": "" } ] }, "passwordEmployeeAccessStandard": { "standardName": "", "standardURL": "" }, "securityTestRequiredList": { "securityTestRequired": [ { "testType": "Pen Test", "testFrequency": "Annual", "remediationRequiredIn": "7 days", "shareResults": "Y" }, { "testType": "Vulnerability Test", "testFrequency": "Monthly", "remediationRequiredIn": "24hours", "shareResults": "Y" } ] }, "countryImpactedList": { "countryImpacted": [ { "country": "1101", "usage": "Stored/Processed/Exposed" }, { "country": "1102", "usage": "Exposed" } ] } }, "dataSubProcessorList": { "dataSubProcessor": [ { "subProcessorName": "One", "privacyPolicyURL": "www.one.edu.au", "privacyContactList": { "contact": [ { "name": { "familyName": "First", "givenName": "Charles", "otherGivenNames": "William" }, "positionTitle": "Admin", "emailList": { "email": [ "drseuss@whoville.k12.ceo.edu.au" ] }, "phoneNumberList": { "phoneNumber": [ { "number": "(08) 8555-0102" } ] } } ] }, "purposeList": { "purpose": [ "Attendance" ] } }, { "subProcessorName": "Two", "privacyPolicyURL": "www.two.edu.au", "privacyContactList": { "contact": [ { "name": { "familyName": "Two", "givenName": "Charles", "otherGivenNames": "William" }, "positionTitle": "Admin", "emailList": { "email": [ "drseuss@whoville.k12.ceo.edu.au" ] }, "phoneNumberList": { "phoneNumber": [ { "number": "(08) 8555-0102" } ] } } ] }, "purposeList": { "purpose": [ "TimeTabling" ] } }, { "subProcessorName": "Three", "privacyPolicyURL": "www.three.edu.au", "privacyContactList": { "contact": [ { "name": { "familyName": "Third", "givenName": "Charles", "otherGivenNames": "William" }, "positionTitle": "Admin", "emailList": { "email": [ "drseuss@whoville.k12.ceo.edu.au" ] }, "phoneNumberList": { "phoneNumber": [ { "number": "(08) 8555-0102" } ] } } ] }, "purposeList": { "purpose": [ "StudentPortal" ] } } ] } } }, { "default": "N", "appIDList": { "appID": [ "TT12" ] }, "adapterFingerprintList": { "adapterFingerprint": [ "b4ef12ce-7025-11e8-adc0-fa7ae01bbebc" ] }, "zoneContextList": { "zoneContext": [ { "zoneId": "4001", "contextId": "" } ] }, "privacyObligationsDocument": { "technicalRequirements": { "dataAccess": { "fieldList": { "field": [ { "fieldName": "/SchoolInfo/@RefId", "controlrights": "R" }, { "fieldName": "/SchoolInfo/LocalId", "controlrights": "R" }, { "fieldName": "/SchoolInfo/ACARAId", "controlrights": "R" }, { "fieldName": "/StudentPersonal/@RefId", "controlrights": "R" }, { "fieldName": "/StudentPersonal/LocalId", "controlrights": "R" }, { "fieldName": "/StudentPersonal/FirstAUSchoolEnrollment", "controlrights": "R" }, { "fieldName": "/TimeTable/*", "controlrights": "RW" } ] } } } } }, { "default": "N", "adapterFingerprintList": { "adapterFingerprint": [ "b4ef12ce-7025-11e8-adc0-fa7ae01bbebc" ] }, "zoneContextList": { "zoneContext": [ { "zoneId": "4002", "contextId": "" } ] }, "dataModelNamespace": "http://www.sifinfo.org/infrastructure/2.x", "dataModelVersionMin": "2.3", "dataModelVersionMax": "2.9" }, { "default": "N", "adapterFingerprintList": { "adapterFingerprint": [ "b4ef12ce-7025-11e8-adc0-fa7ae01bbebc" ] }, "zoneContextList": { "zoneContext": [ { "zoneId": "4003", "contextId": "" } ] }, "dataModelNamespace": "http://www.sifinfo.org/infrastructure/2.x", "dataModelVersionMin": "2.1", "dataModelVersionMax": "2.8", "privacyObligationsDocument": { "technicalRequirements": { "securityTechnologyList": { "securityTechnology": [ { "technologyName": "SSL", "technologyDescription": "", "referenceURL": "" } ] } } } } ] } } } ]
<pod id="D3E34B39-9D79-4019-8C39-00AA001A1659"> <podStatus>Live</podStatus> <!-- podStatus - The status value for this POD. --> <podToken>1</podToken> <!-- podToken - The token reference for the POD, also conveyed as the dataPrivacyMarker header. --> <podVersion>1.0.2</podVersion> <!-- podVersion - The POD version number. PODs are expected to change over time. --> <partyId>Compass</partyId> <!-- partyId - The name of the party (typically the data processor) which will receive the data from the school, district or state and has entered into an agreement to process the data and respect the privacy obligations of the data --> <privacyList> <privacy> <default>Y</default> <dataModelNamespace>http://www.sifinfo.org/infrastructure/2.x</dataModelNamespace> <dataModelVersionMin>2.4</dataModelVersionMin> <dataModelVersionMax>2.8</dataModelVersionMax> <!-- Privacy Obligations - holds information about the contract --> <privacyObligationsDocument> <contract> <contractURI>http://www.vic.priv.contract.edu.au/contract.pdf</contractURI> <contractName>Sample contract ABC</contractName> <dateValidFrom>2018-03-01</dateValidFrom> <dateValidTo>2018-06-01</dateValidTo> <contractVersion>0.2</contractVersion> <lawList> <law> <lawName>APP1</lawName> <lawDescription>XXXXX</lawDescription> </law> <law> <lawName>APP2</lawName> <lawDescription>yyyy</lawDescription> </law> </lawList> <studentDataIPRights>Victorian Department of Education</studentDataIPRights> </contract> <legalRequirements> <clauseList> <clause> <clauseLabel>Data Access</clauseLabel> <clauseReference>US-I.3</clauseReference> <clauseContent>The agent shall access only data necessary to accomplish the business task for which it is contracted.</clauseContent> <obligationList> <obligation> <obligationDescription>Restrict access to data fields to match the state profile.</obligationDescription> <obligationURL>https://thewave.sde.ok.gov/thewave/Portals/0/2%20x%20Wave%20Requirements_v1%2010.pdf</obligationURL> <benchmarkList> <benchmark> <benchmarkName>Oklahoma State Profile</benchmarkName> </benchmark> </benchmarkList> </obligation> </obligationList> </clause> </clauseList> </legalRequirements> <technicalRequirements> <dataAccess> <clauseList> <clause> <clauseReference>US-I.3</clauseReference> </clause> </clauseList> <fieldList> <field> <fieldName>/SchoolInfo/@RefId</fieldName> <controlrights>R</controlrights> </field> <field> <fieldName>/SchoolInfo/LocalId</fieldName> <controlrights>R</controlrights> </field> <field> <fieldName>/SchoolInfo/ACARAId</fieldName> <controlrights>RW</controlrights> </field> <field> <fieldName>/StudentPersonal/@RefId</fieldName> <controlrights>RW</controlrights> </field> <field> <fieldName>/StudentPersonal/LocalId</fieldName> <controlrights>RW</controlrights> </field> <field> <fieldName>/StudentPersonal/FirstAUSchoolEnrollment</fieldName> <controlrights>RW</controlrights> </field> </fieldList> </dataAccess> <conditionList> <condition> <typeOfCondition>XQUERYTEMPLATE</typeOfCondition> <conditionName>RetrieveByGrade</conditionName> <conditionDescription>Returns a StudentJoin of StudentPersonal and StudentSchoolEnrollment for the GradeLevel specified as a parameter.</conditionDescription> </condition> <condition> <typeOfCondition>contextId</typeOfCondition> <conditionName>CurrentEnrollment</conditionName> <conditionDescription>Only works with student data whose records indicate they are currently enrolled according to the StudentSchoolEnrollment SIF object.</conditionDescription> <propertyList> <property> <propertyName>Enrolled After</propertyName> <propertyValue>/StudentSchoolEnrollment/EntryDate&gt;=2018-09-01</propertyValue> </property> <property> <propertyName>Enrolled Before</propertyName> <propertyValue>/StudentSchoolEnrollment/EntryDate&lt;=2019-09-01</propertyValue> </property> </propertyList> </condition> </conditionList> <!-- Who the information is about. Typically a Student and/or a Parent and/or a Teacher. --> <dataSubject> <clauseList> <clause> <clauseReference>US-Subject1</clauseReference> <obligationList> <obligation> <obligationDescription>FERPA requires records be delivered within 45 days of a request.</obligationDescription> <obligationURL>https://www2.ed.gov/policy/gen/guid/fpco/brochures/parents.html</obligationURL> <benchmarkList> <benchmark> <benchmarkName>Family Educational Rights and Privacy Act (FERPA)</benchmarkName> </benchmark> </benchmarkList> </obligation> </obligationList> </clause> </clauseList> <fieldList> <!-- information that must be supplied to the Data Subject if request as per Clause above. --> <field> <fieldName>/StudentPersonal/@RefId</fieldName> </field> <field> <fieldName>/StudentPersonal/LocalId</fieldName> </field> <field> <fieldName>/StudentPersonal/FirstAUSchoolEnrollment</fieldName> </field> </fieldList> <respondInDays>45</respondInDays> <requirePortability>Y</requirePortability> </dataSubject> <!-- obligations relating to the deletion of data. --> <dataDeletion> <deleteData>Y</deleteData> <dataRetention>30</dataRetention> <deleteBy>2019-07-15</deleteBy> <partyToDeleteData> <organisation>Local LEA</organisation> <deletecontactInfo> <name> <familyName>EEe</familyName> <givenName>Agg</givenName> <otherGivenNames>hh</otherGivenNames> </name> <positionTitle>Data Owner</positionTitle> <emailList> <email>DataSec@localLEA.edu.au</email> </emailList> <phoneNumberList> <phoneNumber> <number>(03) 8888-9999</number> </phoneNumber> </phoneNumberList> </deletecontactInfo> </partyToDeleteData> </dataDeletion> <!-- Aligned to the SDPC work for consideration. --> <securityTechnologyList> <securityTechnology> <clauseList> <clause> <clauseReference>US-V.1.c</clauseReference> </clause> </clauseList> <!-- See Security Protocol clause above. --> <technologyName>TLS</technologyName> <versionMin>1.2</versionMin> </securityTechnology> </securityTechnologyList> </technicalRequirements> <dataController> <!-- Those who are in charge of storing and controlling the information on behalf of parents. --> <dataControllerName>Victorian Department of Education</dataControllerName> <privacyPolicyURL>http://www.vic.priv.policy.edu.au/privacy.pdf</privacyPolicyURL> <privacyContactList> <contact> <!-- Simplify these! More like: http://specification.sifassociation.org/Implementation/NA/3.6/Collections/xStaffs.xhtml --> <name> <familyName>Smith</familyName> <givenName>Christime</givenName> <otherGivenNames>Margaret</otherGivenNames> </name> <positionTitle>Admin</positionTitle> <emailList> <email>chris@whoville.vic.edu.au</email> </emailList> <phoneNumberList> <phoneNumber> <number>(03) 9600-0102</number> </phoneNumber> </phoneNumberList> </contact> </privacyContactList> <issuesNotificationContactList> <contact> <name> <familyName>BBBB</familyName> <givenName>AAA</givenName> <otherGivenNames>CCC</otherGivenNames> </name> <positionTitle>Data Security</positionTitle> <emailList> <email>DataSec@whoville.edu.au</email> </emailList> <phoneNumberList> <phoneNumber> <number>(03) 8888-9999</number> </phoneNumber> </phoneNumberList> </contact> </issuesNotificationContactList> </dataController> <dataProcessor> <!-- Data processor is the vendor who will be accessing, consuming and/or providing back information. --> <dataProcessorName>CEOProcessor2</dataProcessorName> <privacyPolicyURL>www.ceo.priv.policy.edu.au</privacyPolicyURL> <privacyContactList> <contact> <name> <familyName>Woodall</familyName> <givenName>Charles</givenName> <otherGivenNames>William</otherGivenNames> </name> <positionTitle>Admin</positionTitle> <emailList> <email>drseuss@whoville.k12.ceo.edu.au</email> </emailList> <phoneNumberList> <phoneNumber> <number>(08) 8555-0102</number> </phoneNumber> </phoneNumberList> </contact> </privacyContactList> <notifyDataControllerOnAccessRequests>Y</notifyDataControllerOnAccessRequests> <dataProcessorContactForAccessRequestsList> <contact> <name> <familyName>XXX</familyName> <givenName>YYY</givenName> <otherGivenNames>ZZZ</otherGivenNames> </name> <positionTitle>Privacy Officer</positionTitle> <emailList> <email>off@whoville.au</email> </emailList> <phoneNumberList> <phoneNumber> <number>(03) 9999-9999</number> </phoneNumber> </phoneNumberList> </contact> </dataProcessorContactForAccessRequestsList> <purposeList> <purpose>Admin System</purpose> <purpose>Australian Schools List</purpose> </purposeList> <alternatePurposeList> <alternatePurpose>Student Portal</alternatePurpose> </alternatePurposeList> <deidentifiedPurposeList> <deidentifiedPurpose>Research</deidentifiedPurpose> </deidentifiedPurposeList> <dataUsageMarketingAllowed>N</dataUsageMarketingAllowed> <personalInformationUpdatedFromSource>10</personalInformationUpdatedFromSource> <dataBreachNotification>Y</dataBreachNotification> <dataBreachContactList> <contact> <name> <familyName>XXX</familyName> <givenName>YYY</givenName> <otherGivenNames>ZZZ</otherGivenNames> </name> <positionTitle>Privacy Officer</positionTitle> <emailList> <email>off@whoville.au</email> </emailList> <phoneNumberList> <phoneNumber> <number>(03) 9999-9999</number> </phoneNumber> </phoneNumberList> </contact> </dataBreachContactList> <employeesMustComplyWithAgreement>Y</employeesMustComplyWithAgreement> <employeeConfidentialityAgreement>Y</employeeConfidentialityAgreement> <employeeTrainingList> <employeeTraining> <trainingName /> <trainingURL /> </employeeTraining> </employeeTrainingList> <passwordEmployeeAccessStandard> <standardName /> <standardURL /> </passwordEmployeeAccessStandard> <securityTestRequiredList> <securityTestRequired> <testType>Pen Test</testType> <testFrequency>Annual</testFrequency> <remediationRequiredIn>7 days</remediationRequiredIn> <shareResults>Y</shareResults> </securityTestRequired> <securityTestRequired> <testType>Vulnerability Test</testType> <testFrequency>Monthly</testFrequency> <remediationRequiredIn>24hours</remediationRequiredIn> <shareResults>Y</shareResults> </securityTestRequired> </securityTestRequiredList> <countryImpactedList> <countryImpacted> <country>1101</country> <usage>Stored/Processed/Exposed</usage> </countryImpacted> <countryImpacted> <country>1102</country> <usage>Exposed</usage> </countryImpacted> </countryImpactedList> </dataProcessor> <dataSubProcessorList> <!-- List of entities that provide services to the Data Processor. They also handle the data and must be aware of privacy obligations. e.g. Google, iCloud, Microsoft Azure, AWS etc. --> <dataSubProcessor> <subProcessorName>One</subProcessorName> <!-- Caps? --> <privacyPolicyURL>www.one.edu.au</privacyPolicyURL> <privacyContactList> <contact> <name> <familyName>First</familyName> <givenName>Charles</givenName> <otherGivenNames>William</otherGivenNames> </name> <positionTitle>Admin</positionTitle> <emailList> <email>drseuss@whoville.k12.ceo.edu.au</email> </emailList> <phoneNumberList> <phoneNumber> <number>(08) 8555-0102</number> </phoneNumber> </phoneNumberList> </contact> </privacyContactList> <purposeList> <purpose>Attendance</purpose> </purposeList> </dataSubProcessor> <dataSubProcessor> <subProcessorName>Two</subProcessorName> <privacyPolicyURL>www.two.edu.au</privacyPolicyURL> <privacyContactList> <contact> <name> <familyName>Two</familyName> <givenName>Charles</givenName> <otherGivenNames>William</otherGivenNames> </name> <positionTitle>Admin</positionTitle> <emailList> <email>drseuss@whoville.k12.ceo.edu.au</email> </emailList> <phoneNumberList> <phoneNumber> <number>(08) 8555-0102</number> </phoneNumber> </phoneNumberList> </contact> </privacyContactList> <purposeList> <purpose>TimeTabling</purpose> </purposeList> </dataSubProcessor> <dataSubProcessor> <subProcessorName>Three</subProcessorName> <privacyPolicyURL>www.three.edu.au</privacyPolicyURL> <privacyContactList> <contact> <name> <familyName>Third</familyName> <givenName>Charles</givenName> <otherGivenNames>William</otherGivenNames> </name> <positionTitle>Admin</positionTitle> <emailList> <email>drseuss@whoville.k12.ceo.edu.au</email> </emailList> <phoneNumberList> <phoneNumber> <number>(08) 8555-0102</number> </phoneNumber> </phoneNumberList> </contact> </privacyContactList> <purposeList> <purpose>StudentPortal</purpose> </purposeList> </dataSubProcessor> </dataSubProcessorList> </privacyObligationsDocument> </privacy> <privacy> <default>N</default> <appIDList> <appID>TT12</appID> </appIDList> <adapterFingerprintList> <adapterFingerprint>b4ef12ce-7025-11e8-adc0-fa7ae01bbebc</adapterFingerprint> </adapterFingerprintList> <zoneContextList> <zoneContext> <zoneId>4001</zoneId> <contextId /> </zoneContext> </zoneContextList> <!-- List of rest endpoints --> <privacyObligationsDocument> <technicalRequirements> <dataAccess> <!-- Since a POD represents a contract, only these should very. As such the replacement logic, should apply to each immediate child found here. --> <!-- holds the green list and the permissions or conditions on these elements. --> <fieldList> <field> <fieldName>/SchoolInfo/@RefId</fieldName> <controlrights>R</controlrights> </field> <field> <fieldName>/SchoolInfo/LocalId</fieldName> <controlrights>R</controlrights> </field> <field> <fieldName>/SchoolInfo/ACARAId</fieldName> <controlrights>R</controlrights> </field> <field> <fieldName>/StudentPersonal/@RefId</fieldName> <controlrights>R</controlrights> </field> <field> <fieldName>/StudentPersonal/LocalId</fieldName> <controlrights>R</controlrights> </field> <field> <fieldName>/StudentPersonal/FirstAUSchoolEnrollment</fieldName> <controlrights>R</controlrights> </field> <field> <fieldName>/TimeTable/*</fieldName> <controlrights>RW</controlrights> </field> </fieldList> </dataAccess> </technicalRequirements> </privacyObligationsDocument> </privacy> <privacy> <default>N</default> <adapterFingerprintList> <adapterFingerprint>b4ef12ce-7025-11e8-adc0-fa7ae01bbebc</adapterFingerprint> </adapterFingerprintList> <zoneContextList> <zoneContext> <zoneId>4002</zoneId> <contextId /> </zoneContext> </zoneContextList> <dataModelNamespace>http://www.sifinfo.org/infrastructure/2.x</dataModelNamespace> <dataModelVersionMin>2.3</dataModelVersionMin> <dataModelVersionMax>2.9</dataModelVersionMax> </privacy> <privacy> <default>N</default> <adapterFingerprintList> <adapterFingerprint>b4ef12ce-7025-11e8-adc0-fa7ae01bbebc</adapterFingerprint> </adapterFingerprintList> <zoneContextList> <zoneContext> <zoneId>4003</zoneId> <contextId /> </zoneContext> </zoneContextList> <dataModelNamespace>http://www.sifinfo.org/infrastructure/2.x</dataModelNamespace> <dataModelVersionMin>2.1</dataModelVersionMin> <dataModelVersionMax>2.8</dataModelVersionMax> <privacyObligationsDocument> <technicalRequirements> <securityTechnologyList> <securityTechnology> <technologyName>SSL</technologyName> <!-- do we really need this here? <purpose/>--> <technologyDescription /> <referenceURL /> </securityTechnology> </securityTechnologyList> </technicalRequirements> </privacyObligationsDocument> </privacy> </privacyList> </pod>
Example 3.2.1-1: pod

3.3 Request

3.3.1 deleteRequest

A "deleteRequest" element, which consists of multiple, "delete" object ids. Since REST conventions do not support payloads on HTTP DELETE messages, all multi-object Delete Requests are conveyed via an HTTP PUT message containing an additional HTTP Header Field value of methodOverride set to DELETE.

SIF_Events are not reported for this object.

deleteRequest
Figure 3.3.1-1: deleteRequest deleteRequest deletes
 Element/@AttributeCharPrivacy RatingDescriptionType
 deleteRequest  

A "deleteRequest" element, which consists of multiple, "delete" object ids. Since REST conventions do not support payloads on HTTP DELETE messages, all multi-object Delete Requests are conveyed via an HTTP PUT message containing an additional HTTP Header Field value of methodOverride set to DELETE.

 
 
 deletesM  deleteIdCollectionType
Table 3.3.1-1: deleteRequest
[ { "deleteRequest": { "deletes": { "delete": [ { "id": "df789e1c-dfe7-4c18-8ef0-d907b81ea61e", "value": "" }, { "id": "abc89e1c-34e7-4cde-908a-d9abc81ea09a", "value": "" }, { "id": "ff789e1c-dfe7-4c18-8ef0-d907b81ea61e", "value": "" } ] } } } ]
<deleteRequest> <deletes> <delete id="df789e1c-dfe7-4c18-8ef0-d907b81ea61e" /> <delete id="abc89e1c-34e7-4cde-908a-d9abc81ea09a" /> <delete id="ff789e1c-dfe7-4c18-8ef0-d907b81ea61e" /> </deletes> </deleteRequest>
Example 3.3.1-1: deleteRequest

3.4 Response

3.4.1 adminDirective

Admin Directives, empowers endpoint providers to “inform” or “direct” endpoint consumers what needs to happen. This opens the possibility to prompt the resending of data, expose what objects have been updated, initiate functional services etc. Some common use-cases and details on Admin Directive functionality can be found on the respective Admin Directives section.

SIF_Events are reported for this object.

adminDirective
Figure 3.4.1-1: adminDirective adminDirective id timestamp timeout serviceName method methodParameters
 Element/@AttributeCharPrivacy RatingDescriptionType
 adminDirective  

Admin Directives, empowers endpoint providers to “inform” or “direct” endpoint consumers what needs to happen. This opens the possibility to prompt the resending of data, expose what objects have been updated, initiate functional services etc. Some common use-cases and details on Admin Directive functionality can be found on the respective Admin Directives section.

 
 
@
key
idO  xs:token
 timestampM 

Timestamp when request was issued.

 
xs:dateTime
 timeoutM 

When should the request expire if not fulfilled.

 
xs:duration
 serviceNameM 

The name of the Service. For utilities, this is fixed to one of the defined set of Utility Service Names. For objects and functions, it is defined by the Data Model.

 
xs:token
 methodM 

Unique ID/Name or requested method.

 
xs:token
 methodParametersOnillable="false"  methodParametersType
Table 3.4.1-1: adminDirective
[ { "adminDirective": { "id": "a8c3c3e3-4b35-9d75-101d-00aa001a1652", "timestamp": "2021-06-18T01:04:42.283Z", "timeout": "P2D", "serviceName": "StudentPersonals", "method": "Update", "methodParameters": { "methodParameter": [ { "paramName": "RefId", "paramValue": "5b72f2d4-7a83-4297-a71f-8b5fb26cbf14" }, { "paramName": "RefId", "paramValue": "41d38fa-3b57-488b-ac8b-5fd957e592f8" }, { "paramName": "RefId", "paramValue": "f4039cfb-6343-40df-837a-b993b7db6632" } ] } } } ]
<adminDirective id="a8c3c3e3-4b35-9d75-101d-00aa001a1652"> <timestamp>2021-06-18T01:04:42.283Z</timestamp> <timeout>P2D</timeout> <serviceName>StudentPersonals</serviceName> <method>Update</method> <methodParameters> <methodParameter> <paramName>RefId</paramName> <paramValue>5b72f2d4-7a83-4297-a71f-8b5fb26cbf14</paramValue> </methodParameter> <methodParameter> <paramName>RefId</paramName> <paramValue>41d38fa-3b57-488b-ac8b-5fd957e592f8</paramValue> </methodParameter> <methodParameter> <paramName>RefId</paramName> <paramValue>f4039cfb-6343-40df-837a-b993b7db6632</paramValue> </methodParameter> </methodParameters> </adminDirective>
Example 3.4.1-1: adminDirective
[ { "adminDirective": { "id": "a8c3c3e3-4b35-9d75-101d-00aa001a1652", "timestamp": "2021-06-18T01:04:42.283Z", "timeout": "P2D", "serviceName": "StudentPersonals", "method": "Refresh", "methodParameters": { "methodParameter": [ { "paramName": "RefId", "paramValue": "5b72f2d4-7a83-4297-a71f-8b5fb26cbf14", "comparisonType": "EQUAL" }, { "paramName": "DOB:Year", "paramValue": "2010", "comparisonType": "GREATER" }, { "paramName": "RequireIsolation", "paramValue": "TRUE" } ] } } } ]
<adminDirective id="a8c3c3e3-4b35-9d75-101d-00aa001a1652"> <timestamp>2021-06-18T01:04:42.283Z</timestamp> <!-- Mandatory: timestamp when request was issued. ISO 8601--> <timeout>P2D</timeout> <!-- Mandatory: When should the request expire if not fulfilled. e.g 2 days --> <serviceName>StudentPersonals</serviceName> <method>Refresh</method> <!-- Mandatory: Unique ID/Name or requested method --> <methodParameters> <!-- Optional: parameters applicable for the specific admin request. --> <methodParameter> <paramName>RefId</paramName> <paramValue>5b72f2d4-7a83-4297-a71f-8b5fb26cbf14</paramValue> <comparisonType>EQUAL</comparisonType> <!-- optional: If not provided EQUAL is assumed --> </methodParameter> <methodParameter> <paramName>DOB:Year</paramName> <paramValue>2010</paramValue> <comparisonType>GREATER</comparisonType> </methodParameter> <methodParameter> <paramName>RequireIsolation</paramName> <paramValue>TRUE</paramValue> </methodParameter> </methodParameters> </adminDirective>
Example 3.4.1-2: adminDirective2

3.4.2 createResponse

An HTTP Response with a status of 200 and a payload consisting of a single "createResponse" element. This includes, for each requested object successfully created, an internal status of 201 and the service-assigned refId. Any requested object that failed to be created is indicated by an error statusCode and a corresponding error payload.

SIF_Events are not reported for this object.

createResponse
Figure 3.4.2-1: createResponse createResponse creates
 Element/@AttributeCharPrivacy RatingDescriptionType
 createResponse  

An HTTP Response with a status of 200 and a payload consisting of a single "createResponse" element. This includes, for each requested object successfully created, an internal status of 201 and the service-assigned refId. Any requested object that failed to be created is indicated by an error statusCode and a corresponding error payload.

 
 
 createsM  createsType
Table 3.4.2-1: createResponse
[ { "createResponse": { "creates": { "create": [ { "id": "df789e1c-dfe7-4c18-8ef0-d907b81ea61e", "advisoryId": "3", "statusCode": "201", "value": "" }, { "advisoryId": "1", "statusCode": "409", "error": { "id": "6f789e1c-dfe7-4c18-8ef0-d907b81ea61e", "code": 409, "scope": "StateConflict", "message": "Student already exists!" } }, { "id": "ff789e1c-dfe7-4c18-8ef0-d907b81ea61e", "advisoryId": "2", "statusCode": "201", "value": "" } ] } } } ]
<createResponse> <creates> <create id="df789e1c-dfe7-4c18-8ef0-d907b81ea61e" advisoryId="3" statusCode="201" /> <create advisoryId="1" statusCode="409"> <error id="6f789e1c-dfe7-4c18-8ef0-d907b81ea61e"> <code>409</code> <scope>StateConflict</scope> <message>Student already exists!</message> </error> </create> <create id="ff789e1c-dfe7-4c18-8ef0-d907b81ea61e" advisoryId="2" statusCode="201" /> </creates> </createResponse>
Example 3.4.2-1: createResponse
[ { "createResponse": { "creates": { "create": [ { "id": "164da5d9bcbf4cf8a058ba0b0efde9ba", "advisoryId": "164da5d9bcbf4cf8a058ba0b0efde9ba", "statusCode": "404", "error": { "id": "ebd279f5-fd40-4f1a-80c1-894b922df670", "code": 400, "scope": "create student", "message": "Data not good." } }, { "id": "24ed508e1ed04bba82198233efa55859", "advisoryId": "24ed508e1ed04bba82198233efa55859", "statusCode": "201", "value": "" }, { "id": "2ae2d4a3a3c04d77ad843b73adac7747", "advisoryId": "2ae2d4a3a3c04d77ad843b73adac7747", "statusCode": "201", "value": "" }, { "id": "2bc9ff83dbbe44e596da64b7271ec25e", "advisoryId": "2bc9ff83dbbe44e596da64b7271ec25e", "statusCode": "404", "error": { "id": "db54c074-7b63-4898-9311-8b14113d1536", "code": 400, "scope": "create student", "message": "Data not good." } }, { "id": "399f1200f6034d8fbeda72a81b634639", "advisoryId": "399f1200f6034d8fbeda72a81b634639", "statusCode": "201", "value": "" } ] } } } ]
<createResponse> <creates> <create id="164da5d9bcbf4cf8a058ba0b0efde9ba" advisoryId="164da5d9bcbf4cf8a058ba0b0efde9ba" statusCode="404"> <error id="ebd279f5-fd40-4f1a-80c1-894b922df670"> <code>400</code> <scope>create student</scope> <message>Data not good.</message> </error> </create> <create id="24ed508e1ed04bba82198233efa55859" advisoryId="24ed508e1ed04bba82198233efa55859" statusCode="201" /> <create id="2ae2d4a3a3c04d77ad843b73adac7747" advisoryId="2ae2d4a3a3c04d77ad843b73adac7747" statusCode="201" /> <create id="2bc9ff83dbbe44e596da64b7271ec25e" advisoryId="2bc9ff83dbbe44e596da64b7271ec25e" statusCode="404"> <error id="db54c074-7b63-4898-9311-8b14113d1536"> <code>400</code> <scope>create student</scope> <message>Data not good.</message> </error> </create> <create id="399f1200f6034d8fbeda72a81b634639" advisoryId="399f1200f6034d8fbeda72a81b634639" statusCode="201" /> </creates> </createResponse>
Example 3.4.2-2: createResponse2

3.4.3 deleteResponse

An HTTP Response with a status of 200 (success). It contains a payload consisting of a single "deleteResponse" element.

SIF_Events are not reported for this object.

deleteResponse
Figure 3.4.3-1: deleteResponse deleteResponse deletes
 Element/@AttributeCharPrivacy RatingDescriptionType
 deleteResponse  

An HTTP Response with a status of 200 (success). It contains a payload consisting of a single "deleteResponse" element.

 
 
 deletesM  deleteStatusCollectionType
Table 3.4.3-1: deleteResponse
[ { "deleteResponse": { "deletes": { "delete": [ { "id": "df789e1c-dfe7-4c18-8ef0-d907b81ea61e", "statusCode": "200", "value": "" }, { "id": "abc89e1c-34e7-4cde-908a-d9abc81ea09a", "statusCode": "404", "error": { "id": "6f789e1c-dfe7-4c18-8ef0-d907b81ea61e", "code": 404, "scope": "Not Found", "message": "Student does not exist!" } }, { "id": "ff789e1c-dfe7-4c18-8ef0-d907b81ea61e", "statusCode": "200", "value": "" } ] } } } ]
<deleteResponse> <deletes> <delete id="df789e1c-dfe7-4c18-8ef0-d907b81ea61e" statusCode="200" /> <delete id="abc89e1c-34e7-4cde-908a-d9abc81ea09a" statusCode="404"> <error id="6f789e1c-dfe7-4c18-8ef0-d907b81ea61e"> <code>404</code> <scope>Not Found</scope> <message>Student does not exist!</message> </error> </delete> <delete id="ff789e1c-dfe7-4c18-8ef0-d907b81ea61e" statusCode="200" /> </deletes> </deleteResponse>
Example 3.4.3-1: deleteResponse

3.4.4 error

SIF_Events are reported for this object.

error
Figure 3.4.4-1: error error
 Element/@AttributeCharPrivacy RatingDescriptionType
 error   Extension of errorCommonType
@idO  xs:token
 codeM 

Corresponds to the value contained in the HTTPS Header Status-Code" field in which the Error Object is the payload.

 
xs:unsignedInt
 scopeM 

Attempted operation. Ex: "Modify Student"

 
xs:string
 typeO 

Indicator if the error relates to infrastructure or data.

 
errorTypeType
values:
INFRASTRUCTURE
DATA
 subCodeO 

Machine readable second code used to eliminate ambiguity.

 
xs:string
 messageM 

A simple, easy to understand, compact description of the error. The primary consumer of this message is the application user. Example: "Unable to open database."

 
xs:string
 descriptionOnillable="false" 

An optional error description that is more complete and technical in nature. It is to be used as a diagnostic message in trouble-shooting procedures. Example: "The 'Students' table is opened in exclusive mode by user 'ADM1' (dbm.cpp, line 300)."

 
xs:string
 errorDetailsO  errorDetailsType
Table 3.4.4-1: error
[ { "error": { "id": "E6011A0E-FBFD-4DD4-B361-6235E0B250FC", "code": 503, "scope": "Modify Student", "message": "Unable to open database.", "description": "The 'Students' table is opened in exclusive mode by user 'ADM1' (dbm.cpp, line 300)." } } ]
<error id="E6011A0E-FBFD-4DD4-B361-6235E0B250FC"> <code>503</code> <scope>Modify Student</scope> <message>Unable to open database.</message> <description>The 'Students' table is opened in exclusive mode by user 'ADM1' (dbm.cpp, line 300).</description> </error>
Example 3.4.4-1: error
[ { "error": { "id": "5b72f2d4-7a83-4297-a71f-8b5fb26cbf14", "code": 410, "scope": "Provider", "type": "INFRASTRUCTURE", "subCode": "001", "message": "Gone", "description": "The provided HTTP header dataPrivacyMarker is no longer valid.", "errorDetails": { "errorDetail": [ { "id": "89209C52-E5C4-416F-BBAF-974D09AA79F4", "type": "INFRASTRUCTURE", "subCode": "001", "message": "Invalid dataPrivacyMarker", "description": "The provided HTTP header dataPrivacyMarker is no longer valid." }, { "id": "0394E69C-4A73-4755-9C92-A64FA7F16AB8", "type": "INFRASTRUCTURE", "subCode": "002", "message": "Invalid changesSinceMarker", "description": "The provided URL Query parameter changesSinceMarker is no longer valid." }, { "id": "E60BCFE3-7ACC-4A69-9634-32FB99377F80", "type": "DATA", "subCode": "2001", "message": "Invalid birthdate", "description": "The student’s birthdate is a future date." }, { "id": "39B434FB-42F3-4FAA-9163-ED25801C7F9A", "type": "DATA", "subCode": "2017", "message": "Already Enrolled", "description": "The student is already enrolled at another school" } ] } } } ]
<error id="5b72f2d4-7a83-4297-a71f-8b5fb26cbf14"> <code>410</code> <scope>Provider</scope> <type>INFRASTRUCTURE</type> <!-- NEW --> <subCode>001</subCode> <!-- NEW --> <message>Gone</message> <description>The provided HTTP header dataPrivacyMarker is no longer valid.</description> <errorDetails> <!-- EXTENSION: NEW and optional --> <errorDetail id="89209C52-E5C4-416F-BBAF-974D09AA79F4"> <type>INFRASTRUCTURE</type> <!-- NEW --> <subCode>001</subCode> <!-- NEW --> <message>Invalid dataPrivacyMarker</message> <description>The provided HTTP header dataPrivacyMarker is no longer valid.</description> </errorDetail> <errorDetail id="0394E69C-4A73-4755-9C92-A64FA7F16AB8"> <type>INFRASTRUCTURE</type> <!-- NEW --> <subCode>002</subCode> <!-- NEW --> <message>Invalid changesSinceMarker</message> <description>The provided URL Query parameter changesSinceMarker is no longer valid.</description> </errorDetail> <errorDetail id="E60BCFE3-7ACC-4A69-9634-32FB99377F80"> <type>DATA</type> <!-- NEW --> <subCode>2001</subCode> <!-- NEW --> <message>Invalid birthdate</message> <description>The student’s birthdate is a future date.</description> </errorDetail> <errorDetail id="39B434FB-42F3-4FAA-9163-ED25801C7F9A"> <type>DATA</type> <!-- NEW --> <subCode>2017</subCode> <!-- NEW --> <message>Already Enrolled</message> <description>The student is already enrolled at another school</description> </errorDetail> </errorDetails> </error>
Example 3.4.4-2: error2

3.4.5 updateResponse

An HTTP Response with a status of 200 (success) and a location corresponding to the URL of the first successfully modified object. It contains a payload consisting of a single "updateResponse" element.

SIF_Events are not reported for this object.

updateResponse
Figure 3.4.5-1: updateResponse updateResponse updates
 Element/@AttributeCharPrivacy RatingDescriptionType
 updateResponse  

An HTTP Response with a status of 200 (success) and a location corresponding to the URL of the first successfully modified object. It contains a payload consisting of a single "updateResponse" element.

 
 
 updatesM  updatesType
Table 3.4.5-1: updateResponse
[ { "updateResponse": { "updates": { "update": [ { "id": "df789e1c-dfe7-4c18-8ef0-d907b81ea61e", "statusCode": "200", "value": "" }, { "id": "41953aaa-2811-11e6-b67b-9e71128cae77", "statusCode": "404", "error": { "id": "6f789e1c-dfe7-4c18-8ef0-d907b81ea61e", "code": 404, "scope": "Not Found", "message": "Student does not exist!" } }, { "id": "ff789e1c-dfe7-4c18-8ef0-d907b81ea61e", "statusCode": "200", "value": "" } ] } } } ]
<updateResponse> <updates> <update id="df789e1c-dfe7-4c18-8ef0-d907b81ea61e" statusCode="200" /> <update id="41953aaa-2811-11e6-b67b-9e71128cae77" statusCode="404"> <error id="6f789e1c-dfe7-4c18-8ef0-d907b81ea61e"> <code>404</code> <scope>Not Found</scope> <message>Student does not exist!</message> </error> </update> <update id="ff789e1c-dfe7-4c18-8ef0-d907b81ea61e" statusCode="200" /> </updates> </updateResponse>
Example 3.4.5-1: updateResponse
[ { "updateResponse": { "updates": { "update": [ { "id": "164da5d9bcbf4cf8a058ba0b0efde9ba", "statusCode": "404", "error": { "id": "7ab3ce5f-23ba-44d4-8668-3b220603b954", "code": 404, "scope": "Student Not Found", "message": "Student with GUID = 164da5d9bcbf4cf8a058ba0b0efde9ba does not exist." } }, { "id": "24ed508e1ed04bba82198233efa55859", "statusCode": "200", "value": "" }, { "id": "2ae2d4a3a3c04d77ad843b73adac7747", "statusCode": "200", "value": "" }, { "id": "2bc9ff83dbbe44e596da64b7271ec25e", "statusCode": "404", "error": { "id": "1e982133-7a67-4955-bb57-4d3b0853d64b", "code": 404, "scope": "Student Not Found", "message": "Student with GUID = 2bc9ff83dbbe44e596da64b7271ec25e does not exist." } }, { "id": "399f1200f6034d8fbeda72a81b634639", "statusCode": "200", "value": "" } ] } } } ]
<updateResponse> <updates> <update id="164da5d9bcbf4cf8a058ba0b0efde9ba" statusCode="404"> <error id="7ab3ce5f-23ba-44d4-8668-3b220603b954"> <code>404</code> <scope>Student Not Found</scope> <message>Student with GUID = 164da5d9bcbf4cf8a058ba0b0efde9ba does not exist.</message> </error> </update> <update id="24ed508e1ed04bba82198233efa55859" statusCode="200" /> <update id="2ae2d4a3a3c04d77ad843b73adac7747" statusCode="200" /> <update id="2bc9ff83dbbe44e596da64b7271ec25e" statusCode="404"> <error id="1e982133-7a67-4955-bb57-4d3b0853d64b"> <code>404</code> <scope>Student Not Found</scope> <message>Student with GUID = 2bc9ff83dbbe44e596da64b7271ec25e does not exist.</message> </error> </update> <update id="399f1200f6034d8fbeda72a81b634639" statusCode="200" /> </updates> </updateResponse>
Example 3.4.5-2: updateResponse2

3.5 SIF Infrastructure Services

3.5.1 environment

The Consumer Environment Service is the gateway to all other services. It scopes the Consumer's possible interactions with the infrastructure and any Provider Services accessible from it. The Environment Service provides the set of (possibly customized) information the Application needs to interoperate successfully.

SIF_Events are not reported for this object.

environment
Figure 3.5.1-1: environment environment type id fingerprint sessionToken solutionId defaultZone authenticationMethod instanceId userToken consumerName applicationInfo infrastructureServices provisionedZones
 Element/@AttributeCharPrivacy RatingDescriptionType
 environment  

The Consumer Environment Service is the gateway to all other services. It scopes the Consumer's possible interactions with the infrastructure and any Provider Services accessible from it. The Environment Service provides the set of (possibly customized) information the Application needs to interoperate successfully.

 
 
@typeO  environmentTypeType
values:
DIRECT
BROKERED
@
key
idO  uuidType
 fingerprintOnillable="false" 

Unique environment identifier that can be safely shared with others. In order to not compromise security it MUST NOT match the environment's refId, sessionToken, userToken, or applicationKey.

 
xs:token
 sessionTokenOnillable="false"  xs:token
 solutionIdOnillable="false" 

The solution the Application would like to participate in. This is optional only, is advisory, and may be ignored by the Administrator. If processed it may be reflected in the URLs of the infrastructure services which are provided in the consumerEnvironment.

 
xs:token
 defaultZoneOnillable="false"  defaultZoneType
 authenticationMethodOnillable="false" 

Defines the way in which the applicationKey can be used to enforce security.

 
xs:token
 instanceIdOnillable="false"  xs:token
 userTokenOnillable="false"  xs:string
 consumerNameOnillable="false" 

A descriptive name for the application that will be readily identifiable to Zone Administrators if it becomes a Registered Consumer

 
xs:string
 applicationInfoOnillable="false"  applicationInfoType
 infrastructureServicesOnillable="false"  infrastructureServicesType
 provisionedZonesOnillable="false"  provisionedZonesType
Table 3.5.1-1: environment
[ { "environment": { "type": "DIRECT", "id": "B5Fd5DfB-ca3b-162a-5657-dDf31E32cE92", "fingerprint": "f5688c40-97d2-11e6-ae22-56b6b6499611", "sessionToken": "a579ff69-0148-1000-007f-14109fdcaf83", "solutionId": "production", "defaultZone": { "id": "District", "description": "The zone for the local school district.", "properties": { "property": [ { "name": "email", "value": "john.smith@district.k12.wa.us" }, { "name": "phone", "value": "(360)555-1234" } ] } }, "authenticationMethod": "SIF_HMACSHA256", "instanceId": "1", "userToken": "MmZkMjVmODItYjAxMC00NTFiLWFjZTEtNmRjNTI4MWYwZjdlOmhpdHNAbnNpcA==", "consumerName": "Example Consumer", "applicationInfo": { "applicationKey": "Example", "supportedInfrastructureVersion": "3.1", "dataModelNamespace": "http://www.sifassociation.org/datamodel/na/3.3", "transport": "REST", "applicationProduct": { "vendorName": "SIF Association", "productName": "Fingertips Classroom App", "productVersion": "1.0.4", "iconURI": "https://www.sifassociation.org/PublishingImages/SIF%20Assoc%20symbol_LARGE.png " } }, "infrastructureServices": { "infrastructureService": [ { "name": "environment", "value": "https://testharness.sifassociation.org/SIFConnector/AdaptorServer/0f 21cf0b-014c-1000-007f-00505686707f/environment/0f21cf0b-014c-1000-007f00505686707f" }, { "name": "requestsConnector", "value": "https://testharness.sifassociation.org/SIFConnector/AdaptorSer ver/0f21cf0b-014c-1000-007f-00505686707f/requests" } ] }, "provisionedZones": { "provisionedZone": [ { "id": "District", "services": { "service": [ { "name": "students", "contextId": "DEFAULT", "type": "OBJECT", "rights": { "right": [ { "type": "QUERY", "value": "APPROVED" } ] } }, { "name": "sections", "contextId": "DEFAULT", "type": "OBJECT", "rights": { "right": [ { "type": "QUERY", "value": "APPROVED" } ] } } ] } } ] } } } ]
<environment type="DIRECT" id="B5Fd5DfB-ca3b-162a-5657-dDf31E32cE92"> <fingerprint>f5688c40-97d2-11e6-ae22-56b6b6499611</fingerprint> <sessionToken>a579ff69-0148-1000-007f-14109fdcaf83</sessionToken> <solutionId>production</solutionId> <defaultZone id="District"> <description>The zone for the local school district.</description> <properties> <property name="email">john.smith@district.k12.wa.us</property> <property name="phone">(360)555-1234</property> </properties> </defaultZone> <authenticationMethod>SIF_HMACSHA256</authenticationMethod> <instanceId>1</instanceId> <userToken>MmZkMjVmODItYjAxMC00NTFiLWFjZTEtNmRjNTI4MWYwZjdlOmhpdHNAbnNpcA==</userToken> <consumerName>Example Consumer</consumerName> <applicationInfo> <applicationKey>Example</applicationKey> <supportedInfrastructureVersion>3.1</supportedInfrastructureVersion> <dataModelNamespace>http://www.sifassociation.org/datamodel/na/3.3</dataModelNamespace> <transport>REST</transport> <applicationProduct> <vendorName>SIF Association</vendorName> <productName>Fingertips Classroom App</productName> <productVersion>1.0.4</productVersion> <iconURI>https://www.sifassociation.org/PublishingImages/SIF%20Assoc%20symbol_LARGE.png </iconURI> </applicationProduct> </applicationInfo> <infrastructureServices> <infrastructureService name="environment">https://testharness.sifassociation.org/SIFConnector/AdaptorServer/0f 21cf0b-014c-1000-007f-00505686707f/environment/0f21cf0b-014c-1000-007f00505686707f</infrastructureService> <infrastructureService name="requestsConnector">https://testharness.sifassociation.org/SIFConnector/AdaptorSer ver/0f21cf0b-014c-1000-007f-00505686707f/requests</infrastructureService> </infrastructureServices> <provisionedZones> <provisionedZone id="District"> <services> <service name="students" contextId="DEFAULT" type="OBJECT"> <rights> <right type="QUERY">APPROVED</right> </rights> </service> <service name="sections" contextId="DEFAULT" type="OBJECT"> <rights> <right type="QUERY">APPROVED</right> </rights> </service> </services> </provisionedZone> </provisionedZones> </environment>
Example 3.5.1-1: environment

3.5.2 job

All functional services must use this object design to track state. While Events may be published back to the objects creator, they must not be published to the Consumer when the event was generated based on its request (since results were included in the response). Each functional service should define the expectations of how management of the job is managed for both the Consumer and Provider. For instance, certain optional fields may need to be included in-order-to successfully cause a job to be created.

SIF_Events are reported for this object.

job
Figure 3.5.2-1: job job id name description state stateDescription created lastModified timeout phases initialization
 Element/@AttributeCharPrivacy RatingDescriptionType
 job  

All functional services must use this object design to track state. While Events may be published back to the objects creator, they must not be published to the Consumer when the event was generated based on its request (since results were included in the response). Each functional service should define the expectations of how management of the job is managed for both the Consumer and Provider. For instance, certain optional fields may need to be included in-order-to successfully cause a job to be created.

 
 
@
key
idO  uuidType
 nameM 

The name of the job, e.g. "grading" or "sre".

 
xs:token
 descriptionOnillable="false" 

A description of the job, e.g. "Bowers Elementary School Final Marks"

 
xs:string
 stateOnillable="false" 

The current enumerable state of the job.

 
jobStateType
values:
NOTSTARTED
INPROGRESS
COMPLETED
FAILED
 stateDescriptionOnillable="false" 

A descriptive message elaborating on the current state, e.g. if the current state is "FAILED" the stateDescription may be "Timeout occured".

 
xs:string
 createdOnillable="false" 

The datetime this job was created.

 
xs:dateTime
 lastModifiedOnillable="false" 

The datetime this job was last modified.

 
xs:dateTime
 timeoutOnillable="false" 

The ammount of time after creation before this job is automatically deleted.

 
xs:duration
 phasesOnillable="false" 

The phases that make up this job.

 
phaseCollectionType
 initializationOnillable="false"  initializationType
Table 3.5.2-1: job
[ { "job": { "id": "8dc59f05-4ed6-48e1-9985-f0ef27fed09d", "name": "rolloverStudent", "description": "Rollover Student from year X to year Y", "state": "NOTSTARTED", "stateDescription": "Not Started", "created": "2018-09-03T18:06:56.362-07:00", "timeout": "P30D", "phases": { "phase": [ { "name": "oldYearEnrolment", "states": { "state": [ { "type": "NOTSTARTED" } ] }, "required": true, "rights": { "right": [ { "type": "UPDATE", "value": "APPROVED" } ] }, "statesRights": { "right": [ { "type": "QUERY", "value": "APPROVED" }, { "type": "CREATE", "value": "APPROVED" } ] } }, { "name": "newYearEnrolment", "states": { "state": [ { "type": "NOTSTARTED" } ] }, "required": true, "rights": { "right": [ { "type": "CREATE", "value": "APPROVED" } ] }, "statesRights": { "right": [ { "type": "QUERY", "value": "APPROVED" }, { "type": "CREATE", "value": "APPROVED" } ] } } ] } } } ]
<job id="8dc59f05-4ed6-48e1-9985-f0ef27fed09d"> <name>rolloverStudent</name> <description>Rollover Student from year X to year Y</description> <state>NOTSTARTED</state> <stateDescription>Not Started</stateDescription> <created>2018-09-04T09:06:56.362+08:00</created> <timeout>P30D</timeout> <phases> <phase> <name>oldYearEnrolment</name> <states> <state> <type>NOTSTARTED</type> </state> </states> <required>true</required> <rights> <right type="UPDATE">APPROVED</right> </rights> <statesRights> <right type="QUERY">APPROVED</right> <right type="CREATE">APPROVED</right> </statesRights> </phase> <phase> <name>newYearEnrolment</name> <states> <state> <type>NOTSTARTED</type> </state> </states> <required>true</required> <rights> <right type="CREATE">APPROVED</right> </rights> <statesRights> <right type="QUERY">APPROVED</right> <right type="CREATE">APPROVED</right> </statesRights> </phase> </phases> </job>
Example 3.5.2-1: job

3.5.3 provisionRequest

If an Environment supports self-provisioning Consumers than either this section must initially contain all the rights the Consumer has to all Services in all Zones, or the provisionRequests Infrastructure Service must be present in the Consumer's Environment to allow additional rights to be obtained.

SIF_Events are not reported for this object.

provisionRequest
Figure 3.5.3-1: provisionRequest provisionRequest id completionStatus provisionedZones
 Element/@AttributeCharPrivacy RatingDescriptionType
 provisionRequest  

If an Environment supports self-provisioning Consumers than either this section must initially contain all the rights the Consumer has to all Services in all Zones, or the provisionRequests Infrastructure Service must be present in the Consumer's Environment to allow additional rights to be obtained.

 
 
@
key
idOLow uuidType
@completionStatusO  values:
ACCEPTED
MIXED
REJECTED
 provisionedZonesM 

A specific Zone defined for this environment.

 
provisionedZonesType
Table 3.5.3-1: provisionRequest
[ { "provisionRequest": { "id": "D3E34B39-9D79-4019-8C39-00AA001A1659", "provisionedZones": { "provisionedZone": [ { "id": "SuffolkMiddleSchool", "services": { "service": [ { "type": "OBJECT", "name": "students", "contextId": "DEFAULT", "rights": { "right": [ { "type": "CREATE", "value": "REQUESTED" }, { "type": "UPDATE", "value": "REQUESTED" } ] } } ] } } ] } } } ]
<provisionRequest id="D3E34B39-9D79-4019-8C39-00AA001A1659"> <provisionedZones> <provisionedZone id="SuffolkMiddleSchool"> <services> <service type="OBJECT" name="students" contextId="DEFAULT"> <rights> <right type="CREATE">REQUESTED</right> <right type="UPDATE">REQUESTED</right> </rights> </service> </services> </provisionedZone> </provisionedZones> </provisionRequest>
Example 3.5.3-1: provisionRequest
[ { "provisionRequest": { "id": "4c7cbebc-71e6-11e9-a923-1681be663d3e", "completionStatus": "MIXED", "provisionedZones": { "provisionedZone": [ { "id": "SuffolkMiddleSchool", "services": { "service": [ { "type": "OBJECT", "name": "students", "contextId": "DEFAULT", "rights": { "right": [ { "type": "CREATE", "value": "REJECTED" }, { "type": "UPDATE", "value": "APPROVED" } ] } } ] } } ] } } } ]
<provisionRequest id="4c7cbebc-71e6-11e9-a923-1681be663d3e" completionStatus="MIXED"> <provisionedZones> <provisionedZone id="SuffolkMiddleSchool"> <services> <service type="OBJECT" name="students" contextId="DEFAULT"> <rights> <right type="CREATE">REJECTED</right> <right type="UPDATE">APPROVED</right> </rights> </service> </services> </provisionedZone> </provisionedZones> </provisionRequest>
Example 3.5.3-2: provisionRequest2

3.5.4 queue

The Queues Service supports creation, deletion and querying of Queue (Instance) / Queue Messages Service pairs.

SIF_Events are not reported for this object.

queue
Figure 3.5.4-1: queue queue id polling ownerId name queueUri ownerUri idleTimeout minWaitTime maxConcurrentConnections created lastAccessed lastModified messageCount
 Element/@AttributeCharPrivacy RatingDescriptionType
 queue  

The Queues Service supports creation, deletion and querying of Queue (Instance) / Queue Messages Service pairs.

 
 
@
key
idO  uuidType
 pollingOnillable="false" 

Determines, when no messages are queued, whether the Consumer will have to periodically reissue Polling Requests at timed intervals or can reissue a Polling Request immediately.

 
values:
IMMEDIATE
LONG
 ownerIdCnillable="false" 

The Environment ID of the owning Consumer for which this Queue is buffering messages. It is not specified at Queue create time, but is returned as part of the response to a query operation, and serves to allow an administrative application to identify which application the Queue instance is assigned to.

 
uuidType
 nameOnillable="false" 

A name which the Consumer assigns to the Queue. It is useful for reporting purposes, but is not guaranteed to be unique.

 
xs:token
 queueUriOnillable="false" 

The URI of the Messages Service associated with the Queue instance. This is the endpoint where the 'get next message' requests are issued.

 
xs:anyURI
 ownerUriOnillable="false" 

When present, this contains the URL which the Queue instance will use when it determines the owner needs to be asynchronously alerted that a new message has arrived in the Queue.

 
xs:anyURI
 idleTimeoutOnillable="false" 

Is the maximum time in seconds the Messages Service will wait for a message to arrive, before returning an HTTPS Response of 'no message seen' to the Consumer.

 
xs:unsignedInt
 minWaitTimeCnillable="false" 

indicates the minimum time in seconds that the Consumer should wait after receiving a 'no message seen' response to a previous query, before posting another.

 
xs:unsignedInt
 maxConcurrentConnectionsOnillable="false" 

Number of (properly identified) concurrent connections supported by (the consumer, if suggested, and) the queue.

 
xs:unsignedInt
 createdOnillable="false" 

Time that Queue Instance was Created

 
xs:dateTime
 lastAccessedOnillable="false" 

Time that Queue Instance was last Accessed and a message was dequeued.

 
xs:dateTime
 lastModifiedOnillable="false" 

Time that Queue Instance was last Modified by receiving a new incoming message.

 
xs:dateTime
 messageCountOnillable="false" 

The number of messages currently residing in the Queue.

 
xs:unsignedInt
Table 3.5.4-1: queue
[ { "queue": { "id": "4c7cc042-71e6-11e9-a923-1681be663d3e", "polling": "IMMEDIATE", "name": "StudentConsumer", "maxConcurrentConnections": 3 } } ]
<queue id="4c7cc042-71e6-11e9-a923-1681be663d3e"> <polling>IMMEDIATE</polling> <name>StudentConsumer</name> <maxConcurrentConnections>3</maxConcurrentConnections> </queue>
Example 3.5.4-1: queue Request
[ { "queue": { "id": "e23fce44-7871-48eb-8952-e27733f59b30", "polling": "IMMEDIATE", "ownerId": "545c31ac-85c7-4360-bd63-24d425be1532", "name": "StudentConsumer", "queueUri": "http://localhost:9080/SIF3InfraREST/sif3/queues/e23fce44-7871-48eb-8952-e27733f59b30/messages", "idleTimeout": 0, "minWaitTime": 30, "maxConcurrentConnections": 3, "created": "2019-02-06T17:09:04.421-08:00", "lastAccessed": "2019-02-06T17:09:04.424-08:00", "lastModified": "2019-02-06T17:09:04.424-08:00", "messageCount": 0 } } ]
<queue id="e23fce44-7871-48eb-8952-e27733f59b30"> <polling>IMMEDIATE</polling> <ownerId>545c31ac-85c7-4360-bd63-24d425be1532</ownerId> <name>StudentConsumer</name> <queueUri>http://localhost:9080/SIF3InfraREST/sif3/queues/e23fce44-7871-48eb-8952-e27733f59b30/messages</queueUri> <idleTimeout>0</idleTimeout> <minWaitTime>30</minWaitTime> <maxConcurrentConnections>3</maxConcurrentConnections> <created>2019-02-07T09:09:04.421+08:00</created> <lastAccessed>2019-02-07T09:09:04.424+08:00</lastAccessed> <lastModified>2019-02-07T09:09:04.424+08:00</lastModified> <messageCount>0</messageCount> </queue>
Example 3.5.4-2: queue Response

3.5.5 state

For states updatable by the Consumer, it creates a new state much like it would a single object. The actual result (state or error) is included in the response. Each functional service should define the expectations for which Adaptor is responsible for updating the phase status. NOTE: The "states" collection represented here is reserved for future capabilities.

SIF_Events are reported for this object.

state
Figure 3.5.5-1: state state
 Element/@AttributeCharPrivacy RatingDescriptionType
 state  

For states updatable by the Consumer, it creates a new state much like it would a single object. The actual result (state or error) is included in the response. Each functional service should define the expectations for which Adaptor is responsible for updating the phase status. NOTE: The "states" collection represented here is reserved for future capabilities.

 
Extension of stateCommonType
@idO  uuidType
 typeM 

The type of this State object.

 
phaseStateType
values:
NOTAPPLICABLE
NOTSTARTED
PENDING
SKIPPED
INPROGRESS
COMPLETED
FAILED
 createdOnillable="false" 

The datetime this job was created.

 
xs:dateTime
 lastModifiedOnillable="false" 

The datetime this job was last modified.

 
xs:dateTime
 descriptionOnillable="false" 

A descriptive message ellaborating the condition of this state, e.g. if the state is "FAILED" the stateDescription may be "Timeout occured".

 
xs:string
Table 3.5.5-1: state
[ { "state": { "id": "B8A255AD-DE11-4376-BD54-EAA4C8871F59", "type": "COMPLETED", "created": "2022-07-02T13:43:57.236Z", "lastModified": "2022-07-02T13:43:57.236Z", "description": "All assessments have been scored and are finalized." } } ]
<state id="B8A255AD-DE11-4376-BD54-EAA4C8871F59"> <type>COMPLETED</type> <created>2022-07-02T13:43:57.236Z</created> <lastModified>2022-07-02T13:43:57.236Z</lastModified> <description>All assessments have been scored and are finalized.</description> </state>
Example 3.5.5-1: state

3.5.6 subscription

A Consumer uses the Subscriptions Infrastructure Service to subscribe to Events published by one or more Service Providers.

SIF_Events are not reported for this object.

subscription
Figure 3.5.6-1: subscription subscription id zoneId contextId serviceType serviceSubType messageType serviceName queueId
 Element/@AttributeCharPrivacy RatingDescriptionType
 subscription  

A Consumer uses the Subscriptions Infrastructure Service to subscribe to Events published by one or more Service Providers.

 
 
@
key
idO  uuidType
 zoneIdM  xs:token
 contextIdOnillable="false" 

The unique identity of a context element, which is associated with a Provider of this name and type operating in a Zone with this ID.

 
xs:token
 serviceTypeM 

The type of the service

 
serviceTypeType
values:
UTILITY
OBJECT
FUNCTIONAL
SERVICEPATH
XQUERYTEMPLATE
SERVICE
 serviceSubTypeO 

The subtype of the Service

 
serviceSubTypeType
values:
adminDirective
 messageTypeO 

The type of the message

 
messageTypeType
values:
EVENT
REQUEST
 serviceNameM 

The name of the Service. For utilities, this is fixed to one of the defined set of Utility Service Names. For objects and functions, it is defined by the Data Model.

 
xs:token
 queueIdM 

Specifies which queues you want data associated with this subscription published to.

 
xs:token
Table 3.5.6-1: subscription
[ { "subscription": { "id": "4c7cc1f0-71e6-11e9-a923-1681be663d3e", "zoneId": "auSchoolTestingZone", "contextId": "DEFAULT", "serviceType": "OBJECT", "serviceName": "StudentPersonals", "queueId": "e23fce44-7871-48eb-8952-e27733f59b30" } } ]
<subscription id="4c7cc1f0-71e6-11e9-a923-1681be663d3e"> <zoneId>auSchoolTestingZone</zoneId> <contextId>DEFAULT</contextId> <serviceType>OBJECT</serviceType> <serviceName>StudentPersonals</serviceName> <queueId>e23fce44-7871-48eb-8952-e27733f59b30</queueId> </subscription>
Example 3.5.6-1: subscription Create
[ { "subscription": { "id": "625124a3-1f8f-4d3a-b014-701404d94c6b", "zoneId": "auSchoolTestingZone", "contextId": "DEFAULT", "serviceType": "OBJECT", "serviceName": "StudentPersonals", "queueId": "e23fce44-7871-48eb-8952-e27733f59b30" } } ]
<subscription id="625124a3-1f8f-4d3a-b014-701404d94c6b"> <zoneId>auSchoolTestingZone</zoneId> <contextId>DEFAULT</contextId> <serviceType>OBJECT</serviceType> <serviceName>StudentPersonals</serviceName> <queueId>e23fce44-7871-48eb-8952-e27733f59b30</queueId> </subscription>
Example 3.5.6-2: subscription Create Response

3.6 Utility Services

3.6.1 alert

Alerts form a system wide log that can be protected, as it may contain sensitive data. Ideally an Alert should contain as much identifying information about the problem being reported as possible.

SIF_Events are not reported for this object.

alert
Figure 3.6.1-1: alert alert id reporter cause exchange level description messageID body error xpath category code internal
 Element/@AttributeCharPrivacy RatingDescriptionType
 alert  

Alerts form a system wide log that can be protected, as it may contain sensitive data. Ideally an Alert should contain as much identifying information about the problem being reported as possible.

 
 
@
key
idO  uuidType
 reporterM 

External identification of the Application (Consumer or Provider) reporting this Alert.

 
xs:token
 causeOnillable="false" 

External identification of the cause of the Alert.

 
xs:token
 exchangeM 

The exchange (or lack of exchange) responsible for generating the Alert.

 
values:
REQUEST
RESPONSE
EVENT
TIMEOUT
OTHER
 levelM 

The level of the Alert.

 
values:
INFO
STATECHANGE
EVENT
WARNING
ERROR
 descriptionOnillable="false" 

A description of the reason for the Alert.

 
xs:normalizedString
 messageIDCnillable="false" 

If available, the ID of the Message causing the problem.

 
xs:token
 bodyOnillable="false" 

The internals of the offending message or a more complete description of the information or state change. Usage of the CDATA designation is recommended in order to make the XML contents more readable to humans.

 
xs:string
 errorOnillable="false" 

Detailed error results such as a stack trace.

 
xs:string
 xpathOnillable="false" 

An indicator of the specific element that was in error (or contributed to the problem. [NEEDS TO BE CHANGED TO the SIF XPATH TYPE]

 
xs:normalizedString
 categoryCnillable="false" 

If the Alert Level is an error, this value must be the SIF 3.0.1 Error Category corresponding to the type of Error being reported

 
xs:unsignedInt
 codeCnillable="false" 

If the Alert Level is an error, this value must be the SIF 3.0.1 Error Code corresponding to the type of Error being reported.

 
xs:unsignedInt
 internalOnillable="false" 

Code internal to the reporter.

 
xs:token
Table 3.6.1-1: alert
[ { "alert": { "id": "d0b128e9-fcec-48e9-8ad7-206ded2ddd7f", "reporter": "LovellSIS", "cause": "KleinmanLMS", "exchange": "REQUEST", "level": "WARNING", "description": "Unable to query assessment scores.", "messageID": "24083F7F-6AB0-4912-B7AA-34C05540E2FA" } } ]
<alert id="d0b128e9-fcec-48e9-8ad7-206ded2ddd7f"> <reporter>LovellSIS</reporter> <cause>KleinmanLMS</cause> <exchange>REQUEST</exchange> <level>WARNING</level> <description>Unable to query assessment scores.</description> <messageID>24083F7F-6AB0-4912-B7AA-34C05540E2FA</messageID> </alert>
Example 3.6.1-1: alert

3.6.2 codeSet

The Code Set Registry Service provides a way for all legal codes to be defined outside of the SIF Specification while allowing changes (additions and replacements) of external code set values to be easily verified by the recipient so as not to break existing Consumer / Provider interoperability.

SIF_Events are not reported for this object.

codeSet
Figure 3.6.2-1: codeSet codeSet id zone version timestamp source codeItems
 Element/@AttributeCharPrivacy RatingDescriptionType
 codeSet  

The Code Set Registry Service provides a way for all legal codes to be defined outside of the SIF Specification while allowing changes (additions and replacements) of external code set values to be easily verified by the recipient so as not to break existing Consumer / Provider interoperability.

 
 
@
key
idO  xs:token
xs:minLength0
xs:maxLength128
 zoneM 

If this is tied to a specific zone it is specified here, otherwise "environment-global" indicates applicability to all zones in the Environment.

 
xs:token
 versionM 

The official major, minor, and revision version of the code set.

 
versionType
 timestampM 

The date and time of the last change to this code set. So that only updates can be queried efficiently (where applicable).

 
xs:dateTime
 sourceCnillable="false" 

URL to an external code set whose values are not (yet) present in the system.

 
uriType
 codeItemsOnillable="false"  codeItemsType
Table 3.6.2-1: codeSet
[ { "codeSet": { "id": "FEDB3FEC-4066-4BC0-882B-DC42CF7C1C0F", "zone": "CamasSchoolDistrict", "version": "1.0", "timestamp": "2022-07-02T14:26:58.762", "source": "https://ceds.ed.gov/element/000328", "codeItems": { "codeItem": [ { "code": "Yes", "value": "Yes", "definition": "An indication that the school has students who are ability grouped for classroom instruction in mathematics or English/reading/language arts.", "action": "ADD", "timestamp": "2022-07-02T14:26:58.762" }, { "code": "No", "value": "No", "action": "ADD", "timestamp": "2022-07-02T14:26:58.762" } ] } } } ]
<codeSet id="FEDB3FEC-4066-4BC0-882B-DC42CF7C1C0F"> <zone>CamasSchoolDistrict</zone> <version>1.0</version> <timestamp>2022-07-02T14:26:58.762</timestamp> <source>https://ceds.ed.gov/element/000328</source> <codeItems> <codeItem> <code>Yes</code> <value>Yes</value> <definition>An indication that the school has students who are ability grouped for classroom instruction in mathematics or English/reading/language arts.</definition> <action>ADD</action> <timestamp>2022-07-02T14:26:58.762</timestamp> </codeItem> <codeItem> <code>No</code> <value>No</value> <action>ADD</action> <timestamp>2022-07-02T14:26:58.762</timestamp> </codeItem> </codeItems> </codeSet>
Example 3.6.2-1: codeSet

3.6.3 namespace

The Namespaces Registry contains the set of XML namespace URIs and their corresponding schema location URLs that are currently valid within the Environment.

SIF_Events are reported for this object.

namespace
Figure 3.6.3-1: namespace namespace id zone uri url
 Element/@AttributeCharPrivacy RatingDescriptionType
 namespace  

The Namespaces Registry contains the set of XML namespace URIs and their corresponding schema location URLs that are currently valid within the Environment.

 
 
@
key
idO  uuidType
 zoneM 

If this namespace is tied to a specific zone it is specified here.

 
xs:token
 uriM 

The namespace URI of the retrieved URL.

 
xs:anyURI
xs:maxLength2048
 urlM 

The URL of the specified namespace URI.

 
xs:anyURI
xs:maxLength2048
Table 3.6.3-1: namespace
[ { "namespace": { "id": "7D818589-364A-467C-800E-7049100A7663", "zone": "CamasSchoolDistrict", "uri": "http://www.sifassociation.org/infrastructure/3.6", "url": "http://specification.sifassociation.org/Implementation/Infrastructure/3.6/XSD/Schema_NoIncludes_Annotated_Strict/SIF_Message.xsd" } } ]
<namespace id="7D818589-364A-467C-800E-7049100A7663"> <zone>CamasSchoolDistrict</zone> <uri>http://www.sifassociation.org/infrastructure/3.6</uri> <url>http://specification.sifassociation.org/Implementation/Infrastructure/3.6/XSD/Schema_NoIncludes_Annotated_Strict/SIF_Message.xsd</url> </namespace>
Example 3.6.3-1: namespace

3.6.4 provider

All potentially accessible Services have an entry in the Providers Registry (including the Providers Registry Utility Service itself), although full or even partial Consumer access to that Service is determined by the access rights currently granted in the Consumer's Environment object, and is not guaranteed.

SIF_Events are reported for this object.

provider
Figure 3.6.4-1: provider provider id serviceType serviceName contextId zoneId providerName querySupport mimeTypes endPoint supportedRequestTypes
 Element/@AttributeCharPrivacy RatingDescriptionType
 provider  

All potentially accessible Services have an entry in the Providers Registry (including the Providers Registry Utility Service itself), although full or even partial Consumer access to that Service is determined by the access rights currently granted in the Consumer's Environment object, and is not guaranteed.

 
 
@
key
idO  uuidType
 serviceTypeM 

The generic type of Service being provided.

 
serviceTypeType
values:
UTILITY
OBJECT
FUNCTIONAL
SERVICEPATH
XQUERYTEMPLATE
SERVICE
 serviceNameM 

The name of the Service or the Service Path being provided.

 
xs:token
 contextIdM 

The name of the Service Context being provided.

 
xs:token
 zoneIdM 

The Zone in which the Service Context is being provided.

 
xs:token
 providerNameM 

The name of the Service Provider as it would be referred to by the administrator of the Zone (ex: RamseySIS).

 
xs:token
 querySupportM  querySupportType
 mimeTypesOnillable="false"  mediaTypesType
 endPointCnillable="false" 

In a Brokered Environment, this element contains the URL where all requests for this Service Provider should be re-invoked by the Connector

 
protocolType
 supportedRequestTypesOnillable="false"  supportedRequestsType
Table 3.6.4-1: provider
[ { "provider": { "id": "EA6F7130-0F61-42CF-8D9C-68A083060B9F", "serviceType": "OBJECT", "serviceName": "StudentPersonal", "contextId": "DEFAULT", "zoneId": "CamasSchoolDistrict", "providerName": "LovellSIS", "querySupport": { "dynamicQuery": true, "queryByExample": false, "changesSinceMarker": false, "paged": false, "maxPageSize": 1000, "totalCount": true, "applicationProduct": { "vendorName": "Lovell Software", "productName": "LovellSIS", "productVersion": "1.0" }, "adapterProduct": { "vendorName": "Kleinman Computers", "productName": "ScalableREST", "productVersion": "3.5" } }, "mimeTypes": { "mediaType": [ "application/xml", "application/json" ] }, "endPoint": { "location": "http://www.example.com/provider/" }, "supportedRequestTypes": { "supportedRequestType": [ { "requestType": "IMMEDIATE", "operations": { "operation": [ "QUERY", "UPDATE", "DELETE" ] } }, { "requestType": "DELAYED", "operations": { "operation": [ "CREATE" ] } } ] } } } ]
<provider id="EA6F7130-0F61-42CF-8D9C-68A083060B9F"> <serviceType>OBJECT</serviceType> <serviceName>StudentPersonal</serviceName> <contextId>DEFAULT</contextId> <zoneId>CamasSchoolDistrict</zoneId> <providerName>LovellSIS</providerName> <querySupport> <dynamicQuery>true</dynamicQuery> <queryByExample>false</queryByExample> <changesSinceMarker>false</changesSinceMarker> <paged>false</paged> <maxPageSize>1000</maxPageSize> <totalCount>true</totalCount> <applicationProduct> <vendorName>Lovell Software</vendorName> <productName>LovellSIS</productName> <productVersion>1.0</productVersion> </applicationProduct> <adapterProduct> <vendorName>Kleinman Computers</vendorName> <productName>ScalableREST</productName> <productVersion>3.5</productVersion> </adapterProduct> </querySupport> <mimeTypes> <mediaType>application/xml</mediaType> <mediaType>application/json</mediaType> </mimeTypes> <endPoint> <location>http://www.example.com/provider/</location> </endPoint> <supportedRequestTypes> <supportedRequestType> <requestType>IMMEDIATE</requestType> <operations> <operation>QUERY</operation> <operation>UPDATE</operation> <operation>DELETE</operation> </operations> </supportedRequestType> <supportedRequestType> <requestType>DELAYED</requestType> <operations> <operation>CREATE</operation> </operations> </supportedRequestType> </supportedRequestTypes> </provider>
Example 3.6.4-1: provider

3.6.5 xquery

This collection defines the entire set of named queries that Consumers may legally issue for execution by Service Providers. A Consumer specifies the ID of a Named XQuery in a Query Request to a specific Service Provider, along with a set of values for any associated script parameters.

SIF_Events are reported for this object.

xquery
Figure 3.6.5-1: xquery xquery id type status qualifier description script parameters returnType
 Element/@AttributeCharPrivacy RatingDescriptionType
 xquery  

This collection defines the entire set of named queries that Consumers may legally issue for execution by Service Providers. A Consumer specifies the ID of a Named XQuery in a Query Request to a specific Service Provider, along with a set of values for any associated script parameters.

 
 
@
key
idC 

The unique ID of the XQuery Template, which is contained in the Query Request URL when this template is being utilized. "Suggested" by the Consumer issuing the create Request, or pre-set in accordance with the binding requirements of a particular SIF release. This is NOT required to be a UUID, and must be provided as the Service Identifier in every Query URL which invokes this Template. Ex: "StudentSnapshot".

 
xs:token
 typeM 

Determines if the query may be sent to a data provider or if it requires the extended XQuery mechanism.

 
values:
SINGULAR
FORMULA
EXTENDED
 statusM 

Communicates if the query has been inspected for data hiding and the results of that assessment.

 
values:
PENDING
APPROVED
DISALLOWED
 qualifierOnillable="false" 

If status is DISALLOWED this element optionally contains the reason.

 
xs:string
xs:minLength0
xs:maxLength1024
 descriptionOnillable="false" 

Human readable description of the XQuery's intended behavior.

 
xs:string
xs:minLength0
xs:maxLength1024
 scriptM 

The text of the XQuery which MAY accept parameters. Usage of the CDATA designation is recommended. An empty value indicates the query is implimented wihtout XQuery or its logic is not disclosed

 
xs:string
xs:minLength0
 parametersM  parametersType
 returnTypeMnillable="true" 

The fully qualified name of the root element returned by this service. Example: http://www.sifassociation.org/datamodel/na/3.3:students

 
xs:anyURI
Table 3.6.5-1: xquery
[ { "xquery": { "id": "CompanyPODs", "type": "EXTENDED", "status": "APPROVED", "description": "Returns all PODs for the specified company.", "script": "", "parameters": { "parameter": [ { "name": "companyid", "type": "xs:unsignedInt", "default": "63", "description": "The companies unique ID from the Student Data Privacy Consortium (SDPC) registry.", "required": true, "range": { "start": 0, "end": 4294967295 }, "minLength": 1, "maxLength": 10 } ] }, "returnType": "http://www.sifassociation.org/infrastructure/3.6:pods" } } ]
<xquery id="CompanyPODs"> <type>EXTENDED</type> <status>APPROVED</status> <description>Returns all PODs for the specified company.</description> <script /> <parameters> <parameter> <name>companyid</name> <type>xs:unsignedInt</type> <default>63</default> <description>The companies unique ID from the Student Data Privacy Consortium (SDPC) registry.</description> <required>true</required> <range> <start>0</start> <end>4294967295</end> </range> <minLength>1</minLength> <maxLength>10</maxLength> </parameter> </parameters> <returnType>http://www.sifassociation.org/infrastructure/3.6:pods</returnType> </xquery>
Example 3.6.5-1: xquery

3.6.6 zone

Zone identifiers are chosen by the administrator and can follow any convention that best meets the needs of the deploying organization. The Zone in which the Service is to be found always qualifies every Consumer request for any Provider Service. Each Service Consumer is assigned a "default" Zone at Registration time, which is used whenever a specific Zone is not explicitly included in one of its Provider Service Requests.

SIF_Events are not reported for this object.

zone
Figure 3.6.6-1: zone zone id description properties
 Element/@AttributeCharPrivacy RatingDescriptionType
 zone  

Zone identifiers are chosen by the administrator and can follow any convention that best meets the needs of the deploying organization. The Zone in which the Service is to be found always qualifies every Consumer request for any Provider Service. Each Service Consumer is assigned a "default" Zone at Registration time, which is used whenever a specific Zone is not explicitly included in one of its Provider Service Requests.

 
 
@
key
idO  xs:token
 descriptionOnillable="false" 

A short (possibly multi-sentence) description of the Zone

 
xs:normalizedString
 propertiesOnillable="false"  propertiesType
Table 3.6.6-1: zone
[ { "zone": { "id": "District", "description": "The zone for the local school district.", "properties": { "property": [ { "name": "email", "value": "john.smith@district.k12.wa.us" }, { "name": "phone", "value": "(360)555-1234" } ] } } } ]
<zone id="District"> <description>The zone for the local school district.</description> <properties> <property name="email">john.smith@district.k12.wa.us</property> <property name="phone">(360)555-1234</property> </properties> </zone>
Example 3.6.6-1: environment

Appendix A: Common Types

Common and supporting types referenced in this specification are included here as a reference.

A.1 adapterFingerprintListType

adapterFingerprintListType
Figure A.1-1: adapterFingerprintListType adapterFingerprintListType adapterFingerprint
 Element/@AttributeCharDescriptionType
 adapterFingerprintListType 

 

List
 adapterFingerprintOR

An opaque marker that represents the amalgam of all underlying PODs tied to a specific DataProcessor-DataController relationship.

 
xs:normalizedString
Table A.1-1: adapterFingerprintListType

A.2 aliasesType

aliasesType
Figure A.2-1: aliasesType aliasesType alias
 Element/@AttributeCharDescriptionType
 aliasesType  List
 aliasMR aliasType
Table A.2-1: aliasesType

A.3 aliasType

aliasType
Figure A.3-1: aliasType aliasType code source namespace
 Element/@AttributeCharDescriptionType
 aliasType   
 codeM codeType
 sourceO

URL where the related abbreviation comes from.

 
uriType
 namespaceO

Namespace where the related abbreviation comes from.

 
uriType
Table A.3-1: aliasType

A.4 alternatePurposeListType

Purposes for which the data may be shared beyond its orginal uses.

alternatePurposeListType
Figure A.4-1: alternatePurposeListType alternatePurposeListType alternatePurpose
 Element/@AttributeCharDescriptionType
 alternatePurposeListType 

Purposes for which the data may be shared beyond its orginal uses.

 
List
 alternatePurposeOR

A purpose for which the data may be shared beyond its orginal uses.

 
xs:normalizedString
Table A.4-1: alternatePurposeListType

A.5 appIDListType

List of application identifiers.

appIDListType
Figure A.5-1: appIDListType appIDListType appID
 Element/@AttributeCharDescriptionType
 appIDListType 

List of application identifiers.

 
List
 appIDOR

The name of the software providing the services for a particular data source.

 
xs:normalizedString
Table A.5-1: appIDListType

A.6 applicationInfoType

applicationInfoType
Figure A.6-1: applicationInfoType applicationInfoType applicationKey supportedInfrastructureVersion dataModelNamespace transport applicationProduct adapterProduct
 Element/@AttributeCharDescriptionType
 applicationInfoType   
 applicationKeyOnillable="false"

An opaque (to the SIF standard) element which contains any required Consumer authentication information. The content of this element is site-specific. For a Direct Environment which accepts Consumer Registration Requests from a mobile application, this element might contain a combination of the User ID and Password.

 
xs:string
 supportedInfrastructureVersionOnillable="false"

The version of the SIF infrastructure which the Consumer supports.

 
xs:string
 dataModelNamespaceOnillable="false"

The namespace of the data payloads conveyed by this environment. Returns may be of a diffrent minor version. Utility payloads will be of the infrastructure namespace.

 
xs:anyURI
 transportOnillable="false"

The transport which the Consumer expects the infrastructure to use to interoperate with it. The default is whichever transport the create request was issued on

 
xs:string
 applicationProductOnillable="false" productIdentityType
 adapterProductOnillable="false" productIdentityType
Table A.6-1: applicationInfoType

A.7 benchmarkListType

A List of benchmarks - where a benchmark is a set of technical or process standards to ensure the clause is met.

benchmarkListType
Figure A.7-1: benchmarkListType benchmarkListType benchmark
 Element/@AttributeCharDescriptionType
 benchmarkListType 

A List of benchmarks - where a benchmark is a set of technical or process standards to ensure the clause is met.

 
List
 benchmarkOR

A benchmark is a set of technical or process standards to ensure the clause is met.

 
benchmarkType
Table A.7-1: benchmarkListType

A.8 benchmarkType

A set of technical or process standards to ensure the clause is met.

benchmarkType
Figure A.8-1: benchmarkType benchmarkType benchmarkName benchmarkId benchmarkDescription benchmarkURL
 Element/@AttributeCharDescriptionType
 benchmarkType

A set of technical or process standards to ensure the clause is met.

 
 
 benchmarkNameO

A name given to the evidence against which privacy obligations or requirements may be assessed or measured.

 
xs:normalizedString
 benchmarkIdO

A unique identifier assigned to an instance of the evidence against which privacy obligations or requirements may be assessed or measured.

 
gCoreLocalIdType
 benchmarkDescriptionO

A description of the evidence against which privacy obligations or requirements may be assessed or measured.

 
xs:normalizedString
 benchmarkURLO

A URL pointing to the evidence against which privacy obligations or requirements may be assessed or measured.

 
xs:anyURI
Table A.8-1: benchmarkType

A.9 clauseListType

A list of the legal clauses within the contract.

clauseListType
Figure A.9-1: clauseListType clauseListType clause
 Element/@AttributeCharDescriptionType
 clauseListType 

A list of the legal clauses within the contract.

 
List
 clauseOR

Details of a legal clause within the contract.

 
clauseType
Table A.9-1: clauseListType

A.10 clauseType

Details of a legal clause within the contract.

clauseType
Figure A.10-1: clauseType clauseType clauseLabel clauseReference clauseContent obligationList
 Element/@AttributeCharDescriptionType
 clauseType

Details of a legal clause within the contract.

 
 
 clauseLabelO

A human friendly handle for refering to the associated clause.

 
xs:normalizedString
 clauseReferenceO

An exact reference within the contract to a specific clause.

 
xs:normalizedString
 clauseContentO

The actual detailed content of the clause.

 
xs:normalizedString
 obligationListO

List of obligations.

 
obligationListType
Table A.10-1: clauseType

A.11 codeItemsType

codeItemsType
Figure A.11-1: codeItemsType codeItemsType codeItem
 Element/@AttributeCharDescriptionType
 codeItemsType  List
 codeItemMR codeItemType
Table A.11-1: codeItemsType

A.12 codeItemType

codeItemType
Figure A.12-1: codeItemType codeItemType code source namespace value description definition aliases action timestamp
 Element/@AttributeCharDescriptionType
 codeItemType   
 codeM

Official abbreviation for the given value.

 
xs:string
 sourceO

URL where the related abbreviation comes from.

 
uriType
 namespaceO

Namespace where the related abbreviation comes from.

 
uriType
 valueMnillable="true"

What the code represents.

 
xs:token
xs:minLength0
xs:maxLength128
 descriptionOnillable="false"

Human readable explanation of what the code represents.

 
xs:normalizedString
xs:minLength0
xs:maxLength1024
 definitionOnillable="false"

Human readable explanation provided by the source!

 
xs:normalizedString
xs:minLength0
xs:maxLength4096
 aliasesOnillable="false" aliasesType
 actionM

The last action to be taken for this code item.

 
values:
ADD
CHANGE
DEPRECATED
DELETE
 timestampM

The date and time of the last action taken on this code item. So that only updates can be queried efficiently (where applicable).

 
xs:dateTime
Table A.12-1: codeItemType

A.13 codeType

codeType
Figure A.13-1: codeType codeType old official value
 Element/@AttributeCharDescriptionType
 codeType   
 oldM

Indicates the alias code has been deprecated or deleted, even if it no longer appears in the register.

 
xs:boolean
 officialM

Indicates the alias code is an official one; however the locale uses this one to represent that concept, at least in part.

 
xs:boolean
 valueM

Alternate abbreviation that might need to be more specific or correct.

 
xs:string
Table A.13-1: codeType

A.14 conditionListType

conditionListType
Figure A.14-1: conditionListType conditionListType condition
 Element/@AttributeCharDescriptionType
 conditionListType 

 

List
 conditionOR

 

conditionType
Table A.14-1: conditionListType

A.15 conditionType

conditionType
Figure A.15-1: conditionType conditionType typeOfCondition conditionName conditionDescription propertyList
 Element/@AttributeCharDescriptionType
 conditionType

 

 
 typeOfConditionO

The name of the parameter used fo enforce the privacy condition.

 
xs:normalizedString
 conditionNameO

The name of the parameter used to enforce the privacy condition.

 
xs:normalizedString
 conditionDescriptionO

The explanation of what the related privacy conditions combine to do in plain terms.

 
xs:normalizedString
 propertyListO

 

propertyNVListType
Table A.15-1: conditionType

A.16 contractType

The details of the contract the POD has been derived from.
contractType
Figure A.16-1: contractType contractType contractURI contractName dateValidFrom dateValidTo contractVersion lawList studentDataIPRights
 Element/@AttributeCharDescriptionType
 contractTypeOThe details of the contract the POD has been derived from.  
 contractURIM

URI associated with contract. This may be a resolvable URL or just a unique identifier.

 
xs:anyURI
 contractNameM

Name associated with contract

 
xs:normalizedString
 dateValidFromM

The initial date that the contract is enforceable.

 
xs:date
 dateValidToO

The date the contract expires and is no longer enforcable.

 
xs:date
 contractVersionO

The version of the contract being represented by the associated elements.

 
xs:normalizedString
 lawListM

List of laws covered referenced by the contract.

 
lawListType
 studentDataIPRightsO

Who owns the intellectual property for any student under this contract.

 
xs:normalizedString
Table A.16-1: contractType

A.17 countryImpactedListType

List of impacted countries in or through which the data transits or is stored.

countryImpactedListType
Figure A.17-1: countryImpactedListType countryImpactedListType countryImpacted
 Element/@AttributeCharDescriptionType
 countryImpactedListType 

List of impacted countries in or through which the data transits or is stored.

 
List
 countryImpactedOR

Name of a country impacted in or through which the data transits or is stored.

 
countryImpactedType
Table A.17-1: countryImpactedListType

A.18 countryImpactedType

countryImpactedType
Figure A.18-1: countryImpactedType countryImpactedType country usage
 Element/@AttributeCharDescriptionType
 countryImpactedType

 

 
 countryO

Name of a country impacted in or through which the data transits or is stored.

 
gCoreCountryType
 usageO

Country specific details about how the processor handles the data.

 
xs:normalizedString
Table A.18-1: countryImpactedType

A.19 createsType

createsType
Figure A.19-1: createsType createsType create
 Element/@AttributeCharDescriptionType
 createsType  List
 createMR createType
Table A.19-1: createsType

A.20 createType

createType
Figure A.20-1: createType createType id advisoryId statusCode error
 Element/@AttributeCharDescriptionType
 createType   
@idO xs:token
@advisoryIdM xs:token
@statusCodeO xs:token
xs:pattern[24-5][0-9]{2}
 errorOnillable="false" errorCommonType
Table A.20-1: createType

A.21 dataAccessType

A list of the data that can be accessed and any rules that specifically apply.

dataAccessType
Figure A.21-1: dataAccessType dataAccessType clauseList fieldList
 Element/@AttributeCharDescriptionType
 dataAccessType 

A list of the data that can be accessed and any rules that specifically apply.

 
 
 clauseListO

A list of clauses that specifically apply to these technical requirements.

 
clauseListType
 fieldListO

A list of fields that can be accessed under this POD. Equivalent to a green list.

 
fieldListType
Table A.21-1: dataAccessType

A.22 dataControllerType

The data controller, means the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data, see GDPR.

dataControllerType
Figure A.22-1: dataControllerType dataControllerType dataControllerName privacyPolicyURL privacyContactList issuesNotificationContactList
 Element/@AttributeCharDescriptionType
 dataControllerType 

The data controller, means the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data, see GDPR.

 
 
 dataControllerNameO

The name of the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data.

 
xs:normalizedString
 privacyPolicyURLM

URL Associated with contract

 
xs:anyURI
 privacyContactListO

The details of the privacy contact.

 
gCoreContactListType
 issuesNotificationContactListO

The details of the individual to be contacted if there are issues in fulfilling the obligations of the contract.

 
gCoreContactListType
Table A.22-1: dataControllerType

A.23 dataDeletionType

Details and requirements for data deletion.

dataDeletionType
Figure A.23-1: dataDeletionType dataDeletionType deleteData dataRetention deleteBy partyToDeleteData respondInDays requirePortability
 Element/@AttributeCharDescriptionType
 dataDeletionType 

Details and requirements for data deletion.

 
 
 deleteDataO

Flag indicating that the data must be deleted when no longer requred for the primary purpose.

 
values:
Y
N
 dataRetentionO

If allowed, the length of time the data be retained when no longer required for the primary purpose.

 
xs:integer
 deleteByO

The specific date should this data be removed from the systems.

 
xs:date
 partyToDeleteDataO

Who is responsible for deletion of this data?

 
partyToDeleteDataType
 respondInDaysO

Maximum response time, number of days, for information regarding this data.

 
xs:integer
 requirePortabilityO

Flag indicating that the rules surrounding this data must be ported with applicable data that is transmitted.

 
values:
Y
N
Table A.23-1: dataDeletionType

A.24 dataProcessorType

The data processor, means a natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller, see GDPR.

dataProcessorType
Figure A.24-1: dataProcessorType dataProcessorType dataProcessorName privacyPolicyURL privacyContactList notifyDataControllerOnAccessRequests dataProcessorContactForAccessRequestsList purposeList alternatePurposeList deidentifiedPurposeList dataUsageMarketingAllowed personalInformationUpdatedFromSource dataBreachNotification dataBreachContactList employeesMustComplyWithAgreement employeeConfidentialityAgreement employeeTrainingList passwordEmployeeAccessStandard securityTestRequiredList countryImpactedList
 Element/@AttributeCharDescriptionType
 dataProcessorType 

The data processor, means a natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller, see GDPR.

 
 
 dataProcessorNameO

The label for the vendor who will be accessing, consuming and/or providing information back to the controller.

 
xs:normalizedString
 privacyPolicyURLM

URL Associated with contract

 
xs:anyURI
 privacyContactListO

The details of the privacy contact.

 
gCoreContactListType
 notifyDataControllerOnAccessRequestsO

Indicates if the processor needs to advise the controller of access requests.

 
values:
Y
N
 dataProcessorContactForAccessRequestsListO

The details of the person to contact for access requests.

 
gCoreContactListType
 purposeListO

A list or purposes for which the data may be used.

 
purposeListType
 alternatePurposeListO

A purpose for which the data may be shared beyond its orginal uses.

 
alternatePurposeListType
 deidentifiedPurposeListO

The purposes for which deidentified data is able to be used (if any).

 
deidentifiedPurposeListType
 dataUsageMarketingAllowedO

Determines whether the data may be used for marketing purposes.

 
values:
Y
N
 personalInformationUpdatedFromSourceO

The frequency at which personal information is to be updated from source systems, including deletions.

 
xs:integer
 dataBreachNotificationO

Determines if notification of those in the breach contact list is required.

 
values:
Y
N
 dataBreachContactListO

Contact details for the individual/s to be notified in the event of a data breach.

 
gCoreContactListType
 employeesMustComplyWithAgreementO

Determines whether the data controller and their staff must also comply with the privacy agreement.

 
values:
Y
N
 employeeConfidentialityAgreementO

Determines whether the data controller and their staff must also comply with the confidentiality agreement.

 
values:
Y
N
 employeeTrainingListO

A list of the data controller employee’s training requirements.

 
employeeTrainingListType
 passwordEmployeeAccessStandardO

A list of the data controller employee’s password access standards.

 
passwordEmployeeAccessStandardType
 securityTestRequiredListO

A list of security testing required to be completed by the data controller.

 
securityTestRequiredListType
 countryImpactedListO

List of impacted countries in or through which the data transits or is stored.

 
countryImpactedListType
Table A.24-1: dataProcessorType

A.25 dataSubjectType

The specific clauses obligations and benchmarks that applies to the subject - teacher, student or parent.

dataSubjectType
Figure A.25-1: dataSubjectType dataSubjectType clauseList benchmarkList fieldList respondInDays requirePortability
 Element/@AttributeCharDescriptionType
 dataSubjectType 

The specific clauses obligations and benchmarks that applies to the subject - teacher, student or parent.

 
 
 clauseListO

 

clauseListType
 benchmarkListO

 

benchmarkListType
 fieldListO

A list of fields that can be accessed under this POD. Equivalent to a green list.

 
fieldListType
 respondInDaysO

Maximum response time, number of days, for information regarding this data.

 
xs:integer
 requirePortabilityO

Flag indicating that the rules surrounding this data must be ported with applicable data that is transmitted.

 
values:
Y
N
Table A.25-1: dataSubjectType

A.26 dataSubProcessorListType

The list of data sub-Processors who are the bodies that process data on behalf of the Data Processor.

dataSubProcessorListType
Figure A.26-1: dataSubProcessorListType dataSubProcessorListType dataSubProcessor
 Element/@AttributeCharDescriptionType
 dataSubProcessorListType 

The list of data sub-Processors who are the bodies that process data on behalf of the Data Processor.

 
List
 dataSubProcessorOR

A data sub-Processors who are the bodies that process data on behalf of the Data Processor.

 
dataSubProcessorType
Table A.26-1: dataSubProcessorListType

A.27 dataSubProcessorType

Details of organisations who process data on behalf of the data processor.

dataSubProcessorType
Figure A.27-1: dataSubProcessorType dataSubProcessorType subProcessorName privacyPolicyURL privacyContactList purposeList
 Element/@AttributeCharDescriptionType
 dataSubProcessorType 

Details of organisations who process data on behalf of the data processor.

 
 
 subProcessorNameO

The name of the natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller.

 
xs:normalizedString
 privacyPolicyURLM

URL Associated with contract

 
xs:anyURI
 privacyContactListO

Details of the data sub processor`s privacy contact.

 
gCoreContactListType
 purposeListO

The purpose for which data is supplied to the data sub processor by the data processor.

 
purposeListType
Table A.27-1: dataSubProcessorType

A.28 defaultZoneType

Zone identifiers are chosen by the administrator and can follow any convention that best meets the needs of the deploying organization. The Zone in which the Service is to be found always qualifies every Consumer request for any Provider Service. Each Service Consumer is assigned a "default" Zone at Registration time, which is used whenever a specific Zone is not explicitly included in one of its Provider Service Requests.

defaultZoneType
Figure A.28-1: defaultZoneType defaultZoneType id description properties
 Element/@AttributeCharDescriptionType
 defaultZoneType 

Zone identifiers are chosen by the administrator and can follow any convention that best meets the needs of the deploying organization. The Zone in which the Service is to be found always qualifies every Consumer request for any Provider Service. Each Service Consumer is assigned a "default" Zone at Registration time, which is used whenever a specific Zone is not explicitly included in one of its Provider Service Requests.

 
 
@idO xs:token
 descriptionOnillable="false"

A short (possibly multi-sentence) description of the Zone

 
xs:normalizedString
 propertiesOnillable="false" propertiesType
Table A.28-1: defaultZoneType

A.29 DefinedProtocolsType

The transport protocols defined in SIF.
DefinedProtocolsType
Figure A.29-1: DefinedProtocolsType DefinedProtocolsType
 Element/@AttributeCharDescriptionType
 DefinedProtocolsType The transport protocols defined in SIF. values:
HTTPS
HTTP
Table A.29-1: DefinedProtocolsType

A.30 deidentifiedPurposeListType

A purposes for which deidentified data may be used.

deidentifiedPurposeListType
Figure A.30-1: deidentifiedPurposeListType deidentifiedPurposeListType deidentifiedPurpose
 Element/@AttributeCharDescriptionType
 deidentifiedPurposeListType 

A purposes for which deidentified data may be used.

 
List
 deidentifiedPurposeOR

A purpose for which deidentified data may be used.

 
xs:normalizedString
Table A.30-1: deidentifiedPurposeListType

A.31 deleteIdCollectionType

deleteIdCollectionType
Figure A.31-1: deleteIdCollectionType deleteIdCollectionType delete
 Element/@AttributeCharDescriptionType
 deleteIdCollectionType  List
 deleteMR deleteIdType
Table A.31-1: deleteIdCollectionType

A.32 deleteIdType

deleteIdType
Figure A.32-1: deleteIdType deleteIdType id
 Element/@AttributeCharDescriptionType
 deleteIdType  EMPTY
@idM xs:token
Table A.32-1: deleteIdType

A.33 deleteStatusCollectionType

deleteStatusCollectionType
Figure A.33-1: deleteStatusCollectionType deleteStatusCollectionType delete
 Element/@AttributeCharDescriptionType
 deleteStatusCollectionType  List
 deleteMR deleteStatusType
Table A.33-1: deleteStatusCollectionType

A.34 deleteStatusType

deleteStatusType
Figure A.34-1: deleteStatusType deleteStatusType id statusCode error
 Element/@AttributeCharDescriptionType
 deleteStatusType   
@idO xs:token
@statusCodeO xs:token
xs:pattern[24-5][0-9]{2}
 errorOnillable="false" errorCommonType
Table A.34-1: deleteStatusType

A.35 employeeTrainingListType

employeeTrainingListType
Figure A.35-1: employeeTrainingListType employeeTrainingListType employeeTraining
 Element/@AttributeCharDescriptionType
 employeeTrainingListType 

 

List
 employeeTrainingOR

 

employeeTrainingType
Table A.35-1: employeeTrainingListType

A.36 employeeTrainingType

employeeTrainingType
Figure A.36-1: employeeTrainingType employeeTrainingType trainingName trainingURL
 Element/@AttributeCharDescriptionType
 employeeTrainingType

 

 
 trainingNameO

The label of the training being given to employees to teach privacy requirements and practices.

 
xs:normalizedString
 trainingURLO

The URL of the training being given to employees to teach privacy requirements and practices.

 
xs:anyURI
Table A.36-1: employeeTrainingType

A.37 endpointListType

endpointListType
Figure A.37-1: endpointListType endpointListType endpoint
 Element/@AttributeCharDescriptionType
 endpointListType 

 

List
 endpointOR

An endpoint covered by the POD.

 
endpointType
Table A.37-1: endpointListType

A.38 endpointType

A type of endpoint.

endpointType
Figure A.38-1: endpointType endpointType endpointURL endpointProviderName
 Element/@AttributeCharDescriptionType
 endpointType

A type of endpoint.

 
 
 endpointURLO

The url of the endpoint.

 
xs:anyURI
 endpointProviderNameO

The name of the provider of the endpoint.

 
xs:normalizedString
Table A.38-1: endpointType

A.39 enumerationsType

enumerationsType
Figure A.39-1: enumerationsType enumerationsType enumeration
 Element/@AttributeCharDescriptionType
 enumerationsType  List
 enumerationMR

Individual setting

 
enumerationType
Table A.39-1: enumerationsType

A.40 enumerationType

enumerationType
Figure A.40-1: enumerationType enumerationType value code
 Element/@AttributeCharDescriptionType
 enumerationType   
 valueM

An acceptable parameter value for this query.

 
xs:token
 codeCnillable="false"

If enumerated value has an equivalent code, this field may be used for conversion.

 
xs:token
Table A.40-1: enumerationType

A.41 environmentTypeType

environmentTypeType
Figure A.41-1: environmentTypeType environmentTypeType
 Element/@AttributeCharDescriptionType
 environmentTypeTypeO values:
DIRECT
BROKERED
Table A.41-1: environmentTypeType

A.42 errorCommonType

errorCommonType
Figure A.42-1: errorCommonType errorCommonType id code scope type subCode message description errorDetails
 Element/@AttributeCharDescriptionType
 errorCommonType   
@idO xs:token
 codeM

Corresponds to the value contained in the HTTPS Header Status-Code" field in which the Error Object is the payload.

 
xs:unsignedInt
 scopeM

Attempted operation. Ex: "Modify Student"

 
xs:string
 typeO

Indicator if the error relates to infrastructure or data.

 
errorTypeType
values:
INFRASTRUCTURE
DATA
 subCodeO

Machine readable second code used to eliminate ambiguity.

 
xs:string
 messageM

A simple, easy to understand, compact description of the error. The primary consumer of this message is the application user. Example: "Unable to open database."

 
xs:string
 descriptionOnillable="false"

An optional error description that is more complete and technical in nature. It is to be used as a diagnostic message in trouble-shooting procedures. Example: "The 'Students' table is opened in exclusive mode by user 'ADM1' (dbm.cpp, line 300)."

 
xs:string
 errorDetailsO errorDetailsType
Table A.42-1: errorCommonType

A.43 errorDetailsType

errorDetailsType
Figure A.43-1: errorDetailsType errorDetailsType errorDetail
 Element/@AttributeCharDescriptionType
 errorDetailsType  List
 errorDetailOR errorDetailType
Table A.43-1: errorDetailsType

A.44 errorDetailType

errorDetailType
Figure A.44-1: errorDetailType errorDetailType id type subCode message description
 Element/@AttributeCharDescriptionType
 errorDetailType   
@idO xs:token
 typeO

Indicator if the error relates to infrastructure or data.

 
errorTypeType
values:
INFRASTRUCTURE
DATA
 subCodeO

Machine readable second code used to eliminate ambiguity.

 
xs:string
 messageM

A simple, easy to understand, compact description of the error. The primary consumer of this message is the application user. Example: "Unable to open database."

 
xs:string
 descriptionOnillable="false"

An optional error description that is more complete and technical in nature. It is to be used as a diagnostic message in trouble-shooting procedures. Example: "The 'Students' table is opened in exclusive mode by user 'ADM1' (dbm.cpp, line 300)."

 
xs:string
Table A.44-1: errorDetailType

A.45 errorTypeType

errorTypeType
Figure A.45-1: errorTypeType errorTypeType
 Element/@AttributeCharDescriptionType
 errorTypeTypeO values:
INFRASTRUCTURE
DATA
Table A.45-1: errorTypeType

A.46 ExtendedContentType

Allows for any mixed XML in an element.
ExtendedContentType
Figure A.46-1: ExtendedContentType ExtendedContentType
 Element/@AttributeCharDescriptionType
 ExtendedContentType Allows for any mixed XML in an element. 
<xs:complexContent mixed="true"> <xs:restriction base="xs:anyType"> <xs:sequence> <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:restriction> </xs:complexContent>
Table A.46-1: ExtendedContentType

A.47 fieldListType

A list of fields that can be accessed under this POD. Equivalent to a green list.

fieldListType
Figure A.47-1: fieldListType fieldListType field
 Element/@AttributeCharDescriptionType
 fieldListType 

A list of fields that can be accessed under this POD. Equivalent to a green list.

 
List
 fieldOR

Details of a field that can be accessed under this POD, equivalent to an element in a green list.

 
fieldType
Table A.47-1: fieldListType

A.48 fieldType

Details of a field that can be accessed under this POD, equivalent to an element in a green list.

fieldType
Figure A.48-1: fieldType fieldType fieldName controlrights
 Element/@AttributeCharDescriptionType
 fieldType

Details of a field that can be accessed under this POD, equivalent to an element in a green list.

 
 
 fieldNameO

The full unique path for the data field being granted access to.

 
xs:normalizedString
 controlrightsO

The level of access being granted to the data.

 
values:
R
RW
Table A.48-1: fieldType

A.49 gCoreAddressListType

A list of Address elements.

gCoreAddressListType
Figure A.49-1: gCoreAddressListType gCoreAddressListType address
 Element/@AttributeCharDescriptionType
 gCoreAddressListType 

A list of Address elements.

 
List
 addressMR Extension of gCoreAddressType
Table A.49-1: gCoreAddressListType
{"sample": " 1 IBM Plaza Suite 2000 Plaza Square Chicago IL USA 60611 " }
<addressList> <address> <line1>1 IBM Plaza</line1> <line2>Suite 2000</line2> <line3>Plaza Square</line3> <city>Chicago</city> <stateProvince>IL</stateProvince> <country>USA</country> <postalCode>60611</postalCode> </address> </addressList>
Example A.49-1: gCoreAddressList Example

A.50 gCoreAddressType

This element contains address data

gCoreAddressType
Figure A.50-1: gCoreAddressType gCoreAddressType effectiveFromDate effectiveToDate line1 line2 line3 city stateProvince country postalCode
 Element/@AttributeCharDescriptionType
 gCoreAddressTypeM

This element contains address data.

 
 
 effectiveFromDateO

Date the address became valid.

 
xs:date
 effectiveToDateO

Date the address ceases to be valid.

 
xs:date
 line1M

Address line 1.

 
xs:normalizedString
 line2O

Address line 2.

 
xs:normalizedString
 line3O

Address line 3.

 
xs:normalizedString
 cityM

The city or Suburb part of the address.

 
xs:normalizedString
 stateProvinceC

The state or province or county.

 
gCoreStateProvinceType
 countryO

The country code.

 
gCoreCountryType
 postalCodeM

The ZIP/postal code.

 
xs:normalizedString
Table A.50-1: gCoreAddressType
{"sample": " 1 IBM Plaza Suite 2000 Plaza Square Chicago WA USA 60611 " }
<address> <line1>1 IBM Plaza</line1> <line2>Suite 2000</line2> <line3>Plaza Square</line3> <city>Chicago</city> <stateProvince>WA</stateProvince> <country>USA</country> <postalCode>60611</postalCode> </address>
Example A.50-1: gCoreAddress Example

A.51 gCoreContactInfoType

Common element used to supply information for a contact person at a school, LEA, or other institution.

gCoreContactInfoType
Figure A.51-1: gCoreContactInfoType gCoreContactInfoType name positionTitle role registrationDetails qualifications address emailList phoneNumberList
 Element/@AttributeCharDescriptionType
 gCoreContactInfoType 

Common element used to supply information for a contact person at a school, LEA, or other institution.

 
 
 nameM

 

gCoreNameType
 positionTitleO

The contact person`s position title.

Examples
Superintendent

xs:normalizedString
 roleO

Role played by this contact in this instance.

Examples
Report Contact
Primary Contact
Alternate Contact

xs:normalizedString
 registrationDetailsORegistration Details of the Contact. xs:normalizedString
 qualificationsOQualifications of the Contact. xs:normalizedString
 addressO

Address of the contact.

 
gCoreAddressType
 emailListO

List of Email elements.

 
gCoreEmailListType
 phoneNumberListO

List of PhoneNumber elements.

 
gCorePhoneNumberListType
Table A.51-1: gCoreContactInfoType
{"sample": " Woodall Charles William Superintendent drseuss@whoville.k12.state.us (02) 9555-0102 " }
<ContactInfo> <name> <familyName>Woodall</familyName> <givenName>Charles</givenName> <otherGivenNames>William</otherGivenNames> </name> <positionTitle>Superintendent</positionTitle> <emailList> <email>drseuss@whoville.k12.state.us</email> </emailList> <phoneNumberList> <phoneNumber> <number>(02) 9555-0102</number> </phoneNumber> </phoneNumberList> </ContactInfo>
Example A.51-1: gCoreContactInfo

A.52 gCoreContactListType

List of Contacts associated with an entity.

gCoreContactListType
Figure A.52-1: gCoreContactListType gCoreContactListType contact
 Element/@AttributeCharDescriptionType
 gCoreContactListType 

List of Contacts associated with an entity.

 
List
 contactMR gCoreContactInfoType
Table A.52-1: gCoreContactListType
{"sample": " Woodall Charles William Superintendent drseuss@whoville.k12.state.us (02) 9555-0102 " }
<contactList> <contact> <name> <familyName>Woodall</familyName> <givenName>Charles</givenName> <otherGivenNames>William</otherGivenNames> </name> <positionTitle>Superintendent</positionTitle> <emailList> <email>drseuss@whoville.k12.state.us</email> </emailList> <phoneNumberList> <phoneNumber> <number>(02) 9555-0102</number> </phoneNumber> </phoneNumberList> </contact> </contactList>
Example A.52-1: gCoreContactList

A.53 gCoreCountryType

A country code or name.

gCoreCountryType
Figure A.53-1: gCoreCountryType gCoreCountryType
 Element/@AttributeCharDescriptionType
 gCoreCountryType 

A country code or name.

 
xs:normalizedString
Table A.53-1: gCoreCountryType
{"sample": "Australia" }
<country>Australia</country>
Example A.53-1: gCoreCountryType

A.54 gCoreEmailListType

A list of e-mail addresses associated with an individual or organization.

gCoreEmailListType
Figure A.54-1: gCoreEmailListType gCoreEmailListType email
 Element/@AttributeCharDescriptionType
 gCoreEmailListType 

A list of e-mail addresses associated with an individual or organization.

 
List
 emailMR

The email address.

 
gCoreEmailType
Table A.54-1: gCoreEmailListType
{"sample": " contact@sifinfo.org info@sifinfo.org " }
<emailList> <email>contact@sifinfo.org</email> <email>info@sifinfo.org</email> </emailList>
Example A.54-1: gCoreEmailListType

A.55 gCoreEmailType

This element represents an e-mail address of one of a number of types and occurs in objects such as StudentPersonal, StaffPersonal, StudentContactPersonal, etc..

gCoreEmailType
Figure A.55-1: gCoreEmailType gCoreEmailType
 Element/@AttributeCharDescriptionType
 gCoreEmailTypeM

This element represents an e-mail address of one of a number of types and occurs in objects such as StudentPersonal, StaffPersonal, StudentContactPersonal, etc..

 
xs:normalizedString
Table A.55-1: gCoreEmailType
{"sample": "contact@sifinfo.org" }
<email>contact@sifinfo.org</email>
Example A.55-1: gCoreEmailType

A.56 gCoreGenderType

gCoreGenderType
Figure A.56-1: gCoreGenderType gCoreGenderType
 Element/@AttributeCharDescriptionType
 gCoreGenderType 

 

values:
M
Male
F
Female
X
Non-binary/Intersex
U
Unknown/Not-defined
Table A.56-1: gCoreGenderType

A.57 gCoreLocalIdType

This is a common element used to define the locally assigned identifier associated with an entity.

gCoreLocalIdType
Figure A.57-1: gCoreLocalIdType gCoreLocalIdType
 Element/@AttributeCharDescriptionType
 gCoreLocalIdType 

This is a common element used to define the locally assigned identifier associated with an entity.

 
xs:normalizedString
Table A.57-1: gCoreLocalIdType
{"sample": "123321A" }
<localId>123321A</localId>
Example A.57-1: gCoreLocalId Example

A.58 gCoreNameType

Core Name Type or Name elements, primarily to allow structure to be leveraged with different Type attribute values.

gCoreNameType
Figure A.58-1: gCoreNameType gCoreNameType title familyName givenName otherGivenNames familyNameFirst preferredName
 Element/@AttributeCharDescriptionType
 gCoreNameType 

Core Name Type or Name elements, primarily to allow structure to be leveraged with different Type attribute values.

 
 
 titleO

A title or prefix associated with the name. If any of: Mr, Mrs, Ms, Miss, Rev, Fr, Dr, Prof, Hon, Sir, Lord, Lady - these must be as shown, otherwise free text. Note that title is not applicable to learners.

 
xs:normalizedString
 familyNameC

Family name. That part of the person`s name which is used to describe family, clan, tribal group, or marital association. Note that this element is required when known. However, it may not be possible to know the family name in which case you should add the available information to the FullName element.

 
xs:normalizedString
 givenNameC

Given name of the person. Note that this element is required if known. However, it may not be possible to know the given name in which case you should add the available information to the FullName element.

 
xs:normalizedString
 otherGivenNamesO

All other given or middle names, each separated with a single space character.

 
xs:normalizedString
 familyNameFirstO

An indicator used to identify the naming conventions used by some predominantly non-European, ethnic or language groups and related to the display nature of a name.

 
values:
Y
N
 preferredNameO

The given name preferred most by the person (as written).

 
xs:normalizedString
Table A.58-1: gCoreNameType
{"sample": " Wesson Melanie Joan N Mel Wesson " }
<name> <familyName>Wesson</familyName> <givenName>Melanie</givenName> <otherGivenNames>Joan</otherGivenNames> <familyNameFirst>N</familyNameFirst> <preferredName>Mel Wesson</preferredName> </name>
Example A.58-1: gCoreName

A.59 gCorePhoneNumberListType

Lists phone numbers associated with an entity.

gCorePhoneNumberListType
Figure A.59-1: gCorePhoneNumberListType gCorePhoneNumberListType phoneNumber
 Element/@AttributeCharDescriptionType
 gCorePhoneNumberListType 

Lists phone numbers associated with an entity.

 
List
 phoneNumberMR gCorePhoneNumberType
Table A.59-1: gCorePhoneNumberListType
{"sample": " (03) 9543 2000 " }
<phoneNumberList> <phoneNumber> <number>(03) 9543 2000</number> </phoneNumber> </phoneNumberList>
Example A.59-1: gCorePhoneNumberList

A.60 gCorePhoneNumberType

This element represents a phone number and occurs within objects such as StudentPersonal, StaffPersonal, etc.

gCorePhoneNumberType
Figure A.60-1: gCorePhoneNumberType gCorePhoneNumberType number extension listedStatus preference
 Element/@AttributeCharDescriptionType
 gCorePhoneNumberType 

This element represents a phone number and occurs within objects such as StudentPersonal, StaffPersonal, etc.

 
 
 numberM

Phone number. Free-form, but typical Australian formats include:

  • (###) ####-####
  • ####-####
  • +##### ### ###
 
xs:normalizedString
 extensionO

Phone number extension.

 
xs:normalizedString
 listedStatusO

Indicates whether or not the phone number is available to the public.

 
values:
Y
N
 preferenceO

Preference number indicating an order in which phone numbers should be used when contacting person.

 
xs:unsignedInt
Table A.60-1: gCorePhoneNumberType
{"sample": " (03) 9543 2000 245 1 " }
<phoneNumber> <number>(03) 9543 2000</number> <extension>245</extension> <preference>1</preference> </phoneNumber>
Example A.60-1: gCorePhoneNumber

A.61 gCoreStateProvinceIdType

The identifier for this entity as assigned by the state or province.

gCoreStateProvinceIdType
Figure A.61-1: gCoreStateProvinceIdType gCoreStateProvinceIdType
 Element/@AttributeCharDescriptionType
 gCoreStateProvinceIdType 

The identifier for this entity as assigned by the state or province.

 
xs:normalizedString
Table A.61-1: gCoreStateProvinceIdType

A.62 gCoreStateProvinceType

A state or province code. Note: When dealing with countries other than Australia, state/province codes/values other than those referenced here can be used.

gCoreStateProvinceType
Figure A.62-1: gCoreStateProvinceType gCoreStateProvinceType
 Element/@AttributeCharDescriptionType
 gCoreStateProvinceType 

A state or province code. Note: When dealing with countries other than Australia, state/province codes/values other than those referenced here can be used.

 
xs:normalizedString
Table A.62-1: gCoreStateProvinceType
{"sample": "ACT" }
<stateProvince>ACT</stateProvince>
Example A.62-1: gCoreStateProvinceType

A.63 infrastructureServiceNamesType

infrastructureServiceNamesType
Figure A.63-1: infrastructureServiceNamesType infrastructureServiceNamesType
 Element/@AttributeCharDescriptionType
 infrastructureServiceNamesTypeO values:
environment
provisionRequests
requestsConnector
eventsConnector
queues
subscriptions
servicesConnector
Table A.63-1: infrastructureServiceNamesType

A.64 infrastructureServicesType

infrastructureServicesType
Figure A.64-1: infrastructureServicesType infrastructureServicesType infrastructureService
 Element/@AttributeCharDescriptionType
 infrastructureServicesType  List
 infrastructureServiceMRminOccurs="2"

There must be an InfrastructureService element present for each defined Infrastructure Service. The value of each InfrastructureService Property value subelement defines the URL location of that Infrastructure Service.

 
infrastructureServiceType
Table A.64-1: infrastructureServicesType

A.65 infrastructureServiceType

infrastructureServiceType
Figure A.65-1: infrastructureServiceType infrastructureServiceType name
 Element/@AttributeCharDescriptionType
 infrastructureServiceType  xs:normalizedString
@nameO infrastructureServiceNamesType
values:
environment
provisionRequests
requestsConnector
eventsConnector
queues
subscriptions
servicesConnector
Table A.65-1: infrastructureServiceType

A.66 initializationType

initializationType
Figure A.66-1: initializationType initializationType phaseName payload
 Element/@AttributeCharDescriptionType
 initializationType   
 phaseNameOnillable="false"

Name of initialization phase the payload corresponds to.

 
xs:token
 payloadM

Information matching the initialization phase, should result in corresponding phase having an INPROGRESS, COMPLETED, or FAILED state.

 
xs:anyType
Table A.66-1: initializationType

A.67 jobStateType

jobStateType
Figure A.67-1: jobStateType jobStateType
 Element/@AttributeCharDescriptionType
 jobStateTypeO values:
NOTSTARTED
INPROGRESS
COMPLETED
FAILED
Table A.67-1: jobStateType

A.68 lawListType

A list of parties and data sharing permissions.

lawListType
Figure A.68-1: lawListType lawListType law
 Element/@AttributeCharDescriptionType
 lawListType 

A list of parties and data sharing permissions.

 
List
 lawOR

A law that applies to this contract.

 
lawType
Table A.68-1: lawListType

A.69 lawType

Information about the specific law.

lawType
Figure A.69-1: lawType lawType lawName lawDescription
 Element/@AttributeCharDescriptionType
 lawType

Information about the specific law.

 
 
 lawNameM

The name of the law support is being included for.

 
xs:normalizedString
 lawDescriptionM

A simplified representation of a law, designed to communicate its intent to any member of the public.

 
xs:normalizedString
Table A.69-1: lawType

A.70 legalRequirementsType

Contains a list of the legal clauses within the contract.

legalRequirementsType
Figure A.70-1: legalRequirementsType legalRequirementsType clauseList
 Element/@AttributeCharDescriptionType
 legalRequirementsType 

Contains a list of the legal clauses within the contract.

 
 
 clauseListM

A list of the legal clauses within the contract.

 
clauseListType
Table A.70-1: legalRequirementsType

A.71 mediaTypesType

mediaTypesType
Figure A.71-1: mediaTypesType mediaTypesType mediaType
 Element/@AttributeCharDescriptionType
 mediaTypesType  List
 mediaTypeMR

An Internet Media Type supported by this adaptor (for this service).

 
xs:token
Table A.71-1: mediaTypesType

A.72 messageTypeType

messageTypeType
Figure A.72-1: messageTypeType messageTypeType
 Element/@AttributeCharDescriptionType
 messageTypeTypeO values:
EVENT
REQUEST
Table A.72-1: messageTypeType

A.73 methodParametersType

methodParametersType
Figure A.73-1: methodParametersType methodParametersType methodParameter
 Element/@AttributeCharDescriptionType
 methodParametersType  List
 methodParameterMR

Individual setting

 
methodParameterType
Table A.73-1: methodParametersType

A.74 methodParameterType

methodParameterType
Figure A.74-1: methodParameterType methodParameterType paramName paramValue comparisonType
 Element/@AttributeCharDescriptionType
 methodParameterType   
 paramNameM

The name of the parameter being passed in.

 
xs:token
 paramValueM

The value of the parameter being passed in.

 
xs:normalizedString
 comparisonTypeOnillable="false"

The operation used to make the comparison. If not provided EQUAL is assumed.

 
xs:token
Table A.74-1: methodParameterType

A.75 obligationListType

A list of requirements imposed by the contract.

obligationListType
Figure A.75-1: obligationListType obligationListType obligation
 Element/@AttributeCharDescriptionType
 obligationListType 

A list of requirements imposed by the contract.

 
List
 obligationOR

A requirement imposed by the contract.

 
obligationType
Table A.75-1: obligationListType

A.76 obligationType

A requirement imposed by the contract.

obligationType
Figure A.76-1: obligationType obligationType obligationDescription obligationURL benchmarkList
 Element/@AttributeCharDescriptionType
 obligationType

A requirement imposed by the contract.

 
 
 obligationDescriptionO

The narrative of an individual requirement imposed by the contract.

 
xs:normalizedString
 obligationURLO

The URL pointing to the official definition of a requirment imposed by the contract.

 
xs:anyURI
 benchmarkListO

A list of benchmarks associated with the obligation.

 
benchmarkListType
Table A.76-1: obligationType

A.77 operationsType

operationsType
Figure A.77-1: operationsType operationsType operation
 Element/@AttributeCharDescriptionType
 operationsType  List
 operationMR operationType
values:
QUERY
CREATE
UPDATE
DELETE
Table A.77-1: operationsType

A.78 operationType

operationType
Figure A.78-1: operationType operationType
 Element/@AttributeCharDescriptionType
 operationType  values:
QUERY
CREATE
UPDATE
DELETE
Table A.78-1: operationType

A.79 parametersType

parametersType
Figure A.79-1: parametersType parametersType parameter
 Element/@AttributeCharDescriptionType
 parametersType  List
 parameterOR

Individual setting

 
parameterType
Table A.79-1: parametersType

A.80 parameterType

parameterType
Figure A.80-1: parameterType parameterType name type default description required enumerations range minLength maxLength
 Element/@AttributeCharDescriptionType
 parameterType   
 nameM

The name of the query parameter to be passed in. Note: Must not conflict with any other query parameter name.

 
xs:token
 typeOnillable="false"

A well understood type that MAY be used for parameter validation. Example: xs:unsignedInt.

 
xs:token
 defaultOnillable="false"

Value to be supplied for this parameter if the submitter omits it.

 
xs:token
 descriptionOnillable="false"

An explanation of what this parameter represents.

 
xs:normalizedString
xs:minLength0
xs:maxLength1024
 requiredOnillable="false"

Indicator as to if this parameter is required. If omitted, the parameter is assumed to be required!.

 
xs:boolean
 enumerationsOnillable="false"

 

enumerationsType
 rangeOnillable="false" rangeType
 minLengthOnillable="false"

The minimum length for values of this parameter. If omitted, zero. May be functionally different because of other restrictions.

 
xs:unsignedInt
 maxLengthOnillable="false"

The maximum length for values of this parameter. If omitted, unbounded. May be functionally different because of other restrictions.

 
xs:unsignedInt
Table A.80-1: parameterType

A.81 partyToDeleteDataType

Who is responsible for deletion of this data?

partyToDeleteDataType
Figure A.81-1: partyToDeleteDataType partyToDeleteDataType organisation deletecontactInfo
 Element/@AttributeCharDescriptionType
 partyToDeleteDataType 

Who is responsible for deletion of this data?

 
 
 organisationO

The group responsible for ensuring the data is removed when required.

 
gCoreLocalIdType
 deletecontactInfoO

 

gCoreContactInfoType
Table A.81-1: partyToDeleteDataType

A.82 passwordEmployeeAccessStandardType

passwordEmployeeAccessStandardType
Figure A.82-1: passwordEmployeeAccessStandardType passwordEmployeeAccessStandardType standardName standardURL
 Element/@AttributeCharDescriptionType
 passwordEmployeeAccessStandardType

 

 
 standardNameO

The label of rule set for the proceessor used to define valid passwords.

 
xs:normalizedString
 standardURLO

A link to an authoritative source for this standard.

 
xs:anyURI
Table A.82-1: passwordEmployeeAccessStandardType

A.83 phaseCollectionType

phaseCollectionType
Figure A.83-1: phaseCollectionType phaseCollectionType phase
 Element/@AttributeCharDescriptionType
 phaseCollectionType  List
 phaseMR phaseType
Table A.83-1: phaseCollectionType

A.84 phaseStateType

phaseStateType
Figure A.84-1: phaseStateType phaseStateType
 Element/@AttributeCharDescriptionType
 phaseStateTypeO values:
NOTAPPLICABLE
NOTSTARTED
PENDING
SKIPPED
INPROGRESS
COMPLETED
FAILED
Table A.84-1: phaseStateType

A.85 phaseType

phaseType
Figure A.85-1: phaseType phaseType name states required rights statesRights
 Element/@AttributeCharDescriptionType
 phaseType   
 nameM

The name of the Phase unique within the context of the owning job.

 
xs:token
 statesM

A collection of the states the Phase has been through, must initially contain a NOTAPPLICABLE or NOTSTARTED state.

 
stateListType
 requiredM

Whether or not this phase is required for the job to complete successfully.

 
xs:boolean
 rightsM

Access rights given to the consumer for this phase.

 
rightsType
 statesRightsM

Access rights given to the consumer for each state.

 
rightsType
Table A.85-1: phaseType

A.86 privacyListType

privacyListType
Figure A.86-1: privacyListType privacyListType privacy
 Element/@AttributeCharDescriptionType
 privacyListType 

 

List
 privacyOR

 

privacyType
Table A.86-1: privacyListType

A.87 privacyObligationsDocumentType

privacyObligationsDocumentType
Figure A.87-1: privacyObligationsDocumentType privacyObligationsDocumentType contract legalRequirements technicalRequirements dataController dataProcessor dataSubProcessorList
 Element/@AttributeCharDescriptionType
 privacyObligationsDocumentType

 

 
 contractO

The details of the contract the POD has been derived from.

 
contractType
 legalRequirementsO

Legal Requirements Container.

 
legalRequirementsType
 technicalRequirementsO

Technical Requirements Container.

 
technicalRequirementsType
 dataControllerO

The data controller, means the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data, see GDPR.

 
dataControllerType
 dataProcessorO

The data processor, means a natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller, see GDPR.

 
dataProcessorType
 dataSubProcessorListO

The list of data sub-Processors who are the bodies that process data on behalf of the Data Processor.

 
dataSubProcessorListType
Table A.87-1: privacyObligationsDocumentType

A.88 privacyType

.

privacyType
Figure A.88-1: privacyType privacyType default appIDList adapterFingerprintList zoneContextList endpointList dataModelNamespace dataModelVersionMin dataModelVersionMax privacyObligationsDocument
 Element/@AttributeCharDescriptionType
 privacyType

.

 
 
 defaultM

Is this the default privacy template?

 
values:
Y
N
 appIDListO

The list of applications in this contract.

 
appIDListType
 adapterFingerprintListO

A list of fingerprints.

 
adapterFingerprintListType
 zoneContextListO

A list zones and contexts where this POD applies.

 
zoneContextListType
 endpointListO

A list of endpoints that are covered by this POD.

 
endpointListType
 dataModelNamespaceO

Namespace associated with the relevant datamodel.

 
xs:anyURI
 dataModelVersionMinO

Minimum data model version.

 
xs:normalizedString
 dataModelVersionMaxO

Maximum data model version.

 
xs:normalizedString
 privacyObligationsDocumentO

The legal and technical requirements that are required to be met to satisfy privacy and security concerns.

 
privacyObligationsDocumentType
Table A.88-1: privacyType

A.89 productIdentityType

productIdentityType
Figure A.89-1: productIdentityType productIdentityType vendorName productName productVersion iconURI
 Element/@AttributeCharDescriptionType
 productIdentityType   
 vendorNameOnillable="false"

The name of the company supplying this Product.

 
xs:string
 productNameM

The name of the Product

 
xs:string
 productVersionOnillable="false"

The format of this field is undefined, but it should match the format used in the agent's conformance statement, if the agent is SIF Certified.

 
xs:string
 iconURIOnillable="false"

HTTP URL referencing an icon for graphical representation of the application/agent. Should range from 16x16 pixels to 128x128 pixels and be of an image MIME type commonly supported by Web browsers (e.g. PNG, JPEG, GIF).

 
xs:anyURI
Table A.89-1: productIdentityType

A.90 propertiesType

propertiesType
Figure A.90-1: propertiesType propertiesType property
 Element/@AttributeCharDescriptionType
 propertiesType  List
 propertyMR

Individual setting

 
propertyType
Table A.90-1: propertiesType

A.91 propertyNVListType

propertyNVListType
Figure A.91-1: propertyNVListType propertyNVListType property
 Element/@AttributeCharDescriptionType
 propertyNVListType 

 

List
 propertyOR

 

propertyNVType
Table A.91-1: propertyNVListType

A.92 propertyNVType

propertyNVType
Figure A.92-1: propertyNVType propertyNVType propertyName propertyValue
 Element/@AttributeCharDescriptionType
 propertyNVType

 

 
 propertyNameO

A short label meant to convey quick meaning of the machine readable expression.

 
xs:normalizedString
 propertyValueO

A machine readable expression designed to specify one aspect of the condition for machine enforcement.

 
xs:normalizedString
Table A.92-1: propertyNVType

A.93 propertyType

propertyType
Figure A.93-1: propertyType propertyType name
 Element/@AttributeCharDescriptionType
 propertyType  xs:normalizedString
@nameM

Name/Value pair.

 
xs:string
Table A.93-1: propertyType

A.94 protocolType

protocolType
Figure A.94-1: protocolType protocolType location properties
 Element/@AttributeCharDescriptionType
 protocolType   
 locationM

The URL to use when sending Requests to a Provider

 
xs:anyURI
 propertiesO

May contain zero or more property elements containing name/value pairs describing any protocol settings required to ensure proper communication

 
propertiesType
Table A.94-1: protocolType

A.95 provisionedZonesType

provisionedZonesType
Figure A.95-1: provisionedZonesType provisionedZonesType provisionedZone
 Element/@AttributeCharDescriptionType
 provisionedZonesType  List
 provisionedZoneMR

A specific Zone defined for this environment.

 
provisionedZoneType
Table A.95-1: provisionedZonesType
{"sample": " UNSUPPORTED APPROVED UNSUPPORTED UNSUPPORTED REJECTED APPROVED SUPPORTED SUPPORTED REJECTED APPROVED REJECTED " }
<provisionedZones> <provisionedZone id="environment-global"> <services> <service type="UTILITY" name="alerts" contextId="DEFAULT"> <rights> <right type="QUERY">UNSUPPORTED</right> <right type="CREATE">APPROVED</right> <right type="UPDATE">UNSUPPORTED</right> <right type="DELETE">UNSUPPORTED</right> <right type="SUBSCRIBE">REJECTED</right> </rights> </service> </services> </provisionedZone> <provisionedZone id="SuffolkMiddleSchool"> <services> <service type="OBJECT" name="students" contextId="DEFAULT"> <rights> <right type="QUERY">APPROVED</right> <right type="CREATE">SUPPORTED</right> <right type="UPDATE">SUPPORTED</right> <right type="DELETE">REJECTED</right> <right type="SUBSCRIBE">APPROVED</right> <right type="PROVIDE">REJECTED</right> </rights> </service> </services> </provisionedZone> </provisionedZones>
Example A.95-1: provisionedZones

A.96 provisionedZoneType

provisionedZoneType
Figure A.96-1: provisionedZoneType provisionedZoneType id services
 Element/@AttributeCharDescriptionType
 provisionedZoneType   
@idM

The unique id of the Zone, and the key to the Zone element in the Zone Registry.

 
xs:string
 servicesOnillable="false" servicesType
Table A.96-1: provisionedZoneType

A.97 purposeListType

A list of the purposes for which data is may be used.

purposeListType
Figure A.97-1: purposeListType purposeListType purpose
 Element/@AttributeCharDescriptionType
 purposeListType 

A list of the purposes for which data is may be used.

 
List
 purposeOR

The purpose for which data may be used.

 
xs:normalizedString
Table A.97-1: purposeListType

A.98 querySupportType

querySupportType
Figure A.98-1: querySupportType querySupportType dynamicQuery queryByExample changesSinceMarker paged maxPageSize totalCount applicationProduct adapterProduct
 Element/@AttributeCharDescriptionType
 querySupportType   
 dynamicQueryOnillable="false"

True if this service is capable of honoring the "where" parameter.

 
xs:boolean
 queryByExampleOnillable="false"

True if this service is capable of honoring query by example payloads.

 
xs:boolean
 changesSinceMarkerOnillable="false"

True if this service is capable of supporting Changes Since Queries.

 
xs:boolean
 pagedOnillable="false"

True if this service is capable of responding to Paged Query Requests (both Interactive and Batch).

 
xs:boolean
 maxPageSizeCnillable="false"

If Paged Queries are supported, this is the maximum number of Objects that will be returned on a Page of Query results.

 
xs:unsignedInt
 totalCountOnillable="false" xs:boolean
 applicationProductCnillable="false"

Application Vendor Identification

 
productIdentityType
 adapterProductOnillable="false"

Adapter Vendor Identification

 
productIdentityType
Table A.98-1: querySupportType

A.99 rangeType

rangeType
Figure A.99-1: rangeType rangeType start end
 Element/@AttributeCharDescriptionType
 rangeType   
 startM

If a numeric range is used, this holds the inclusive starting value.

 
xs:long
 endM

If a numeric range is used, this holds the inclusive ending value.

 
xs:long
Table A.99-1: rangeType

A.100 requestTypeValueType

requestTypeValueType
Figure A.100-1: requestTypeValueType requestTypeValueType
 Element/@AttributeCharDescriptionType
 requestTypeValueType  values:
IMMEDIATE
DELAYED
Table A.100-1: requestTypeValueType

A.101 rightsType

rightsType
Figure A.101-1: rightsType rightsType right
 Element/@AttributeCharDescriptionType
 rightsType  List
 rightMR rightType
Table A.101-1: rightsType

A.102 rightType

rightType
Figure A.102-1: rightType rightType type
 Element/@AttributeCharDescriptionType
 rightType  rightValueType
values:
APPROVED
SUPPORTED
REJECTED
UNSUPPORTED
REQUESTED
@typeM

The type of the requested Access Right

 
rightTypeType
values:
QUERY
CREATE
UPDATE
DELETE
SUBSCRIBE
PROVIDE
Table A.102-1: rightType

A.103 rightTypeType

rightTypeType
Figure A.103-1: rightTypeType rightTypeType
 Element/@AttributeCharDescriptionType
 rightTypeType  values:
QUERY
CREATE
UPDATE
DELETE
SUBSCRIBE
PROVIDE
Table A.103-1: rightTypeType

A.104 rightValueType

rightValueType
Figure A.104-1: rightValueType rightValueType
 Element/@AttributeCharDescriptionType
 rightValueType  values:
APPROVED
SUPPORTED
REJECTED
UNSUPPORTED
REQUESTED
Table A.104-1: rightValueType

A.105 securityTechnologyListType

securityTechnologyListType
Figure A.105-1: securityTechnologyListType securityTechnologyListType securityTechnology
 Element/@AttributeCharDescriptionType
 securityTechnologyListType 

 

List
 securityTechnologyOR

 

securityTechnologyType
Table A.105-1: securityTechnologyListType

A.106 securityTechnologyType

securityTechnologyType
Figure A.106-1: securityTechnologyType securityTechnologyType clauseList technologyName technologyDescription referenceURL versionMin
 Element/@AttributeCharDescriptionType
 securityTechnologyType 

 

 
 clauseListO

 

clauseListType
 technologyNameO

The name of the technology being utilized.

 
xs:normalizedString
 technologyDescriptionO

The narrative as to what the technology`s role is in providing security.

 
xs:normalizedString
 referenceURLO

 

xs:anyURI
 versionMinO

The version at which the technology is considered sufficient to supply security for its applicable area.

 
xs:normalizedString
Table A.106-1: securityTechnologyType

A.107 securityTestRequiredListType

securityTestRequiredListType
Figure A.107-1: securityTestRequiredListType securityTestRequiredListType securityTestRequired
 Element/@AttributeCharDescriptionType
 securityTestRequiredListType 

 

List
 securityTestRequiredOR

Details of the security test required.

 
securityTestRequiredType
Table A.107-1: securityTestRequiredListType

A.108 securityTestRequiredType

Details of the security test required.

securityTestRequiredType
Figure A.108-1: securityTestRequiredType securityTestRequiredType testType testFrequency remediationRequiredIn shareResults
 Element/@AttributeCharDescriptionType
 securityTestRequiredType

Details of the security test required.

 
 
 testTypeO

Type of the test.

 
xs:normalizedString
 testFrequencyO

How often does this test need to be performed?

 
xs:normalizedString
 remediationRequiredInO

Number of days allowed to remediate any inadequacies discovered during testing.

 
xs:normalizedString
 shareResultsO

Determines whether the results of a security test may be made publicly known.

 
values:
Y
N
Table A.108-1: securityTestRequiredType

A.109 SelectedContentType

Allows an XML fragment selected from an object to be used in an element with XML validation skipped.
SelectedContentType
Figure A.109-1: SelectedContentType SelectedContentType
 Element/@AttributeCharDescriptionType
 SelectedContentType Allows an XML fragment selected from an object to be used in an element with XML validation skipped. 
<xs:complexContent mixed="true"> <xs:restriction base="xs:anyType"> <xs:sequence> <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:restriction> </xs:complexContent>
Table A.109-1: SelectedContentType

A.110 servicesType

servicesType
Figure A.110-1: servicesType servicesType service
 Element/@AttributeCharDescriptionType
 servicesType  List
 serviceMR serviceType
Table A.110-1: servicesType

A.111 serviceSubTypeType

serviceSubTypeType
Figure A.111-1: serviceSubTypeType serviceSubTypeType
 Element/@AttributeCharDescriptionType
 serviceSubTypeTypeO values:
adminDirective
Table A.111-1: serviceSubTypeType

A.112 serviceType

serviceType
Figure A.112-1: serviceType serviceType type subType name contextId rights
 Element/@AttributeCharDescriptionType
 serviceType   
@typeM serviceTypeType
values:
UTILITY
OBJECT
FUNCTIONAL
SERVICEPATH
XQUERYTEMPLATE
SERVICE
@subTypeO serviceSubTypeType
values:
adminDirective
@nameM

The name of the Service. For utilities, this is fixed to one of the defined set of Utility Service Names. For objects and functions, it is defined by the Data Model.

 
xs:string
@contextIdM

The unique identity of a context element, which is associated with a Provider of this name and type operating in a Zone with this ID. All Services with the same name in the same Zone must have different Context IDs. Only one such Service can have no Context.

 
xs:string
 rightsM rightsType
Table A.112-1: serviceType

A.113 serviceTypeType

serviceTypeType
Figure A.113-1: serviceTypeType serviceTypeType
 Element/@AttributeCharDescriptionType
 serviceTypeTypeO values:
UTILITY
OBJECT
FUNCTIONAL
SERVICEPATH
XQUERYTEMPLATE
SERVICE
Table A.113-1: serviceTypeType

A.114 stateCommonType

stateCommonType
Figure A.114-1: stateCommonType stateCommonType id type created lastModified description
 Element/@AttributeCharDescriptionType
 stateCommonType   
@idO uuidType
 typeM

The type of this State object.

 
phaseStateType
values:
NOTAPPLICABLE
NOTSTARTED
PENDING
SKIPPED
INPROGRESS
COMPLETED
FAILED
 createdOnillable="false"

The datetime this job was created.

 
xs:dateTime
 lastModifiedOnillable="false"

The datetime this job was last modified.

 
xs:dateTime
 descriptionOnillable="false"

A descriptive message ellaborating the condition of this state, e.g. if the state is "FAILED" the stateDescription may be "Timeout occured".

 
xs:string
Table A.114-1: stateCommonType

A.115 stateListType

stateListType
Figure A.115-1: stateListType stateListType state
 Element/@AttributeCharDescriptionType
 stateListType  List
 stateMR stateCommonType
Table A.115-1: stateListType

A.116 supportedRequestsType

supportedRequestsType
Figure A.116-1: supportedRequestsType supportedRequestsType supportedRequestType
 Element/@AttributeCharDescriptionType
 supportedRequestsType  List
 supportedRequestTypeMR

The request type and supported operations available for the related service as provided by the named provider.

 
supportedRequestType
Table A.116-1: supportedRequestsType

A.117 supportedRequestType

supportedRequestType
Figure A.117-1: supportedRequestType supportedRequestType requestType operations
 Element/@AttributeCharDescriptionType
 supportedRequestType   
 requestTypeOnillable="false"

Relay an delayed request or turn it into an immediate call.

 
requestTypeValueType
values:
IMMEDIATE
DELAYED
 operationsMnillable="false"

The list of operations a request can target, such as CREATE.

 
operationsType
Table A.117-1: supportedRequestType

A.118 technicalRequirementsType

Details of technical requirements that need to be met to achieve the POD.

technicalRequirementsType
Figure A.118-1: technicalRequirementsType technicalRequirementsType dataAccess conditionList dataSubject dataDeletion securityTechnologyList
 Element/@AttributeCharDescriptionType
 technicalRequirementsType 

Details of technical requirements that need to be met to achieve the POD.

 
 
 dataAccessO

A list of the data that can be accessed and any rules that specifically apply.

 
dataAccessType
 conditionListO

 

conditionListType
 dataSubjectO

The specific clauses obligations and benchmarks that applies to the subject - teacher, student or parent.

 
dataSubjectType
 dataDeletionO

Details and requirements for data deletion.

 
dataDeletionType
 securityTechnologyListO

 

securityTechnologyListType
Table A.118-1: technicalRequirementsType

A.119 updatesType

updatesType
Figure A.119-1: updatesType updatesType update
 Element/@AttributeCharDescriptionType
 updatesType  List
 updateMR updateType
Table A.119-1: updatesType

A.120 updateType

updateType
Figure A.120-1: updateType updateType id statusCode error
 Element/@AttributeCharDescriptionType
 updateType   
@idO xs:token
@statusCodeO xs:token
xs:pattern[24-5][0-9]{2}
 errorOnillable="false" errorCommonType
Table A.120-1: updateType

A.121 uriType

uriType
Figure A.121-1: uriType uriType
 Element/@AttributeCharDescriptionType
 uriTypeO xs:anyURI
Table A.121-1: uriType

A.122 uuidType

uuidType
Figure A.122-1: uuidType uuidType
 Element/@AttributeCharDescriptionType
 uuidTypeO xs:token
xs:pattern[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[14][a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}
Table A.122-1: uuidType

A.123 versionType

versionType
Figure A.123-1: versionType versionType
 Element/@AttributeCharDescriptionType
 versionTypeO xs:token
xs:pattern[0-9]{1,3}[.][0-9]{1,3}([.][0-9]{1,3})?
Table A.123-1: versionType

A.124 zoneContextListType

zoneContextListType
Figure A.124-1: zoneContextListType zoneContextListType zoneContext
 Element/@AttributeCharDescriptionType
 zoneContextListType 

 

List
 zoneContextOR

 

zoneContextType
Table A.124-1: zoneContextListType

A.125 zoneContextType

A Zone and/or Context related to a POD.

zoneContextType
Figure A.125-1: zoneContextType zoneContextType zoneId contextId
 Element/@AttributeCharDescriptionType
 zoneContextType

A Zone and/or Context related to a POD.

 
 
 zoneIdO

Identifies the collection of appropriate data providers.

 
gCoreLocalIdType
 contextIdO

Identifies the data scope within the zone.

 
gCoreLocalIdType
Table A.125-1: zoneContextType

Appendix B: Code Sets

Select shared and named code sets defined in SIF are included here for reference.

IN Code Sets

Appendix C: External Code Sets

All code sets defined by external bodies and referenced within SIF are included here for reference. The left column in each table contains the individual code values that are used in SIF elements and attributes that reference these code sets. These sets of code values are closed and normative for a given version of this specification. Including codes not provided here in corresponding SIF elements and attributes can lead to XML validation errors in installations where the zone integration server or any agent is validating XML messages; the SIF data model allows for locally-defined codes, where deemed appropriate, in the OtherCodeList element. The right column of each table may provide a textual equivalent or description of the corresponding code, and is provided for informational purposes only. The referenced sources for these code sets serve as the authorities for all descriptions and semantics, and for the definition and maintenance of the code set values themselves. In each release of this specification the SIF Association endeavors to synchronize referenced code sets with updates from external sources.

International Standards Organization (ISO)

Appendix D: Background/Supplementary Documentation (non-normative)

This appendix supplies background/supplementary documentation from working groups and task forces for interested readers, including but not limited to object plans, business/use cases, test plans, test results, background and best practice documentation. Last modified dates are included in parentheses.

Appendix E: Index of Tables

Table 3.2.1‑1pod
Table 3.3.1‑1deleteRequest
Table 3.4.1‑1adminDirective
Table 3.4.2‑1createResponse
Table 3.4.3‑1deleteResponse
Table 3.4.4‑1error
Table 3.4.5‑1updateResponse
Table 3.5.1‑1environment
Table 3.5.2‑1job
Table 3.5.3‑1provisionRequest
Table 3.5.4‑1queue
Table 3.5.5‑1state
Table 3.5.6‑1subscription
Table 3.6.1‑1alert
Table 3.6.2‑1codeSet
Table 3.6.3‑1namespace
Table 3.6.4‑1provider
Table 3.6.5‑1xquery
Table 3.6.6‑1zone
Table A.1‑1adapterFingerprintListType
Table A.2‑1aliasesType
Table A.3‑1aliasType
Table A.4‑1alternatePurposeListType
Table A.5‑1appIDListType
Table A.6‑1applicationInfoType
Table A.7‑1benchmarkListType
Table A.8‑1benchmarkType
Table A.9‑1clauseListType
Table A.10‑1clauseType
Table A.11‑1codeItemsType
Table A.12‑1codeItemType
Table A.13‑1codeType
Table A.14‑1conditionListType
Table A.15‑1conditionType
Table A.16‑1contractType
Table A.17‑1countryImpactedListType
Table A.18‑1countryImpactedType
Table A.19‑1createsType
Table A.20‑1createType
Table A.21‑1dataAccessType
Table A.22‑1dataControllerType
Table A.23‑1dataDeletionType
Table A.24‑1dataProcessorType
Table A.25‑1dataSubjectType
Table A.26‑1dataSubProcessorListType
Table A.27‑1dataSubProcessorType
Table A.28‑1defaultZoneType
Table A.29‑1DefinedProtocolsType
Table A.30‑1deidentifiedPurposeListType
Table A.31‑1deleteIdCollectionType
Table A.32‑1deleteIdType
Table A.33‑1deleteStatusCollectionType
Table A.34‑1deleteStatusType
Table A.35‑1employeeTrainingListType
Table A.36‑1employeeTrainingType
Table A.37‑1endpointListType
Table A.38‑1endpointType
Table A.39‑1enumerationsType
Table A.40‑1enumerationType
Table A.41‑1environmentTypeType
Table A.42‑1errorCommonType
Table A.43‑1errorDetailsType
Table A.44‑1errorDetailType
Table A.45‑1errorTypeType
Table A.46‑1ExtendedContentType
Table A.47‑1fieldListType
Table A.48‑1fieldType
Table A.49‑1gCoreAddressListType
Table A.50‑1gCoreAddressType
Table A.51‑1gCoreContactInfoType
Table A.52‑1gCoreContactListType
Table A.53‑1gCoreCountryType
Table A.54‑1gCoreEmailListType
Table A.55‑1gCoreEmailType
Table A.56‑1gCoreGenderType
Table A.57‑1gCoreLocalIdType
Table A.58‑1gCoreNameType
Table A.59‑1gCorePhoneNumberListType
Table A.60‑1gCorePhoneNumberType
Table A.61‑1gCoreStateProvinceIdType
Table A.62‑1gCoreStateProvinceType
Table A.63‑1infrastructureServiceNamesType
Table A.64‑1infrastructureServicesType
Table A.65‑1infrastructureServiceType
Table A.66‑1initializationType
Table A.67‑1jobStateType
Table A.68‑1lawListType
Table A.69‑1lawType
Table A.70‑1legalRequirementsType
Table A.71‑1mediaTypesType
Table A.72‑1messageTypeType
Table A.73‑1methodParametersType
Table A.74‑1methodParameterType
Table A.75‑1obligationListType
Table A.76‑1obligationType
Table A.77‑1operationsType
Table A.78‑1operationType
Table A.79‑1parametersType
Table A.80‑1parameterType
Table A.81‑1partyToDeleteDataType
Table A.82‑1passwordEmployeeAccessStandardType
Table A.83‑1phaseCollectionType
Table A.84‑1phaseStateType
Table A.85‑1phaseType
Table A.86‑1privacyListType
Table A.87‑1privacyObligationsDocumentType
Table A.88‑1privacyType
Table A.89‑1productIdentityType
Table A.90‑1propertiesType
Table A.91‑1propertyNVListType
Table A.92‑1propertyNVType
Table A.93‑1propertyType
Table A.94‑1protocolType
Table A.95‑1provisionedZonesType
Table A.96‑1provisionedZoneType
Table A.97‑1purposeListType
Table A.98‑1querySupportType
Table A.99‑1rangeType
Table A.100‑1requestTypeValueType
Table A.101‑1rightsType
Table A.102‑1rightType
Table A.103‑1rightTypeType
Table A.104‑1rightValueType
Table A.105‑1securityTechnologyListType
Table A.106‑1securityTechnologyType
Table A.107‑1securityTestRequiredListType
Table A.108‑1securityTestRequiredType
Table A.109‑1SelectedContentType
Table A.110‑1servicesType
Table A.111‑1serviceSubTypeType
Table A.112‑1serviceType
Table A.113‑1serviceTypeType
Table A.114‑1stateCommonType
Table A.115‑1stateListType
Table A.116‑1supportedRequestsType
Table A.117‑1supportedRequestType
Table A.118‑1technicalRequirementsType
Table A.119‑1updatesType
Table A.120‑1updateType
Table A.121‑1uriType
Table A.122‑1uuidType
Table A.123‑1versionType
Table A.124‑1zoneContextListType
Table A.125‑1zoneContextType

Appendix F: Index of Examples

Example 2.2.3‑1Examples Convention
Example 3.2.1‑1pod
Example 3.3.1‑1deleteRequest
Example 3.4.1‑1adminDirective
Example 3.4.1‑2adminDirective2
Example 3.4.2‑1createResponse
Example 3.4.2‑2createResponse2
Example 3.4.3‑1deleteResponse
Example 3.4.4‑1error
Example 3.4.4‑2error2
Example 3.4.5‑1updateResponse
Example 3.4.5‑2updateResponse2
Example 3.5.1‑1environment
Example 3.5.2‑1job
Example 3.5.3‑1provisionRequest
Example 3.5.3‑2provisionRequest2
Example 3.5.4‑1queue Request
Example 3.5.4‑2queue Response
Example 3.5.5‑1state
Example 3.5.6‑1subscription Create
Example 3.5.6‑2subscription Create Response
Example 3.6.1‑1alert
Example 3.6.2‑1codeSet
Example 3.6.3‑1namespace
Example 3.6.4‑1provider
Example 3.6.5‑1xquery
Example 3.6.6‑1environment
Example A.49‑1gCoreAddressList Example
Example A.50‑1gCoreAddress Example
Example A.51‑1gCoreContactInfo
Example A.52‑1gCoreContactList
Example A.53‑1gCoreCountryType
Example A.54‑1gCoreEmailListType
Example A.55‑1gCoreEmailType
Example A.57‑1gCoreLocalId Example
Example A.58‑1gCoreName
Example A.59‑1gCorePhoneNumberList
Example A.60‑1gCorePhoneNumber
Example A.62‑1gCoreStateProvinceType
Example A.95‑1provisionedZones

Appendix G: Index of Figures

Figure 2.2.6‑1XML Diagram Conventions
Figure 3.2.1‑1pod
Figure 3.3.1‑1deleteRequest
Figure 3.4.1‑1adminDirective
Figure 3.4.2‑1createResponse
Figure 3.4.3‑1deleteResponse
Figure 3.4.4‑1error
Figure 3.4.5‑1updateResponse
Figure 3.5.1‑1environment
Figure 3.5.2‑1job
Figure 3.5.3‑1provisionRequest
Figure 3.5.4‑1queue
Figure 3.5.5‑1state
Figure 3.5.6‑1subscription
Figure 3.6.1‑1alert
Figure 3.6.2‑1codeSet
Figure 3.6.3‑1namespace
Figure 3.6.4‑1provider
Figure 3.6.5‑1xquery
Figure 3.6.6‑1zone
Figure A.1‑1adapterFingerprintListType
Figure A.2‑1aliasesType
Figure A.3‑1aliasType
Figure A.4‑1alternatePurposeListType
Figure A.5‑1appIDListType
Figure A.6‑1applicationInfoType
Figure A.7‑1benchmarkListType
Figure A.8‑1benchmarkType
Figure A.9‑1clauseListType
Figure A.10‑1clauseType
Figure A.11‑1codeItemsType
Figure A.12‑1codeItemType
Figure A.13‑1codeType
Figure A.14‑1conditionListType
Figure A.15‑1conditionType
Figure A.16‑1contractType
Figure A.17‑1countryImpactedListType
Figure A.18‑1countryImpactedType
Figure A.19‑1createsType
Figure A.20‑1createType
Figure A.21‑1dataAccessType
Figure A.22‑1dataControllerType
Figure A.23‑1dataDeletionType
Figure A.24‑1dataProcessorType
Figure A.25‑1dataSubjectType
Figure A.26‑1dataSubProcessorListType
Figure A.27‑1dataSubProcessorType
Figure A.28‑1defaultZoneType
Figure A.29‑1DefinedProtocolsType
Figure A.30‑1deidentifiedPurposeListType
Figure A.31‑1deleteIdCollectionType
Figure A.32‑1deleteIdType
Figure A.33‑1deleteStatusCollectionType
Figure A.34‑1deleteStatusType
Figure A.35‑1employeeTrainingListType
Figure A.36‑1employeeTrainingType
Figure A.37‑1endpointListType
Figure A.38‑1endpointType
Figure A.39‑1enumerationsType
Figure A.40‑1enumerationType
Figure A.41‑1environmentTypeType
Figure A.42‑1errorCommonType
Figure A.43‑1errorDetailsType
Figure A.44‑1errorDetailType
Figure A.45‑1errorTypeType
Figure A.46‑1ExtendedContentType
Figure A.47‑1fieldListType
Figure A.48‑1fieldType
Figure A.49‑1gCoreAddressListType
Figure A.50‑1gCoreAddressType
Figure A.51‑1gCoreContactInfoType
Figure A.52‑1gCoreContactListType
Figure A.53‑1gCoreCountryType
Figure A.54‑1gCoreEmailListType
Figure A.55‑1gCoreEmailType
Figure A.56‑1gCoreGenderType
Figure A.57‑1gCoreLocalIdType
Figure A.58‑1gCoreNameType
Figure A.59‑1gCorePhoneNumberListType
Figure A.60‑1gCorePhoneNumberType
Figure A.61‑1gCoreStateProvinceIdType
Figure A.62‑1gCoreStateProvinceType
Figure A.63‑1infrastructureServiceNamesType
Figure A.64‑1infrastructureServicesType
Figure A.65‑1infrastructureServiceType
Figure A.66‑1initializationType
Figure A.67‑1jobStateType
Figure A.68‑1lawListType
Figure A.69‑1lawType
Figure A.70‑1legalRequirementsType
Figure A.71‑1mediaTypesType
Figure A.72‑1messageTypeType
Figure A.73‑1methodParametersType
Figure A.74‑1methodParameterType
Figure A.75‑1obligationListType
Figure A.76‑1obligationType
Figure A.77‑1operationsType
Figure A.78‑1operationType
Figure A.79‑1parametersType
Figure A.80‑1parameterType
Figure A.81‑1partyToDeleteDataType
Figure A.82‑1passwordEmployeeAccessStandardType
Figure A.83‑1phaseCollectionType
Figure A.84‑1phaseStateType
Figure A.85‑1phaseType
Figure A.86‑1privacyListType
Figure A.87‑1privacyObligationsDocumentType
Figure A.88‑1privacyType
Figure A.89‑1productIdentityType
Figure A.90‑1propertiesType
Figure A.91‑1propertyNVListType
Figure A.92‑1propertyNVType
Figure A.93‑1propertyType
Figure A.94‑1protocolType
Figure A.95‑1provisionedZonesType
Figure A.96‑1provisionedZoneType
Figure A.97‑1purposeListType
Figure A.98‑1querySupportType
Figure A.99‑1rangeType
Figure A.100‑1requestTypeValueType
Figure A.101‑1rightsType
Figure A.102‑1rightType
Figure A.103‑1rightTypeType
Figure A.104‑1rightValueType
Figure A.105‑1securityTechnologyListType
Figure A.106‑1securityTechnologyType
Figure A.107‑1securityTestRequiredListType
Figure A.108‑1securityTestRequiredType
Figure A.109‑1SelectedContentType
Figure A.110‑1servicesType
Figure A.111‑1serviceSubTypeType
Figure A.112‑1serviceType
Figure A.113‑1serviceTypeType
Figure A.114‑1stateCommonType
Figure A.115‑1stateListType
Figure A.116‑1supportedRequestsType
Figure A.117‑1supportedRequestType
Figure A.118‑1technicalRequirementsType
Figure A.119‑1updatesType
Figure A.120‑1updateType
Figure A.121‑1uriType
Figure A.122‑1uuidType
Figure A.123‑1versionType
Figure A.124‑1zoneContextListType
Figure A.125‑1zoneContextType

Appendix H: Index of Objects

adminDirective 3.4.1
alert 3.6.1
codeSet 3.6.2
createResponse 3.4.2
deleteRequest 3.3.1
deleteResponse 3.4.3
environment 3.5.1
error 3.4.4
job 3.5.2
namespace 3.6.3
pod 3.2.1
provider 3.6.4
provisionRequest 3.5.3
queue 3.5.4
state 3.5.5
subscription 3.5.6
updateResponse 3.4.5
xquery 3.6.5
zone 3.6.6

19 Total

Appendix I: Index of Common Types

adapterFingerprintListType A.1
aliasesType A.2
aliasType A.3
alternatePurposeListType A.4
appIDListType A.5
applicationInfoType A.6
benchmarkListType A.7
benchmarkType A.8
clauseListType A.9
clauseType A.10
codeItemsType A.11
codeItemType A.12
codeType A.13
conditionListType A.14
conditionType A.15
contractType A.16
countryImpactedListType A.17
countryImpactedType A.18
createsType A.19
createType A.20
dataAccessType A.21
dataControllerType A.22
dataDeletionType A.23
dataProcessorType A.24
dataSubjectType A.25
dataSubProcessorListType A.26
dataSubProcessorType A.27
defaultZoneType A.28
DefinedProtocolsType A.29
deidentifiedPurposeListType A.30
deleteIdCollectionType A.31
deleteIdType A.32
deleteStatusCollectionType A.33
deleteStatusType A.34
employeeTrainingListType A.35
employeeTrainingType A.36
endpointListType A.37
endpointType A.38
enumerationsType A.39
enumerationType A.40
environmentTypeType A.41
errorCommonType A.42
errorDetailsType A.43
errorDetailType A.44
errorTypeType A.45
ExtendedContentType A.46
fieldListType A.47
fieldType A.48
gCoreAddressListType A.49
gCoreAddressType A.50
gCoreContactInfoType A.51
gCoreContactListType A.52
gCoreCountryType A.53
gCoreEmailListType A.54
gCoreEmailType A.55
gCoreGenderType A.56
gCoreLocalIdType A.57
gCoreNameType A.58
gCorePhoneNumberListType A.59
gCorePhoneNumberType A.60
gCoreStateProvinceIdType A.61
gCoreStateProvinceType A.62
infrastructureServiceNamesType A.63
infrastructureServicesType A.64
infrastructureServiceType A.65
initializationType A.66
jobStateType A.67
lawListType A.68
lawType A.69
legalRequirementsType A.70
mediaTypesType A.71
messageTypeType A.72
methodParametersType A.73
methodParameterType A.74
obligationListType A.75
obligationType A.76
operationsType A.77
operationType A.78
parametersType A.79
parameterType A.80
partyToDeleteDataType A.81
passwordEmployeeAccessStandardType A.82
phaseCollectionType A.83
phaseStateType A.84
phaseType A.85
privacyListType A.86
privacyObligationsDocumentType A.87
privacyType A.88
productIdentityType A.89
propertiesType A.90
propertyNVListType A.91
propertyNVType A.92
propertyType A.93
protocolType A.94
provisionedZonesType A.95
provisionedZoneType A.96
purposeListType A.97
querySupportType A.98
rangeType A.99
requestTypeValueType A.100
rightsType A.101
rightType A.102
rightTypeType A.103
rightValueType A.104
securityTechnologyListType A.105
securityTechnologyType A.106
securityTestRequiredListType A.107
securityTestRequiredType A.108
SelectedContentType A.109
servicesType A.110
serviceSubTypeType A.111
serviceType A.112
serviceTypeType A.113
stateCommonType A.114
stateListType A.115
supportedRequestsType A.116
supportedRequestType A.117
technicalRequirementsType A.118
updatesType A.119
updateType A.120
uriType A.121
uuidType A.122
versionType A.123
zoneContextListType A.124
zoneContextType A.125

125 Total

Appendix J: Index of Elements

action A.12‑1.9
adapterFingerprint A.1‑1.2
adapterFingerprintList A.88‑1.4
adapterFingerprintListType A.1‑1.1
adapterProduct A.6‑1.7,  A.98‑1.9
address A.49‑1.2,  A.51‑1.7
adminDirective 3.4.1‑1.1
alert 3.6.1‑1.1
alias A.2‑1.2
aliases A.12‑1.8
aliasesType A.2‑1.1
aliasType A.3‑1.1
alternatePurpose A.4‑1.2
alternatePurposeList A.24‑1.8
alternatePurposeListType A.4‑1.1
appID A.5‑1.2
appIDList A.88‑1.3
appIDListType A.5‑1.1
applicationInfo 3.5.1‑1.12
applicationInfoType A.6‑1.1
applicationKey A.6‑1.2
applicationProduct A.6‑1.6,  A.98‑1.8
authenticationMethod 3.5.1‑1.8
benchmark A.7‑1.2
benchmarkDescription A.8‑1.4
benchmarkId A.8‑1.3
benchmarkList A.25‑1.3,  A.76‑1.4
benchmarkListType A.7‑1.1
benchmarkName A.8‑1.2
benchmarkType A.8‑1.1
benchmarkURL A.8‑1.5
body 3.6.1‑1.9
category 3.6.1‑1.12
cause 3.6.1‑1.4
changesSinceMarker A.98‑1.4
city A.50‑1.7
clause A.9‑1.2
clauseContent A.10‑1.4
clauseLabel A.10‑1.2
clauseList A.21‑1.2,  A.25‑1.2,  A.70‑1.2,  A.106‑1.2
clauseListType A.9‑1.1
clauseReference A.10‑1.3
clauseType A.10‑1.1
code 3.4.4‑1.3,  3.6.1‑1.13,  A.3‑1.2,  A.12‑1.2,  A.40‑1.3,  A.42‑1.3
codeItem A.11‑1.2
codeItems 3.6.2‑1.7
codeItemsType A.11‑1.1
codeItemType A.12‑1.1
codeSet 3.6.2‑1.1
codeType A.13‑1.1
comparisonType A.74‑1.4
condition A.14‑1.2
conditionDescription A.15‑1.4
conditionList A.118‑1.3
conditionListType A.14‑1.1
conditionName A.15‑1.3
conditionType A.15‑1.1
consumerName 3.5.1‑1.11
contact A.52‑1.2
contextId 3.5.6‑1.4,  3.6.4‑1.5,  A.125‑1.3
contract A.87‑1.2
contractName A.16‑1.3
contractType A.16‑1.1
contractURI A.16‑1.2
contractVersion A.16‑1.6
controlrights A.48‑1.3
country A.18‑1.2,  A.50‑1.9
countryImpacted A.17‑1.2
countryImpactedList A.24‑1.19
countryImpactedListType A.17‑1.1
countryImpactedType A.18‑1.1
create A.19‑1.2
created 3.5.2‑1.7,  3.5.4‑1.11,  3.5.5‑1.4,  A.114‑1.4
createResponse 3.4.2‑1.1
creates 3.4.2‑1.2
createsType A.19‑1.1
createType A.20‑1.1
dataAccess A.118‑1.2
dataAccessType A.21‑1.1
dataBreachContactList A.24‑1.13
dataBreachNotification A.24‑1.12
dataController A.87‑1.5
dataControllerName A.22‑1.2
dataControllerType A.22‑1.1
dataDeletion A.118‑1.5
dataDeletionType A.23‑1.1
dataModelNamespace A.6‑1.4,  A.88‑1.7
dataModelVersionMax A.88‑1.9
dataModelVersionMin A.88‑1.8
dataProcessor A.87‑1.6
dataProcessorContactForAccessRequestsList A.24‑1.6
dataProcessorName A.24‑1.2
dataProcessorType A.24‑1.1
dataRetention A.23‑1.3
dataSubject A.118‑1.4
dataSubjectType A.25‑1.1
dataSubProcessor A.26‑1.2
dataSubProcessorList A.87‑1.7
dataSubProcessorListType A.26‑1.1
dataSubProcessorType A.27‑1.1
dataUsageMarketingAllowed A.24‑1.10
dateValidFrom A.16‑1.4
dateValidTo A.16‑1.5
default A.80‑1.4,  A.88‑1.2
defaultZone 3.5.1‑1.7
defaultZoneType A.28‑1.1
DefinedProtocolsType A.29‑1.1
definition A.12‑1.7
deidentifiedPurpose A.30‑1.2
deidentifiedPurposeList A.24‑1.9
deidentifiedPurposeListType A.30‑1.1
delete A.31‑1.2,  A.33‑1.2
deleteBy A.23‑1.4
deletecontactInfo A.81‑1.3
deleteData A.23‑1.2
deleteIdCollectionType A.31‑1.1
deleteIdType A.32‑1.1
deleteRequest 3.3.1‑1.1
deleteResponse 3.4.3‑1.1
deletes 3.3.1‑1.2,  3.4.3‑1.2
deleteStatusCollectionType A.33‑1.1
deleteStatusType A.34‑1.1
description 3.4.4‑1.8,  3.5.2‑1.4,  3.5.5‑1.6,  3.6.1‑1.7,  3.6.5‑1.6,  3.6.6‑1.3,  A.12‑1.6,  A.28‑1.3,  A.42‑1.8,  A.44‑1.6,  A.80‑1.5,  A.114‑1.6
dynamicQuery A.98‑1.2
effectiveFromDate A.50‑1.2
effectiveToDate A.50‑1.3
email A.54‑1.2
emailList A.51‑1.8
employeeConfidentialityAgreement A.24‑1.15
employeesMustComplyWithAgreement A.24‑1.14
employeeTraining A.35‑1.2
employeeTrainingList A.24‑1.16
employeeTrainingListType A.35‑1.1
employeeTrainingType A.36‑1.1
end A.99‑1.3
endpoint A.37‑1.2
endPoint 3.6.4‑1.10
endpointList A.88‑1.6
endpointListType A.37‑1.1
endpointProviderName A.38‑1.3
endpointType A.38‑1.1
endpointURL A.38‑1.2
enumeration A.39‑1.2
enumerations A.80‑1.7
enumerationsType A.39‑1.1
enumerationType A.40‑1.1
environment 3.5.1‑1.1
environmentTypeType A.41‑1.1
error 3.4.4‑1.1,  3.6.1‑1.10,  A.20‑1.5,  A.34‑1.4,  A.120‑1.4
errorCommonType A.42‑1.1
errorDetail A.43‑1.2
errorDetails 3.4.4‑1.9,  A.42‑1.9
errorDetailsType A.43‑1.1
errorDetailType A.44‑1.1
errorTypeType A.45‑1.1
exchange 3.6.1‑1.5
ExtendedContentType A.46‑1.1
extension A.60‑1.3
familyName A.58‑1.3
familyNameFirst A.58‑1.6
field A.47‑1.2
fieldList A.21‑1.3,  A.25‑1.4
fieldListType A.47‑1.1
fieldName A.48‑1.2
fieldType A.48‑1.1
fingerprint 3.5.1‑1.4
gCoreAddressListType A.49‑1.1
gCoreAddressType A.50‑1.1
gCoreContactInfoType A.51‑1.1
gCoreContactListType A.52‑1.1
gCoreCountryType A.53‑1.1
gCoreEmailListType A.54‑1.1
gCoreEmailType A.55‑1.1
gCoreGenderType A.56‑1.1
gCoreLocalIdType A.57‑1.1
gCoreNameType A.58‑1.1
gCorePhoneNumberListType A.59‑1.1
gCorePhoneNumberType A.60‑1.1
gCoreStateProvinceIdType A.61‑1.1
gCoreStateProvinceType A.62‑1.1
givenName A.58‑1.4
iconURI A.89‑1.5
idleTimeout 3.5.4‑1.8
infrastructureService A.64‑1.2
infrastructureServiceNamesType A.63‑1.1
infrastructureServices 3.5.1‑1.13
infrastructureServicesType A.64‑1.1
infrastructureServiceType A.65‑1.1
initialization 3.5.2‑1.11
initializationType A.66‑1.1
instanceId 3.5.1‑1.9
internal 3.6.1‑1.14
issuesNotificationContactList A.22‑1.5
job 3.5.2‑1.1
jobStateType A.67‑1.1
lastAccessed 3.5.4‑1.12
lastModified 3.5.2‑1.8,  3.5.4‑1.13,  3.5.5‑1.5,  A.114‑1.5
law A.68‑1.2
lawDescription A.69‑1.3
lawList A.16‑1.7
lawListType A.68‑1.1
lawName A.69‑1.2
lawType A.69‑1.1
legalRequirements A.87‑1.3
legalRequirementsType A.70‑1.1
level 3.6.1‑1.6
line1 A.50‑1.4
line2 A.50‑1.5
line3 A.50‑1.6
listedStatus A.60‑1.4
location A.94‑1.2
maxConcurrentConnections 3.5.4‑1.10
maxLength A.80‑1.10
maxPageSize A.98‑1.6
mediaType A.71‑1.2
mediaTypesType A.71‑1.1
message 3.4.4‑1.7,  A.42‑1.7,  A.44‑1.5
messageCount 3.5.4‑1.14
messageID 3.6.1‑1.8
messageType 3.5.6‑1.7
messageTypeType A.72‑1.1
method 3.4.1‑1.6
methodParameter A.73‑1.2
methodParameters 3.4.1‑1.7
methodParametersType A.73‑1.1
methodParameterType A.74‑1.1
mimeTypes 3.6.4‑1.9
minLength A.80‑1.9
minWaitTime 3.5.4‑1.9
name 3.5.2‑1.3,  3.5.4‑1.5,  A.51‑1.2,  A.80‑1.2,  A.85‑1.2
namespace 3.6.3‑1.1,  A.3‑1.4,  A.12‑1.4
notifyDataControllerOnAccessRequests A.24‑1.5
number A.60‑1.2
obligation A.75‑1.2
obligationDescription A.76‑1.2
obligationList A.10‑1.5
obligationListType A.75‑1.1
obligationType A.76‑1.1
obligationURL A.76‑1.3
official A.13‑1.3
old A.13‑1.2
operation A.77‑1.2
operations A.117‑1.3
operationsType A.77‑1.1
operationType A.78‑1.1
organisation A.81‑1.2
otherGivenNames A.58‑1.5
ownerId 3.5.4‑1.4
ownerUri 3.5.4‑1.7
paged A.98‑1.5
parameter A.79‑1.2
parameters 3.6.5‑1.8
parametersType A.79‑1.1
parameterType A.80‑1.1
paramName A.74‑1.2
paramValue A.74‑1.3
partyId 3.2.1‑1.6
partyToDeleteData A.23‑1.5
partyToDeleteDataType A.81‑1.1
passwordEmployeeAccessStandard A.24‑1.17
passwordEmployeeAccessStandardType A.82‑1.1
payload A.66‑1.3
personalInformationUpdatedFromSource A.24‑1.11
phase A.83‑1.2
phaseCollectionType A.83‑1.1
phaseName A.66‑1.2
phases 3.5.2‑1.10
phaseStateType A.84‑1.1
phaseType A.85‑1.1
phoneNumber A.59‑1.2
phoneNumberList A.51‑1.9
pod 3.2.1‑1.1
podStatus 3.2.1‑1.3
podToken 3.2.1‑1.4
podVersion 3.2.1‑1.5
polling 3.5.4‑1.3
positionTitle A.51‑1.3
postalCode A.50‑1.10
preference A.60‑1.5
preferredName A.58‑1.7
privacy A.86‑1.2
privacyContactList A.22‑1.4,  A.24‑1.4,  A.27‑1.4
privacyList 3.2.1‑1.7
privacyListType A.86‑1.1
privacyObligationsDocument A.88‑1.10
privacyObligationsDocumentType A.87‑1.1
privacyPolicyURL A.22‑1.3,  A.24‑1.3,  A.27‑1.3
privacyType A.88‑1.1
productIdentityType A.89‑1.1
productName A.89‑1.3
productVersion A.89‑1.4
properties 3.6.6‑1.4,  A.28‑1.4,  A.94‑1.3
propertiesType A.90‑1.1
property A.90‑1.2,  A.91‑1.2
propertyList A.15‑1.5
propertyName A.92‑1.2
propertyNVListType A.91‑1.1
propertyNVType A.92‑1.1
propertyType A.93‑1.1
propertyValue A.92‑1.3
protocolType A.94‑1.1
provider 3.6.4‑1.1
providerName 3.6.4‑1.7
provisionedZone A.95‑1.2
provisionedZones 3.5.1‑1.14,  3.5.3‑1.4
provisionedZonesType A.95‑1.1
provisionedZoneType A.96‑1.1
provisionRequest 3.5.3‑1.1
purpose A.97‑1.2
purposeList A.24‑1.7,  A.27‑1.5
purposeListType A.97‑1.1
qualifications A.51‑1.6
qualifier 3.6.5‑1.5
queryByExample A.98‑1.3
querySupport 3.6.4‑1.8
querySupportType A.98‑1.1
queue 3.5.4‑1.1
queueId 3.5.6‑1.9
queueUri 3.5.4‑1.6
range A.80‑1.8
rangeType A.99‑1.1
referenceURL A.106‑1.5
registrationDetails A.51‑1.5
remediationRequiredIn A.108‑1.4
reporter 3.6.1‑1.3
requestType A.117‑1.2
requestTypeValueType A.100‑1.1
required A.80‑1.6,  A.85‑1.4
requirePortability A.23‑1.7,  A.25‑1.6
respondInDays A.23‑1.6,  A.25‑1.5
returnType 3.6.5‑1.9
right A.101‑1.2
rights A.85‑1.5,  A.112‑1.6
rightsType A.101‑1.1
rightType A.102‑1.1
rightTypeType A.103‑1.1
rightValueType A.104‑1.1
role A.51‑1.4
scope 3.4.4‑1.4,  A.42‑1.4
script 3.6.5‑1.7
securityTechnology A.105‑1.2
securityTechnologyList A.118‑1.6
securityTechnologyListType A.105‑1.1
securityTechnologyType A.106‑1.1
securityTestRequired A.107‑1.2
securityTestRequiredList A.24‑1.18
securityTestRequiredListType A.107‑1.1
securityTestRequiredType A.108‑1.1
SelectedContentType A.109‑1.1
service A.110‑1.2
serviceName 3.4.1‑1.5,  3.5.6‑1.8,  3.6.4‑1.4
services A.96‑1.3
servicesType A.110‑1.1
serviceSubType 3.5.6‑1.6
serviceSubTypeType A.111‑1.1
serviceType 3.5.6‑1.5,  3.6.4‑1.3,  A.112‑1.1
serviceTypeType A.113‑1.1
sessionToken 3.5.1‑1.5
shareResults A.108‑1.5
solutionId 3.5.1‑1.6
source 3.6.2‑1.6,  A.3‑1.3,  A.12‑1.3
standardName A.82‑1.2
standardURL A.82‑1.3
start A.99‑1.2
state 3.5.2‑1.5,  3.5.5‑1.1,  A.115‑1.2
stateCommonType A.114‑1.1
stateDescription 3.5.2‑1.6
stateListType A.115‑1.1
stateProvince A.50‑1.8
states A.85‑1.3
statesRights A.85‑1.6
status 3.6.5‑1.4
studentDataIPRights A.16‑1.8
subCode 3.4.4‑1.6,  A.42‑1.6,  A.44‑1.4
subProcessorName A.27‑1.2
subscription 3.5.6‑1.1
supportedInfrastructureVersion A.6‑1.3
supportedRequestsType A.116‑1.1
supportedRequestType A.116‑1.2,  A.117‑1.1
supportedRequestTypes 3.6.4‑1.11
technicalRequirements A.87‑1.4
technicalRequirementsType A.118‑1.1
technologyDescription A.106‑1.4
technologyName A.106‑1.3
testFrequency A.108‑1.3
testType A.108‑1.2
timeout 3.4.1‑1.4,  3.5.2‑1.9
timestamp 3.4.1‑1.3,  3.6.2‑1.5,  A.12‑1.10
title A.58‑1.2
totalCount A.98‑1.7
trainingName A.36‑1.2
trainingURL A.36‑1.3
transport A.6‑1.5
type 3.4.4‑1.5,  3.5.5‑1.3,  3.6.5‑1.3,  A.42‑1.5,  A.44‑1.3,  A.80‑1.3,  A.114‑1.3
typeOfCondition A.15‑1.2
update A.119‑1.2
updateResponse 3.4.5‑1.1
updates 3.4.5‑1.2
updatesType A.119‑1.1
updateType A.120‑1.1
uri 3.6.3‑1.4
uriType A.121‑1.1
url 3.6.3‑1.5
usage A.18‑1.3
userToken 3.5.1‑1.10
uuidType A.122‑1.1
value A.12‑1.5,  A.13‑1.4,  A.40‑1.2
vendorName A.89‑1.2
version 3.6.2‑1.4
versionMin A.106‑1.6
versionType A.123‑1.1
xpath 3.6.1‑1.11
xquery 3.6.5‑1.1
zone 3.6.2‑1.3,  3.6.3‑1.3,  3.6.6‑1.1
zoneContext A.124‑1.2
zoneContextList A.88‑1.5
zoneContextListType A.124‑1.1
zoneContextType A.125‑1.1
zoneId 3.5.6‑1.3,  3.6.4‑1.6,  A.125‑1.2

509 Total

Appendix K: Index of Attributes

advisoryId A.20‑1.3
completionStatus 3.5.3‑1.3
contextId A.112‑1.5
id 3.2.1‑1.2,  3.4.1‑1.2,  3.4.4‑1.2,  3.5.1‑1.3,  3.5.2‑1.2,  3.5.3‑1.2,  3.5.4‑1.2,  3.5.5‑1.2,  3.5.6‑1.2,  3.6.1‑1.2,  3.6.2‑1.2,  3.6.3‑1.2,  3.6.4‑1.2,  3.6.5‑1.2,  3.6.6‑1.2,  A.20‑1.2,  A.28‑1.2,  A.32‑1.2,  A.34‑1.2,  A.42‑1.2,  A.44‑1.2,  A.96‑1.2,  A.114‑1.2,  A.120‑1.2
name A.65‑1.2,  A.93‑1.2,  A.112‑1.4
statusCode A.20‑1.4,  A.34‑1.3,  A.120‑1.3
subType A.112‑1.3
type 3.5.1‑1.2,  A.102‑1.2,  A.112‑1.2

37 Total

Appendix L: References

Data Model