Skip to main content

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 properties

Property Inventory

Method Inventory

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()
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
classmethod ConvertRoles(pRoles As %String) as %String
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

Inherited Methods

FeedbackOpens in a new tab