HS.AU.PCEHR.SecurityHeaders
class HS.AU.PCEHR.SecurityHeaders extends HS.Util.SOAPClient.Base
if the Parameter for VendorQualifier is set, parameters will be used over propertiesProperty Inventory
Method Inventory
- AddSecurity()
- ConvertRoles()
- MoveParameters()
- OnValidateResponseHeaderValues()
- SetHeaderValues()
- SetX509()
- ValidateResponse()
Parameters
parameter DefaultUserID;
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
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 Header as HS.AU.PCEHR.Headers [ Final ];
Header to be included in SOAP request
Property methods: HeaderGet(), HeaderGetSwizzled(), HeaderIsValid(), HeaderNewObject(), HeaderSet()
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\SecurityHeader\VendorID","InterSystems Corporation") ];
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 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
Overridable method to update roles as required
method MoveParameters()
classmethod OnValidateResponseHeaderValues(pValidator As HS.AU.PCEHR.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 HI 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 signature, 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()