Home > Class Reference > HSLIB namespace > HS.IHE.XDSb.DocumentSource.Operations

HS.IHE.XDSb.DocumentSource.Operations

class HS.IHE.XDSb.DocumentSource.Operations extends HS.IHE.XDSb.DocumentSource.Abstract, HS.Util.SOAPClient.Operations

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

Property Inventory (Including Private)

Method Inventory (Including Private)

Parameters

parameter INVOCATION = Queue;
Inherited description: 2 modes: Queue, InProc
parameter SETTINGS = XDSbRepositoryServiceName:Basic:selector?Select=1&context={HS.Util.ContextSearch/ServiceNameItems},XDSbRegistryServiceName:Basic:selector?Select=1&context={HS.Util.ContextSearch/ServiceNameItems},PIXv3ConsumerOperations,MPIOperations,DocumentTransform,XDSbConsumerOperations,DocumentsInline,AddNewPatients;
Inherited description: List of properties can be set as settings in the configuration file format is a comma separated list of property names

Properties (Including Private)

property DocumentTransform as %String (MAXLEN = 255) [ InitialExpression = "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 PIXv3ConsumerOperations as %String [ InitialExpression = "HS.IHE.PIXv3.Consumer.Operations" ];
The PIXv3 Consumer operation - if the patientId is not defined in the request use the sourceId and query the pix manager
Property methods: PIXv3ConsumerOperationsDisplayToLogical(), PIXv3ConsumerOperationsGet(), PIXv3ConsumerOperationsIsValid(), PIXv3ConsumerOperationsLogicalToDisplay(), PIXv3ConsumerOperationsLogicalToOdbc(), PIXv3ConsumerOperationsNormalize(), PIXv3ConsumerOperationsSet()
property XDSbConsumerOperations as %String [ InitialExpression = "HS.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 XDSbRegistryServiceName as %String [ InitialExpression = "XDSb.Registry" ];
The XDS.b Registry actor from the HealthShare Service Registry.
Property methods: XDSbRegistryServiceNameDisplayToLogical(), XDSbRegistryServiceNameGet(), XDSbRegistryServiceNameIsValid(), XDSbRegistryServiceNameLogicalToDisplay(), XDSbRegistryServiceNameLogicalToOdbc(), XDSbRegistryServiceNameNormalize(), XDSbRegistryServiceNameSet()
property XDSbRepositoryServiceName as %String [ InitialExpression = "XDSb.Repository" ];
The XDS.b Repository actor from the HealthShare Service Registry.
Property methods: XDSbRepositoryServiceNameDisplayToLogical(), XDSbRepositoryServiceNameGet(), XDSbRepositoryServiceNameIsValid(), XDSbRepositoryServiceNameLogicalToDisplay(), XDSbRepositoryServiceNameLogicalToOdbc(), XDSbRepositoryServiceNameNormalize(), XDSbRepositoryServiceNameSet()

Methods (Including Private)

method AddDemographics(pUpdatedRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest, pAddRequest As HS.Message.AddUpdateHubRequest, pDocument As HS.Message.IHE.XDSb.Document, pDocObject As %XML.XPATH.Document) as %Status [ Language = objectscript ]
method AddDirectHeader(pWebRequest, pRequest) as %Status [ Language = objectscript ]
method BuildRequest(pInboundRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest, pOutboundRequest As HS.Message.XMLMessage, ByRef pUpdatedRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest) as %Status [ Language = objectscript ]
Take the inbound request fetch any missing values and build outbound request
method GetReplacementId(pDocument As HS.Message.IHE.XDSb.Document, pPatientId) as %Status [ Language = objectscript ]
method OnMessage(pRequest As HS.Message.XMLMessage, Output pResponse As HS.Message.XMLMessage) as %Status [ Language = objectscript ]
If doing any security related signing the request comes and generated (with a security document as a placeholder), the caller then adds the security document and calls the source again, this time it will be audited and sent to the repository
method XDSbProvideAndRegisterRequest(pRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest, Output pResponse As HS.Message.XMLMessage, pWebRequest As %SOAP.WebRequest = ##class(%SOAP.WebRequest).%New()) as %Status [ Language = objectscript ]
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.
method XDSbRegisterRequest(pRequest As HS.Message.IHE.XDSb.RegisterRequest, Output pResponse As HS.Message.XMLMessage) as %Status [ Language = objectscript ]

Inherited Members

Inherited Properties (Including Private)

Inherited Methods (Including Private)

Subclasses