ImmuCast logo ImmuCast 5.17.4 User Guide

Message Elements

The following are the elements included in the schema.

Request a Forecast

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.

Forecasted Results

<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: