Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2:3.78.4.1.2.1: overlapping specification of how the identifier parameter is used #37

Closed
lynnfel opened this issue Aug 17, 2021 · 2 comments · Fixed by #55
Closed

2:3.78.4.1.2.1: overlapping specification of how the identifier parameter is used #37

lynnfel opened this issue Aug 17, 2021 · 2 comments · Fixed by #55
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@lynnfel
Copy link
Contributor

lynnfel commented Aug 17, 2021

Section Number 2:3.78.4.1.2.1 https://profiles.ihe.net/ITI/PDQm/ITI-78.html#23784121-query-search-parameters

Issue seemingly overlapping and contradictory statements; see below...

Proposed Change
In the table of query parameters, in the definition column for identifier, I read,
This repeating parameter of type token, when supplied, specifies an identifier associated with the patient whose information is being queried (e.g., a local identifier, account identifier, etc.). See ITI TF-2:Appendix Z.2.2 for use of the token data type. If multiple instances of this parameter are provided in the query, the query represents a logical AND condition (i.e., all of the associated identifiers must match). For example, a query searching for patients having identifier145 assigned by authority “1.2.3.4” and SSN 123456789 would be represented as:
?identifier=urn:oid:1.2.3.4|145&identifier=urn:oid:2.16.840.1.113883.4.1|123456789
If no system portion of the identifier parameter is specified, then the matching would be performed on any identifier regardless of issuing system. The identifier specified in this parameter is expressed using the token search parameter type. Please see ITI TF-2:Appendix Z.2.2 for use of the token data type for patient identifiers.

Later, in https://profiles.ihe.net/ITI/PDQm/ITI-78.html#23784123-parameter-modifiers, I read,
"The Patient Demographics Consumer may constrain the domains from which patient identifiers are returned from the Patient Demographics Supplier in the resulting bundle. The Patient Demographics Consumer shall convey this by specifying the patient identity domains in the system component of repeating identifier parameters using the OR format:

&identifier=urn:oid:1.2.3|,urn:oid:4.5.6|

For example, a Patient Demographics Consumer wishing to filter for patients with a last name of SMITH having identifiers from an identity domain with OID 1.2.3.4.5 would convey this search as:

?family=SMITH&identifier=urn:oid:1.2.3.4.5|

The Patient Demographics Consumer shall populate the patient identity domain portion of the token with values described in ITI TF-2:Appendix E."

ok... a logical AND condition written in logical OR format... the contents of these 2 specifications for the identifier parameter are a bit duplicative and also confusing.

I recommend removing this section https://profiles.ihe.net/ITI/PDQm/ITI-78.html#23784124-populating-which-domains-are-returned--, and making the identifier row in the query table the only place where you make rules and give examples of how the identifier parameter is used. ...if you agree to move it, then several references to this section that appear in Expected Actions would need to be updated (which may be an argument against this recommendation).

Priority:

  • Medium: Significant issue or clarification. Requires discussion, but should not lead to long debate.
@JohnMoehrke
Copy link
Contributor

Lynn, I don't understand this point, can you help me understand what you are pointing out?

ok... a logical AND condition written in logical OR format... the contents of these 2 specifications for the identifier parameter are a bit duplicative and also confusing.

I don't think there is a conflict or overlap. What might not be clear enough is that in FHIR repeating a parameter is a logical AND, one parameter with multiple values is OR.

AND -- ?identifier=urn:oid:1.2.3.4|145&identifier=urn:oid:2.16.840.1.113883.4.1|123456789

OR -- &identifier=urn:oid:1.2.3|,urn:oid:4.5.6|

note in the first one there are two "identifier=" separated by "&"; where in the second there is just one "Identifier=" with multiple values separated by ","

This concept of AND and OR was not understood well at the beginning of PDQm writing, where it should be better understood. We might not need to include so much text about this now days, relying more on the FHIR specification.
https://www.hl7.org/fhir/search.html#combining

I could also see good reason to just add clarification to the text we have. Specifically 2:3.78.4.1.2.4 Populating Which Domains are Returned
The first example should be better explained as asking for either 1.2.3 or 3.4.5;
The second example is asking for both a match on SMITH and also a identifier of 1.2.3.4.5

I am not against removing this section, as all of the parameters are affecting the output. I suspect this section exists because there was a similar section in PDQ.

@JohnMoehrke JohnMoehrke added needs discussoin request for broader examination in committee question Further information is requested labels Sep 3, 2021
@lynnfel
Copy link
Contributor Author

lynnfel commented Sep 3, 2021

Your recommendation for improving this is better than mine. Specifically (copied from your comment above):

This concept of AND and OR was not understood well at the beginning of PDQm writing, where it should be better understood. We might not need to include so much text about this now days, relying more on the FHIR specification.
https://www.hl7.org/fhir/search.html#combining

I could also see good reason to just add clarification to the text we have. Specifically 2:3.78.4.1.2.4 Populating Which Domains are Returned
The first example should be better explained as asking for either 1.2.3 or 3.4.5;
The second example is asking for both a match on SMITH and also a identifier of 1.2.3.4.5

@lynnfel lynnfel assigned JohnMoehrke and unassigned lynnfel Sep 3, 2021
@JohnMoehrke JohnMoehrke added documentation Improvements or additions to documentation and removed question Further information is requested needs discussoin request for broader examination in committee labels Sep 28, 2021
JohnMoehrke added a commit that referenced this issue Oct 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants