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

CP: with stored query, unable to search for provider with specified organizations, faciities or services #11

Open
litlfred opened this issue Feb 22, 2014 · 11 comments

Comments

@litlfred
Copy link
Contributor

should add search parameters to restrict providers to those that associated to a specified facility, organization or service

@rcrichton
Copy link
Contributor

See comment on #10. Perhaps we can deal with this as a single CP?

@litlfred
Copy link
Contributor Author

OK with me.

@litlfred
Copy link
Contributor Author

Here is a sample search for provider by facility:

<csd:careServicesRequest xmlns:csd="urn:ihe:iti:csd:2013" xmlns="urn:ihe:iti:csd:2013">
  <function uuid="4e8bbeb9-f5f5-11e2-b778-0800200c9a66">
    <requestParams>
      <facility oid='1.2.3.4'/>
    </requestParams>
  </function>
</csd:careServicesRequest>

@litlfred
Copy link
Contributor Author

Here is a sample search for provider by organization:

<csd:careServicesRequest xmlns:csd="urn:ihe:iti:csd:2013" xmlns="urn:ihe:iti:csd:2013">
  <function uuid="4e8bbeb9-f5f5-11e2-b778-0800200c9a66">
    <requestParams>
      <organization oid='1.2.3.4'/>
    </requestParams>
  </function>
</csd:careServicesRequest>

@litlfred
Copy link
Contributor Author

Here is a sample search for provider by services provided at a facility:

<csd:careServicesRequest xmlns:csd="urn:ihe:iti:csd:2013" xmlns="urn:ihe:iti:csd:2013">
  <function uuid="4e8bbeb9-f5f5-11e2-b778-0800200c9a66">
    <requestParams>
      <facility oid='1.2.3.4'>
          <service oid='1.2.5.6'/>
      </facility>
    </requestParams>
  </function>
</csd:careServicesRequest>

@mverzilli
Copy link

Would it make sense to allow collections of entities instead of single id's? That would allow us to compress N requests into 1 (think of "WHERE ID in (1,2,3,4)" instead of "WHERE ID = x" 4 times).

Example, for "search for provider by organization", instead of:

<csd:careServicesRequest xmlns:csd="urn:ihe:iti:csd:2013" xmlns="urn:ihe:iti:csd:2013">
  <function uuid="4e8bbeb9-f5f5-11e2-b778-0800200c9a66">
    <requestParams>
      <organization oid='1.2.3.4'/>
    </requestParams>
  </function>
</csd:careServicesRequest>

We could do:

<csd:careServicesRequest xmlns:csd="urn:ihe:iti:csd:2013" xmlns="urn:ihe:iti:csd:2013">
  <function uuid="4e8bbeb9-f5f5-11e2-b778-0800200c9a66">
    <requestParams>
      <organizations>
          <organization oid='1.2.3.4'/>
          <organization oid='1.2.3.5'/>
          <organization oid='1.2.3.6'/>
      </organizations>
    </requestParams>
  </function>
</csd:careServicesRequest>

@litlfred
Copy link
Contributor Author

Sounds good. Similarly we would to search for providers within a set of facilities as in:

<csd:careServicesRequest xmlns:csd="urn:ihe:iti:csd:2013" xmlns="urn:ihe:iti:csd:2013">
  <function uuid="4e8bbeb9-f5f5-11e2-b778-0800200c9a66">
    <requestParams>
      <facilities>
        <facility oid='1.2.3.4'/>
        <facility oid='1.2.3.5'/>
      </facilities>
    </requestParams>
  </function>
</csd:careServicesRequest>

@litlfred
Copy link
Contributor Author

Also for a specified set of services at any facility:

<csd:careServicesRequest xmlns:csd="urn:ihe:iti:csd:2013" xmlns="urn:ihe:iti:csd:2013">
  <function uuid="4e8bbeb9-f5f5-11e2-b778-0800200c9a66">
    <requestParams>
      <facility >
          <service oid='1.2.5.6'/>
          <service oid='1.2.5.7'/>
      </facility>
    </requestParams>
  </function>
</csd:careServicesRequest>

or a set of services within a specified facility:

<csd:careServicesRequest xmlns:csd="urn:ihe:iti:csd:2013" xmlns="urn:ihe:iti:csd:2013">
  <function uuid="4e8bbeb9-f5f5-11e2-b778-0800200c9a66">
    <requestParams>
      <facility oid='1.2.3.4'>
          <service oid='1.2.5.6'/>
          <service oid='1.2.5.7'/>
      </facility>
    </requestParams>
  </function>
</csd:careServicesRequest>

or possibly a mixture of sets of services and sets of facilities (although this may be a bit much):

<csd:careServicesRequest xmlns:csd="urn:ihe:iti:csd:2013" xmlns="urn:ihe:iti:csd:2013">
  <function uuid="4e8bbeb9-f5f5-11e2-b778-0800200c9a66">
    <requestParams>
      <facility oid='1.2.3.4'>
          <service oid='1.2.5.6'/>
          <service oid='1.2.5.7'/>
      </facility>
     <facility oid='1.2.3.5'>
          <service oid='1.2.5.7'/>
          <service oid='1.2.5.8'/>
      </facility>
    </requestParams>
  </function>
</csd:careS

@rcrichton
Copy link
Contributor

I like these approaches. Perhaps though for the last one with would still want to encapsulate the facility in a collection, like so:

<csd:careServicesRequest xmlns:csd="urn:ihe:iti:csd:2013" xmlns="urn:ihe:iti:csd:2013">
  <function uuid="4e8bbeb9-f5f5-11e2-b778-0800200c9a66">
    <requestParams>
      <facilities>
        <facility oid='1.2.3.4'>
            <service oid='1.2.5.6'/>
            <service oid='1.2.5.7'/>
        </facility>
       <facility oid='1.2.3.5'>
            <service oid='1.2.5.7'/>
            <service oid='1.2.5.8'/>
        </facility>
      </facilities>
    </requestParams>
  </function>
</csd:careServicesRequest>

@litlfred
Copy link
Contributor Author

Sorry I missed that...

@litlfred
Copy link
Contributor Author

(About to be) submitted as a CP

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants