Skip to main content

HS.IHE.XCPD.RespondingGateway.Process

persistent class HS.IHE.XCPD.RespondingGateway.Process extends Ens.BusinessProcess, HS.HC.Util.Trace.Helper

SQL Table Name: HS_IHE_XCPD_RespondingGateway.Process

Property Inventory

Method Inventory

Parameters

parameter DOMAIN = HS;
parameter HSDEPLOY = 1;
parameter SETTINGS = MaxReturnPatientCount:Basic,PDQv3Supplier,XCPDRespondingGatewayOperations,IHEVersion,AffinityDomain,XCPDRespondingGatewayServiceNames,PDQLowThreshold,CacheIDs,ApplyConsent,PRPAINToPatientSearchTransform,QueryResponsesToXCPDResponseTransform,PatientSearchResponseToPRPAINTransform,NationalPatientIdentifier;
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 AffinityDomain as %String;
Property methods: AffinityDomainDisplayToLogical(), AffinityDomainGet(), AffinityDomainGetStored(), AffinityDomainIsValid(), AffinityDomainLogicalToDisplay(), AffinityDomainLogicalToOdbc(), AffinityDomainNormalize(), AffinityDomainSet()
property ApplyConsent as %Boolean [ InitialExpression = 0 ];
If true, patient search requests generated by this process will be processed by consent.
Property methods: ApplyConsentDisplayToLogical(), ApplyConsentGet(), ApplyConsentGetStored(), ApplyConsentIsValid(), ApplyConsentLogicalToDisplay(), ApplyConsentNormalize(), ApplyConsentSet()
property CacheIDs as %Boolean [ InitialExpression = 0 ];
CacheIDs enables the caching of patient IDs into a Caché global for later reference by the XCA Responding Gateway business process.
Property methods: CacheIDsDisplayToLogical(), CacheIDsGet(), CacheIDsGetStored(), CacheIDsIsValid(), CacheIDsLogicalToDisplay(), CacheIDsNormalize(), CacheIDsSet()
property Errors as HS.Types.IHE.Errors;
Property methods: ErrorsGet(), ErrorsGetObject(), ErrorsGetObjectId(), ErrorsGetStored(), ErrorsGetSwizzled(), ErrorsIsEmpty(), ErrorsIsValid(), ErrorsNewObject(), ErrorsSet(), ErrorsSetObject(), ErrorsSetObjectId(), ErrorsUnSwizzle()
property IHEVersion as %Integer [ InitialExpression = 1 ];
Property methods: IHEVersionDisplayToLogical(), IHEVersionGet(), IHEVersionGetStored(), IHEVersionIsValid(), IHEVersionLogicalToDisplay(), IHEVersionNormalize(), IHEVersionSet()
property MaxReturnPatientCount as %Integer [ InitialExpression = 1 ];
Property methods: MaxReturnPatientCountDisplayToLogical(), MaxReturnPatientCountGet(), MaxReturnPatientCountGetStored(), MaxReturnPatientCountIsValid(), MaxReturnPatientCountLogicalToDisplay(), MaxReturnPatientCountNormalize(), MaxReturnPatientCountSet()
property NationalPatientIdentifier as %Boolean [ InitialExpression = 0 ];
In a National Identifier situation, the National Identifier is sent to the responding gateway instead of demographics. Locate
the MPIID and return it (no demographics)
Property methods: NationalPatientIdentifierDisplayToLogical(), NationalPatientIdentifierGet(), NationalPatientIdentifierGetStored(), NationalPatientIdentifierIsValid(), NationalPatientIdentifierLogicalToDisplay(), NationalPatientIdentifierNormalize(), NationalPatientIdentifierSet()
property NationalPatientIdentifierAA as %String [ InitialExpression = ##class(HS.Registry.Config).GetKeyValue("\IHE\NationalPatientIdentifierAA") ];
Config registry value for \IHE\NationalPatientIdentifierAA
Property methods: NationalPatientIdentifierAADisplayToLogical(), NationalPatientIdentifierAAGet(), NationalPatientIdentifierAAGetStored(), NationalPatientIdentifierAAIsValid(), NationalPatientIdentifierAALogicalToDisplay(), NationalPatientIdentifierAALogicalToOdbc(), NationalPatientIdentifierAANormalize(), NationalPatientIdentifierAASet()
property PDQLowThreshold as %String;
Since XCPD relies on an exact match, pass the low threshold to the supplier which would evaluate as an exact match.
Property methods: PDQLowThresholdDisplayToLogical(), PDQLowThresholdGet(), PDQLowThresholdGetStored(), PDQLowThresholdIsValid(), PDQLowThresholdLogicalToDisplay(), PDQLowThresholdLogicalToOdbc(), PDQLowThresholdNormalize(), PDQLowThresholdSet()
property PDQv3Supplier as Ens.DataType.ConfigName [ InitialExpression = "HS.IHE.PDQv3.Consumer.Operations" ];
The Supplier on the BUS will point to the Supplier operation (going to the registry)
Property methods: PDQv3SupplierDisplayToLogical(), PDQv3SupplierGet(), PDQv3SupplierGetStored(), PDQv3SupplierIsValid(), PDQv3SupplierLogicalToDisplay(), PDQv3SupplierLogicalToOdbc(), PDQv3SupplierNormalize(), PDQv3SupplierParseConfigNameSpec(), PDQv3SupplierSet()
property PRPAINToPatientSearchTransform as %String (MAXLEN = 250) [ InitialExpression = "IHE/XCPD/Version1/PRPAIN201305UVToPatientSearchRequest.xsl" ];
Property methods: PRPAINToPatientSearchTransformDisplayToLogical(), PRPAINToPatientSearchTransformGet(), PRPAINToPatientSearchTransformGetStored(), PRPAINToPatientSearchTransformIsValid(), PRPAINToPatientSearchTransformLogicalToDisplay(), PRPAINToPatientSearchTransformLogicalToOdbc(), PRPAINToPatientSearchTransformNormalize(), PRPAINToPatientSearchTransformSet()
property PatientSearchResponseToPRPAINTransform as %String (MAXLEN = 250) [ InitialExpression = "IHE/XCPD/Version1/PatientSearchResponseToPRPAIN201306UV.xsl" ];
Property methods: PatientSearchResponseToPRPAINTransformDisplayToLogical(), PatientSearchResponseToPRPAINTransformGet(), PatientSearchResponseToPRPAINTransformGetStored(), PatientSearchResponseToPRPAINTransformIsValid(), PatientSearchResponseToPRPAINTransformLogicalToDisplay(), PatientSearchResponseToPRPAINTransformLogicalToOdbc(), PatientSearchResponseToPRPAINTransformNormalize(), PatientSearchResponseToPRPAINTransformSet()
property QueryResponsesToXCPDResponseTransform as %String (MAXLEN = 250) [ InitialExpression = "IHE/XCPD/Version1/QueryResponsesToXCPDResponse.xsl" ];
Property methods: QueryResponsesToXCPDResponseTransformDisplayToLogical(), QueryResponsesToXCPDResponseTransformGet(), QueryResponsesToXCPDResponseTransformGetStored(), QueryResponsesToXCPDResponseTransformIsValid(), QueryResponsesToXCPDResponseTransformLogicalToDisplay(), QueryResponsesToXCPDResponseTransformLogicalToOdbc(), QueryResponsesToXCPDResponseTransformNormalize(), QueryResponsesToXCPDResponseTransformSet()
property Transformer as HS.Util.XSLTTransformer;
Property methods: TransformerGet(), TransformerGetStored(), TransformerGetSwizzled(), TransformerIsValid(), TransformerNewObject(), TransformerSet()
property XCPDRespondingGatewayOperations as Ens.DataType.ConfigName [ InitialExpression = "HS.IHE.XCPD.RespondingGateway.Operations" ];
Used for asynchronous responses and when federating the requests (see XCPDRespondingGatewayServiceNames)
Property methods: XCPDRespondingGatewayOperationsDisplayToLogical(), XCPDRespondingGatewayOperationsGet(), XCPDRespondingGatewayOperationsGetStored(), XCPDRespondingGatewayOperationsIsValid(), XCPDRespondingGatewayOperationsLogicalToDisplay(), XCPDRespondingGatewayOperationsLogicalToOdbc(), XCPDRespondingGatewayOperationsNormalize(), XCPDRespondingGatewayOperationsParseConfigNameSpec(), XCPDRespondingGatewayOperationsSet()
property XCPDRespondingGatewayServiceNames as %String);
Registry Service names of other XCPD responding gateways to send the original request Example: NY State Big Bus needs to federate the XCPD Responding GW request to multiple systems if using XCPDRespondingGatewayServiceNames the PDQv3Supplier will not be used
Property methods: XCPDRespondingGatewayServiceNamesDisplayToLogical(), XCPDRespondingGatewayServiceNamesGet(), XCPDRespondingGatewayServiceNamesGetStored(), XCPDRespondingGatewayServiceNamesIsValid(), XCPDRespondingGatewayServiceNamesLogicalToDisplay(), XCPDRespondingGatewayServiceNamesLogicalToOdbc(), XCPDRespondingGatewayServiceNamesNormalize(), XCPDRespondingGatewayServiceNamesSet()

