Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

moved QC into current schema #999

Merged
merged 16 commits into from
Aug 13, 2024
Merged

moved QC into current schema #999

merged 16 commits into from
Aug 13, 2024

Conversation

saskiad
Copy link
Collaborator

@saskiad saskiad commented Jul 24, 2024

No description provided.

@saskiad saskiad requested a review from dyf July 25, 2024 18:43
@saskiad
Copy link
Collaborator Author

saskiad commented Jul 25, 2024

still don't understand these error messages. Most of them are for files this PR doesn't touch. The one about these files is uninterpretable.

@saskiad
Copy link
Collaborator Author

saskiad commented Jul 25, 2024

TODO: remove
MANUAL_ANNOTATION = "Manual annotation"
QUALITY_CONTROL_AND_ASSESSMENT = "Quality control and assessment"
from ProcessName Model in aind-data-schema-models


FAIL = "Fail"
PASS = "Pass"
UNKNOWN = "Unknown"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need unknown? I think this it is trying to fill a role like "comment" in on a github PR, where you want to make a note but don't want to pass judgement.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I expect we're going to add a bunch of other options to this.

evaluation_modality: Modality.ONE_OF = Field(..., title="Modality")
evaluation_stage: str = Field(..., title="Evaluation stage")
evaluator_full_name: str = Field(..., title="Evaluator full name")
evaluation_date: date = Field(..., title="Evaluation date")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

date or datetime?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think date.

describedBy: str = Field(_DESCRIBED_BY_URL, json_schema_extra={"const": _DESCRIBED_BY_URL})
schema_version: Literal["0.0.1"] = Field("0.0.1")
overall_status: Status = Field(..., title="Overall status")
overall_status_date: date = Field(..., title="Date of status")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

date or datetime?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still think date.

src/aind_data_schema/core/quality_metrics.py Outdated Show resolved Hide resolved
@saskiad saskiad requested a review from dyf August 6, 2024 04:33
@dyf dyf requested a review from jtyoung84 August 8, 2024 17:42
@dyf
Copy link
Member

dyf commented Aug 8, 2024

@jtyoung84 I am good with this for now, it will change. But it's a new core schema so want your eyes on it.

evaluator_full_name: str = Field(..., title="Evaluator full name")
evaluation_date: date = Field(..., title="Evaluation date")
qc_metrics: AindGenericType = Field(AindGeneric(), title="QC metrics")
stage_status: Status = Field(..., title="Stage status")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this a required field, do we want an Unknown option? Will it always be Pass/Fail?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you'll need to duke that out with @dyf - he removed the Unknown option. My hunch is that we're going to end up with a handful of Status options very quickly, but I don't think we want one to be Unknown.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My worry is, that since it's required, if we ever upgrade old metadata records, we'll just fall back to using QCEvaluation.model_construct() everywhere, which is frustrating.

@jtyoung84
Copy link
Collaborator

Do you want to add this in the core.Metadata class also? It won't show up in DocDB otherwise.

@jtyoung84
Copy link
Collaborator

Should we also add something in the examples folder?

@dyf
Copy link
Member

dyf commented Aug 8, 2024

Do you want to add this in the core.Metadata class also? It won't show up in DocDB otherwise.

Yes

@dyf
Copy link
Member

dyf commented Aug 8, 2024

Should we also add something in the examples folder?

yes

@jtyoung84
Copy link
Collaborator

I can help adding it to the core.Metadata class once everything else is resolved

@jtyoung84 jtyoung84 self-requested a review August 12, 2024 22:09
@dyf dyf added this pull request to the merge queue Aug 13, 2024
Merged via the queue into dev with commit 7565ff6 Aug 13, 2024
5 checks passed
@dyf dyf deleted the feat-qcclass branch August 13, 2024 00:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants