From de2f21d6a3ccbf2714b4226c938c262006b8f852 Mon Sep 17 00:00:00 2001 From: VHofman <vincent.hofman@kereval.com> Date: Wed, 26 Jun 2024 10:01:36 +0200 Subject: [PATCH] Added accept parameter checking --- ...tBundle-PostRequest-ValidationProfile.json | 26 +++++++++++++++++++ ...ists-GetPostRequest-ValidationProfile.json | 26 +++++++++++++++++++ ...nces-GetPostRequest-ValidationProfile.json | 26 +++++++++++++++++++ ...8-Retrieve Document-ValidationProfile.json | 26 +++++++++++++++++++ 4 files changed, 104 insertions(+) diff --git a/EHS/CH-MHD/CH_ITI-65-ProvideDocumentBundle-PostRequest-ValidationProfile.json b/EHS/CH-MHD/CH_ITI-65-ProvideDocumentBundle-PostRequest-ValidationProfile.json index de7f62a..f37a977 100644 --- a/EHS/CH-MHD/CH_ITI-65-ProvideDocumentBundle-PostRequest-ValidationProfile.json +++ b/EHS/CH-MHD/CH_ITI-65-ProvideDocumentBundle-PostRequest-ValidationProfile.json @@ -111,6 +111,32 @@ "regex": "^(?!f{2})([\\da-f]{2})-(?!0{32})([\\da-f]{32})-(?!0{16})([\\da-f]{16})-([\\da-f]{2})$" } ] + },{ + "selector": "request.headers('Accept').values", + "id": "Accept_parameter_presence", + "description": "The Accept parameter is mandatory.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 1, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.headers('Accept').values", + "id": "Accept_parameter_value", + "description": "Accept parameter's value SHALL be as defined in https://build.fhir.org/http.html#mime-type.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "REGEX", + "regex": "^application\\/fhir\\+(xml|json|turtle)(;( )?fhirVersion=\\d\\.\\d)?$" + } + ] }, { "selector": "request.uri.queryParams('_format').values", diff --git a/EHS/CH-MHD/CH_ITI-66-FindDocumentLists-GetPostRequest-ValidationProfile.json b/EHS/CH-MHD/CH_ITI-66-FindDocumentLists-GetPostRequest-ValidationProfile.json index d099f07..7d2c637 100644 --- a/EHS/CH-MHD/CH_ITI-66-FindDocumentLists-GetPostRequest-ValidationProfile.json +++ b/EHS/CH-MHD/CH_ITI-66-FindDocumentLists-GetPostRequest-ValidationProfile.json @@ -114,6 +114,32 @@ "regex": "^(?!f{2})([\\da-f]{2})-(?!0{32})([\\da-f]{32})-(?!0{16})([\\da-f]{16})-([\\da-f]{2})$" } ] + },{ + "selector": "request.headers('Accept').values", + "id": "Accept_parameter_presence", + "description": "The Accept parameter is mandatory.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 1, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.headers('Accept').values", + "id": "Accept_parameter_value", + "description": "Accept parameter's value SHALL be as defined in https://build.fhir.org/http.html#mime-type.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "REGEX", + "regex": "^application\\/fhir\\+(xml|json|turtle)(;( )?fhirVersion=\\d\\.\\d)?$" + } + ] }, { "selector": "request.uri.queryParams('code').values", diff --git a/EHS/CH-MHD/CH_ITI-67-FindDocumentReferences-GetPostRequest-ValidationProfile.json b/EHS/CH-MHD/CH_ITI-67-FindDocumentReferences-GetPostRequest-ValidationProfile.json index dafb01c..5ac5c96 100644 --- a/EHS/CH-MHD/CH_ITI-67-FindDocumentReferences-GetPostRequest-ValidationProfile.json +++ b/EHS/CH-MHD/CH_ITI-67-FindDocumentReferences-GetPostRequest-ValidationProfile.json @@ -114,6 +114,32 @@ "regex": "^(?!f{2})([\\da-f]{2})-(?!0{32})([\\da-f]{32})-(?!0{16})([\\da-f]{16})-([\\da-f]{2})$" } ] + },{ + "selector": "request.headers('Accept').values", + "id": "Accept_parameter_presence", + "description": "The Accept parameter is mandatory.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 1, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.headers('Accept').values", + "id": "Accept_parameter_value", + "description": "Accept parameter's value SHALL be as defined in https://build.fhir.org/http.html#mime-type.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "REGEX", + "regex": "^application\\/fhir\\+(xml|json|turtle)(;( )?fhirVersion=\\d\\.\\d)?$" + } + ] }, { "selector": "request.uri.queryParams('author.given').values", diff --git a/EHS/CH-MHD/CH_ITI-68-Retrieve Document-ValidationProfile.json b/EHS/CH-MHD/CH_ITI-68-Retrieve Document-ValidationProfile.json index 675d598..0fe4ec0 100644 --- a/EHS/CH-MHD/CH_ITI-68-Retrieve Document-ValidationProfile.json +++ b/EHS/CH-MHD/CH_ITI-68-Retrieve Document-ValidationProfile.json @@ -111,6 +111,32 @@ "regex": "^(?!f{2})([\\da-f]{2})-(?!0{32})([\\da-f]{32})-(?!0{16})([\\da-f]{16})-([\\da-f]{2})$" } ] + },{ + "selector": "request.headers('Accept').values", + "id": "Accept_parameter_presence", + "description": "The Accept parameter is mandatory.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 1, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.headers('Accept').values", + "id": "Accept_parameter_value", + "description": "Accept parameter's value SHALL be as defined in https://build.fhir.org/http.html#mime-type.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "REGEX", + "regex": "^application\\/fhir\\+(xml|json|turtle)(;( )?fhirVersion=\\d\\.\\d)?$" + } + ] } ] } \ No newline at end of file -- GitLab