Skip to main content


class %Standards.AU.eHealth.SMD.SignedPayloadType extends %Library.RegisteredObject, %XML.Adaptor

Implementation of Australian E-health XML secured payload profiles.
Document ATS 5821-2010

To create a signedPayload just call the Create class method with a data object and %SYS.X509Credentials object that contains the certificate and private key of the sender. Additional signatures may be added using the AddSignature method.

To validate a signedPayload call the Validate method of the SignedPayloadType object.

Property Inventory

Method Inventory


parameter NAMESPACE =;
Inherited description: NAMESPACE specifies the XML namespace to be used when projecting the class to XML. if NAMESPACE - "", the default namespace is used for the XML schema is used as the namespace for his class.
parameter XMLFORMAT = literal;
Inherited description: The XMLFORMAT parameter controls the generation of the XMLExport and XMLImport methods for XML enabled classes to include code for only literal or only encoded format. This allows the generated routines to be significantly smaller since usually both formats are not needed.
If XMLFORMAT="Literal", then only support for literal format import and export is generated.
If XMLFORMAT="Encoded", then only support for SOAP encoded format import and export is generated.
The default is to generate support for both literal and encoded format.
parameter XMLNAME = signedPayload;
Inherited description: This parameter provides the default XMLNAME for the class. If it is empty then the class name will be used to construct a default XML name. The default XMLNAME is used as the top level tag when exporting objects and the export context did not provide an XML container name.
parameter XMLPREFIX = sp;
Inherited description: The XMLPREFIX parameter controls the prefix to be used for the XML namespace that is given by the NAMESPACE parameter.


property signatures as %Standards.AU.eHealth.SMD.SignatureListType [ Required ];
Property methods: signaturesGet(), signaturesGetSwizzled(), signaturesIsValid(), signaturesNewObject(), signaturesSet()
property signedPayloadData as %Standards.AU.eHealth.SMD.SignedPayloadDataType [ Required ];
Property methods: signedPayloadDataGet(), signedPayloadDataGetSwizzled(), signedPayloadDataIsValid(), signedPayloadDataNewObject(), signedPayloadDataSet()


method AddSignature(credentials As %SYS.X509Credentials) as %Status
Add an additional signature and sign payload with this signature. AddSignature method should be called after Create.
classmethod Create(data As %Standards.AU.eHealth.SMD.BaseDataType, credentials As %SYS.X509Credentials = "", Output status As %Status) as %Standards.AU.eHealth.SMD.SignedPayloadType
Create a signedPayload and sign using a signature.
- data is the subclass of %Standards.AU.eHealth.SMD.BaseDataType that contains the payload.
- credentials contains the X.509 credentials used to sign the data.
- If error, error %Status is stored in status argument.
method Validate(document As %XML.Document) as %Status
Validate the signatures in a signedPayload. The document argument is the DOM for the document which contains the payload. For SOAP messages, the document is in the ImportHandler property of the client or service. Otherwise the payload may be exported and then the %XML.Reader OpenStream method will convert the stream to a document in its Document property.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab