ImmuCast logo ImmuCast 5.18.8 Implementation & Configuration Guide

SOAP WSDL

To access the SOAP WSDL page, click the SOAP WSDL link on the ImmuCast main page. The WSDL that opens contains more than one version. The most recent version (with the highest version number) should be implemented to remain compatible with ImmuCast web service upgrades. Older WSDL versions are retained for documentation purposes only.

The following WSDL opens:

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:sch0="http://saf.stchome.com/messages/get/1.2"
xmlns:sch1="http://saf.stchome.com/common"
xmlns:sch2="http://saf.stchome.com/messages/get/1.3"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://saf.stchome.com/messages/get/1.2"
targetNamespace="http://saf.stchome.com/messages/get/1.2">
  <wsdl:types>
    <xsd:schema xmlns="http://saf.stchome.com/messages/get/1.2" xmlns:stc="http://saf.stchome.com/common" xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://saf.stchome.com/messages/get/1.2">
      <xsd:import namespace="http://saf.stchome.com/common"/>
      <xsd:element name="GetForecastRequest" type="ForecastRequestType"/>
      <xsd:element name="GetForecastResponse" type="ForecastResponseType"/>
      <xsd:complexType name="ForecastRequestType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" name="personDetails" type="PersonDetailsType"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ForecastResponseType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" name="responses" type="ResponseDetailType"/>
        </xsd:sequence>
      </xsd:complexType>
      <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>
      <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 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: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 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:sequence>
        <xsd:attribute name="codeType" type="stc:VaccineCodeType" use="required"/>
      </xsd:complexType>
      <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>
      <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:sequence>
      </xsd:complexType>
    </xsd:schema>
    <xsd:schema xmlns="http://saf.stchome.com/common" xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://saf.stchome.com/common">
      <xsd:simpleType name="DateYYYYMMDDType">
        <xsd:annotation>
          <xsd:documentation>
            Accepts a valid date in the YYYYMMDD format (4 digit year followed by 2 digit month followed by 2 digit day)
          </xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:pattern value="(19|20)\d\d(0[1‐9]|1[012])(0[1‐9]|[12][0‐9]|3[01])"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="GenderType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="M"/>
          <xsd:enumeration value="F"/>
          <xsd:enumeration value="U"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="VaccCodeStringType">
        <xsd:restriction base="xsd:string">
          <xsd:minLength value="1"/>
          <xsd:maxLength value="5"/>
          <xsd:pattern value="\d*"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="VaccineCodeType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CPT"/>
          <xsd:enumeration value="CVX"/>
          <xsd:enumeration value="ASIIS"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="YNType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Y"/>
          <xsd:enumeration value="N"/>
        </xsd:restriction>
      </xsd:simpleType>
      <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:simpleType name="MessageTypes">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="WARNING"/>
          <xsd:enumeration value="INVALID-VACC"/>
          <xsd:enumeration value="VALID-VACC"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="Len20StringType">
        <xsd:restriction base="xsd:string">
          <xsd:maxLength value="20"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="Len100StringType">
        <xsd:restriction base="xsd:string">
          <xsd:maxLength value="100"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="Len500StringType">
        <xsd:restriction base="xsd:string">
          <xsd:maxLength value="500"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="ScheduleType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CDSI"/>
          <xsd:enumeration value="DEFAULT"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:schema>
    <xsd:schema xmlns="http://saf.stchome.com/messages/get/1.3" xmlns:stc="http://saf.stchome.com/common" xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://saf.stchome.com/messages/get/1.3">
      <xsd:import namespace="http://saf.stchome.com/common"/>
      <xsd:element name="GetForecastRequest" type="ForecastRequestType"/>
      <xsd:element name="GetForecastResponse" type="ForecastResponseType"/>
      <xsd:complexType name="ForecastRequestType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" name="personDetails" type="PersonDetailsType"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType
name="ForecastResponseType">
        <xsd:sequence>
        <xsd:element maxOccurs="unbounded" name="responses" type="ResponseDetailType"/>
        </xsd:sequence>
      </xsd:complexType>
      <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>
      <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>
      <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>
      <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>
    </xsd:schema>
  </wsdl:types>
  <wsdl:message name="GetForecastRequest">
    <wsdl:part element="sch2:GetForecastRequest" name="GetForecastRequest"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="GetForecastResponse">
    <wsdl:part element="sch2:GetForecastResponse" name="GetForecastResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:portType name="GetForecastRequest">
    <wsdl:operation name="GetForecast">
      <wsdl:input message="tns:GetForecastRequest" name="GetForecastRequest"></wsdl:input>
      <wsdl:output message="tns:GetForecastResponse" name="GetForecastResponse"></wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="GetForecastRequestSoap11" type="tns:GetForecastRequest">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="GetForecast">
      <soap:operation soapAction=""/>
      <wsdl:input name="GetForecastRequest">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="GetForecastResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="GetForecastRequestService">
    <wsdl:port binding="tns:GetForecastRequestSoap11" name="GetForecastRequestSoap11">
      <soap:address location="http://jmerritt01.stchome.com:8080/forecaster_5174/soa/forecast"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>