HS.AU.HI.SecurityHeaders
class HS.AU.HI.SecurityHeaders extends HS.Util.SOAPClient.Base
Property Inventory
- DefaultUserID
- DefaultUserQualifier
- HIHeader
- ProductName
- ProductPlatform
- ProductVersion
- VendorID
- VendorQualifier
- X509ForSigning
Method Inventory
- AddSecurity()
- MoveParameters()
- OnValidateResponseHeaderValues()
- SetHeaderValues()
- SetX509()
- ValidateResponse()
Parameters
parameter DefaultUserID;
Deprecated parameter, use property instead
parameter DefaultUserQualifier;
Deprecated parameter, use property instead
parameter ProductName;
Deprecated parameter, use property instead
parameter ProductPlatform;
Deprecated parameter, use property instead
parameter ProductVersion;
Deprecated parameter, use property instead
parameter VendorID;
Deprecated parameter, use property instead
parameter VendorQualifier;
Deprecated parameter, use property instead
Properties
property DefaultUserID as %String [ InitialExpression = ##class(HS.Registry.Config).GetKeyValue("\AU\SecurityHeader\DefaultUserID") ];
User id. User must be authorised (by the organisation) to invoke the service.
For Example: "p08158"
Property methods: DefaultUserIDDisplayToLogical(), DefaultUserIDGet(), DefaultUserIDIsValid(), DefaultUserIDLogicalToDisplay(), DefaultUserIDLogicalToOdbc(), DefaultUserIDNormalize(), DefaultUserIDSet()
property DefaultUserQualifier as %String [ InitialExpression = ##class(HS.Registry.Config).GetKeyValue("\AU\HI\SecurityHeader\DefaultUserQualifier","http://www.intersystems.com/id/healthshare/userid/1.0") ];
Default Qualifier for Userid.
For Example: "http://ns.organisation.org.au/id/hiclientname/userid/1.0"
Property methods: DefaultUserQualifierDisplayToLogical(), DefaultUserQualifierGet(), DefaultUserQualifierIsValid(), DefaultUserQualifierLogicalToDisplay(), DefaultUserQualifierLogicalToOdbc(), DefaultUserQualifierNormalize(), DefaultUserQualifierSet()
property HIHeader as HS.AU.HI.Headers [ Final ];
Header to be included in SOAP request
Property methods: HIHeaderGet(), HIHeaderGetSwizzled(), HIHeaderIsValid(), HIHeaderNewObject(), HIHeaderSet()
property ProductName as %String [ InitialExpression = ##class(HS.Registry.Config).GetKeyValue("\AU\SecurityHeader\ProductName","HealthShare") ];
Name of the software product used to submit the message. This field is used to validate that the software has been successfully tested as part of the NOI process.
For example: "National.eHealth.Transition.Authority.ReferencePlatform.1st.Edition"
Property methods: ProductNameDisplayToLogical(), ProductNameGet(), ProductNameIsValid(), ProductNameLogicalToDisplay(), ProductNameLogicalToOdbc(), ProductNameNormalize(), ProductNameSet()
property ProductPlatform as %String [ InitialExpression = ##class(HS.Registry.Config).GetKeyValue("\AU\SecurityHeader\ProductPlatform",$system.Version.GetPlatform()) ];
Platform on which the software product used to submit the message was hosted
For Example: "Windows XP SP3"
Property methods: ProductPlatformDisplayToLogical(), ProductPlatformGet(), ProductPlatformIsValid(), ProductPlatformLogicalToDisplay(), ProductPlatformLogicalToOdbc(), ProductPlatformNormalize(), ProductPlatformSet()
property ProductVersion as %String [ InitialExpression = ##class(HS.Registry.Config).GetKeyValue("\AU\SecurityHeader\ProductVersion","PCEHR Module 1.2") ];
Version of the software product used to submit the message. This field is used to validate that the software has been successfully tested as part of the NOI process.
For Example: "1.0.r1234"
Property methods: ProductVersionDisplayToLogical(), ProductVersionGet(), ProductVersionIsValid(), ProductVersionLogicalToDisplay(), ProductVersionLogicalToOdbc(), ProductVersionNormalize(), ProductVersionSet()
property VendorID as %String [ InitialExpression = ##class(HS.Registry.Config).GetKeyValue("\AU\HI\SecurityHeader\VendorID","ISA00001") ];
Vendor Id who has submitted the message. This field is used to validate that the software has been successfully tested as part of the NOI process.
For example: "4561237"
Property methods: VendorIDDisplayToLogical(), VendorIDGet(), VendorIDIsValid(), VendorIDLogicalToDisplay(), VendorIDLogicalToOdbc(), VendorIDNormalize(), VendorIDSet()
property VendorQualifier as %String [ InitialExpression = ##class(HS.Registry.Config).GetKeyValue("\AU\HI\SecurityHeader\VendorQualifier","http://ns.electronichealth.net.au/id/hi/vendorid/1.0") ];
defaulted value of "http://ns.electronichealth.net.au/id/hi/vendorid/1.0"
Property methods: VendorQualifierDisplayToLogical(), VendorQualifierGet(), VendorQualifierIsValid(), VendorQualifierLogicalToDisplay(), VendorQualifierLogicalToOdbc(), VendorQualifierNormalize(), VendorQualifierSet()
property X509ForSigning as %SYS.X509Credentials [ Final ];
X509 Credientials object for signing the SOAP Request
Property methods: X509ForSigningGet(), X509ForSigningGetObject(), X509ForSigningGetObjectId(), X509ForSigningGetSwizzled(), X509ForSigningIsValid(), X509ForSigningNewObject(), X509ForSigningSet(), X509ForSigningSetObject(), X509ForSigningSetObjectId(), X509ForSigningUnSwizzle()
Methods
classmethod AddSecurity(pWebRequest As %SOAP.WebRequest = "", pEndPoint As HS.Registry.Service.SOAP, pRequest As HS.Message.XMLMessage) as %Status
For signatures and encryption it is possible to override this code since there are different options - this is the standard Healthshare mechanism
To define specific Security for a web service Create a class which extends HS.Util.SOAPClient.Base and Override the AddSecurity Class Method
Add your class name to the Service Registry entry which you would like to run different security
method MoveParameters()
classmethod OnValidateResponseHeaderValues(validator As HS.AU.HI.Headers, webMethod As %String) as %Status
Customise this method if you want to check for specific values within
the returning headers.
For Example:
; check the returned header values here
If validator.product.platform'="MedicareAustralia" {
set tSC=$$$ERROR($$$GeneralError,"Unexpected product platform: "_validator.product.platform)
}
method SetHeaderValues(pRequest As HS.Message.XMLMessage) as %Status
Defines SOAP Header object from settings
method SetX509(pX509Alias) as %Status
Set X509 credentials to use for signing request.
classmethod ValidateResponse(pWebRequest As %SOAP.WebClient, pSOAPAction As %String) as %Status
Validates the header siganture, and calls a custom validation method callback.
Inherited Members
Inherited Properties
- DisableSSLCheckServerIdentity
- ResponseTimeout
- SAMLCreator
- SOAPCredentials
- SOAPVersion
- SSLConfiguration
- SendSAMLAssertion
- ServiceName
- ServiceNameValue
- TargetName
- TraceOperations
Inherited Methods
- %AddToSaveSet()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Extends()
- %GetParameter()
- %IsA()
- %IsModified()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OriginalNamespace()
- %PackageName()
- %RemoveFromSaveSet()
- %SerializeObject()
- %SetModified()
- %ValidateObject()
- AddSAMLAssertions()
- AddSAMLAssertionsFromXUAConfig()
- BuildTraceRequest()
- HSTrace()
- InsertAttachements()
- InvokeWebService()
- MoveAttachments()
- OnInit()
- OnSetAttachmentBody()
- getAsyncSOAPClient()
- getAsyncWebRequest()