|
181 | 181 | </Step> |
182 | 182 | <Condition>(raisefault.RaiseFault.InvalidBusinessFunction.failed = true)</Condition> |
183 | 183 | </FaultRule> |
| 184 | + <FaultRule name="invalid_business_function"> |
| 185 | + <Step> |
| 186 | + <Condition>(isFhirR4Path = true)</Condition> |
| 187 | + <Name>AssignMessage.SetOperationOutcomeVariablesR4</Name> |
| 188 | + </Step> |
| 189 | + <Step> |
| 190 | + <Condition>(isFhirR4Path = false)</Condition> |
| 191 | + <Name>AssignMessage.SetOperationOutcomeVariablesPreR4</Name> |
| 192 | + </Step> |
| 193 | + <Step> |
| 194 | + <Name>AssignMessage.SetOperationOutcomeInvalidBusinessFunction</Name> |
| 195 | + </Step> |
| 196 | + <Step> |
| 197 | + <Name>AssignMessage.OperationOutcomeErrorResponse</Name> |
| 198 | + </Step> |
| 199 | + <Condition>(raisefault.RaiseFault.InvalidBusinessFunction.failed = true)</Condition> |
| 200 | + </FaultRule> |
184 | 201 | </FaultRules> |
185 | 202 | <PreFlow> |
186 | 203 | <Request> |
|
241 | 258 | <Request><!--AUTHORISED_APPLICATION business functions are not supported in user restricted flow --><Step> |
242 | 259 | <Name>RaiseFault.InvalidBusinessFunction</Name> |
243 | 260 | <Condition>(request.header.nhsd-ers-business-function == "PROVIDER_AUTHORISED_APPLICATION") or (request.header.nhsd-ers-business-function == "REFERRER_AUTHORISED_APPLICATION") or (request.header.nhsd-ers-business-function == "AUTHORISED_APPLICATION")</Condition> |
244 | | - </Step><Step> |
| 261 | + </Step> <Step> |
245 | 262 | <Name>AssignMessage.Set.x-ers-access-mode-header-user-restricted</Name> |
246 | 263 | </Step><Step> |
247 | 264 | <Name>AssignMessage.Set.x-ers-user-id-header-user-restricted</Name> |
|
271 | 288 | <Name>AssignMessage.Set.x-ers-amr-header</Name> |
272 | 289 | </Step><Step> |
273 | 290 | <Name>AssignMessage.Set.x-ers-id-assurance-level-header</Name> |
274 | | - </Step> <Step> |
| 291 | + </Step><Step> |
275 | 292 | <Condition>(request.header.x-ers-id-assurance-level LesserThan 3)</Condition> |
276 | 293 | <Name>RaiseFault.401InsufficientIal</Name> |
277 | 294 | </Step> {% if ALLOW_ECHO_TARGET | default(false) == true %}<Step> |
278 | 295 | <Name>AssignMessage.SetEchoTarget</Name> |
279 | 296 | <Condition>(request.header.echo)</Condition> |
280 | | - </Step> {% endif %} {% if '--ft-' in (ERS_TARGET_SERVER | default('e-referrals-service-api')) %}<Step> |
| 297 | + </Step> {% endif %} {% if '--ft-' in (ERS_TARGET_SERVER | default('e-referrals-service-api')) %} <Step> |
281 | 298 | <Name>AssignMessage.SetTruststore</Name> |
282 | 299 | <!--Condition is implemented this way around to account for isEchoCall being null (https://docs.apigee.com/api-platform/reference/conditions-reference#behaviorofnulloperandsinconditionalstatements)--> |
283 | 300 | <Condition>(isEchoCall != true )</Condition> |
284 | | - </Step> <Step> |
| 301 | + </Step><Step> |
285 | 302 | <Name>AssignMessage.SetEchoTruststore</Name> |
286 | 303 | <Condition>(isEchoCall == true)</Condition> |
287 | 304 | </Step> {% endif %} <Step> |
|
0 commit comments