Methods

method FederateQueryRequest(pRequest As HS.Message.XMLMessage, Output pResponse As HS.Message.XMLMessage) as %Status
When running in a Big Bus Model we need to federate the original query out to communities within this state take responses from each community and consolidate into a single XCPD response
method OnRequest(pRequest As HS.Message.XMLMessage, Output pResponse As HS.Message.XMLMessage) as %Status
Inherited description: Handle a 'Request'
method OnResponse(pRequest As Ens.Request, ByRef pResponse As Ens.Response, pCallrequest As Ens.Request, pCallresponse As Ens.Response, pCompletionKey As %String) as %Status
OnResponse must be overridden here to avoid error upon response from async request.
method QueryRequest(pRequest As HS.Message.XMLMessage, Output pResponse As HS.Message.XMLMessage) as %Status

Inherited Members

Inherited Properties

Inherited Methods

Storage

Gray indicates storage defined by superclasses.

Storage Model: Storage (Ens.BusinessProcess)

^Ens.BusinessProcessD(ID,"pending",n)
=
%MasterPendingResponses(n)

Storage Model: Storage (Ens.BusinessProcess)

^Ens.BusinessProcessD(ID,"received",n)
=
%MessagesReceived(n)

Storage Model: Storage (Ens.BusinessProcess)

