3.36 Archive Form [ITI-36]
This section corresponds to transaction [ITI-36] of the IHE IT Infrastructure Technical Framework. Transaction [ITI-36] is used by the Form Filler and Form Archiver Actors.
3.36.1 Scope
This transaction involves a Form Filler submitting form instance data to a Form Archiver.
3.36.2 Use Case Roles
Actor: Form Filler
Role: A forms display and editing system capable of allowing form fields to be completed.
Actor: Form Archiver
Role: A system that receives submitted forms for archival purposes.
3.36.3 Referenced Standards
Implementors of this transaction shall comply with all requirements described in ITI TF-2: Appendix V : Web Services for IHE Transactions.
RFC1738, Uniform Resource Locators (URL), December 1994, http://www.faqs.org/rfcs/rfc1738.html
RFC2616 HyperText Transfer Protocol HTTP/1.1
Extensible Markup Language (XML) 1.0 (Second Edition). W3C Recommendation 6 October 2000. http://www.w3.org/TR/REC-xml .
3.36.4 Messages
Figure 3.36.4-1: Interaction Diagram
3.36.4.1 Archive Form
This transaction is initiated by a Form Filler submitting a data to a Form Archiver for archival purposes.
3.36.4.1.1 Trigger Events
The Form Filler shall use this transaction to submit data to a Form Archiver for archival purposes. The Archive Form transaction may be initiated by a Form Filler, or it may be triggered as a secondary submission action from within a form.
3.36.4.1.2 Message Semantics
The Archive Form transaction shall carry an ArchiveFormRequest element, with submitted form data as XML child elements of the ArchiveFormRequest element. Content profiles may further constrain the content of the ArchiveFormRequest element.
See the schema provided with the support materials (see ITI TF-2: Appendix W ).
3.36.4.1.3 Expected Actions
Upon receipt of the Archive Form request, the Form Archiver shall return an ArchiveFormResponse element, or errors with SOAP Faults, for example if the posted data cannot be recognized.
The Form Filler may display the results of the response from the Form Archiver.
The Form Archiver shall use the SOAP Faults defined in Table 3.36.4.1.3-1 when appropriate. Form Fillers shall be capable of accepting other values beyond the ones specified here.
Table 3.36.4.1.3-1: SOAP Faults
Description of error | Code | Reason Text |
Cannot recognize the posted data | Sender | Required Information Missing |
An example of a SOAP Fault is:
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xml="http://www.w3.org/XML/1998/namespace">
<env:Body>
<env:Fault>
<env:Code>
<env:Value>env:Sender</env:Value>
</env:Code>
<env:Reason>
<env:Text xml:lang="en">Required Information Missing</env:Text>
</env:Reason>
</env:Fault>
</env:Body>
</env:Envelope>
3.36.4.2 Archive Form Response
3.36.4.2.1 Trigger Events
This message is triggered by a Form Filler archiving form instance data.
3.36.4.2.2 Message Semantics
An ArchiveFormResponse element is returned, which contains:
- A responseCode string that may be constrained by Content Profiles
See the schema provided with the support materials (see ITI TF-2: Appendix W ).
3.36.4.2.3 Expected Actions
The Form Filler may display the results of the response from the Form Archiver. The form behavior may be further profiled by content domain profiles.
3.36.5 Protocol Requirements
The Archive Form request and response shall be transmitted using Synchronous Web Services Exchange, according to the requirements specified in ITI TF-2: Appendix V .
The Archive Form transaction shall use SOAP 1.2.
WSDL Namespace Definitions
ihe | urn:ihe:iti:rfd:2007 |
soap12 | http://schemas.xmlsoap.org/wsdl/soap12/ |
wsaw | http://www.w3.org/2005/08/addressing |
xsd | http://www.w3.org/2001/XMLSchema |
These are the requirements for the Archive Form transaction presented in the order in which they would appear in the Archive Form WSDL definition:
- The following types shall be imported (xds:import) in the /definitions/types section:
- Namespace=”urn:ihe:iti:rfd:2007”, schema=”RFD.xsd”
- The /definitions/message/part/@element attribute of the Archive Form Request message shall be defined as: “ihe:ArchiveFormRequest”
- The /definitions/message/part/@element attribute of the Archive Form Response message shall be defined as: “ihe:ArchiveFormResponse”
- Refer to Table 3.36.5-1 for additional attribute requirements.
Table 3.36.5-1: Additional Attribute Requirements
Attribute | Value |
/definitions/portType/operation@name | ArchiveForm |
/definitions/portType/operation/input/@wsaw:Action | urn:ihe:iti:2007:ArchiveForm |
/definitions/portType/operation/output/@wsaw:Action | urn:ihe:iti:2007:ArchiveFormResponse |
/definitions/binding/operation/wsoap12:operation/@soapActionRequired | false |
These are the requirements that affect the wire format of the SOAP message. The other WSDL properties are only used within the WSDL definition and do not affect interoperability. Full sample request and response messages are in Section 3.36.5.1 Sample SOAP Messages.
For informative WSDL see ITI TF-2: Appendix W .
The <ihe:ArchiveFormRequest> element is defined as:
- One or more <xs:any> elements
This allows the Form Manager to construct forms that archive form data using any XML representation.
The <ihe:ArchiveFormResponse> element is defined as:
- A required <ihe:responseCode> element of type xs:string.
3.36.5.1 Sample SOAP Messages
The samples in the following two sections show a typical SOAP request and its relative SOAP response. The sample messages also show the WS-Addressing headers <Action/>,
<MessageID/>, .; these WS-Addressing headers are populated according to ITI TF-2: Appendix V : Web Services for IHE Transactions. Some of the body of the SOAP message is omitted for brevity.
3.36.5.1.1 Sample Archive Form SOAP Request
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<wsa:To>http://localhost:4040/axis2/services/someservice</wsa:To>
<wsa:MessageID>urn:uuid:76A2C3D9BCD3AECFF31217932910053</wsa:MessageID>
<wsa:Action soap:mustUnderstand="1">urn:ihe:iti: 2007:ArchiveForm</wsa:Action>
</soap:Header>
<soap:Body>
<ArchiveFormRequest xmlns="urn:ihe:iti:rfd:2007">
…
</ArchiveFormRequest>
</soap:Body>
</soap:Envelope>
3.36.5.1.2 Sample Archive Form SOAP Response
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<wsa:To>http://localhost:4040/axis2/services/someservice</wsa:To>
<wsa:MessageID>urn:uuid:76A2C3D9BCD3AECFF31217932910053</wsa:MessageID>
<wsa:Action soap:mustUnderstand="1">urn:ihe:iti: 2007:ArchiveFormResponse</wsa:Action>
</soap:Header>
<soap:Body>
<ArchiveResponse xmlns="urn:ihe:iti:rfd:2007">
<responseCode />
</ArchiveFormResponse>
</soap:Body>
</soap:Envelope>
3.36.6 Security Considerations
As noted in the mitigations section of ITI TF-1: 17.5 Security Considerations, endpoints are free to implement TLS as needed for additional privacy and protection. Content profiles, based upon the nature of the data, may require use of ATNA.