Skip to main content

HS.IHE.PIX.Consumer.Process

persistent class HS.IHE.PIX.Consumer.Process extends Ens.BusinessProcess, HS.HC.Util.Trace.Helper

SQL Table Name: HS_IHE_PIX_Consumer.Process

The PIX Consumer is used in HealthShare to accept updates from the MPI matching engine All other transactions should go through the PIX manager

Property Inventory

Method Inventory

Parameters

parameter DOMAIN = HS;
parameter SETTINGS = -IHEVersion,MPIOperations:Basic:selector?size=40&context={Ens.ContextSearch/ProductionItems?targets=1&productionName=@productionId},-AffinityDomain,NotifyOthers:Basic:selector?multiSelect=1&context={Ens.ContextSearch/ProductionItems?targets=1&productionName=@productionId},PRPAINToUpdateTransform, MCCITransform,ExcludeIdentifierTypes,V2ResponseProcessingMode:V2Response,V2ResponseVersion:V2Response;
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;
Used in a testing environment allows setting of the AffinityDomain Code (which must be defined in the OID Registry) if not set the value from ##class(HS.IHE.Util).GetAffinityDomain() is used
Property methods: AffinityDomainDisplayToLogical(), AffinityDomainGet(), AffinityDomainGetStored(), AffinityDomainIsValid(), AffinityDomainLogicalToDisplay(), AffinityDomainLogicalToOdbc(), AffinityDomainNormalize(), AffinityDomainSet()
property Errors as HS.Types.IHE.Errors;
Property methods: ErrorsGet(), ErrorsGetObject(), ErrorsGetObjectId(), ErrorsGetStored(), ErrorsGetSwizzled(), ErrorsIsEmpty(), ErrorsIsValid(), ErrorsNewObject(), ErrorsSet(), ErrorsSetObject(), ErrorsSetObjectId(), ErrorsUnSwizzle()
property ExcludeIdentifierTypes as %String [ InitialExpression = "DL,DN" ];
When the assigning authority (AA) type is unknown, a lookup is done against the HealthShare Assigning Authority Registry
to derive the AA type with the code. To mitigate the cases where a given AA code is used with multiple AA types, and hence
unable to yield a definitive type, use this setting to specify a comma delimited list of AA types to not considered
when deriving the AA code type.
Property methods: ExcludeIdentifierTypesDisplayToLogical(), ExcludeIdentifierTypesGet(), ExcludeIdentifierTypesGetStored(), ExcludeIdentifierTypesIsValid(), ExcludeIdentifierTypesLogicalToDisplay(), ExcludeIdentifierTypesLogicalToOdbc(), ExcludeIdentifierTypesNormalize(), ExcludeIdentifierTypesSet()
property IHEVersion as %Integer [ InitialExpression = 1 ];
Property methods: IHEVersionDisplayToLogical(), IHEVersionGet(), IHEVersionGetStored(), IHEVersionIsValid(), IHEVersionLogicalToDisplay(), IHEVersionNormalize(), IHEVersionSet()
property MCCITransform as %String (MAXLEN = 250) [ InitialExpression = "IHE/PIX/Version1/MCCI000002UV.xsl" ];
Property methods: MCCITransformDisplayToLogical(), MCCITransformGet(), MCCITransformGetStored(), MCCITransformIsValid(), MCCITransformLogicalToDisplay(), MCCITransformLogicalToOdbc(), MCCITransformNormalize(), MCCITransformSet()
property MPIOperations as Ens.DataType.ConfigName [ InitialExpression = "HS.Hub.MPI.Manager" ];
If defined, sent the request to the MPI Operation (only called when there is a prior MPIID)
Property methods: MPIOperationsDisplayToLogical(), MPIOperationsGet(), MPIOperationsGetStored(), MPIOperationsIsValid(), MPIOperationsLogicalToDisplay(), MPIOperationsLogicalToOdbc(), MPIOperationsNormalize(), MPIOperationsParseConfigNameSpec(), MPIOperationsSet()
property NotifyOthers as %String (MAXLEN = 1024);
Other hosts to notify such as the XDS registry (only called when there is a prior MPIID)
Property methods: NotifyOthersDisplayToLogical(), NotifyOthersGet(), NotifyOthersGetStored(), NotifyOthersIsValid(), NotifyOthersLogicalToDisplay(), NotifyOthersLogicalToOdbc(), NotifyOthersNormalize(), NotifyOthersSet()
property PRPAINToUpdateTransform as %String (MAXLEN = 250) [ InitialExpression = "IHE/PIX/Version1/PRPAIN201302UVToIDUpdateNotificationRequest.xsl" ];
Property methods: PRPAINToUpdateTransformDisplayToLogical(), PRPAINToUpdateTransformGet(), PRPAINToUpdateTransformGetStored(), PRPAINToUpdateTransformIsValid(), PRPAINToUpdateTransformLogicalToDisplay(), PRPAINToUpdateTransformLogicalToOdbc(), PRPAINToUpdateTransformNormalize(), PRPAINToUpdateTransformSet()
property Transformer as HS.Util.XSLTTransformer;
Property methods: TransformerGet(), TransformerGetStored(), TransformerGetSwizzled(), TransformerIsValid(), TransformerNewObject(), TransformerSet()
property V2ResponseProcessingMode as %String;
Will default to version of inbound message but can be overridden with this value
Property methods: V2ResponseProcessingModeDisplayToLogical(), V2ResponseProcessingModeGet(), V2ResponseProcessingModeGetStored(), V2ResponseProcessingModeIsValid(), V2ResponseProcessingModeLogicalToDisplay(), V2ResponseProcessingModeLogicalToOdbc(), V2ResponseProcessingModeNormalize(), V2ResponseProcessingModeSet()
property V2ResponseVersion as %String;
Will default to version of inbound message but can be overridden with this value
Property methods: V2ResponseVersionDisplayToLogical(), V2ResponseVersionGet(), V2ResponseVersionGetStored(), V2ResponseVersionIsValid(), V2ResponseVersionLogicalToDisplay(), V2ResponseVersionLogicalToOdbc(), V2ResponseVersionNormalize(), V2ResponseVersionSet()

