-->

Is it possible to search multiple FHIR resources w

2019-09-13 20:34发布

问题:

Hello I am working on an app to use the new FHIR standards. It is being designed to pull information from the EHR and organize it.

I was wondering if it is possible to search multiple FHIR resources with a single GET request. For instance can a single GET request search for single patient's latest blood pressure, heart rate, etc?

回答1:

You need to use the _include functionality to retrieve related resources from a Patient. I'm not sure if all referenced resources can be retrieved, you need to check the Fhir spec for that.

Also see this url for an example Fhir server: https://fhirtest.uhn.ca/



回答2:

You can use the Composition resorce, within this resource can declare sections and containded resorces. the sections you can organize the resources but contined resource is a wrapper the resource, for example:

<Composition>
    <contained>
        <Patient>
            <id value="patient1"/>
            .....
        <Patient>
    </contained>
    <contained>
        <MedicationOrder>
            <id value="medicationOrder1"/>
        </MedicationOrder>
    </contained>
    <contained>
        <MedicationOrder>
            <id value="medicationOrder2"/>
        </MedicationOrder>
    </contained>
    <contained>
        <List>
          <id value="list-medicationOrder"/>
          .....
          <entry>
            <item>
              <reference value="#medicationOrder1"/>
            </item>
          </entry>
          <entry>
            <item>
              <reference value="#medicationOrder2"/>
            </item>
          </entry>        
        </List>
    </contained>
    <section>
        <title value="Section medication order list"/>
        ....
        <entry>
          <reference value="#list-medicationOrder"/>
        </entry>
    </section>
</Composition>


回答3:

Yes, you can search for and retrieve multiple resources from a fhir server using a single GET request. Resources retrieved in this way are returned in a structure called a Resource Bundle. Assuming that the ‘etc.’ in your original question refers to additional clinical observations about the patient in question, the scenario you are describing could be implemented by retrieving Observation resources that contain a ‘subject’ (reference to a Patient resource) of the patient you are interested in. The specific fields and possible search parameters for the Observation resource are detailed here: https://www.hl7.org/fhir/observation.html . But for example, if you had a Patient resource with id 123 (note that this is the unique resource id on the fhir server, not a code-system specific ‘identifier’ value), you could retrieve Observations associated with this patient using:

[base]/Observation?subject=Patient/123

This will return (from a spec-compliant server) a Bundle containing all Observation resources which hold a reference to Patient resource 123 as their subject. You can also drill down further by specifying additional parameters to target only the Observation resources you are interested in retrieving. For example:

[base]/Observation?subject=Patient/123&code=8480-6

would retrieve a bundle containing the various SystolicBP Observations related to this patient (assuming they have been coded with the LOINC above). These examples are just the tip of the iceberg, as the fhir standard outlines pretty deep query functionality. You would be best served by reviewing the information on their Search page, which outlines the specifics of this functionality: https://www.hl7.org/fhir/search.html



标签: hl7-fhir