Skip to main content

HS.IHE.DSUB.NotificationBroker.Operations

class HS.IHE.DSUB.NotificationBroker.Operations extends HS.HC.Util.Trace.Helper, Ens.BusinessOperation, HS.Util.XSLTTransformer, HS.Util.SOAPClient.Operations

Property Inventory

Method Inventory

Parameters

parameter DOMAIN = HS;
Domain used for localization.
parameter HSDEPLOY = 1;
parameter SETTINGS = NotificationBrokerServiceName:Basic,DefaultSSLConfig:Basic,MaximumDuration:Basic,ValidatePatientID:Basic,ValidateAffinityDomain:Basic,PDQConsumer:Basic,TransformSubscribe,TransformPublishToMessage,-TransformSubscribeNotification,TransformSubscribeResponse,TransformDocumentToNotification,-NotificationOperation,-TransformToMetadata,TransformToMessage,-XSLTDirectory,-XSLTCallbackHandlerClass,-XSLTErrorHandlerClass,XSLTCacheMode:Basic,-ProducerReference:Basic,DisableSSLCheckServerIdentity:Dev;
Inherited description: List of properties can be set as settings in the configuration file format is a comma separated list of property names

Properties

property DefaultSSLConfig as %String [ InitialExpression = "Client" ];
If inbound url is https automatic SSL configuration assigned to subscription registry entry
Property methods: DefaultSSLConfigDisplayToLogical(), DefaultSSLConfigGet(), DefaultSSLConfigIsValid(), DefaultSSLConfigLogicalToDisplay(), DefaultSSLConfigLogicalToOdbc(), DefaultSSLConfigNormalize(), DefaultSSLConfigSet()
property Errors as HS.Types.IHE.Errors;
Property methods: ErrorsGet(), ErrorsGetObject(), ErrorsGetObjectId(), ErrorsGetSwizzled(), ErrorsIsEmpty(), ErrorsIsValid(), ErrorsNewObject(), ErrorsSet(), ErrorsSetObject(), ErrorsSetObjectId(), ErrorsUnSwizzle()
property FilterItems as %String [ MultiDimensional ];
Property methods: FilterItemsDisplayToLogical(), FilterItemsGet(), FilterItemsIsValid(), FilterItemsLogicalToDisplay(), FilterItemsLogicalToOdbc(), FilterItemsNormalize(), FilterItemsSet()
property HomeCommunityOID as %String;
Property methods: HomeCommunityOIDDisplayToLogical(), HomeCommunityOIDGet(), HomeCommunityOIDIsValid(), HomeCommunityOIDLogicalToDisplay(), HomeCommunityOIDLogicalToOdbc(), HomeCommunityOIDNormalize(), HomeCommunityOIDSet()
property MaximumDuration as %String;
Not required, but if specified this is the maximum duration, subscriptions specifying longer durations will be limited to this value. PnYnMnDTnHnMnS P1Y2M3DT4H5M6S would be 1 year, 2 months, 3 days, 4 hours, 5 minutes, 6 seconds from now
Property methods: MaximumDurationDisplayToLogical(), MaximumDurationGet(), MaximumDurationIsValid(), MaximumDurationLogicalToDisplay(), MaximumDurationLogicalToOdbc(), MaximumDurationNormalize(), MaximumDurationSet()
property NotificationBrokerService as HS.Registry.Service.SOAP;
Temporary entry for the NotificationBroker Service registry entry (look it up once), if using a bus, this would be the service name of the BUS endpoint
Property methods: NotificationBrokerServiceGet(), NotificationBrokerServiceGetObject(), NotificationBrokerServiceGetObjectId(), NotificationBrokerServiceGetSwizzled(), NotificationBrokerServiceIsValid(), NotificationBrokerServiceNewObject(), NotificationBrokerServiceSet(), NotificationBrokerServiceSetObject(), NotificationBrokerServiceSetObjectId(), NotificationBrokerServiceUnSwizzle()
property NotificationBrokerServiceName as %String [ InitialExpression = "DSUB.NotificationBroker" ];
Service Registry entry for the HS.IHE.DSUB.NotificationBroker.Service.cls, to be used for producing cancellation address
Property methods: NotificationBrokerServiceNameDisplayToLogical(), NotificationBrokerServiceNameGet(), NotificationBrokerServiceNameIsValid(), NotificationBrokerServiceNameLogicalToDisplay(), NotificationBrokerServiceNameLogicalToOdbc(), NotificationBrokerServiceNameNormalize(), NotificationBrokerServiceNameSet()
property NotificationOperation as Ens.DataType.ConfigName [ InitialExpression = "HS.IHE.DSUB.Notification.Operations" ];
Operations class to send message (common operation providing ServiceName / soap Action)
Property methods: NotificationOperationDisplayToLogical(), NotificationOperationGet(), NotificationOperationIsValid(), NotificationOperationLogicalToDisplay(), NotificationOperationLogicalToOdbc(), NotificationOperationNormalize(), NotificationOperationParseConfigNameSpec(), NotificationOperationSet()
property PDQConsumer as Ens.DataType.ConfigName [ InitialExpression = "HS.IHE.PDQv3.Consumer.Operations" ];
Used to validate the PatientID provided in the Subscription
Property methods: PDQConsumerDisplayToLogical(), PDQConsumerGet(), PDQConsumerIsValid(), PDQConsumerLogicalToDisplay(), PDQConsumerLogicalToOdbc(), PDQConsumerNormalize(), PDQConsumerParseConfigNameSpec(), PDQConsumerSet()
property ProducerReference as %String (MAXLEN = 512) [ InitialExpression = "https://"_$$$HSNetworkHostName_"/csp/connect/HS.IHE.XDSb.Registry.Services.cls" ];
**** Deprecated due to CP-ITI-888-04 - now use SubmissionSet sourceid ****
Property methods: ProducerReferenceDisplayToLogical(), ProducerReferenceGet(), ProducerReferenceIsValid(), ProducerReferenceLogicalToDisplay(), ProducerReferenceLogicalToOdbc(), ProducerReferenceNormalize(), ProducerReferenceSet()
property QueryParameters as %String [ MultiDimensional ];
Property methods: QueryParametersDisplayToLogical(), QueryParametersGet(), QueryParametersIsValid(), QueryParametersLogicalToDisplay(), QueryParametersLogicalToOdbc(), QueryParametersNormalize(), QueryParametersSet()
property TransformDocumentToNotification as %String (MAXLEN = 512) [ InitialExpression = "IHE/DSUB/Version1/BrokerCreateNotification.xsl" ];
Transform into a notification
Property methods: TransformDocumentToNotificationDisplayToLogical(), TransformDocumentToNotificationGet(), TransformDocumentToNotificationIsValid(), TransformDocumentToNotificationLogicalToDisplay(), TransformDocumentToNotificationLogicalToOdbc(), TransformDocumentToNotificationNormalize(), TransformDocumentToNotificationSet()
property TransformPublishToMessage as %String (MAXLEN = 512) [ InitialExpression = "IHE/DSUB/Version1/BrokerNotificationToMetadataObject.xsl" ];
Transform NotificationMessage - stripping notification header information
Property methods: TransformPublishToMessageDisplayToLogical(), TransformPublishToMessageGet(), TransformPublishToMessageIsValid(), TransformPublishToMessageLogicalToDisplay(), TransformPublishToMessageLogicalToOdbc(), TransformPublishToMessageNormalize(), TransformPublishToMessageSet()
property TransformSubscribe as %String (MAXLEN = 512) [ InitialExpression = "IHE/DSUB/Version1/BrokerSubscribeRequest.xsl" ];
Transform Subscription Request into HS.IHE.DSUB.NotificationBroker.Subscription
Property methods: TransformSubscribeDisplayToLogical(), TransformSubscribeGet(), TransformSubscribeIsValid(), TransformSubscribeLogicalToDisplay(), TransformSubscribeLogicalToOdbc(), TransformSubscribeNormalize(), TransformSubscribeSet()
property TransformSubscribeResponse as %String (MAXLEN = 512) [ InitialExpression = "IHE/DSUB/Version1/BrokerSubscribeResponse.xsl" ];
XSL to create a subscription response
Property methods: TransformSubscribeResponseDisplayToLogical(), TransformSubscribeResponseGet(), TransformSubscribeResponseIsValid(), TransformSubscribeResponseLogicalToDisplay(), TransformSubscribeResponseLogicalToOdbc(), TransformSubscribeResponseNormalize(), TransformSubscribeResponseSet()
property TransformToMessage as %String [ InitialExpression = "IHE/XDSb/Version1/MetadataObject-to-Message.xsl" ];
The transform that produces XDSb messages from metadata
Property methods: TransformToMessageDisplayToLogical(), TransformToMessageGet(), TransformToMessageIsValid(), TransformToMessageLogicalToDisplay(), TransformToMessageLogicalToOdbc(), TransformToMessageNormalize(), TransformToMessageSet()
property TransformToMetadata as %String [ InitialExpression = "IHE/XDSb/Version1/Message-to-XDSbRequest.xsl" ];
Property methods: TransformToMetadataDisplayToLogical(), TransformToMetadataGet(), TransformToMetadataIsValid(), TransformToMetadataLogicalToDisplay(), TransformToMetadataLogicalToOdbc(), TransformToMetadataNormalize(), TransformToMetadataSet()
property ValidateAffinityDomain as %Boolean [ InitialExpression = 1 ];
Property methods: ValidateAffinityDomainDisplayToLogical(), ValidateAffinityDomainGet(), ValidateAffinityDomainIsValid(), ValidateAffinityDomainLogicalToDisplay(), ValidateAffinityDomainNormalize(), ValidateAffinityDomainSet()
property ValidatePatientID as %Boolean [ InitialExpression = 1 ];
Allow turning off patient ID validation; to be used during testing
Property methods: ValidatePatientIDDisplayToLogical(), ValidatePatientIDGet(), ValidatePatientIDIsValid(), ValidatePatientIDLogicalToDisplay(), ValidatePatientIDNormalize(), ValidatePatientIDSet()

