|
![]() |
The following are the elements included in the schema.
Each request for a forecast is embedded in a set of personDetails.
<xsd:complexType
name="ForecastRequestType">
<xsd:sequence>
<xsd:element
maxOccurs="unbounded"
name="personDetails"
type="PersonDetailsType"
/>
</xsd:sequence>
</xsd:complexType>
Each personDetails elements has a set of data related to the patient for whom the forecast is being requested. As indicated by the XSD details below, dateOfBirth is a required field. Gender, a list of vaccinations, and a list of contraindications are all optional. A person ID is not required, but may be included to assist you with a matching response to a request if you are sending multiple requests within the same message.
<xsd:complexType
name="PersonDetailsType">
<xsd:annotation>
<xsd:documentation>
A person has a date of birth and possibly:
gender, a list of vaccinations, and contraindications. Any information
sent in the "forecast" part of a request for forecast is ignored.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element
default="DEFAULT"
minOccurs="0"
name="scheduleType"
type="stc:ScheduleType"/>
<xsd:element
name="dateOfBirth"
type="stc:DateYYYYMMDDType"/>
<xsd:element
minOccurs="0"
name="gender"
type="stc:GenderType"/>
<xsd:element
maxOccurs="unbounded"
minOccurs="0"
name="vaccination"
type="VaccinationType"/>
<xsd:element
maxOccurs="unbounded"
minOccurs="0"
name="contraindication"
type="ContraindicationType"/>
</xsd:sequence>
<xsd:attribute name="personId"
type="stc:Len20StringType"/>
<xsd:attribute name="fullForecast"
type="xsd:string"/>
<xsd:attribute
name="evaluationDate" type="stc:DateYYYYMMDDType"/>
<xsd:attribute name="serologyDate"
type="stc:DateYYYYMMDDType"/>
<xsd:attribute name="pretermInfant"
type="xsd:string"/>
</xsd:complexType>
<xsd:complexType
name="VaccinationType">
<xsd:annotation>
<xsd:documentation>
Vaccination messages are ignored by
the SAF on incoming vaccination lists. On responses, messages may be included
if the vaccination was determined to have a warning or was invalid.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element
minOccurs="0"
name="id"
type="xsd:long"/>
<xsd:element
name="vaccCode"
type="stc:VaccCodeStringType"/>
<xsd:element
name="vaccDate"
type="stc:DateYYYYMMDDType"/>
<xsd:element
default="1.0"
name="doseSize"
type="xsd:decimal"/>
<xsd:element
maxOccurs="unbounded"
minOccurs="0"
name="message"
type="stc:VaccMessageType"/>
<xsd:element
minOccurs="0"
name="compromisedCode"
type="xsd:string"/>
<xsd:element minOccurs="0" name="booster" type="xsd:boolean"/>
<xsd:element
minOccurs="0"
name="isTDAP"
type="xsd:boolean"/>
</xsd:sequence>
<xsd:attribute name="codeType"
type="stc:VaccineCodeType"
use="required"/>
</xsd:complexType>
VaccinationType is used to describe the type of vaccination given. All of the elements, as well as the single attribute, are required, except for the message element. The message element is not used when sending the request. It is described in the section on the forecast response.
<xsd:complexType
name="ContraindicationType">
<xsd:sequence>
<xsd:element
name="vaccCode"
type="stc:VaccCodeStringType"/>
</xsd:sequence>
<xsd:attribute name="codeType"
type="stc:VaccineCodeType"
use="required"/>
</xsd:complexType>
ContraindicationType is used to describe a contraindication. Both the element and attribute are required.
<xsd:complexType
name="ResponseDetailType">
<xsd:annotation>
<xsd:documentation>
If there was any error in processing the person
detail, the problem or description is embedded in the information element.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element
name="personDetails"
type="PersonDetailsType"/>
<xsd:element
maxOccurs="unbounded"
minOccurs="0"
name="forecastDetails"
type="ForecastDetailsType"/>
<xsd:element
minOccurs="0"
name="information"
type="xsd:string"/>
<xsd:element
minOccurs="0"
name="releaseVersion"
type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
The forecast results include the updated personDetails. The personDetails element matches the information that was originally supplied when the forecast was requested, with the exception that individual vaccination elements may be updated with a message if the vaccination was invalid or if there was a warning about the vaccination.
<xsd:complexType
name="VaccMessageType">
<xsd:sequence>
<xsd:element
name="message"
type="Len500StringType"/>
</xsd:sequence>
<xsd:attribute name="messageType"
type="MessageTypes"
use="required"/>
<xsd:attribute name="familyCode"
type="xsd:integer"/>
<xsd:attribute name="doseNumber"
type="xsd:integer"/>
<xsd:attribute name="seriesComplete"
type="xsd:string"/>
</xsd:complexType>
<xsd:complexType
name="ForecastDetailsType">
<xsd:sequence>
<xsd:element
name="familyCode"
type="xsd:string"/>
<xsd:element
name="doseNumber"
type="xsd:int"/>
<xsd:element
name="maxAllowableDate"
type="stc:DateYYYYMMDDType"/>
<xsd:element
name="minAllowableDate"
type="stc:DateYYYYMMDDType"/>
<xsd:element
name="recommendedDate"
type="stc:DateYYYYMMDDType"/>
<xsd:element
name="pastDueDate"
type="stc:DateYYYYMMDDType"/>
<xsd:element
name="forecastCVXCode"
type="xsd:int"/>
<xsd:element
name="doseCount"
type="xsd:int"/>
<xsd:element
name="booster"
type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
The forecast is described as a set of ForecastDetailsType. Each of these is composed of the following elements: