What resources are (typically|supposed |required) to be in a /Patient/[ID]/$everything FHIR resource?

142 views Asked by At

The short version is this: The /Patient/[ID]/$everything for the example patient shown below has a reference to a procedure that is not also included in the /Patient/$everything resource.

Specifically: This example is from synthea. Synthea is an amazing tool that provides synthetic patients in FHIR format. (https://synthea.mitre.org/)

I have this example patient: https://syntheticmass.mitre.org/v1/fhir/Patient/5acc8bb4-2d14-4461-a560-228d96459cc3

This exists in the $everything resource as part of a claim resource:

{
              "procedureReference": {
                             "reference": "Procedure/d8b0767b-f756-461b-b9d1-0ee981798d33"
              },
              "sequence": 1
}

However the Procedure resource does not exist in the /Patient/[ID]/$everything resource

The /Procedure/d8b0767b-f756-461b-b9d1-0ee981798d33 does exist on the server: https://syntheticmass.mitre.org/v1/fhir/Procedure/d8b0767b-f756-461b-b9d1-0ee981798d33

{"code":{"coding":[{"code":"85548006","display":"Episiotomy","system":http://snomed.info/sct}],"text":"Episiotomy"},"context":{"reference":"Encounter/98772662-76aa-4f92-8dec-cd77ed464f1b"},"id":"d8b0767b-f756-461b-b9d1-0ee981798d33","meta":{"lastUpdated":"2019-04-09T12:25:34.370869+00:00","versionId":"MTU1NDgxMjczNDM3MDg2OTAwMA"},"performedPeriod":{"end":"2013-12-12T16:17:35-05:00","start":"2013-12-12T16:02:35-05:00"},"reasonReference":[{"display":"Normal pregnancy","reference":"Condition/25ce9c7c-637f-4553-a7c1-9d04e9fb4acf"},{"display":"Normal pregnancy","reference":"Condition/f5fb9475-f814-47a3-a2f0-a1883692b03b"}],"resourceType":"Procedure","status":"completed","subject":{"reference":"Patient/5acc8bb4-2d14-4461-a560-228d96459cc3"}}

The Patient $everything is described as: (from https://build.fhir.org/operation-patient-everything.html) The intended use for this operation is to provide a patient with access to their entire record (e.g. "Blue Button"), or for provider or other user to perform a bulk data download. The server SHOULD return at least all resources that it has that are in the patient compartment for the identified patient(s), and any resource referenced from those, including binaries and attachments. The server SHOULD resolve version-specific references by returning the explicitly named version. In the US Realm, at a minimum, the resources returned SHALL include all the data covered by the meaningful use common data elements as defined in the US Core Implementation Guide. Other applicable implementation guides may make additional rules about how much information that is returned.

So, the questions:

  • Why is the Procedure resource not in the /Patient/$everything?
  • If it is by design, what other resources are not included that exist on the server?
  • If it is not, are there other newer synthea data sets, how do we find them?
  • Are there other synthea data sets that might be helpful to us (I’m pretty sure I’ve heard of a covid one that’s out there somewhere).

Also: With regards to this: "In the US Realm, at a minimum, the resources returned SHALL include all the data covered by the meaningful use common data elements as defined in the US Core Implementation Guide. "

  • I'm seeing a long list of profiles in section 1.5 of this document: https://build.fhir.org/ig/HL7/US-Core/. This list includes US Core Procedure. So taking this all together sounds to me like to be compliant with US Core, Procedure SHALL be included in the $everything resource for a Patient. Is this correct?

Thanks again and have a great day, John

2

There are 2 answers

2
Mirjam Baltus On BEST ANSWER

If you check the links in your Bundle, it looks like the Synthea server only includes 100 resources in the Bundle. With the 'next' link, you can page to the next part of the result set. If you continue that to the end, you should be able to find the Procedure resource somewhere in one of the Bundles.

0
Grahame Grieve On

Why is the Procedure resource not in the /Patient/$everything?

That's an error that should be reported against Synthea

Are there other synthea data sets that might be helpful to us (I’m pretty sure I’ve heard of a covid one that’s out there somewhere).

I don't know; google might be your friend