Methods

method BuildFilterItems()
method CheckFilteredDocument(pMetaData, pDocument) as %Status
method CheckSubmissionSet(pMetaData, pSubmissionSet) as %Status
classmethod CleanupFilterItems(pSubscription As HS.IHE.DSUB.NotificationBroker.Subscription) as %Status
Strip leading/trailing () and '' from values, move multiple values from single line to mulitple lines
classmethod CompareValues(pValue, pQueryValue) as %Boolean
Compare a pQueryValue to pValue considering % as like or _, otherwise only equal
method FilterAuthor(pObject, pFilterItem) as %Boolean
FilterAuthor for SubmissionSets and Documents
method FilterIntendedRecipients(pSubmissionSet As HS.Types.IHE.XDSb.Submission, pFilterItem) as %Boolean
Given the pSubmissionSet determine whether the Record Should be filtered based on IntendedRecipients
method FilterReferenceIdList(pDocument, pFilterItem) as %Boolean
method GetNotificationRequest(pRequest As HS.Message.XMLMessage, Output pNewRequest As HS.Message.XMLMessage) as %Status
Get the Metadata from the notification
method InternalPublish(pRequest As HS.Message.IHE.XDSb.Metadata, Output pResponse As HS.Message.XMLMessage) as %Status
Internal publish - (from registry)
method OnAfterSubscription(pSubscription As HS.IHE.DSUB.NotificationBroker.Subscription, pResponse As HS.Message.XMLMessage, pRequest As HS.Message.XMLMessage) as %Status
User code fired after the subscription has been filed pSubscription is subscription object which has been filed pResponse is available to provide soap faults pRequest is the original message
method OnBeforeSubscription(pSubscription As HS.IHE.DSUB.NotificationBroker.Subscription, pResponse As HS.Message.XMLMessage, pRequest As HS.Message.XMLMessage) as %Status
User code capable of checking / changing subscription prior to filing pSubscription is parsed subscription ready to be filed pResponse is available to provide soap faults pRequest is the original message
method OnInit() as %Status
This user callback method is called via initConfig() from %OnNew() or in the case of SOAP Services from OnPreSOAP()
method OnMessage(pRequest As %Library.Persistent, Output pResponse As %Library.Persistent) as %Status
Inherited description: This is the default message handler. All request types not declared in the message map are delivered here
method QueryPatientIDPDQ(pPatientID) as %Status
method Subscribe(pRequest As HS.Message.XMLMessage, Output pResponse As HS.Message.XMLMessage) as %Status
method SubscribeObject(pSubscription As HS.IHE.DSUB.NotificationBroker.Subscription, Output pResponse As HS.Message.XMLMessage, pRequest As HS.Message.XMLMessage = "") as %Status
Internal method - do not override - use OnBeforeSubscription or OnAfterSubscription
method Unsubscribe(pRequest As HS.Message.XMLMessage, Output pResponse As HS.Message.XMLMessage) as %Status
method ValidateFilterItems(pSubscription As HS.IHE.DSUB.NotificationBroker.Subscription, pResponse As HS.Message.XMLMessage) as %Status

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab