Skip to main content

HS.HC.IHE.PDQ.Common

abstract class HS.HC.IHE.PDQ.Common extends HS.HC.Util.Trace.Helper

Property Inventory

Method Inventory

Parameters

parameter HSDEPLOY = 1;

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(), AffinityDomainIsValid(), AffinityDomainLogicalToDisplay(), AffinityDomainLogicalToOdbc(), AffinityDomainNormalize(), AffinityDomainSet()
property AffinityDomainIsMPIID as %Boolean [ InitialExpression = 1 ];
Used to determine whether AffinityDomain is the MPIID (true - general scenario) or whether the MPIID is in the results (typically IHE testing)
Property methods: AffinityDomainIsMPIIDDisplayToLogical(), AffinityDomainIsMPIIDGet(), AffinityDomainIsMPIIDIsValid(), AffinityDomainIsMPIIDLogicalToDisplay(), AffinityDomainIsMPIIDNormalize(), AffinityDomainIsMPIIDSet()
property ApplyConsent as %Boolean [ InitialExpression = 0 ];
If true, patient search requests generated by this process will be processed by consent.
Property methods: ApplyConsentDisplayToLogical(), ApplyConsentGet(), ApplyConsentIsValid(), ApplyConsentLogicalToDisplay(), ApplyConsentNormalize(), ApplyConsentSet()
property ApplyRankMultiplier as %Boolean [ InitialExpression = 0 ];
Applicable to PDQv3 only. When true, search match rank values are multiplied by 100, to help avoid decimal rank values. PDQv3 and XCPD queryMatchObservation/value/@value is required to be integer. Whether multiplied or not, if a rank value still has a decimal portion, then that decimal portion is truncated away.
Property methods: ApplyRankMultiplierDisplayToLogical(), ApplyRankMultiplierGet(), ApplyRankMultiplierIsValid(), ApplyRankMultiplierLogicalToDisplay(), ApplyRankMultiplierNormalize(), ApplyRankMultiplierSet()
property Errors as HS.Types.IHE.Errors;
Property methods: ErrorsGet(), ErrorsGetObject(), ErrorsGetObjectId(), ErrorsGetSwizzled(), ErrorsIsEmpty(), ErrorsIsValid(), ErrorsNewObject(), ErrorsSet(), ErrorsSetObject(), ErrorsSetObjectId(), ErrorsUnSwizzle()
property MPIOperations as Ens.DataType.ConfigName [ InitialExpression = "HS.Hub.MPI.Manager" ];
Property methods: MPIOperationsDisplayToLogical(), MPIOperationsGet(), MPIOperationsIsValid(), MPIOperationsLogicalToDisplay(), MPIOperationsLogicalToOdbc(), MPIOperationsNormalize(), MPIOperationsParseConfigNameSpec(), MPIOperationsSet()

Methods

method FilterQueryResponse(pSearchRequest As HS.Message.PatientSearchRequest, pQueueObject) as %Status
take executed query response (pQueueObject.SearchResponse) for collection produce a set of patients (based on MPIID). For subsequent rows related to same MPIID add ID information to the IDs collection. Take resulting matched rows and put into pQueueObject.SearchResponse
method SendAndFilter(pSearchRequest As HS.Message.PatientSearchRequest, Output pQueueObject, pMsgType As %String) as %Status
SendAndFilter is called by QueryRequestv2, QueryRequestv3 and QueryRequestFHIR. It sends the PatientSearchRequest to the MPIOperations, gets the response, applies domain filters as needed and calls the query queue logic that is common to all queries.
method SendQueryRequest(pSearchRequest As HS.Message.PatientSearchRequest, Output pSearchResponse As HS.Message.PatientSearchResponse) as %Status
take PDQ Query request and issue a PatientSearchRequest to the MPIOperation

Inherited Members

Inherited Properties

Inherited Methods

Subclasses

FeedbackOpens in a new tab