From c9d007a25a103684e334c3dbec03729ce9186458 Mon Sep 17 00:00:00 2001 From: VHofman <vincent.hofman@kereval.com> Date: Wed, 27 Mar 2024 16:58:55 +0100 Subject: [PATCH] Add IHE PDQm validation profiles + sample + doc --- ... Demographics Query-ValidationProfile.json | 499 ++++++++++++++++++ ...mographics Retrieve-ValidationProfile.json | 61 +++ IHE Validation profiles/PDQm/README.md | 61 +++ .../PDQm - 001 - valid - emptyQuery.txt | 2 + .../PDQm - 002 - valid - emptyQuery.txt | 2 + .../PDQm/ITI-78/PDQm - 003 - valid - _id.txt | 5 + .../ITI-78/PDQm - 004 - valid - active.txt | 5 + .../ITI-78/PDQm - 005 - valid - family.txt | 11 + .../ITI-78/PDQm - 006 - valid - given.txt | 11 + .../PDQm - 007 - valid - identifier.txt | 2 + ...8 - valid - multiple identifer domains.txt | 2 + .../ITI-78/PDQm - 009 - valid - telecom.txt | 2 + .../ITI-78/PDQm - 010 - valid - birthdate.txt | 29 + .../ITI-78/PDQm - 011 - valid - address.txt | 12 + .../PDQm - 012 - valid - address-city.txt | 14 + .../PDQm - 013 - valid - address-country.txt | 12 + ...DQm - 014 - valid - address-postalcode.txt | 12 + .../PDQm - 015 - valid - address-state.txt | 12 + .../ITI-78/PDQm - 016 - valid - gender.txt | 23 + ...PDQm - 017 - valid - mothersMaidenName.txt | 11 + .../PDQm - 018 - valid - _format xml.txt | 2 + .../PDQm - 019 - valid - _format json.txt | 2 + .../PDQm - 020 - valid - family & gender .txt | 2 + ...DQm - 021 - valid - birthdate & family.txt | 2 + .../ITI-78/PDQm - 022 - valid - Retrieve.txt | 2 + .../PDQm - 023 - invalid - Bad method.txt | 2 + .../PDQm - 024 - invalid - Bad URI.txt | 2 + ... - invalid - with 2 active parameters.txt | 2 + ...032 - invalid - with bad active value.txt | 2 + ...nvalid - With 2 identifier parameters.txt | 2 + ...- invalid - With bad identifier value.txt | 2 + ...d - With bad identifier domains token.txt | 2 + ... invalid - With 2 birthdateparameters.txt | 2 + ...- invalid - With bad birthdate format.txt | 2 + ...invalid - With bad birthdate modifier.txt | 2 + ...- invalid - With 2 address parameters.txt | 2 + ...alid - With 2 address-city parameters.txt | 2 + ...d - With 2 address-country parameters.txt | 2 + ...- With 2 address-postalcode parameter.txt | 2 + ...lid - With 2 address-state parameters.txt | 2 + ... - invalid - With 2 gender parameters.txt | 2 + ...045 - invalid - With bad gender value.txt | 2 + ... - With 2 mothersMaidenNameparameters.txt | 2 + ...- invalid - With 2 _format parameters.txt | 2 + ...48 - invalid - With bad _format value.txt | 2 + 45 files changed, 838 insertions(+) create mode 100644 IHE Validation profiles/PDQm/ITI-78-Patient-Mobile Patient Demographics Query-ValidationProfile.json create mode 100644 IHE Validation profiles/PDQm/ITI-78-Patient-Mobile Patient Demographics Retrieve-ValidationProfile.json create mode 100644 IHE Validation profiles/PDQm/README.md create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 001 - valid - emptyQuery.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 002 - valid - emptyQuery.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 003 - valid - _id.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 004 - valid - active.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 005 - valid - family.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 006 - valid - given.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 007 - valid - identifier.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 008 - valid - multiple identifer domains.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 009 - valid - telecom.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 010 - valid - birthdate.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 011 - valid - address.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 012 - valid - address-city.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 013 - valid - address-country.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 014 - valid - address-postalcode.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 015 - valid - address-state.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 016 - valid - gender.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 017 - valid - mothersMaidenName.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 018 - valid - _format xml.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 019 - valid - _format json.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 020 - valid - family & gender .txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 021 - valid - birthdate & family.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 022 - valid - Retrieve.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 023 - invalid - Bad method.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 024 - invalid - Bad URI.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 031 - invalid - with 2 active parameters.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 032 - invalid - with bad active value.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 033 - invalid - With 2 identifier parameters.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 034 - invalid - With bad identifier value.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 035 - invalid - With bad identifier domains token.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 036 - invalid - With 2 birthdateparameters.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 037 - invalid - With bad birthdate format.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 038 - invalid - With bad birthdate modifier.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 039 - invalid - With 2 address parameters.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 040 - invalid - With 2 address-city parameters.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 041 - invalid - With 2 address-country parameters.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 042 - invalid - With 2 address-postalcode parameter.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 043 - invalid - With 2 address-state parameters.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 044 - invalid - With 2 gender parameters.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 045 - invalid - With bad gender value.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 046 - invalid - With 2 mothersMaidenNameparameters.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 047 - invalid - With 2 _format parameters.txt create mode 100644 IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 048 - invalid - With bad _format value.txt diff --git a/IHE Validation profiles/PDQm/ITI-78-Patient-Mobile Patient Demographics Query-ValidationProfile.json b/IHE Validation profiles/PDQm/ITI-78-Patient-Mobile Patient Demographics Query-ValidationProfile.json new file mode 100644 index 0000000..ecde126 --- /dev/null +++ b/IHE Validation profiles/PDQm/ITI-78-Patient-Mobile Patient Demographics Query-ValidationProfile.json @@ -0,0 +1,499 @@ +{ + "profileType": "HTTPREQUEST", + "id": "ITI-78-Patient-PDQmQuery-ValidationProfile", + "name": "ITI-78-Patient-Mobile Patient Demographics Query-ValidationProfile", + "description": "Validation Profile for validating a PDQm ITI-78 query.", + "context": "IHE", + "assertions": [ + { + "selector": "request.method", + "id": "GETMethodChecking", + "description": "HTTP method shall be GET or POST", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "CLOSEDLIST", + "values": [ + "GET", + "POST" + ] + } + ] + }, + { + "selector": "request.version", + "id": "HTTP1VersionChecking", + "description": "The HTTP version shall be HTTP/1.1", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "FIXEDVALUE", + "fixedValue": "HTTP/1.1" + } + ] + }, + { + "selector": "request.uri.path", + "id": "URIRegexChecking", + "description": "URI path of the request shall be followed by the Patient resource", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "REGEX", + "regex": "^(\\S)+Patient$" + } + ] + }, + { + "selector": "request.headers('Host').values", + "id": "HostChecking", + "description": "Host Shall be a server name; Regex: ^(http[s]?:\\/\\/)?[a-zA-Z0-9.\\-\\/]+(:(\\d)+)?$", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "REGEX", + "regex": "^(http[s]?:\\/\\/)?[a-zA-Z0-9.\\-\\/]+(:(\\d)+)?$" + } + ] + }, + { + "selector": "request.uri.queryParams('_id').values", + "id": "_id_parameter_presence", + "description": "_id parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('_id').values", + "id": "_id_parameter_value", + "description": "_id parameter is a token.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('_id').values.size() > 0", + "checks": [ + { + "type": "REGEX", + "regex": "^\\S+$" + } + ] + }, + { + "selector": "request.uri.queryParams('active').values", + "id": "active_parameter_presence", + "description": "active parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('active').values", + "id": "active_parameter_value", + "description": "active parameter is a boolean and accept true or false values.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('active').values.size() > 0", + "checks": [ + { + "type": "CLOSEDLIST", + "values": [ + "true", + "false" + ] + } + ] + }, + { + "selector": "request.uri.queryParams('family').values", + "id": "family_parameter_presence", + "description": "family parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('family').values", + "id": "family_parameter_value", + "description": "family parameter's value is made of items composed of string.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('family').values.size() > 0", + "checks": [ + { + "type": "REGEX", + "regex": "^([\\w,]|(-\\w))+$" + } + ] + }, + { + "selector": "request.uri.queryParams('given').values", + "id": "given_parameter_presence", + "description": "given parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('given').values", + "id": "given_parameter_value", + "description": "given parameter's value is made of items composed of string.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('given').values.size() > 0", + "checks": [ + { + "type": "REGEX", + "regex": "^[\\s\\S]+$" + } + ] + }, + { + "selector": "request.uri.queryParams('identifier').values", + "id": "identifier_parameter_presence", + "description": "identifier parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('identifier').values", + "id": "identifier_parameter_value", + "description": "identifier parameter's value is made of items composed of string.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('identifier').values.size() > 0", + "checks": [ + { + "type": "REGEX", + "regex": "^\\S+$" + } + ] + }, + { + "selector": "request.uri.queryParams('telecom').values", + "id": "telecom_parameter_presence", + "description": "telecom parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('telecom').values", + "id": "telecom_parameter_value", + "description": "telecom parameter is made of a string.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('telecom').values.size() > 0", + "checks": [ + { + "type": "REGEX", + "regex": "^[\\s\\S]+$" + } + ] + }, + { + "selector": "request.uri.queryParams('birthdate').values", + "id": "birthdate_parameter_presence", + "description": "birthdate parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('birthdate').values", + "id": "birthdate_parameter_value", + "description": "birthdate parameter is made of a date eventually preceded by a modifier.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('birthdate').values.size() > 0", + "checks": [ + { + "type": "REGEX", + "regex": "^(eq|ne|lt|gt|ge|le|sa|eb|ap)?([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?$" + } + ] + }, + { + "selector": "request.uri.queryParams('address').values", + "id": "address_parameter_presence", + "description": "address parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('address').values", + "id": "address_parameter_value", + "description": "address parameter is made of a string.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('address').values.size() > 0", + "checks": [ + { + "type": "REGEX", + "regex": "^[\\s\\S]+$" + } + ] + }, + { + "selector": "request.uri.queryParams('address-city').values", + "id": "address-city_parameter_presence", + "description": "address-city parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('address-city').values", + "id": "address-city_parameter_value", + "description": "address-city parameter is made of a string.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('address-city').values.size() > 0", + "checks": [ + { + "type": "REGEX", + "regex": "^[\\s\\S]+$" + } + ] + }, + { + "selector": "request.uri.queryParams('address-country').values", + "id": "address-country_parameter_presence", + "description": "address-country parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('address-country').values", + "id": "address-country_parameter_value", + "description": "address-country parameter is made of a string.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('address-country').values.size() > 0", + "checks": [ + { + "type": "REGEX", + "regex": "^[\\s\\S]+$" + } + ] + }, + { + "selector": "request.uri.queryParams('address-postalcode').values", + "id": "address-postalcode_parameter_presence", + "description": "address-postalcode parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('address-postalcode').values", + "id": "address-postalcode_parameter_value", + "description": "address-postalcode parameter is made of a string.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('address-postalcode').values.size() > 0", + "checks": [ + { + "type": "REGEX", + "regex": "^[\\s\\S]+$" + } + ] + }, + { + "selector": "request.uri.queryParams('address-state').values", + "id": "address-state_parameter_presence", + "description": "address-state parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('address-state').values", + "id": "address-state_parameter_value", + "description": "address-state parameter is made of a string.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('address-state').values.size() > 0", + "checks": [ + { + "type": "REGEX", + "regex": "^[\\s\\S]+$" + } + ] + }, + { + "selector": "request.uri.queryParams('gender').values", + "id": "gender_parameter_presence", + "description": "gender parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('gender').values", + "id": "gender_parameter_value", + "description": "gender parameter's value shall be either json or xml.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('gender').values.size() > 0", + "checks": [ + { + "type": "CLOSEDLIST", + "values": [ + "male", + "Male", + "female", + "Female", + "other", + "Other", + "unknown", + "Unknown" + ] + } + ] + }, + { + "selector": "request.uri.queryParams('mothersMaidenName').values", + "id": "mothersMaidenName_parameter_presence", + "description": "mothersMaidenName parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('mothersMaidenName').values", + "id": "mothersMaidenName_parameter_value", + "description": "mothersMaidenName parameter is made of a string.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('mothersMaidenName').values.size() > 0", + "checks": [ + { + "type": "REGEX", + "regex": "^[\\s\\S]+$" + } + ] + }, + { + "selector": "request.uri.queryParams('_format').values", + "id": "_format_parameter_presence", + "description": "_format parameter can be used only once.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "OCCURRENCE", + "minOccurrence": 0, + "maxOccurrence": 1 + } + ] + }, + { + "selector": "request.uri.queryParams('_format').values", + "id": "_format_parameter_value", + "description": "_format parameter's value shall be either json or xml.", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "applyIf": "request.uri.queryParams('_format').values.size() > 0", + "checks": [ + { + "type": "CLOSEDLIST", + "values": [ + "json", + "xml" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/IHE Validation profiles/PDQm/ITI-78-Patient-Mobile Patient Demographics Retrieve-ValidationProfile.json b/IHE Validation profiles/PDQm/ITI-78-Patient-Mobile Patient Demographics Retrieve-ValidationProfile.json new file mode 100644 index 0000000..7773f0f --- /dev/null +++ b/IHE Validation profiles/PDQm/ITI-78-Patient-Mobile Patient Demographics Retrieve-ValidationProfile.json @@ -0,0 +1,61 @@ +{ + "profileType": "HTTPREQUEST", + "id": "ITI-78-Patient-PDQmRetrieve-ValidationProfile", + "name": "ITI-78-Patient-Mobile Patient Demographics Retrieve-ValidationProfile", + "description": "Validation Profile for validating a PDQm ITI-78 Retrieve.", + "context": "IHE", + "assertions": [ + { + "selector": "request.method", + "id": "GETMethodChecking", + "description": "HTTP method shall be GET", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "FIXEDVALUE", + "fixedValue": "GET" + } + ] + }, + { + "selector": "request.version", + "id": "HTTP1VersionChecking", + "description": "The HTTP version shall be HTTP/1.1", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "FIXEDVALUE", + "fixedValue": "HTTP/1.1" + } + ] + }, + { + "selector": "request.uri.path", + "id": "URIRegexChecking", + "description": "URI path of the request shall be followed by the Patient resource", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "REGEX", + "regex": "^(\\S)+\\/Patient\\/(\\S)+$" + } + ] + }, + { + "selector": "request.headers('Host').values", + "id": "HostChecking", + "description": "Host Shall be a server name; Regex: ^(http[s]?:\\/\\/)?[a-zA-Z0-9.\\-\\/]+(:(\\d)+)?$", + "requirementPriority": "MANDATORY", + "checksComposition": "oneOf", + "checks": [ + { + "type": "REGEX", + "regex": "^(http[s]?:\\/\\/)?[a-zA-Z0-9.\\-\\/]+(:(\\d)+)?$" + } + ] + } + ] +} \ No newline at end of file diff --git a/IHE Validation profiles/PDQm/README.md b/IHE Validation profiles/PDQm/README.md new file mode 100644 index 0000000..8d6ecca --- /dev/null +++ b/IHE Validation profiles/PDQm/README.md @@ -0,0 +1,61 @@ +--- +title: PDQm HTTP Validation profiles' assertions +subtitle: List of all HTTP rules for PDQm/ITI-78 +authors: Vincent HOFMAN +date: 2023-03-27 +--- + +# PDQm Mobile Patient Demographics Query's validation profile + +## References +This validation profile's documentation references: +- [FHIR's Datatypes](https://build.fhir.org/datatypes.html) +- [String type's modifiers](https://build.fhir.org/search.html#modifiers) + +## ITI-78 Search Query assertions + +| id | Check's type | Value | Description | +|--- |--- |--- |--- | +| GETMethodChecking | CLOSEDLIST | [GET,POST] | HTTP method shall be either GET or POST | +| HTTP1VersionChecking | FIXEDVALUE | HTTP/1.1 | The HTTP version shall be HTTP/1.1 | +| URIRegexChecking | REGEX | `^(\S)+Patient$` | URI path of the request shall be followed by the PDQm resource | +| HostChecking | REGEX | `^(http[s]?:\/\/)?[a-zA-Z0-9.\-\/]+(\:(\d)+)?$` | Host Shall be a server name | +| _id_parameter_presence | OCCURRENCE | 0..1 | _id parameter can be used only once. | +| _id_parameter_value | REGEX | `^\S+$` | _id parameter is a token. | +| active_parameter_presence | OCCURRENCE | 0..1 | active parameter can be used only once. | +| active_parameter_value | CLOSEDLIST | [true,false] | active parameter is a boolean and accept true or false values. | +| family_parameter_presence | OCCURRENCE | 0..1 | family parameter can be used only once, eventually suffixed by a modifier :contains, :exact or :text. | +| family_parameter_value | REGEX | `^[\s\S]+$` | family parameter is made of a string. | +| given_parameter_presence | OCCURRENCE | 0..1 | given parameter can be used only once, eventually suffixed by a modifier :contains, :exact or :text. | +| given_parameter_value | REGEX | `^[\s\S]+$` | given parameter is made of a string. | +| identifier_parameter_presence | OCCURRENCE | 0..1 | identifier parameter can be used only once. | +| identifier_parameter_value | REGEX | `^\S+$` | identifier parameter is a token. | +| telecom_parameter_presence | OCCURRENCE | 0..1 | telecom parameter can be used only once, eventually suffixed by a modifier :contains, :exact or :text. | +| telecom_parameter_value | REGEX | `^[\s\S]+$` | telecom parameter is made of a string. |. +| birthdate_parameter_presence | OCCURRENCE | 0..1 | birthdate parameter can be used only once. | +| birthdate_parameter_value | REGEX | `^(eq\|ne\|lt\|gt\|ge\|le\|sa\|eb\|ap)?([0-9]([0-9]([0-9][1-9]\|[1-9]0)\|[1-9]00)\|[1-9]000)(-(0[1-9]\|1[0-2])(-(0[1-9]\|[1-2][0-9]\|3[0-1]))?)?$` | birthdate parameter is made of a date eventually preceded by a modifier. | +| address_parameter_presence | OCCURRENCE | 0..1 | address parameter can be used only once, eventually suffixed by a modifier :contains, :exact or :text. | +| address_parameter_value | REGEX | `^[\s\S]+$` | address parameter is made of a string. | +| address-city_parameter_presence | OCCURRENCE | 0..1 | address-city parameter can be used only once, eventually suffixed by a modifier :contains, :exact or :text. | +| address-city_parameter_value | REGEX | `^[\s\S]+$` | address-city parameter is made of a string. | +| address-country_parameter_presence | OCCURRENCE | 0..1 | address-country parameter can be used only once, eventually suffixed by a modifier :contains, :exact or :text. | +| address-country_parameter_value | REGEX | `^[\s\S]+$` | address-country parameter is made of a string. | +| address-postalcode_parameter_presence | OCCURRENCE | 0..1 | address-postalcode parameter can be used only once, eventually suffixed by a modifier :contains, :exact or :text. | +| address-postalcode_parameter_value | REGEX | `^[\s\S]+$` | address-postalcode parameter is made of a string. | +| address-state_parameter_presence | OCCURRENCE | 0..1 | address-state parameter can be used only once, eventually suffixed by a modifier :contains, :exact or :text. | +| address-state_parameter_value | REGEX | `^[\s\S]+$` | address-state parameter is made of a string. | +| gender_parameter_presence | OCCURRENCE | 0..1 | gender parameter can be used only once. | +| gender_parameter_value | CLOSEDLIST | [male,Male,female,Female,other,Other,unknown,Unknown] | active parameter is a token and accept the code or the display values. | +| mothersMaidenName_parameter_presence | OCCURRENCE | 0..1 | mothersMaidenName parameter can be used only once. | +| mothersMaidenName_parameter_value | REGEX | `^[\s\S]+$` | mothersMaidenName parameter is made of a string. | +| _format_parameter_presence | OCCURRENCE | 0..1 | _format parameter can be used only once. | +| _format_parameter_value | CLOSEDLIST | [json,xml] | _format parameter's value shall be either json or xml. | + +## ITI-78 Retrieve query assertions + +| id | Check's type | Value | Description | +|--- |--- |--- |--- | +| GETMethodChecking | FIXEDVALUE | GET | HTTP method shall be GET | +| HTTP1VersionChecking | FIXEDVALUE | HTTP/1.1 | The HTTP version shall be HTTP/1.1 | +| URIRegexChecking | REGEX | `^(\S)+\/Patient\/(\S)+$` | URI path of the request shall be followed by the PDQm resource | +| HostChecking | REGEX | `^(http[s]?:\/\/)?[a-zA-Z0-9.\-\/]+(\:(\d)+)?$` | Host Shall be a server name | \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 001 - valid - emptyQuery.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 001 - valid - emptyQuery.txt new file mode 100644 index 0000000..f8bb773 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 001 - valid - emptyQuery.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 002 - valid - emptyQuery.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 002 - valid - emptyQuery.txt new file mode 100644 index 0000000..8f846dd --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 002 - valid - emptyQuery.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient? HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 003 - valid - _id.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 003 - valid - _id.txt new file mode 100644 index 0000000..825560d --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 003 - valid - _id.txt @@ -0,0 +1,5 @@ +GET PatientDemographicsSupplier/Patient?_id=parameter-of_type:string HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?_id:exact=parameter-of_type:string HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 004 - valid - active.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 004 - valid - active.txt new file mode 100644 index 0000000..808c590 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 004 - valid - active.txt @@ -0,0 +1,5 @@ +GET PatientDemographicsSupplier/Patient?active=true HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?active=false HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 005 - valid - family.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 005 - valid - family.txt new file mode 100644 index 0000000..e75b686 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 005 - valid - family.txt @@ -0,0 +1,11 @@ +GET PatientDemographicsSupplier/Patient?family=Hook HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?family:contains=Hook HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?family:exact=Hook HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?family:text=Hook HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 006 - valid - given.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 006 - valid - given.txt new file mode 100644 index 0000000..173e422 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 006 - valid - given.txt @@ -0,0 +1,11 @@ +GET PatientDemographicsSupplier/Patient?given=James HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?given:contains=James HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?given:exact=James HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?given:text=James HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 007 - valid - identifier.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 007 - valid - identifier.txt new file mode 100644 index 0000000..9dfbdb7 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 007 - valid - identifier.txt @@ -0,0 +1,2 @@ +GET CarePatientDemographicsSupplierervicesSelectiveSupplier/Patient?identifier=urn%3Aoid%3A1.2.3%7Cabc HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 008 - valid - multiple identifer domains.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 008 - valid - multiple identifer domains.txt new file mode 100644 index 0000000..4b794b2 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 008 - valid - multiple identifer domains.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?identifier=urn%3Aoid%3A1.2.3%7C%2Curn%3Aoid%3A4.5.6%7C HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 009 - valid - telecom.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 009 - valid - telecom.txt new file mode 100644 index 0000000..a4f76af --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 009 - valid - telecom.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?telecom=%28310%29%20874-9015 HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 010 - valid - birthdate.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 010 - valid - birthdate.txt new file mode 100644 index 0000000..6ee09ca --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 010 - valid - birthdate.txt @@ -0,0 +1,29 @@ +GET PatientDemographicsSupplier/Patient?birthdate=1981-07-21 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?birthdate=eq1981-07-21 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?birthdate=ne1981-07-21 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?birthdate=lt1981-07-21 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?birthdate=gt1981-07-21 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?birthdate=ge1981-07-21 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?birthdate=le1981-07-21 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?birthdate=sa1981-07-21 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?birthdate=eb1981-07-21 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?birthdate=ap1981-07-21 HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 011 - valid - address.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 011 - valid - address.txt new file mode 100644 index 0000000..854935a --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 011 - valid - address.txt @@ -0,0 +1,12 @@ +GET PatientDemographicsSupplier/Patient?address=511-5762%20At%20Rd.%20Chelsea%20MI%2067708 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address:contains=511-5762%20At%20Rd.%2067708 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address:exact=511-5762%20At%20Rd.%20Chelsea%20MI%2067708 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address:text=511-5762%20At%20Rd.%20Chelsea%20MI%2067708 HTTP/1.1 +Host: gazelle.ihe.net + diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 012 - valid - address-city.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 012 - valid - address-city.txt new file mode 100644 index 0000000..9d6807a --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 012 - valid - address-city.txt @@ -0,0 +1,14 @@ +GET PatientDemographicsSupplier/Patient?address-city=Chelsea HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-city=Chelsea HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-city:contains=Chelsea HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-city:exact=Chelsea HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-city:text=Chelsea HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 013 - valid - address-country.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 013 - valid - address-country.txt new file mode 100644 index 0000000..9b3bb99 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 013 - valid - address-country.txt @@ -0,0 +1,12 @@ +GET PatientDemographicsSupplier/Patient?address-country=Germany HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-country:contains=Germany HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-country:exact=Germany HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-country:text=Germany HTTP/1.1 +Host: gazelle.ihe.net + diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 014 - valid - address-postalcode.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 014 - valid - address-postalcode.txt new file mode 100644 index 0000000..71caf23 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 014 - valid - address-postalcode.txt @@ -0,0 +1,12 @@ +GET PatientDemographicsSupplier/Patient?address-postalcode=3003 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-postalcode:contains=3003 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-postalcode:exact=3003 HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-postalcode:text=3003 HTTP/1.1 +Host: gazelle.ihe.net + diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 015 - valid - address-state.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 015 - valid - address-state.txt new file mode 100644 index 0000000..3ab3cd1 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 015 - valid - address-state.txt @@ -0,0 +1,12 @@ +GET PatientDemographicsSupplier/Patient?address-state=California HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-state:contains=California HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-state:exact=California HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?address-state:text=California HTTP/1.1 +Host: gazelle.ihe.net + diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 016 - valid - gender.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 016 - valid - gender.txt new file mode 100644 index 0000000..adc230c --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 016 - valid - gender.txt @@ -0,0 +1,23 @@ +GET PatientDemographicsSupplier/Patient?gender=male HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?gender=Male HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?gender=female HTTP/1.1 +Host: gazelle.ihe.net + +GET CareServicePatientDemographicsSuppliersSelectiveSupplier/Patient?gender=Female HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?gender=other HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?gender=Other HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?gender=unknown HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?gender=Unknown HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 017 - valid - mothersMaidenName.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 017 - valid - mothersMaidenName.txt new file mode 100644 index 0000000..241931c --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 017 - valid - mothersMaidenName.txt @@ -0,0 +1,11 @@ +GET PatientDemographicsSupplier/Patient?motherMaidenName=Smith HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?motherMaidenName:contains=Smith HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?motherMaidenName:exact=Smith HTTP/1.1 +Host: gazelle.ihe.net + +GET PatientDemographicsSupplier/Patient?motherMaidenName:text=Smith HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 018 - valid - _format xml.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 018 - valid - _format xml.txt new file mode 100644 index 0000000..453e63f --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 018 - valid - _format xml.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?_format=xml HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 019 - valid - _format json.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 019 - valid - _format json.txt new file mode 100644 index 0000000..af52986 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 019 - valid - _format json.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?_format=json HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 020 - valid - family & gender .txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 020 - valid - family & gender .txt new file mode 100644 index 0000000..2f02dbf --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 020 - valid - family & gender .txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?family:contains=Hook&gender=Male HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 021 - valid - birthdate & family.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 021 - valid - birthdate & family.txt new file mode 100644 index 0000000..906fbd2 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 021 - valid - birthdate & family.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?birthdate=eq1981-07-21&family:exact=Hook HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 022 - valid - Retrieve.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 022 - valid - Retrieve.txt new file mode 100644 index 0000000..6bb5480 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 022 - valid - Retrieve.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient/267 HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 023 - invalid - Bad method.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 023 - invalid - Bad method.txt new file mode 100644 index 0000000..73e6207 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 023 - invalid - Bad method.txt @@ -0,0 +1,2 @@ +UPDATE PatientDemographicsSupplier/Patient? HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 024 - invalid - Bad URI.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 024 - invalid - Bad URI.txt new file mode 100644 index 0000000..1611645 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 024 - invalid - Bad URI.txt @@ -0,0 +1,2 @@ +GET PatientDemographics Supplier/Patient? HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 031 - invalid - with 2 active parameters.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 031 - invalid - with 2 active parameters.txt new file mode 100644 index 0000000..4e967f7 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 031 - invalid - with 2 active parameters.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?active=true&active=false HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 032 - invalid - with bad active value.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 032 - invalid - with bad active value.txt new file mode 100644 index 0000000..8401bac --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 032 - invalid - with bad active value.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?active=maybe HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 033 - invalid - With 2 identifier parameters.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 033 - invalid - With 2 identifier parameters.txt new file mode 100644 index 0000000..228a373 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 033 - invalid - With 2 identifier parameters.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?identifier=urn%3Aoid%3A1.2.3%7Cabc&identifier=urn%3Aoid%3A1.2.3%7Cdef HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 034 - invalid - With bad identifier value.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 034 - invalid - With bad identifier value.txt new file mode 100644 index 0000000..f4f549b --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 034 - invalid - With bad identifier value.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?identifier=urn%3%20Aoid%3%20A1.2.3%7Cabc HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 035 - invalid - With bad identifier domains token.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 035 - invalid - With bad identifier domains token.txt new file mode 100644 index 0000000..80fdc0c --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 035 - invalid - With bad identifier domains token.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?identifier=urn%3Aoid%3A1.2.3%7C%20urn%3Aoid%3A4.5.6%7C HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 036 - invalid - With 2 birthdateparameters.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 036 - invalid - With 2 birthdateparameters.txt new file mode 100644 index 0000000..bb72af4 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 036 - invalid - With 2 birthdateparameters.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?birthdate=1981-07-21&birthdate=1981-07-22 HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 037 - invalid - With bad birthdate format.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 037 - invalid - With bad birthdate format.txt new file mode 100644 index 0000000..6d34840 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 037 - invalid - With bad birthdate format.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?birthdate=21-07-1981 HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 038 - invalid - With bad birthdate modifier.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 038 - invalid - With bad birthdate modifier.txt new file mode 100644 index 0000000..006d26f --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 038 - invalid - With bad birthdate modifier.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?birthdate=ee1981-07-21 HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 039 - invalid - With 2 address parameters.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 039 - invalid - With 2 address parameters.txt new file mode 100644 index 0000000..3b47b44 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 039 - invalid - With 2 address parameters.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?address=511-5762%20At%20Rd.%20Chelsea%20MI%2067708&address=511-5763%20At%20Rd.%20Chelsea%20MI%2067708 HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 040 - invalid - With 2 address-city parameters.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 040 - invalid - With 2 address-city parameters.txt new file mode 100644 index 0000000..816299b --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 040 - invalid - With 2 address-city parameters.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?address-city=Chelsea&address-city=Rennes HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 041 - invalid - With 2 address-country parameters.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 041 - invalid - With 2 address-country parameters.txt new file mode 100644 index 0000000..a8736c3 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 041 - invalid - With 2 address-country parameters.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patien?address-country=Germany&address-country=France HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 042 - invalid - With 2 address-postalcode parameter.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 042 - invalid - With 2 address-postalcode parameter.txt new file mode 100644 index 0000000..db0cb5f --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 042 - invalid - With 2 address-postalcode parameter.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?address-postalcode=3003&address-postalcode=1001 HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 043 - invalid - With 2 address-state parameters.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 043 - invalid - With 2 address-state parameters.txt new file mode 100644 index 0000000..20083f3 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 043 - invalid - With 2 address-state parameters.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?address-state=California&address-state=Virginia HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 044 - invalid - With 2 gender parameters.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 044 - invalid - With 2 gender parameters.txt new file mode 100644 index 0000000..4d35e0d --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 044 - invalid - With 2 gender parameters.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?gender=female&gender=male HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 045 - invalid - With bad gender value.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 045 - invalid - With bad gender value.txt new file mode 100644 index 0000000..5f536dd --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 045 - invalid - With bad gender value.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?gender=boy HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 046 - invalid - With 2 mothersMaidenNameparameters.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 046 - invalid - With 2 mothersMaidenNameparameters.txt new file mode 100644 index 0000000..7cdc082 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 046 - invalid - With 2 mothersMaidenNameparameters.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?mothersMaidenName=Smith&mothersMaidenName=Smouth HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 047 - invalid - With 2 _format parameters.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 047 - invalid - With 2 _format parameters.txt new file mode 100644 index 0000000..f9734f0 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 047 - invalid - With 2 _format parameters.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?_format=xml&_format=json HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file diff --git a/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 048 - invalid - With bad _format value.txt b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 048 - invalid - With bad _format value.txt new file mode 100644 index 0000000..e9fa250 --- /dev/null +++ b/IHE Validation profiles/samples/PDQm/ITI-78/PDQm - 048 - invalid - With bad _format value.txt @@ -0,0 +1,2 @@ +GET PatientDemographicsSupplier/Patient?_format=markdown HTTP/1.1 +Host: gazelle.ihe.net \ No newline at end of file -- GitLab