# Studies ## Create `auto_scribe.studies.create(StudyCreateParams**kwargs) -> StudyCreateResponse` **post** `/v1/autoScribe/studies` Creates a new study in the AutoScribe system with DICOM metadata and report generation information. The study can include patient demographics, scan details, and references to prior studies/reports for context. ### Parameters - `report_metadata: StudyReportMetadataParam` Patient demographics and scan information for report generation - `age: Optional[str]` Patient's age at time of scan (e.g., '34.5 years', '2 months') - `date_of_birth: Optional[str]` Patient's date of birth. Format: YYYY-MM-DD (e.g., '1990-05-20') - `facility_name: Optional[str]` Name of the medical facility where the scan was performed - `height: Optional[Height]` Patient's height with unit (e.g., {value: 70, unit: 'inches'} or {value: 178, unit: 'cm'}) - `unit: Literal["in", "cm"]` - `"in"` - `"cm"` - `value: float` - `mrn: Optional[str]` Medical Record Number - unique patient identifier - `patient_name: Optional[str]` Full name of the patient - `referring_physician_name: Optional[str]` Name of the physician who referred the patient for this scan - `scan_date: Optional[str]` Date the scan was performed. Format: YYYY-MM-DD (e.g., '2024-01-15') - `scan_time: Optional[str]` Time the scan was performed. Format: HH:MM (e.g., '14:30') - `scan_type: Optional[str]` Type of scan or imaging modality (e.g., 'MRI', 'CT', 'X-Ray', 'Ultrasound') - `sex: Optional[Literal["male", "female", "other"]]` Patient's biological sex. Options: 'male', 'female', 'other' - `"male"` - `"female"` - `"other"` - `weight: Optional[Weight]` Patient's weight with unit (e.g., {value: 150, unit: 'lbs'} or {value: 68, unit: 'kg'}) - `unit: Literal["lbs", "kg"]` - `"lbs"` - `"kg"` - `value: float` - `severity: Literal["normal", "high", "stat"]` Priority level of the study. 'normal' for routine, 'high' for urgent, 'stat' for immediate attention - `"normal"` - `"high"` - `"stat"` - `study_description: str` Description of the study/scan (e.g., 'Brain MRI with Contrast', 'Chest CT') - `study_instance_uid: str` DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., '1.2.840.10008.5.1.4.1.1.2') - `assigned_to: Optional[str]` User ID to assign the study to. Format: usr_{32-hex-chars} - `express_customer_id: Optional[str]` Express customer ID for the study. Format: cus_{32-hex-chars} - `metadata: Optional[Dict[str, str]]` Custom key-value metadata for the study. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars - `prior_report_texts: Optional[SequenceNotStr[str]]` - `prior_study_ids: Optional[SequenceNotStr[str]]` ### Returns - `class StudyCreateResponse: …` A study entity in the AutoScribe system with report workflow status - `cancelled_at: Optional[datetime]` Timestamp when the study was cancelled, null if not cancelled - `created_at: Optional[datetime]` Timestamp when the study was created - `is_cancelled: bool` Whether the study has been cancelled - `report_metadata: StudyReportMetadata` Patient demographics and scan information for report generation - `age: Optional[str]` Patient's age at time of scan (e.g., '34.5 years', '2 months') - `date_of_birth: Optional[str]` Patient's date of birth. Format: YYYY-MM-DD (e.g., '1990-05-20') - `facility_name: Optional[str]` Name of the medical facility where the scan was performed - `height: Optional[Height]` Patient's height with unit (e.g., {value: 70, unit: 'inches'} or {value: 178, unit: 'cm'}) - `unit: Literal["in", "cm"]` - `"in"` - `"cm"` - `value: float` - `mrn: Optional[str]` Medical Record Number - unique patient identifier - `patient_name: Optional[str]` Full name of the patient - `referring_physician_name: Optional[str]` Name of the physician who referred the patient for this scan - `scan_date: Optional[str]` Date the scan was performed. Format: YYYY-MM-DD (e.g., '2024-01-15') - `scan_time: Optional[str]` Time the scan was performed. Format: HH:MM (e.g., '14:30') - `scan_type: Optional[str]` Type of scan or imaging modality (e.g., 'MRI', 'CT', 'X-Ray', 'Ultrasound') - `sex: Optional[Literal["male", "female", "other"]]` Patient's biological sex. Options: 'male', 'female', 'other' - `"male"` - `"female"` - `"other"` - `weight: Optional[Weight]` Patient's weight with unit (e.g., {value: 150, unit: 'lbs'} or {value: 68, unit: 'kg'}) - `unit: Literal["lbs", "kg"]` - `"lbs"` - `"kg"` - `value: float` - `severity: Literal["normal", "high", "stat"]` Priority level of the study. 'normal' for routine, 'high' for urgent, 'stat' for immediate attention - `"normal"` - `"high"` - `"stat"` - `study_description: str` Description of the study/scan (e.g., 'Brain MRI with Contrast', 'Chest CT') - `study_id: str` Unique study identifier. Format: stu_{32-hex-chars} - `study_instance_uid: str` DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., '1.2.840.10008.5.1.4.1.1.2') - `study_report_status: Literal["unassigned", "assigned", "in_progress", 2 more]` Report workflow status. 'unassigned' = no radiologist assigned, 'assigned' = assigned but not started, 'in_progress' = actively being dictated, 'completed' = report signed, 'addendum_active' = addendum in progress - `"unassigned"` - `"assigned"` - `"in_progress"` - `"completed"` - `"addendum_active"` - `updated_at: Optional[datetime]` Timestamp when the study was last updated - `assigned_to: Optional[AssignedTo]` Reference to the assigned radiologist, null if unassigned - `email: str` User's email address - `user_id: str` Unique user identifier. Format: usr_{32-hex-chars} - `first_name: Optional[str]` User's first name - `last_name: Optional[str]` User's last name - `middle_name: Optional[str]` User's middle name - `suffix1: Optional[str]` Name suffix (e.g., 'MD', 'Jr.') - `suffix2: Optional[str]` Additional name suffix - `created_by_api_key: Optional[CreatedByAPIKey]` Reference to the API key used to create this study - `api_key_id: str` Unique API key identifier (UUIDv4 format) - `description: str` Human-readable description of the API key - `is_viewer_enabled: Optional[bool]` Whether this API key has access to the Viewer product - `created_by_user: Optional[CreatedByUser]` Reference to the user who created this study via dashboard - `email: str` User's email address - `user_id: str` Unique user identifier. Format: usr_{32-hex-chars} - `first_name: Optional[str]` User's first name - `last_name: Optional[str]` User's last name - `middle_name: Optional[str]` User's middle name - `suffix1: Optional[str]` Name suffix (e.g., 'MD', 'Jr.') - `suffix2: Optional[str]` Additional name suffix - `express_customer: Optional[ExpressCustomer]` Reference to the Express customer this study belongs to - `express_customer_id: str` Unique Express customer identifier. Format: cus_{32-hex-chars} - `express_customer_name: str` Name of the Express customer - `metadata: Optional[Dict[str, str]]` Custom key-value metadata for the study. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars - `prior_report_texts: Optional[List[str]]` Array of prior report texts to provide clinical context - `prior_study_ids: Optional[List[str]]` Array of prior study IDs for comparison context (format: stu_{32-hex-chars}) - `report_ids: Optional[List[ReportIDWithStatus]]` Array of report IDs associated with this study, including addendums - `report_id: str` Unique report identifier. Format: rep_{32-hex-chars} - `status: Literal["in_progress", "completed"]` Current status of the report - `"in_progress"` - `"completed"` ### Example ```python import os from avara import Avara client = Avara( api_key=os.environ.get("AVARA_API_KEY"), # This is the default and can be omitted ) study = client.auto_scribe.studies.create( report_metadata={}, severity="normal", study_description="Brain MRI with Contrast", study_instance_uid="1.2.840.113619.2.55.3.604688119.868.1234567890.123", ) print(study.study_instance_uid) ``` ## List `auto_scribe.studies.list(StudyListParams**kwargs) -> SyncCursorStudies[StudyListResponse]` **get** `/v1/autoScribe/studies` Retrieves a paginated list of studies with optional filtering by assignment, severity, description, cancellation status, and report status. Returns up to 100 studies per request. ### Parameters - `assigned_to: Optional[str]` Filter by assigned user ID (null = explicitly unassigned). Format: usr_<32-hex-chars> - `cursor: Optional[str]` Base64 encoded cursor from previous response - `express_customer_id: Optional[str]` Filter by Express customer ID (null = studies with no customer). Format: cus_{32-hex-chars} - `is_cancelled: Optional[bool]` Filter by cancellation status - `limit: Optional[float]` Number of results to return (1-100) - `severity: Optional[Literal["normal", "high", "stat"]]` Filter by study severity - `"normal"` - `"high"` - `"stat"` - `study_description: Optional[str]` Filter by study description (contains match) - `study_report_status: Optional[List[Literal["unassigned", "assigned", "in_progress", 2 more]]]` Filter by report status(es) - `"unassigned"` - `"assigned"` - `"in_progress"` - `"completed"` - `"addendum_active"` ### Returns - `class StudyListResponse: …` A study entity in the AutoScribe system with report workflow status - `cancelled_at: Optional[datetime]` Timestamp when the study was cancelled, null if not cancelled - `created_at: Optional[datetime]` Timestamp when the study was created - `is_cancelled: bool` Whether the study has been cancelled - `report_metadata: StudyReportMetadata` Patient demographics and scan information for report generation - `age: Optional[str]` Patient's age at time of scan (e.g., '34.5 years', '2 months') - `date_of_birth: Optional[str]` Patient's date of birth. Format: YYYY-MM-DD (e.g., '1990-05-20') - `facility_name: Optional[str]` Name of the medical facility where the scan was performed - `height: Optional[Height]` Patient's height with unit (e.g., {value: 70, unit: 'inches'} or {value: 178, unit: 'cm'}) - `unit: Literal["in", "cm"]` - `"in"` - `"cm"` - `value: float` - `mrn: Optional[str]` Medical Record Number - unique patient identifier - `patient_name: Optional[str]` Full name of the patient - `referring_physician_name: Optional[str]` Name of the physician who referred the patient for this scan - `scan_date: Optional[str]` Date the scan was performed. Format: YYYY-MM-DD (e.g., '2024-01-15') - `scan_time: Optional[str]` Time the scan was performed. Format: HH:MM (e.g., '14:30') - `scan_type: Optional[str]` Type of scan or imaging modality (e.g., 'MRI', 'CT', 'X-Ray', 'Ultrasound') - `sex: Optional[Literal["male", "female", "other"]]` Patient's biological sex. Options: 'male', 'female', 'other' - `"male"` - `"female"` - `"other"` - `weight: Optional[Weight]` Patient's weight with unit (e.g., {value: 150, unit: 'lbs'} or {value: 68, unit: 'kg'}) - `unit: Literal["lbs", "kg"]` - `"lbs"` - `"kg"` - `value: float` - `severity: Literal["normal", "high", "stat"]` Priority level of the study. 'normal' for routine, 'high' for urgent, 'stat' for immediate attention - `"normal"` - `"high"` - `"stat"` - `study_description: str` Description of the study/scan (e.g., 'Brain MRI with Contrast', 'Chest CT') - `study_id: str` Unique study identifier. Format: stu_{32-hex-chars} - `study_instance_uid: str` DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., '1.2.840.10008.5.1.4.1.1.2') - `study_report_status: Literal["unassigned", "assigned", "in_progress", 2 more]` Report workflow status. 'unassigned' = no radiologist assigned, 'assigned' = assigned but not started, 'in_progress' = actively being dictated, 'completed' = report signed, 'addendum_active' = addendum in progress - `"unassigned"` - `"assigned"` - `"in_progress"` - `"completed"` - `"addendum_active"` - `updated_at: Optional[datetime]` Timestamp when the study was last updated - `assigned_to: Optional[AssignedTo]` Reference to the assigned radiologist, null if unassigned - `email: str` User's email address - `user_id: str` Unique user identifier. Format: usr_{32-hex-chars} - `first_name: Optional[str]` User's first name - `last_name: Optional[str]` User's last name - `middle_name: Optional[str]` User's middle name - `suffix1: Optional[str]` Name suffix (e.g., 'MD', 'Jr.') - `suffix2: Optional[str]` Additional name suffix - `created_by_api_key: Optional[CreatedByAPIKey]` Reference to the API key used to create this study - `api_key_id: str` Unique API key identifier (UUIDv4 format) - `description: str` Human-readable description of the API key - `is_viewer_enabled: Optional[bool]` Whether this API key has access to the Viewer product - `created_by_user: Optional[CreatedByUser]` Reference to the user who created this study via dashboard - `email: str` User's email address - `user_id: str` Unique user identifier. Format: usr_{32-hex-chars} - `first_name: Optional[str]` User's first name - `last_name: Optional[str]` User's last name - `middle_name: Optional[str]` User's middle name - `suffix1: Optional[str]` Name suffix (e.g., 'MD', 'Jr.') - `suffix2: Optional[str]` Additional name suffix - `express_customer: Optional[ExpressCustomer]` Reference to the Express customer this study belongs to - `express_customer_id: str` Unique Express customer identifier. Format: cus_{32-hex-chars} - `express_customer_name: str` Name of the Express customer - `metadata: Optional[Dict[str, str]]` Custom key-value metadata for the study. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars - `prior_report_texts: Optional[List[str]]` Array of prior report texts to provide clinical context - `prior_study_ids: Optional[List[str]]` Array of prior study IDs for comparison context (format: stu_{32-hex-chars}) - `report_ids: Optional[List[ReportIDWithStatus]]` Array of report IDs associated with this study, including addendums - `report_id: str` Unique report identifier. Format: rep_{32-hex-chars} - `status: Literal["in_progress", "completed"]` Current status of the report - `"in_progress"` - `"completed"` ### Example ```python import os from avara import Avara client = Avara( api_key=os.environ.get("AVARA_API_KEY"), # This is the default and can be omitted ) page = client.auto_scribe.studies.list() page = page.studies[0] print(page.study_instance_uid) ``` ## Retrieve `auto_scribe.studies.retrieve(strstudy_id) -> StudyRetrieveResponse` **get** `/v1/autoScribe/studies/{studyId}` Retrieves a single study by its unique study ID. Returns the complete study object with all metadata, report status, and patient information. ### Parameters - `study_id: str` Unique study identifier. Format: stu_{32-hex-chars} ### Returns - `class StudyRetrieveResponse: …` A study entity in the AutoScribe system with report workflow status - `cancelled_at: Optional[datetime]` Timestamp when the study was cancelled, null if not cancelled - `created_at: Optional[datetime]` Timestamp when the study was created - `is_cancelled: bool` Whether the study has been cancelled - `report_metadata: StudyReportMetadata` Patient demographics and scan information for report generation - `age: Optional[str]` Patient's age at time of scan (e.g., '34.5 years', '2 months') - `date_of_birth: Optional[str]` Patient's date of birth. Format: YYYY-MM-DD (e.g., '1990-05-20') - `facility_name: Optional[str]` Name of the medical facility where the scan was performed - `height: Optional[Height]` Patient's height with unit (e.g., {value: 70, unit: 'inches'} or {value: 178, unit: 'cm'}) - `unit: Literal["in", "cm"]` - `"in"` - `"cm"` - `value: float` - `mrn: Optional[str]` Medical Record Number - unique patient identifier - `patient_name: Optional[str]` Full name of the patient - `referring_physician_name: Optional[str]` Name of the physician who referred the patient for this scan - `scan_date: Optional[str]` Date the scan was performed. Format: YYYY-MM-DD (e.g., '2024-01-15') - `scan_time: Optional[str]` Time the scan was performed. Format: HH:MM (e.g., '14:30') - `scan_type: Optional[str]` Type of scan or imaging modality (e.g., 'MRI', 'CT', 'X-Ray', 'Ultrasound') - `sex: Optional[Literal["male", "female", "other"]]` Patient's biological sex. Options: 'male', 'female', 'other' - `"male"` - `"female"` - `"other"` - `weight: Optional[Weight]` Patient's weight with unit (e.g., {value: 150, unit: 'lbs'} or {value: 68, unit: 'kg'}) - `unit: Literal["lbs", "kg"]` - `"lbs"` - `"kg"` - `value: float` - `severity: Literal["normal", "high", "stat"]` Priority level of the study. 'normal' for routine, 'high' for urgent, 'stat' for immediate attention - `"normal"` - `"high"` - `"stat"` - `study_description: str` Description of the study/scan (e.g., 'Brain MRI with Contrast', 'Chest CT') - `study_id: str` Unique study identifier. Format: stu_{32-hex-chars} - `study_instance_uid: str` DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., '1.2.840.10008.5.1.4.1.1.2') - `study_report_status: Literal["unassigned", "assigned", "in_progress", 2 more]` Report workflow status. 'unassigned' = no radiologist assigned, 'assigned' = assigned but not started, 'in_progress' = actively being dictated, 'completed' = report signed, 'addendum_active' = addendum in progress - `"unassigned"` - `"assigned"` - `"in_progress"` - `"completed"` - `"addendum_active"` - `updated_at: Optional[datetime]` Timestamp when the study was last updated - `assigned_to: Optional[AssignedTo]` Reference to the assigned radiologist, null if unassigned - `email: str` User's email address - `user_id: str` Unique user identifier. Format: usr_{32-hex-chars} - `first_name: Optional[str]` User's first name - `last_name: Optional[str]` User's last name - `middle_name: Optional[str]` User's middle name - `suffix1: Optional[str]` Name suffix (e.g., 'MD', 'Jr.') - `suffix2: Optional[str]` Additional name suffix - `created_by_api_key: Optional[CreatedByAPIKey]` Reference to the API key used to create this study - `api_key_id: str` Unique API key identifier (UUIDv4 format) - `description: str` Human-readable description of the API key - `is_viewer_enabled: Optional[bool]` Whether this API key has access to the Viewer product - `created_by_user: Optional[CreatedByUser]` Reference to the user who created this study via dashboard - `email: str` User's email address - `user_id: str` Unique user identifier. Format: usr_{32-hex-chars} - `first_name: Optional[str]` User's first name - `last_name: Optional[str]` User's last name - `middle_name: Optional[str]` User's middle name - `suffix1: Optional[str]` Name suffix (e.g., 'MD', 'Jr.') - `suffix2: Optional[str]` Additional name suffix - `express_customer: Optional[ExpressCustomer]` Reference to the Express customer this study belongs to - `express_customer_id: str` Unique Express customer identifier. Format: cus_{32-hex-chars} - `express_customer_name: str` Name of the Express customer - `metadata: Optional[Dict[str, str]]` Custom key-value metadata for the study. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars - `prior_report_texts: Optional[List[str]]` Array of prior report texts to provide clinical context - `prior_study_ids: Optional[List[str]]` Array of prior study IDs for comparison context (format: stu_{32-hex-chars}) - `report_ids: Optional[List[ReportIDWithStatus]]` Array of report IDs associated with this study, including addendums - `report_id: str` Unique report identifier. Format: rep_{32-hex-chars} - `status: Literal["in_progress", "completed"]` Current status of the report - `"in_progress"` - `"completed"` ### Example ```python import os from avara import Avara client = Avara( api_key=os.environ.get("AVARA_API_KEY"), # This is the default and can be omitted ) study = client.auto_scribe.studies.retrieve( "stu_1234567890abcdef1234567890abcdef", ) print(study.study_instance_uid) ``` ## Update `auto_scribe.studies.update(strstudy_id, StudyUpdateParams**kwargs) -> StudyUpdateResponse` **patch** `/v1/autoScribe/studies/{studyId}` Updates a study's properties including description, severity, assignment, organization, metadata, and report metadata. All fields are optional - only provided fields will be updated. ### Parameters - `study_id: str` Unique study identifier. Format: stu_{32-hex-chars} - `assigned_to: Optional[str]` User ID to assign the study to, or null to unassign. Format: usr_{32-hex-chars} - `express_customer_id: Optional[str]` Express Customer ID for the study, or null to remove. Format: cus_{32-hex-chars} - `metadata: Optional[Dict[str, str]]` - `prior_report_texts: Optional[SequenceNotStr[str]]` - `prior_study_ids: Optional[SequenceNotStr[str]]` - `report_metadata: Optional[ReportMetadata]` - `age: Optional[str]` - `date_of_birth: Optional[str]` - `facility_name: Optional[str]` - `height: Optional[ReportMetadataHeight]` - `unit: Literal["in", "cm"]` - `"in"` - `"cm"` - `value: float` - `mrn: Optional[str]` - `patient_name: Optional[str]` - `referring_physician_name: Optional[str]` - `scan_date: Optional[str]` - `scan_time: Optional[str]` - `scan_type: Optional[str]` - `sex: Optional[Literal["male", "female", "other"]]` - `"male"` - `"female"` - `"other"` - `weight: Optional[ReportMetadataWeight]` - `unit: Literal["lbs", "kg"]` - `"lbs"` - `"kg"` - `value: float` - `severity: Optional[Literal["normal", "high", "stat"]]` Priority level of the study. 'normal' for routine, 'high' for urgent, 'stat' for immediate attention - `"normal"` - `"high"` - `"stat"` - `study_description: Optional[str]` Description of the study/scan (e.g., 'Brain MRI with Contrast', 'Chest CT') ### Returns - `class StudyUpdateResponse: …` A study entity in the AutoScribe system with report workflow status - `cancelled_at: Optional[datetime]` Timestamp when the study was cancelled, null if not cancelled - `created_at: Optional[datetime]` Timestamp when the study was created - `is_cancelled: bool` Whether the study has been cancelled - `report_metadata: StudyReportMetadata` Patient demographics and scan information for report generation - `age: Optional[str]` Patient's age at time of scan (e.g., '34.5 years', '2 months') - `date_of_birth: Optional[str]` Patient's date of birth. Format: YYYY-MM-DD (e.g., '1990-05-20') - `facility_name: Optional[str]` Name of the medical facility where the scan was performed - `height: Optional[Height]` Patient's height with unit (e.g., {value: 70, unit: 'inches'} or {value: 178, unit: 'cm'}) - `unit: Literal["in", "cm"]` - `"in"` - `"cm"` - `value: float` - `mrn: Optional[str]` Medical Record Number - unique patient identifier - `patient_name: Optional[str]` Full name of the patient - `referring_physician_name: Optional[str]` Name of the physician who referred the patient for this scan - `scan_date: Optional[str]` Date the scan was performed. Format: YYYY-MM-DD (e.g., '2024-01-15') - `scan_time: Optional[str]` Time the scan was performed. Format: HH:MM (e.g., '14:30') - `scan_type: Optional[str]` Type of scan or imaging modality (e.g., 'MRI', 'CT', 'X-Ray', 'Ultrasound') - `sex: Optional[Literal["male", "female", "other"]]` Patient's biological sex. Options: 'male', 'female', 'other' - `"male"` - `"female"` - `"other"` - `weight: Optional[Weight]` Patient's weight with unit (e.g., {value: 150, unit: 'lbs'} or {value: 68, unit: 'kg'}) - `unit: Literal["lbs", "kg"]` - `"lbs"` - `"kg"` - `value: float` - `severity: Literal["normal", "high", "stat"]` Priority level of the study. 'normal' for routine, 'high' for urgent, 'stat' for immediate attention - `"normal"` - `"high"` - `"stat"` - `study_description: str` Description of the study/scan (e.g., 'Brain MRI with Contrast', 'Chest CT') - `study_id: str` Unique study identifier. Format: stu_{32-hex-chars} - `study_instance_uid: str` DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., '1.2.840.10008.5.1.4.1.1.2') - `study_report_status: Literal["unassigned", "assigned", "in_progress", 2 more]` Report workflow status. 'unassigned' = no radiologist assigned, 'assigned' = assigned but not started, 'in_progress' = actively being dictated, 'completed' = report signed, 'addendum_active' = addendum in progress - `"unassigned"` - `"assigned"` - `"in_progress"` - `"completed"` - `"addendum_active"` - `updated_at: Optional[datetime]` Timestamp when the study was last updated - `assigned_to: Optional[AssignedTo]` Reference to the assigned radiologist, null if unassigned - `email: str` User's email address - `user_id: str` Unique user identifier. Format: usr_{32-hex-chars} - `first_name: Optional[str]` User's first name - `last_name: Optional[str]` User's last name - `middle_name: Optional[str]` User's middle name - `suffix1: Optional[str]` Name suffix (e.g., 'MD', 'Jr.') - `suffix2: Optional[str]` Additional name suffix - `created_by_api_key: Optional[CreatedByAPIKey]` Reference to the API key used to create this study - `api_key_id: str` Unique API key identifier (UUIDv4 format) - `description: str` Human-readable description of the API key - `is_viewer_enabled: Optional[bool]` Whether this API key has access to the Viewer product - `created_by_user: Optional[CreatedByUser]` Reference to the user who created this study via dashboard - `email: str` User's email address - `user_id: str` Unique user identifier. Format: usr_{32-hex-chars} - `first_name: Optional[str]` User's first name - `last_name: Optional[str]` User's last name - `middle_name: Optional[str]` User's middle name - `suffix1: Optional[str]` Name suffix (e.g., 'MD', 'Jr.') - `suffix2: Optional[str]` Additional name suffix - `express_customer: Optional[ExpressCustomer]` Reference to the Express customer this study belongs to - `express_customer_id: str` Unique Express customer identifier. Format: cus_{32-hex-chars} - `express_customer_name: str` Name of the Express customer - `metadata: Optional[Dict[str, str]]` Custom key-value metadata for the study. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars - `prior_report_texts: Optional[List[str]]` Array of prior report texts to provide clinical context - `prior_study_ids: Optional[List[str]]` Array of prior study IDs for comparison context (format: stu_{32-hex-chars}) - `report_ids: Optional[List[ReportIDWithStatus]]` Array of report IDs associated with this study, including addendums - `report_id: str` Unique report identifier. Format: rep_{32-hex-chars} - `status: Literal["in_progress", "completed"]` Current status of the report - `"in_progress"` - `"completed"` ### Example ```python import os from avara import Avara client = Avara( api_key=os.environ.get("AVARA_API_KEY"), # This is the default and can be omitted ) study = client.auto_scribe.studies.update( study_id="stu_1234567890abcdef1234567890abcdef", ) print(study.study_instance_uid) ``` ## Cancel `auto_scribe.studies.cancel(StudyCancelParams**kwargs) -> StudyCancelResponse` **post** `/v1/autoScribe/studies/cancel` Marks a study as cancelled. Cancelled studies are preserved but flagged as inactive. Can be identified by either study ID or DICOM Study Instance UID. ### Parameters - `study_id: Optional[str]` Unique study identifier. Format: stu_{32-hex-chars} - `study_instance_uid: Optional[str]` DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., '1.2.840.10008.5.1.4.1.1.2') ### Returns - `class StudyCancelResponse: …` Response for cancelling a study in AutoScribe - `success: bool` - `message: Optional[str]` ### Example ```python import os from avara import Avara client = Avara( api_key=os.environ.get("AVARA_API_KEY"), # This is the default and can be omitted ) response = client.auto_scribe.studies.cancel() print(response.success) ``` ## Uncancel `auto_scribe.studies.uncancel(StudyUncancelParams**kwargs) -> StudyUncancelResponse` **post** `/v1/autoScribe/studies/uncancel` Restores a cancelled study to active status. The study must have been previously cancelled. Can be identified by either study ID or DICOM Study Instance UID. ### Parameters - `study_id: Optional[str]` Unique study identifier. Format: stu_{32-hex-chars} - `study_instance_uid: Optional[str]` DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., '1.2.840.10008.5.1.4.1.1.2') ### Returns - `class StudyUncancelResponse: …` Response for uncancelling a study in AutoScribe - `success: bool` - `message: Optional[str]` ### Example ```python import os from avara import Avara client = Avara( api_key=os.environ.get("AVARA_API_KEY"), # This is the default and can be omitted ) response = client.auto_scribe.studies.uncancel() print(response.success) ``` ## Reroute URL `auto_scribe.studies.reroute_url(StudyRerouteURLParams**kwargs) -> StudyRerouteURLResponse` **post** `/v1/autoScribe/studies/reroute-url` Generates a tokenized URL that redirects users to the AutoScribe interface (viewer + dictation) for the specified study and user. The URL includes authentication and is time-limited for security. ### Parameters - `assigned_to_user_id: str` User ID to assign study to. Format: usr_{32-hex-chars} - `study_id: Optional[str]` Unique study identifier. Format: stu_{32-hex-chars} - `study_instance_uid: Optional[str]` DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., '1.2.840.10008.5.1.4.1.1.2') ### Returns - `class StudyRerouteURLResponse: …` Response containing the generated reroute URL for AutoScribe (viewer + dictation) - `url: str` ### Example ```python import os from avara import Avara client = Avara( api_key=os.environ.get("AVARA_API_KEY"), # This is the default and can be omitted ) response = client.auto_scribe.studies.reroute_url( assigned_to_user_id="usr_1234567890abcdef1234567890abcdef", ) print(response.url) ``` ## Viewer Only Reroute URL `auto_scribe.studies.viewer_only_reroute_url(StudyViewerOnlyRerouteURLParams**kwargs) -> StudyViewerOnlyRerouteURLResponse` **post** `/v1/autoScribe/studies/viewer-only-reroute-url` Generates a tokenized URL that redirects users to the viewer interface only (no dictation) for the specified study. Useful for read-only access or referring physicians. The URL includes authentication and is time-limited. ### Parameters - `study_id: Optional[str]` Unique study identifier. Format: stu_{32-hex-chars} - `study_instance_uid: Optional[str]` DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., '1.2.840.10008.5.1.4.1.1.2') - `user_id: Optional[str]` Optional user ID for audit tracking. Format: usr_{32-hex-chars} ### Returns - `class StudyViewerOnlyRerouteURLResponse: …` Response containing the generated viewer-only reroute URL. Requires viewer to be configured. - `url: str` ### Example ```python import os from avara import Avara client = Avara( api_key=os.environ.get("AVARA_API_KEY"), # This is the default and can be omitted ) response = client.auto_scribe.studies.viewer_only_reroute_url() print(response.url) ``` ## Retrieve By Uid `auto_scribe.studies.retrieve_by_uid(strstudy_instance_uid) -> StudyRetrieveByUidResponse` **get** `/v1/autoScribe/studies/by-uid/{studyInstanceUid}` Retrieves a single study by its DICOM Study Instance UID. This is useful when you have the DICOM UID but not the Avara study ID. ### Parameters - `study_instance_uid: str` DICOM Study Instance UID. Format: numbers and dots (e.g., 1.2.840.10008.5.1.4.1.1.2). ### Returns - `class StudyRetrieveByUidResponse: …` A study entity in the AutoScribe system with report workflow status - `cancelled_at: Optional[datetime]` Timestamp when the study was cancelled, null if not cancelled - `created_at: Optional[datetime]` Timestamp when the study was created - `is_cancelled: bool` Whether the study has been cancelled - `report_metadata: StudyReportMetadata` Patient demographics and scan information for report generation - `age: Optional[str]` Patient's age at time of scan (e.g., '34.5 years', '2 months') - `date_of_birth: Optional[str]` Patient's date of birth. Format: YYYY-MM-DD (e.g., '1990-05-20') - `facility_name: Optional[str]` Name of the medical facility where the scan was performed - `height: Optional[Height]` Patient's height with unit (e.g., {value: 70, unit: 'inches'} or {value: 178, unit: 'cm'}) - `unit: Literal["in", "cm"]` - `"in"` - `"cm"` - `value: float` - `mrn: Optional[str]` Medical Record Number - unique patient identifier - `patient_name: Optional[str]` Full name of the patient - `referring_physician_name: Optional[str]` Name of the physician who referred the patient for this scan - `scan_date: Optional[str]` Date the scan was performed. Format: YYYY-MM-DD (e.g., '2024-01-15') - `scan_time: Optional[str]` Time the scan was performed. Format: HH:MM (e.g., '14:30') - `scan_type: Optional[str]` Type of scan or imaging modality (e.g., 'MRI', 'CT', 'X-Ray', 'Ultrasound') - `sex: Optional[Literal["male", "female", "other"]]` Patient's biological sex. Options: 'male', 'female', 'other' - `"male"` - `"female"` - `"other"` - `weight: Optional[Weight]` Patient's weight with unit (e.g., {value: 150, unit: 'lbs'} or {value: 68, unit: 'kg'}) - `unit: Literal["lbs", "kg"]` - `"lbs"` - `"kg"` - `value: float` - `severity: Literal["normal", "high", "stat"]` Priority level of the study. 'normal' for routine, 'high' for urgent, 'stat' for immediate attention - `"normal"` - `"high"` - `"stat"` - `study_description: str` Description of the study/scan (e.g., 'Brain MRI with Contrast', 'Chest CT') - `study_id: str` Unique study identifier. Format: stu_{32-hex-chars} - `study_instance_uid: str` DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., '1.2.840.10008.5.1.4.1.1.2') - `study_report_status: Literal["unassigned", "assigned", "in_progress", 2 more]` Report workflow status. 'unassigned' = no radiologist assigned, 'assigned' = assigned but not started, 'in_progress' = actively being dictated, 'completed' = report signed, 'addendum_active' = addendum in progress - `"unassigned"` - `"assigned"` - `"in_progress"` - `"completed"` - `"addendum_active"` - `updated_at: Optional[datetime]` Timestamp when the study was last updated - `assigned_to: Optional[AssignedTo]` Reference to the assigned radiologist, null if unassigned - `email: str` User's email address - `user_id: str` Unique user identifier. Format: usr_{32-hex-chars} - `first_name: Optional[str]` User's first name - `last_name: Optional[str]` User's last name - `middle_name: Optional[str]` User's middle name - `suffix1: Optional[str]` Name suffix (e.g., 'MD', 'Jr.') - `suffix2: Optional[str]` Additional name suffix - `created_by_api_key: Optional[CreatedByAPIKey]` Reference to the API key used to create this study - `api_key_id: str` Unique API key identifier (UUIDv4 format) - `description: str` Human-readable description of the API key - `is_viewer_enabled: Optional[bool]` Whether this API key has access to the Viewer product - `created_by_user: Optional[CreatedByUser]` Reference to the user who created this study via dashboard - `email: str` User's email address - `user_id: str` Unique user identifier. Format: usr_{32-hex-chars} - `first_name: Optional[str]` User's first name - `last_name: Optional[str]` User's last name - `middle_name: Optional[str]` User's middle name - `suffix1: Optional[str]` Name suffix (e.g., 'MD', 'Jr.') - `suffix2: Optional[str]` Additional name suffix - `express_customer: Optional[ExpressCustomer]` Reference to the Express customer this study belongs to - `express_customer_id: str` Unique Express customer identifier. Format: cus_{32-hex-chars} - `express_customer_name: str` Name of the Express customer - `metadata: Optional[Dict[str, str]]` Custom key-value metadata for the study. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars - `prior_report_texts: Optional[List[str]]` Array of prior report texts to provide clinical context - `prior_study_ids: Optional[List[str]]` Array of prior study IDs for comparison context (format: stu_{32-hex-chars}) - `report_ids: Optional[List[ReportIDWithStatus]]` Array of report IDs associated with this study, including addendums - `report_id: str` Unique report identifier. Format: rep_{32-hex-chars} - `status: Literal["in_progress", "completed"]` Current status of the report - `"in_progress"` - `"completed"` ### Example ```python import os from avara import Avara client = Avara( api_key=os.environ.get("AVARA_API_KEY"), # This is the default and can be omitted ) response = client.auto_scribe.studies.retrieve_by_uid( "1.2.840.10008.5.1.4.1.1.2", ) print(response.study_instance_uid) ``` ## Domain Types ### Report ID With Status - `class ReportIDWithStatus: …` A report ID paired with its current status - `report_id: str` Unique report identifier. Format: rep_{32-hex-chars} - `status: Literal["in_progress", "completed"]` Current status of the report - `"in_progress"` - `"completed"`