Stream: implementers
Topic: Batching high-frequency Observation data
Vishnu Ravi (Aug 08 2021 at 17:28):
Does anyone have advice on the best way to batch high-frequency data into Observation resources?
Specifically, we're looking at heart rate data from a wearable sensor that could be polling up to every 15 or 30 seconds. We'd like to avoid having a separate Observation for each data point. We've looked at batching data points by the hour into an observation with components for each data point - but ran into the issue of not being able to associate a timestamp with each component. We also looked at SampledData, though it's difficult to use in this case because the sample rate isn't fixed.
Would love to hear anyone's thoughts!
Lloyd McKenzie (Aug 08 2021 at 17:35):
If you don't have a fixed sample rate, I'm not sure we've got a solution. Sounds like what you're looking for is a list of values and their associated timestamps?
Vishnu Ravi (Aug 08 2021 at 17:43):
Lloyd McKenzie said:
If you don't have a fixed sample rate, I'm not sure we've got a solution. Sounds like what you're looking for is a list of values and their associated timestamps?
Yes, that's exactly what I'm looking for! I've been able to store a list of values as a set of component observations, but haven't found a way to store a timestamp with each value. Wondering if there's another way to do this.
Lloyd McKenzie (Aug 08 2021 at 17:51):
No standard way at the moment. You can submit a change request for us to introduce a data type that would handle it in R5. (Long term solution is probably a data type rather than Observation.component.) In the short term, you'll have to use extensions.
Eric Haas (Aug 09 2021 at 17:04):
another easy answer is to use a binary like a csv + valueAttachment extension. (R5 element)
Lloyd McKenzie (Aug 09 2021 at 17:10):
That's possible, but makes the data essentially opaque to FHIR.
Last updated: Apr 12 2022 at 19:14 UTC