Home > Class Reference > HSLIB namespace > HS.FHIR.vSTU3.MHD.Recipient.Process

HS.FHIR.vSTU3.MHD.Recipient.Process

persistent class HS.FHIR.vSTU3.MHD.Recipient.Process extends Ens.BusinessProcess, HS.HC.Util.Trace.Helper, HS.FHIR.vSTU3.MHD.Common, HS.Util.BaseHost

SQL Table Name: HS_FHIR_vSTU3_MHD_Recipient.Process

Property Inventory

Method Inventory

Parameters

parameter HSDEPLOY = 1;
parameter RESTOPERATION = HS.FHIR.REST.Operation;
parameter SETTINGS = ProvideTarget,CustomProcessor;
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 [ InitialExpression = ##class(HS.IHE.Util).GetAffinityDomain() ];
Defaults to \IHE\AffinityDomain [##class(HS.IHE.Util).GetAffinityDomain()] if "" any patient will be accepted (versus turning off patient id validation) the AA in the request is sent to the
Property methods: AffinityDomainDisplayToLogical(), AffinityDomainGet(), AffinityDomainGetStored(), AffinityDomainIsValid(), AffinityDomainLogicalToDisplay(), AffinityDomainLogicalToOdbc(), AffinityDomainNormalize(), AffinityDomainSet()
property Errors as HS.Types.FHIR.Errors;
Property methods: ErrorsGet(), ErrorsGetStored(), ErrorsGetSwizzled(), ErrorsIsValid(), ErrorsNewObject(), ErrorsSet()
property ProvideTarget as Ens.DataType.ConfigName;
Property methods: ProvideTargetDisplayToLogical(), ProvideTargetGet(), ProvideTargetGetStored(), ProvideTargetIsValid(), ProvideTargetLogicalToDisplay(), ProvideTargetLogicalToOdbc(), ProvideTargetNormalize(), ProvideTargetParseConfigNameSpec(), ProvideTargetSet()
property RepositoryOID as %String (MAXLEN = 64);
Property methods: RepositoryOIDDisplayToLogical(), RepositoryOIDGet(), RepositoryOIDGetStored(), RepositoryOIDIsValid(), RepositoryOIDLogicalToDisplay(), RepositoryOIDLogicalToOdbc(), RepositoryOIDNormalize(), RepositoryOIDSet()
property ResourceSchemaRoot as %String (MAXLEN = 256) [ InitialExpression = "HS.FHIR.vSTU3.Model.Resource" ];
Class package that is the root of all resource schemas for the desired data model.
Property methods: ResourceSchemaRootDisplayToLogical(), ResourceSchemaRootGet(), ResourceSchemaRootGetStored(), ResourceSchemaRootIsValid(), ResourceSchemaRootLogicalToDisplay(), ResourceSchemaRootLogicalToOdbc(), ResourceSchemaRootNormalize(), ResourceSchemaRootSet()

Methods

method DocReferenceToXDSbDocument(pBundle As HS.FHIR.vSTU3.Model.Resource.Bundle, ByRef pBundleIndex As %String, pDocumentReference As HS.FHIR.vSTU3.Model.Resource.DocumentReference, ByRef pPatientId As %String, ByRef pSourcePatientId As %String, Output pXDSbDocument As HS.Message.IHE.XDSb.Document) as %Status [ Language = objectscript ]
Take a FHIR DocumentReference resource that is from a Provide Document Bundle and create a Document to add to the XDSb ProvideAndRegisterRequest.
method GetAuthorInstitutionSlotFromRef(pBundle As HS.FHIR.vSTU3.Model.Resource.Bundle, ByRef pBundleIndex As %String, pResource As HS.FHIR.vSTU3.Model.Base.DomainResource, ByRef pSlot As HS.Types.IHE.XDSb.Slot) as %Status [ Language = objectscript ]
method GetAuthorNameFromReference(pBundle As HS.FHIR.vSTU3.Model.Resource.Bundle, ByRef pBundleIndex As %String, pResource As HS.FHIR.vSTU3.Model.Base.DomainResource, ByRef pName As %String) as %Status [ Language = objectscript ]
method GetAuthorSpecialtySlotFromRef(pBundle As HS.FHIR.vSTU3.Model.Resource.Bundle, ByRef pBundleIndex As %String, pResource As HS.FHIR.vSTU3.Model.Base.DomainResource, ByRef pSlot As HS.Types.IHE.XDSb.Slot) as %Status [ Language = objectscript ]
method GetAuthorTelecomSlotFromRef(pBundle As HS.FHIR.vSTU3.Model.Resource.Bundle, ByRef pBundleIndex As %String, pResource As HS.FHIR.vSTU3.Model.Base.DomainResource, ByRef pSlot As HS.Types.IHE.XDSb.Slot) as %Status [ Language = objectscript ]
method GetCodedEntryDefaultValue(pCodeType As %String, ByRef pCodedValue As HS.IHE.CodedEntry) as %Status [ Language = objectscript ]
This method takes a coded entry type (e.g., "TypeCode", "FormatCode", etc) as input and returns a default CodedValue object for MHD for the type. The default value is stored in the Configuration Registry. The key name is "\IHE\MHD\Default\" plus the coded type. The value is expected to be the default Code and the default Scheme, separated by caret (^).
classmethod GetCodingScheme(pCodeType As %String, pCode As %String, pSystem As %String, pDefault As %String = "") as %String [ Language = objectscript ]
method GetPatIdentifierFromResource(pPatientResource As HS.FHIR.vSTU3.Model.Resource.Patient, pSourceOID As %String = "") as %String [ Language = objectscript ]
GetPatIdentifierFromResource returns a PatientId or SourcePatientId from the the specified Patient resource.
method GetPatientIdFromReference(pBundle As HS.FHIR.vSTU3.Model.Resource.Bundle, pDocResource As HS.FHIR.vSTU3.Model.Base.DomainResource, ByRef pBundleIndex, ByRef pPatientId As %String) as %Status [ Language = objectscript ]
method GetUpdatedProvideRequest(pRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest, Output pUpdatedRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest) as %Status [ Language = objectscript ]
if the request is CDA we may need to extract values from the document and update the request for this reason tUdpatedRequest is used so that the original transaction is not updated *** THIS METHOD IS COPIED FROM HS.IHE.XDSb.DocumentSource.Abstract, because that class extends a class that includes several properties and settings that are not applicable to this class, and because the DocumentSource version of this method is an instance method. The use of this method here assumes that the ProvideAndRegisterRequest has already been verified to include PatientId, and so ..GetUpdatedPatientId should never be called.
method ListToXDSbFolder(pBundle As HS.FHIR.vSTU3.Model.Resource.Bundle, pList As HS.FHIR.vSTU3.Model.Resource.List, ByRef pPatientId As %String, Output pXDSbFolder As HS.Message.IHE.XDSb.Folder, Output pAssociations As %Library.ListOfDataTypes) as %Status [ Language = objectscript ]
method OnRequest(pRequest As %Library.Persistent, Output pResponse As %Library.Persistent) as %Status [ Language = objectscript ]
Inherited description: Handle a 'Request'
method PnRResponseToMHDResponse(pOriginalRequest As HS.Message.FHIR.Request, pProvideAndRegisterResponse As HS.Message.XMLMessage, pSC As %Status, Output pResponse As HS.Message.FHIR.Response) as %Status [ Language = objectscript ]
method ProcessFHIRResponse(pFHIRResponseIn As HS.Message.FHIR.Response, Output pFHIRResponseOut As HS.Message.FHIR.Response) as %Status [ Language = objectscript ]
method ProcessMHDMessage(pRequest As HS.Message.FHIR.Request, Output pResponse As HS.Message.FHIR.Response) as %Status [ Language = objectscript ]
method ProcessMHDProvide(pMHDRequest As HS.Message.FHIR.Request, Output pMHDResponse As HS.Message.FHIR.Response) as %Status [ Language = objectscript ]
method ProcessMetadataRequest(pRequest As HS.Message.FHIR.Request, pResponse As HS.Message.FHIR.Response) as %Status [ Language = objectscript ]
method RequestToProvideAndRegister(pMHDRequest As HS.Message.FHIR.Request, pBundle As HS.FHIR.vSTU3.Model.Resource.Bundle, ByRef pBundleIndex As %String, pPatientId As %String, pSourcePatientId As %String, ByRef pUpdatedTarget As HS.Message.IHE.XDSb.ProvideAndRegisterRequest) as %Status [ Language = objectscript ]
method UpdateAssociations(pRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest) as %Status [ Language = objectscript ]
*** THIS METHOD IS COPIED FROM HS.IHE.XDSb.DocumentSource.Abstract, because that class extends a class that includes several properties and settings that are not applicable to this class, and because the DocumentSource version of this method is an instance method.
method ValidateDocumentManifest(ByRef pBundle, ByRef pBundleIndex As %String, pDocumentManifest As HS.FHIR.vSTU3.Model.Resource.DocumentManifest, ByRef pPatientId As %String, ByRef pSourcePatientId As %String, ByRef pSourceOID As %String, pEntryIndex As %String) as %Status [ Language = objectscript ]
method ValidateDocumentReference(ByRef pBundle As HS.FHIR.vSTU3.Model.Resource.Bundle, ByRef pBundleIndex As %String, pDocumentReference As HS.FHIR.vSTU3.Model.Resource.DocumentReference, ByRef pPatientId As %String, ByRef pSourcePatientId As %String, pSourceOID As %String, pEntryIndex As %String) as %Status [ Language = objectscript ]
method ValidateList(ByRef pBundle As HS.FHIR.vSTU3.Model.Resource.Bundle, ByRef pBundleIndex As %String, pList As HS.FHIR.vSTU3.Model.Resource.List, ByRef pPatientId As %String, ByRef pSourcePatientId As %String, pSourceOID As %String, pEntryIndex As %String) as %Status [ Language = objectscript ]
method ValidateMHDProvideBundle(pMHDRequest As HS.Message.FHIR.Request, Output pBundle, Output pBundleIndex As %String, Output pMHDResponse As HS.Message.FHIR.Response) as %Status [ Language = objectscript ]
Validate the FHIR Provide Document Bundle payload per MHD requirements. This method validates the basics of the Bundle, things that are apparent without delving into the individual resource entries. If valid, this method returns the Bundle object, plus an index of Bundle entries for use by the remainder of the Bundle processing. If a validation failure occurs here, then this this method simply builds the 400 Bad Request response and payload and returns it. Does not need to log it to ..Errors or send through FHIRMHDErrorResponse.
method ValidateMHDProvideMessage(pMHDRequest As HS.Message.FHIR.Request, Output pMHDResponse As HS.Message.FHIR.Response) as %Status [ Language = objectscript ]
Validate the HS FHIR request message - except for the Payload - per MHD requirements.
method ValidateMHDProvideResources(pMHDRequest As HS.Message.FHIR.Request, ByRef pBundle, ByRef pBundleIndex As %String, ByRef pPatientId As %String, ByRef pSourcePatientId As %String) as %Status [ Language = objectscript ]

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.FHIR.vSTU3.MHD.Recipient.Process)

^Ens.BusinessProcessD(ID,"Process")
=
CustomProcessor
CustomProcessorIsValid
Errors
RepositoryOID
AffinityDomain
ResourceSchemaRoot
ProvideTarget
TraceOperations
FeedbackOpens in a new window