CoVital-Project / pulse-ox-data-collection-web-service

HTTPS API for receiving pulse oximetry from mobile clients
https://covital.org
GNU General Public License v3.0
5 stars 4 forks source link

CoVital Platform: Thoughts on Phase 2 #66

Open haggy opened 4 years ago

haggy commented 4 years ago

I wanted to start a discussion around what phase 2 for the backend might look like. It's always preferable for the backend to be slightly ahead of the curve if possible. I think now is the perfect time since the data team is wrapping up testing on the initial data collection app.

At a high level, these are the items I could foresee us needing relatively soon:

Would love to hear other people's thoughts on what we might need in the coming months!

palfaiate commented 4 years ago

This is one of the first Relational Schema proposed... image

haggy commented 4 years ago

@palfaiate thanks for throwing that together. Based off what we currently know that looks like it could work but we'll have to wait for real data to start flowing in before we make any decisions. I have a feeling that once data starts flowing in there will be multiple revisions to what metadata we are collecting (which would affect the DB schema).

cmontemuino commented 4 years ago

@palfaiate I have a couple of comments on the proposed schema.

haggy commented 4 years ago

@cmontemuino Yea those are good thoughts and the primary reason why I think we'll have more luck tackling a schema after we have a decent starting dataset. We might see that gender has many options or we might see that 2 + "Other" is fine. I would also want the data team to weigh in on your question about scaling values vs. raw but in my experience we would definitely want to keep the raw values around somewhere so that we could recompute them on the fly.

palfaiate commented 4 years ago

Gender (enum think it would be enough)(Male, Female, Other) Weight on the readings table is useful BPM on the readings table is useful Any other value that should be included in readings is useful as well Height on user's table is useful SkinColor on user's is useful