Skip to content

feat: add DerivedReadinessColumnExpr support and update lab report API#77

Open
fern-api[bot] wants to merge 1 commit intomainfrom
fern-bot/2026-03-20T18-54Z
Open

feat: add DerivedReadinessColumnExpr support and update lab report API#77
fern-api[bot] wants to merge 1 commit intomainfrom
fern-bot/2026-03-20T18-54Z

Conversation

@fern-api
Copy link
Contributor

@fern-api fern-api bot commented Mar 20, 2026

Version Bump: Breaking changes include removing ParsingJob.JobId field, changing BodyCreateLabReportParserJob.File from io.Reader to []io.Reader, and converting ResultMetadata fields from required strings to optional pointers.

  • Breaking changes to lab report API: The ParsingJob type no longer includes a JobId field. The BodyCreateLabReportParserJob.File field now accepts multiple files ([]io.Reader instead of io.Reader). All ResultMetadata fields (PatientFirstName, PatientLastName, Dob, LabName) are now optional pointers instead of required strings. New features include DerivedReadinessColumnExpr support for querying readiness metrics and ParsingJobFailureReason enum for better error handling.
  • The SDK now supports appointment notes across all appointment-related operations, enabling custom notes for booking, rescheduling, and at-home appointments. PSC appointment booking has been enhanced with idempotency key support and async confirmation controls for improved reliability. Sonora Quest is now available as a supported lab provider.
  • The SDK now supports Samsung Health and Tandem Source providers. Added new fields to ManualConnectionData for mobile SDK version tracking and granted permissions. Updated JSON serialization behavior for several request types to ensure consistent field handling.
  • The SDK now supports lab report parsing events and comprehensive biomarker result structures. New event types ClientFacingLabReportParsingJobCreatedEvent and ClientFacingLabReportParsingJobUpdatedEvent enable tracking of lab parsing workflows. Added BiomarkerResult and LabResultsRaw types provide detailed lab result data including reference ranges, missing results, and sample metadata. Order transaction support is now available through ClientFacingOrderTransaction. Additional fields like AccessNotes on addresses and ClinicalNotes on orders enhance data collection capabilities.
  • The SDK now includes three new client packages: Compendium, LabAccount, and OrderTransaction, expanding available API functionality. A new UserAddress type has been added with comprehensive address field validation. The lab test booking API has been enhanced with dedicated request types and idempotency support.
  • New compendium types and enums are now available for lab test search and conversion functionality. The SDK now includes data structures for searching canonical lab tests, converting provider IDs between different laboratory systems, and handling lab-specific test candidates.
  • The SDK now supports compendium operations with new Search() and Convert() methods, and lab account management through the GetTeamLabAccounts() method. Mobile SDK version headers are now supported in manual provider connections.
  • New OrderTransaction client available for managing lab order transactions. The client provides methods to retrieve transaction details (GetTransaction), lab results (GetTransactionResult), and PDF reports (GetTransactionResultPdf). A new Bytes() utility function is also available for creating pointers to byte slices.

Add support for derived readiness column expressions in query operations with new DerivedReadinessColumnExpr type and associated visitor pattern implementations. Update lab report API to support multi-file upload, add failure reason enum, and enhance result metadata structure.

Key changes:
- Add DerivedReadinessColumnExpr with 8 readiness metrics (sleep_score, recovery_score, strain_score, etc.)
- Update AggregateExprArg, QueryGroupByItem, and QuerySelectItem union types to include derived readiness
- Change BodyCreateLabReportParserJob.File from io.Reader to []io.Reader for multi-file support
- Add ParsingJobFailureReason enum with invalid_input, low_quality, not_english values
- Remove ParsingJob.JobId field and update associated getters/setters
- Convert ResultMetadata fields from required strings to optional pointers
- Add ResultMetadataGender enum (male, female, other) to result metadata
- Update QueryBatch timeframe and queries fields to be required instead of optional

🌿 Generated with Fern
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.

0 participants