Methods

method CreateXPIDATNA(pRequest As EnsLib.HL7.Message, pUpdateRequest As HS.Message.IDUpdateNotificationRequest, pResponse As HS.Message.AddUpdateHubResponse = "", pSC As %Status) as %Status
Create the ATNA audit message for XPID transaction
method GeneralHL7Response(pRequest As EnsLib.HL7.Message, Output pResponse As EnsLib.HL7.Message) as %Status
Code to generate XPID_Notification response
method HL7ErrorResponse(pOriginalRequest As EnsLib.HL7.Message, Output pTarget As EnsLib.HL7.Message) as %Status
method HL7Response(pSource As HS.Message.IDUpdateNotificationRequest, Output pTarget As EnsLib.HL7.Message, pOriginalRequest As EnsLib.HL7.Message) as %Status
method HL7ToIDUpdateNotificationRequest(pSource As EnsLib.HL7.Message, Output pTarget As HS.Message.IDUpdateNotificationRequest) as %Status
method NotifyMPIIDUpdate(pRequest As HS.Message.IDUpdateNotificationRequest) as %Status
NotifyMPIIDUpdate is called by RevisedPatientv2 and RevisedPatientv3.
method OnAfterProcessNotification(pRequest As HS.Message.IDUpdateNotificationRequest, pResponse As HS.Message.AddUpdateHubResponse) as %Status
method OnBeforeProcessNotification(pRequest As HS.Message.IDUpdateNotificationRequest) as %Status
method OnRequest(pRequest As %Library.Persistent, Output pResponse As %Library.Persistent) 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 ProcessHL7Message(pRequest As EnsLib.HL7.Message, Output pResponse As EnsLib.HL7.Message) as %Status
Convert pRequest(HL7v2) into IDUpdateNotification
method ProcessNotification(pRequest As HS.Message.IDUpdateNotificationRequest, pResponse As HS.Message.AddUpdateHubResponse) as %Status
HSPI sends IDUpdateNotifications - MPIID, and PriorMPIID are already set Or the inbound HL7 request is converted to IDUpdateNotification and being sent out
method ProcessXMLMessage(pRequest As HS.Message.XMLMessage, Output pResponse As HS.Message.XMLMessage) as %Status
method RevisedPatientv2(pHL7Request As EnsLib.HL7.Message, Output pHL7Response As EnsLib.HL7.Message) as %Status
method RevisedPatientv3(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,"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.PIX.Consumer.Process)

^Ens.BusinessProcessD(ID,"Process")
=
TraceOperations
IHEVersion
IHEExtension
Transformer
DeviceID
MPIOperations
UpdateMPI
Errors
AffinityDomain
NotifyOthers
PRPAINToUpdateTransform
MCCITransform
ExcludeIdentifierTypes
V2ResponseProcessingMode
V2ResponseVersion

Storage Model: Storage (HS.IHE.PIX.Consumer.Process)

^Ens.BusinessProcessD(ID,"HS.IHE.PIXv3.Consumer.Process.ValueSet",n)
=
ValueSet(n)

Subclasses

FeedbackOpens in a new tab