diff --git a/EHS/CH_mCSD/CH-ITI-90-Organization-GetRequest-ValidationProfile.json b/EHS/CH_mCSD/CH-ITI-90-Organization-GetRequest-ValidationProfile.json index 6b42f9074f984f66aa92fb50e83f5fdd6999032b..3aef30047f8123040c4ef802450119413281219c 100644 --- a/EHS/CH_mCSD/CH-ITI-90-Organization-GetRequest-ValidationProfile.json +++ b/EHS/CH_mCSD/CH-ITI-90-Organization-GetRequest-ValidationProfile.json @@ -89,13 +89,13 @@ },{ "selector": "request.headers('traceparent').values", "id": "traceparent_parameter_presence", - "description": "The traceparent parameter is mandatory in the HTTP header.", + "description": "The traceparent parameter can be used only once.", "requirementPriority": "MANDATORY", "checksComposition": "oneOf", "checks": [ { "type": "OCCURRENCE", - "minOccurrence": 1, + "minOccurrence": 0, "maxOccurrence": 1 } ] @@ -106,6 +106,7 @@ "description": "traceparent parameter's value SHALL be as defined in fhir.ch, section tracecontext.", "requirementPriority": "MANDATORY", "checksComposition": "oneOf", + "applyIf": "request.headers('traceparent').values.size() > 0", "checks": [ { "type": "REGEX", diff --git a/EHS/CH_mCSD/CH-ITI-90-Practitioner-GetRequest-ValidationProfile.json b/EHS/CH_mCSD/CH-ITI-90-Practitioner-GetRequest-ValidationProfile.json index 0fe8e9b0bffe61a43e56063356831df3342a19c3..a026a19d90e228e7aeecdabc5df55881148d8da7 100644 --- a/EHS/CH_mCSD/CH-ITI-90-Practitioner-GetRequest-ValidationProfile.json +++ b/EHS/CH_mCSD/CH-ITI-90-Practitioner-GetRequest-ValidationProfile.json @@ -90,13 +90,13 @@ { "selector": "request.headers('traceparent').values", "id": "traceparent_parameter_presence", - "description": "The traceparent parameter is mandatory in the HTTP header.", + "description": "The traceparent parameter can be used only once.", "requirementPriority": "MANDATORY", "checksComposition": "oneOf", "checks": [ { "type": "OCCURRENCE", - "minOccurrence": 1, + "minOccurrence": 0, "maxOccurrence": 1 } ] @@ -106,7 +106,8 @@ "id": "traceparent_parameter_value", "description": "traceparent parameter's value SHALL be as defined in fhir.ch, section tracecontext.", "requirementPriority": "MANDATORY", - "checksComposition": "oneOf", + "checksComposition": "oneOf", + "applyIf": "request.headers('traceparent').values.size() > 0", "checks": [ { "type": "REGEX", diff --git a/EHS/CH_mCSD/CH-ITI-90-PractitionerRole-GetRequest-ValidationProfile.json b/EHS/CH_mCSD/CH-ITI-90-PractitionerRole-GetRequest-ValidationProfile.json index 42ce0d07387939f210e5b19f31d6ef51fd86482b..a1788d36a02ffdd07b44b31199c86c5a152bd39f 100644 --- a/EHS/CH_mCSD/CH-ITI-90-PractitionerRole-GetRequest-ValidationProfile.json +++ b/EHS/CH_mCSD/CH-ITI-90-PractitionerRole-GetRequest-ValidationProfile.json @@ -90,13 +90,14 @@ { "selector": "request.headers('traceparent').values", "id": "traceparent_parameter_presence", - "description": "The traceparent parameter is mandatory in the HTTP header.", + "description": "The traceparent parameter can be used only once.", "requirementPriority": "MANDATORY", "checksComposition": "oneOf", + "applyIf": "request.headers('traceparent').values.size() > 0", "checks": [ { "type": "OCCURRENCE", - "minOccurrence": 1, + "minOccurrence": 0, "maxOccurrence": 1 } ] diff --git a/EHS/CH_mCSD/CH-ITI-90-RetrieveRequest-ValidationProfile.json b/EHS/CH_mCSD/CH-ITI-90-RetrieveRequest-ValidationProfile.json index 229bf6d7620726ff35bdef074e3fa508df1ae9ee..9cc33bc6ee9501cbd6d257a5bf95770921faba79 100644 --- a/EHS/CH_mCSD/CH-ITI-90-RetrieveRequest-ValidationProfile.json +++ b/EHS/CH_mCSD/CH-ITI-90-RetrieveRequest-ValidationProfile.json @@ -89,13 +89,13 @@ },{ "selector": "request.headers('traceparent').values", "id": "traceparent_parameter_presence", - "description": "The traceparent parameter is mandatory in the HTTP header.", + "description": "The traceparent parameter can be used only once.", "requirementPriority": "MANDATORY", "checksComposition": "oneOf", "checks": [ { "type": "OCCURRENCE", - "minOccurrence": 1, + "minOccurrence": 0, "maxOccurrence": 1 } ] @@ -106,6 +106,7 @@ "description": "traceparent parameter's value SHALL be as defined in fhir.ch, section tracecontext.", "requirementPriority": "MANDATORY", "checksComposition": "oneOf", + "applyIf": "request.headers('traceparent').values.size() > 0", "checks": [ { "type": "REGEX", diff --git a/EHS/CH_mCSD/README.md b/EHS/CH_mCSD/README.md index b6891f8bf505fa9058960e1e834777d8c0348b69..2485bbe776ca3957b732ce8bdffa653ef66fda96 100644 --- a/EHS/CH_mCSD/README.md +++ b/EHS/CH_mCSD/README.md @@ -17,7 +17,7 @@ date: 2023-03-14 | HostChecking | REGEX | `^(http[s]?:\/\/)?[a-zA-Z0-9.\-\/]+(\:(\d)+)?$` | Host Shall be a server name | | Authorization_parameter_presence | OCCURRENCE | 1..1 | The Authorization parameter is mandatory | | Authorization_parameter_value | REGEX | `^Bearer\\ [-a-zA-Z0-9._~+\\/]+=*$` | Authorization parameter's value SHALL be Bearer, followed by the token. | -| traceparent_parameter_presence | OCCURRENCE | 1..1 | The traceparent parameter is mandatory in the HTTP header| +| traceparent_parameter_presence | OCCURRENCE | 0..1 | The traceparent parameter can be used only once.| | traceparent_parameter_value | REGEX | `^(?!f{2})([\da-f]{2})-(?!0{32})([\da-f]{32})-(?!0{16})([\da-f]{16})-([\da-f]{2})$` | traceparent parameter's value SHALL be as defined in fhir.ch, section [tracecontext](https://fhir.ch/ig/ch-epr-mhealth/tracecontext.html). | | _id_parameter_presence | OCCURENCE | 0..1 | _id parameter can be used only once. | | _id_parameter_value | REGEX | `^\S+$` | _id parameter is a token. |