HS.HC.IHE.RMU.Validate
class HS.HC.IHE.RMU.Validate extends HS.Util.BaseHost
Property Inventory
Method Inventory
Properties
property LocalRMUPolicy as %String);
List of properties an organization would like to restrict from being updated by RMU Update (ie. Size,Hash)
PropertyName:SpecializedError
Without a :SpecializedError specified a LocalPolicyRestrictionError will be returned
Other examples include ClassCode,FormatCode,HealthCareFacilityTypeCode,PracticeSettingCode,TypeCode
Other examples include ClassCode,FormatCode,HealthCareFacilityTypeCode,PracticeSettingCode,TypeCode
Property methods: LocalRMUPolicyDisplayToLogical(), LocalRMUPolicyGet(), LocalRMUPolicyIsValid(), LocalRMUPolicyLogicalToDisplay(), LocalRMUPolicyLogicalToOdbc(), LocalRMUPolicyNormalize(), LocalRMUPolicySet()
property RMUPolicy as %String) [ InitialExpression = "PatientID:XDSPatientIDReconciliationError,SourcePatientID,ObjectType,Availability,LogicalIID:XDSMetadataIdentifierError,Version,DocumentID:XDSMetadataIdentifierError,RepositoryUniqueID" ];
List of properties which cannot be modified by RMU Update
PropertyName:SpecializedError
Without :SpecializedError a UnmodifiableMetadataError will be returned
Property methods: RMUPolicyDisplayToLogical(), RMUPolicyGet(), RMUPolicyIsValid(), RMUPolicyLogicalToDisplay(), RMUPolicyLogicalToOdbc(), RMUPolicyNormalize(), RMUPolicySet()
Methods
method LocalValidateChanges(pErrors, pPolicyList, pDocument, pExistingDocument, pDefaultError)
specific requirements for RMU requests - then call ValidateRegisterRequest called by RegistryOperations
Method called in context of Registry.Operations with
pDocument
method RegistryValidateRMURequest(pErrors As HS.Types.IHE.Errors, pSubmission As HS.Types.IHE.Submission, pRequest As HS.Message.IHE.XDSb.Metadata, pValidatePatientId As %Boolean = 1) as %Status
specific requirements for RMU requests - then call ValidateRegisterRequest called by RegistryOperations
method ValidateRMURequest(pErrors As HS.Types.IHE.Errors, pRequest As HS.Message.IHE.XDSb.Metadata, Output pHome As %String, pMustBeOurHome As %Boolean = 0) as %Status
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to other business hosts using pHost.SendRequestAsync or pHost.SendRequest.Sync
ValidateRMURequest() is called from both the RMU Process takes the inbound HS.Message.IHE.XDSb.Metadata andValidates various aspects of the submission ensuring there are no updates to folders or submission, that the patient identifiers match and there is only one home community defined
pErrors as HS.Types.IHE.Errors Error collection reference
pRequest as HS.Message.IHE.XDSb.Metadata Translated request object
pHome as %String Output of HomeCommunity information
pMustBeOurHome as %Boolean Will check to ensure it is this Community when true
ClassMethod OnPreValidateRMURequest(pHost As Ens.Host ,ByRef pStop as %Boolean, Output pErrors as HS.Types.IHE.Errors, pRequest As HS.Message.IHE.XDSb.Metadata, ByRef pHome as %String,pMustBeHome as %Boolean) as %Status()
if pStopProcessing is true processing will terminate with tSC (either ok or error).
Updates can be done to the Metadata object prior to any additional processing, such as providing necessary missing fields
ClassMethod OnPostValidateRMURequest(pHost As Ens.Host, Output pErrors as HS.Types.IHE.Errors, pRequest As HS.Message.IHE.XDSb.Metadata, ByRef pHome as %String,pMustBeHome as %Boolean) as %Status()
Additional processing can be done to the response, or the response itself can be updated
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to other business hosts using pHost.SendRequestAsync or pHost.SendRequest.Sync
ValidateRMURequest() is called from both the RMU Process takes the inbound HS.Message.IHE.XDSb.Metadata and