Skip to main content


class HS.AU.IHE.XDSb.DocumentSource.Operations extends HS.IHE.XDSb.DocumentSource.Operations

IHE XDSb Document Source Actor Given a CDA stream extract relevant data and build ProvideAndRegister transaction

Property Inventory

Method Inventory


parameter HEADERCLASS = HS.AU.PCEHR.WebRequest;
Allow a different header class by overriding paramter value
parameter SETTINGS = ZipOperations;
Inherited description: List of properties can be set as settings in the configuration file format is a comma separated list of property names


property DocumentTransform as %String (MAXLEN = 255) [ InitialExpression = "AU/IHE/XDSb/Version1/DocumentToProvideAndRegister.xsl" ];
See %HSHOME%/csp/xslt/IHE/XDSb/Version1/DocumentToProvideAndRegister.xsl for an example
Property methods: DocumentTransformDisplayToLogical(), DocumentTransformGet(), DocumentTransformIsValid(), DocumentTransformLogicalToDisplay(), DocumentTransformLogicalToOdbc(), DocumentTransformNormalize(), DocumentTransformSet()
property DocumentsInline as %Boolean [ InitialExpression = 1 ];
Send documents inline instead of as attachments
Property methods: DocumentsInlineDisplayToLogical(), DocumentsInlineGet(), DocumentsInlineIsValid(), DocumentsInlineLogicalToDisplay(), DocumentsInlineNormalize(), DocumentsInlineSet()
property XDSbConsumerOperations as %String [ InitialExpression = "HS.AU.IHE.XDSb.Consumer.Operations" ];
The XDSb Consumer operation - if the document(s) is replacing an other document locate the existing document using a query with the ReplacementContext
Property methods: XDSbConsumerOperationsDisplayToLogical(), XDSbConsumerOperationsGet(), XDSbConsumerOperationsIsValid(), XDSbConsumerOperationsLogicalToDisplay(), XDSbConsumerOperationsLogicalToOdbc(), XDSbConsumerOperationsNormalize(), XDSbConsumerOperationsSet()
property ZipOperations as Ens.DataType.ConfigName [ InitialExpression = "HS.Util.Zip.Operations" ];
Property methods: ZipOperationsDisplayToLogical(), ZipOperationsGet(), ZipOperationsIsValid(), ZipOperationsLogicalToDisplay(), ZipOperationsLogicalToOdbc(), ZipOperationsNormalize(), ZipOperationsParseConfigNameSpec(), ZipOperationsSet()


method AttachDocuments(pUpdatedRequest As HS.AU.Message.IHE.XDSb.ProvideAndRegisterRequest, pOutboundRequest As HS.Message.XMLMessage) as %Status
Australian specific Provide and Register Only a single document is permitted In the Australian Standard the document needs to be signed and zipped If the document is in the Body versus BodyCharacter we will assume it is already the zipped document and the correct metadata is set and this code is just doing the P&R If the document is in the BodyCharacter we are signing and zipping the document and updating the metadata where required (when not set already)
method BuildRequest(pInboundRequest As HS.AU.Message.IHE.XDSb.ProvideAndRegisterRequest, pOutboundRequest As HS.Message.XMLMessage, ByRef pUpdatedRequest As HS.AU.Message.IHE.XDSb.ProvideAndRegisterRequest) as %Status
Take the inbound request fetch any missing values and build outbound request
method GetReplacementId(pDocument As HS.Message.IHE.XDSb.Document, pPatientId) as %Status
method GetUpdatedProvideRequest(pRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest, Output pUpdatedRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest) as %Status
if the request is CDA we may need to extract values from the document and update the request for this reason tUdpatedRequest is used so that the original transaction is not updated
method XDSbProvideAndRegisterRequest(pRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest, Output pResponse As HS.Message.XMLMessage, pWebRequest As %SOAP.WebRequest) as %Status
Inherited description: The provide request can set GenerateProvideAndRegisterOnly=1 which will make the response.contentstream have the value which would be sent to the repository this enables using the P&R request for signatures.

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab