FHIR:Vissue-MM-2759 Search result examples
Versie door Pieter Edelman (overleg | bijdragen) op 13 mei 2022 om 18:01
Dit is een tijdelijke pagina met wijzigingen voor issue MM-2759. De gepubliceerde versie vind je hier. |
Example: read support for all resources
<Bundle xmlns="http://hl7.org/fhir" >
<id value="example-id1"/> <!-- Bundle.id is not different than any other Resource.id -->
<type value="searchset"/> <!-- Bundle.type should be set to 'searchset' -->
<total value="1"/> <!-- Bundle.total is set to the number of matches for the request -->
<link>
<relation value="self"/>
<url value="https://example-server.nl/fhir/Observation?code=http://loinc.org|85354-9"/> <!-- The "self link" reflects the search as it was understood by the server -->
</link>
<entry>
<fullUrl value="https://example-server.nl/fhir/Observation/observation-123"/>
<resource>
<Observation>
<id value="observation-123" />
...
<subject>
<reference value="Patient/patient-123" /> <!-- The reference to the Patient resource can be a relative or absolute URL. -->
</subject>
</Observation>
</resource>
<search>
<mode value="match"/> <!-- Resources that match the search request have mode set to 'match' -->
</search>
</entry>
</Bundle>
Example 2: server only supports search
<Bundle xmlns="http://hl7.org/fhir" >
<id value="example-id2"/> <!-- Bundle.id is not different than any other Resource.id -->
<type value="searchset"/> <!-- Bundle.type should be set to 'searchset' -->
<total value="1"/> <!-- Bundle.total is still set to the number of _matches_, even though more resources are included -->
<link>
<relation value="self"/>
<url value="https://example-server.nl/fhir/Observation?code=http://loinc.org|85354-9"/> <!-- The "self link" reflects the search as it was understood by the server -->
</link>
<entry>
<fullUrl value="urn:uuid:799c5790-f2aa-4045-8c19-a0d54773a059"/> <!-- The server doesn't support read, so the fullUrl is an ephemeral identifier that only has value within the Bundle -->
<resource>
<Observation>
<!-- <id value="799c5790-f2aa-4045-8c19-a0d54773a059" /> it is recommended NOT to use the ephemeral id as Resource.id, but the opinions on this topic are divided -->
...
<subject>
<reference value="urn:uuid:69aefd96-b37d-4323-866b-762536c03375" /> <!-- The server doesn't support read for the Patient resource, so it's included in the Bundle using an ephemeral fullUrl -->
</subject>
</Observation>
</resource>
<search>
<mode value="match"/> <!-- Resources that match the search request have mode set to 'match' -->
</search>
</entry>
<entry>
<fullUrl value="urn:uuid:69aefd96-b37d-4323-866b-762536c03375"> <!-- The ephemeral fullUrl to refer the Patient resource -->
<resource>
<Patient>
....
</Patient>
</resource>
<search>
<mode value="include" />
</search>
</entry>
</Bundle>
Example 3: read support for some resources (hypothetical)
<Bundle xmlns="http://hl7.org/fhir" >
<id value="example-id3"/> <!-- Bundle.id is not different than any other Resource.id -->
<type value="searchset"/> <!-- Bundle.type should be set to 'searchset' -->
<total value="1"/> <!-- Bundle.total is still set to the number of _matches_, even though more resources are included -->
<link>
<relation value="self"/>
<url value="https://example-server.nl/fhir/Observation?code=http://loinc.org|85354-9"/> <!-- The "self link" reflects the search as it was understood by the server -->
</link>
<entry>
<fullUrl value="urn:uuid:799c5790-f2aa-4045-8c19-a0d54773a059"/> <!-- The server doesn't support read, so the fullUrl is an ephemeral identifier that only has value within the Bundle -->
<resource>
<Observation>
<!-- <id value="799c5790-f2aa-4045-8c19-a0d54773a059" /> it is recommended NOT to use the ephemeral id as Resource.id, but the opinions on this topic are divided -->
...
<subject>
<reference value="http://example-server.nl/Patient/patient-123" /> <!-- The server supports read for the Patient resource, so an absolute URL could be used -->
<!-- <reference value="Patient/patient-123" /> However, a relative URL is invalid because it is relative to the fullUrl of the Observation resource.
Since this fullUrl is not a RESTful URL, the relative URL cannot be resolved to an actual URL. -->
</subject>
</Observation>
</resource>
<search>
<mode value="match"/> <!-- Resources that match the search request have mode set to 'match' -->
</search>
</entry>
</Bundle>