^Ens.BusinessProcessD(ID,"sent",n)
=
%MessagesSent(n)

Storage Model: Storage (Ens.BusinessProcess)

^Ens.BusinessProcessD(ID)
=
%%CLASSNAME
%ConfigQueueName
%IsCompleted
%MasterPendingResponsesOld
%PrimaryRequestHeader
%PrimaryResponseHeader
%RepliedStatus
%responseId
Adapter
%SessionId
%TimeCompleted
%TimeCreated
%ConfigName
%QuitTask
AlertOnError
%responseClassName
%IsTimerInterrupted
%IsTerminated
%StatusCode
%MessagesReceivedOld
%MessagesSentOld
ReplyCodeActions
RetryInterval
AlertRetryGracePeriod
FailureTimeout
Retry
SuspendMessage
QueueCountAlert
QueueWaitAlert
InactivityTimeout
BusinessPartner
AlertGroups
%SuperSession

Storage Model: Storage (HS.IHE.XCPD.RespondingGateway.Process)

^Ens.BusinessProcessD(ID,"Process")
=
PDQv3Supplier
XCPDRespondingGatewayOperations
PDQv3Consumer
AffinityDomain
HomeCommunity
TraceOperations
IHEVersion
IHEExtension
XCPDRespondingGatewayServiceNames
Errors
PDQLowThreshold
Transformer
MaxReturnPatientCount
CacheIDs
PRPAINToPatientSearchTransform
QueryResponsesToXCPDResponseTransform
PatientSearchResponseToPRPAINTransform
ApplyConsent
NationalPatientIdentifier
NationalPatientIdentifierAA
FeedbackOpens in a new tab