Skip to content
Get started

Webhooks

ModelsExpand Collapse
class ClinicalContextEnrichmentDocument:

Inline text document for clinical history synthesize

List<String> content

Text chunks for the document

String fileName
minLength1
maxLength500
class ClinicalContextEnrichmentDocumentUrl:

Remote document URL (https) for Avara to fetch/summarize

String url

Must use https://

formaturi
Optional<String> fileName
minLength1
maxLength500
class ClinicalContextEnrichmentPriorReport:

External prior report metadata and text for clinical context

String reportText

Full prior report text

maxLength50000
Optional<String> externalStudyId
maxLength256
Optional<String> modality
maxLength100
Optional<String> studyDate

YYYY-MM-DD

Optional<String> studyDescription
maxLength1000
class ClinicalContextEnrichmentRequestedEvent:

Soft synchronous webhook sent when AutoScribe needs clinical context from the partner EHR. Failures / timeouts / invalid bodies are treated as empty enrichment.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload for soft clinical context enrichment when AutoScribe needs EHR context for a study

String clinicId

Clinic UUID

formatuuid
String studyId

Raw study UUID v4 (not branded stu_…)

formatuuid
String studyInstanceUid

DICOM Study Instance UID

Optional<String> externalPatientId

External patient identifier when available

Optional<String> mrn

Medical record number when available

JsonValue; type "clinical_context.enrichment_requested"constant"clinical_context.enrichment_requested"constant

Event type identifier

class ClinicalContextEnrichmentRequestedEventData:

Event payload for soft clinical context enrichment when AutoScribe needs EHR context for a study

String clinicId

Clinic UUID

formatuuid
String studyId

Raw study UUID v4 (not branded stu_…)

formatuuid
String studyInstanceUid

DICOM Study Instance UID

Optional<String> externalPatientId

External patient identifier when available

Optional<String> mrn

Medical record number when available

class ClinicalContextEnrichmentRequestedResponse:

Soft enrichment response. No authorized field — return any subset of fields (including {}).

Optional<String> clinicalIndication
Optional<List<ClinicalContextEnrichmentDocument>> documents
List<String> content

Text chunks for the document

String fileName
minLength1
maxLength500
Optional<List<ClinicalContextEnrichmentDocumentUrl>> documentUrls
String url

Must use https://

formaturi
Optional<String> fileName
minLength1
maxLength500
Optional<List<ClinicalContextEnrichmentPriorReport>> priorReports
String reportText

Full prior report text

maxLength50000
Optional<String> externalStudyId
maxLength256
Optional<String> modality
maxLength100
Optional<String> studyDate

YYYY-MM-DD

Optional<String> studyDescription
maxLength1000
Optional<List<String>> technologistNotes
Optional<String> technologistTechnique
class EphemeralAccessRequestedEvent:

Webhook event sent when Avara needs presigned URLs for an ephemeral viewer session. This is a synchronous webhook — you must respond with the URLs within the request timeout. There is no Avara study; use retrievalId (and optional options) to resolve images.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload for an ephemeral viewer session. retrievalId is the customer handle from mint. options is echoed verbatim when present; Avara does not read or edit it.

String retrievalId

Opaque customer handle for this view session. Not an Avara study ID.

minLength1
Optional<Options> options

Optional JSON object echoed verbatim from mint. Avara does not read or edit it. Examples: studyInstanceUids or internal ids for multi-study reads. Not for URLs or manifests.

JsonValue; type "ephemeral.access_requested"constant"ephemeral.access_requested"constant

Event type identifier

class EphemeralAccessRequestedEventData:

Event payload for an ephemeral viewer session. retrievalId is the customer handle from mint. options is echoed verbatim when present; Avara does not read or edit it.

String retrievalId

Opaque customer handle for this view session. Not an Avara study ID.

minLength1
Optional<Options> options

Optional JSON object echoed verbatim from mint. Avara does not read or edit it. Examples: studyInstanceUids or internal ids for multi-study reads. Not for URLs or manifests.

class EphemeralAccessRequestedResponse:

Synchronous response with presigned DICOM URLs and optionally non-DICOM media. Optionally include a manifests array (one study per item) to improve progressive loading of legacy DICOM; it is not required.

boolean authorized

Whether access is authorized for this ephemeral session

List<String> urls

Flat list of presigned URLs for DICOM images across the session.

Optional<String> error

Error message if authorization failed or URLs cannot be provided

Optional<List<StudyAccessRequestedManifest>> manifests

Optional sidecars, one study per item (an array, not a single object). Not required — omit if you do not have them. Recommended when you can provide them, especially for very large or multi-study legacy DICOM. Enables progressive loading so readers can scroll before every file is parsed. Invalid or incomplete values are ignored; URLs still load.

Planable series in this study. At least one must survive validation.

String modality

Non-empty DICOM modality. Common: CT, MR, CR, DX, US, XA, PT, NM, MG. Secondary capture (SC) is not necessary.

String seriesDescription

Non-empty display string shown in the viewer sidebar.

String seriesInstanceUid

DICOM Series Instance UID. Non-empty string.

SeriesNumber seriesNumber

Series number. String or number (1 or “1”).

One of the following:
String
double

SOPs in this series. At least one must survive validation.

String sopClassUid

DICOM SOP Class UID. Progressive load uses legacy single-frame image classes. Common: CT 1.2.840.10008.5.1.4.1.1.2, MR 1.2.840.10008.5.1.4.1.1.4, plus CR / DX / US / XA / PT. Enhanced multi-frame classes already load progressively from the single SOP — the sidecar is not used for them. SR / PR / KO do not need geometry.

String sopInstanceUid

DICOM SOP Instance UID. Non-empty string.

Optional<Double> bitsAllocated

Required on image SOPs. Planner uses 8, 16, or 32 (or the float flags). Typical CT/MR: 16.

Optional<Double> bitsStored

Optional. Typical CT/MR: 12 or 16.

Optional<Double> columns

Image columns. Required on image SOPs. Positive integer. Common: 256, 512, 1024.

Optional<Double> highBit

Optional. Typical 16-bit: 15.

Optional<Double> instanceNumber

Slice order (DICOM Instance Number). Omit or 0 if unknown; UID is the tie-break.

Optional<Boolean> isDoubleFloatPixelData

Set true only if pixel data is 64-bit float.

Optional<Boolean> isFloatPixelData

Set true only if pixel data is 32-bit float.

Optional<Double> numberOfFrames

1 for single-frame files. Greater than 1 only if this SOP is multi-frame.

Optional<String> photometricInterpretation

Required non-empty string on image SOPs. Common: MONOCHROME2 (CT/MR), MONOCHROME1 (often MG, inverted), RGB, PALETTE COLOR, YBR_FULL, YBR_FULL_422. Unknown strings are kept and treated as mono unless samplesPerPixel is 3. Wrong type (number/null) drops that SOP from optimized path.

Optional<Double> pixelRepresentation

0 unsigned, 1 signed. Typical CT: 0.

Optional<Double> rescaleIntercept

Optional. Typical CT: -1024. Safe to omit.

Optional<Double> rescaleSlope

Optional. Typical CT: 1. Safe to omit.

Optional<Double> rows

Image rows. Required on image SOPs. Positive integer. Common: 256, 512, 1024.

Optional<Double> samplesPerPixel

Required on image SOPs. 1 grayscale, 3 color. 3 is treated as color even if photometric is unusual.

String studyInstanceUid

DICOM Study Instance UID for this study. Non-empty string. Must match the study being requested.

Optional<List<StudyAccessRequestedMediaUrl>> mediaUrls

Optional presigned URLs for non-DICOM media (images, PDFs, videos).

String mimeType

MIME type of the media file (e.g., application/pdf, image/jpeg, video/mp4)

String url

Presigned URL to download the media file

formaturi
Optional<String> fileName

Optional display name for the media file

class ModalityWorklistItem:

One worklist item shaped for direct DICOM Dataset construction on the on-prem box. Field names are PascalCase DICOM-style intentionally.

String accessionNumber

Accession number (DICOM SH, max 16)

maxLength16
String modality
String patientBirthDate

Patient birth date (DICOM DA: YYYYMMDD)

String patientId
String patientName

DICOM PN / HL7 format: LAST^FIRST[^MIDDLE^PREFIX^SUFFIX]

maxLength64
String patientSex

DICOM PatientSex: M, F, or O

String patientSize

Height in meters. Empty string allowed; if set must be numeric (typical range 0.4–2.5).

String patientWeight

Weight in kilograms. Empty string allowed; if set must be numeric (typical range 1–400).

String protocolName
String requestedProcedureDescription
List<ModalityWorklistScheduledStep> scheduledProcedureStepSequence

Scheduled procedure steps for this worklist item. Most appointments/studies have a single step; include additional steps only when the RIS schedules multiple.

String modality

Modality for this scheduled step

String scheduledProcedureStepDescription

Human-readable description of the scheduled step

String scheduledProcedureStepId

Scheduled procedure step identifier (DICOM SH, max 16)

maxLength16
String scheduledProcedureStepStartDate

Scheduled start date (DICOM DA: YYYYMMDD)

String scheduledProcedureStepStartTime

Scheduled start time (DICOM TM: HHMMSS)

String studyDescription
String studyInstanceUid

Required from partner RIS today; do not omit.

class ModalityWorklistRequestedEvent:

Webhook event sent when an on-prem modality issues a C-FIND MWL. This is a synchronous webhook - you must respond with authorized + items within the request timeout.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload for a modality worklist (C-FIND MWL) request

String callingAe

Calling AE title from the modality

String clinicId

Clinic UUID that owns the modality / worklist query

formatuuid
String dateEnd

Inclusive worklist window end date (YYYY-MM-DD)

String dateStart

Inclusive worklist window start date (YYYY-MM-DD)

String sourceIp

Source IP observed by Avara for the modality request

Optional<String> modality

Present when the modality C-FIND included a modality filter

JsonValue; type "modality_worklist.requested"constant"modality_worklist.requested"constant

Event type identifier

class ModalityWorklistRequestedEventData:

Event payload for a modality worklist (C-FIND MWL) request

String callingAe

Calling AE title from the modality

String clinicId

Clinic UUID that owns the modality / worklist query

formatuuid
String dateEnd

Inclusive worklist window end date (YYYY-MM-DD)

String dateStart

Inclusive worklist window start date (YYYY-MM-DD)

String sourceIp

Source IP observed by Avara for the modality request

Optional<String> modality

Present when the modality C-FIND included a modality filter

class ModalityWorklistRequestedResponse:

Response expected by Avara for modality worklist webhook. authorized:false surfaces as worklist failure; authorized:true with empty items means no scheduled exams.

boolean authorized

Whether the worklist query is authorized

Worklist items for the requested date window

String accessionNumber

Accession number (DICOM SH, max 16)

maxLength16
String modality
String patientBirthDate

Patient birth date (DICOM DA: YYYYMMDD)

String patientId
String patientName

DICOM PN / HL7 format: LAST^FIRST[^MIDDLE^PREFIX^SUFFIX]

maxLength64
String patientSex

DICOM PatientSex: M, F, or O

String patientSize

Height in meters. Empty string allowed; if set must be numeric (typical range 0.4–2.5).

String patientWeight

Weight in kilograms. Empty string allowed; if set must be numeric (typical range 1–400).

String protocolName
String requestedProcedureDescription
List<ModalityWorklistScheduledStep> scheduledProcedureStepSequence

Scheduled procedure steps for this worklist item. Most appointments/studies have a single step; include additional steps only when the RIS schedules multiple.

String modality

Modality for this scheduled step

String scheduledProcedureStepDescription

Human-readable description of the scheduled step

String scheduledProcedureStepId

Scheduled procedure step identifier (DICOM SH, max 16)

maxLength16
String scheduledProcedureStepStartDate

Scheduled start date (DICOM DA: YYYYMMDD)

String scheduledProcedureStepStartTime

Scheduled start time (DICOM TM: HHMMSS)

String studyDescription
String studyInstanceUid

Required from partner RIS today; do not omit.

Optional<String> error

Error message if authorization failed

class ModalityWorklistScheduledStep:

Scheduled procedure step used to construct DICOM MWL datasets

String modality

Modality for this scheduled step

String scheduledProcedureStepDescription

Human-readable description of the scheduled step

String scheduledProcedureStepId

Scheduled procedure step identifier (DICOM SH, max 16)

maxLength16
String scheduledProcedureStepStartDate

Scheduled start date (DICOM DA: YYYYMMDD)

String scheduledProcedureStepStartTime

Scheduled start time (DICOM TM: HHMMSS)

class PatientStudyEnrichmentRequestedEvent:

Soft synchronous webhook sent after Avara PACS seeds a study so the partner can enrich demographics and report headers. Failures / timeouts / invalid bodies are treated as empty enrichment.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload for soft patient/study enrichment after Avara PACS seeds a study

String clinicId

Clinic UUID

formatuuid
String studyInstanceUid

DICOM Study Instance UID

Optional<String> accessionNumber

Accession number from DICOM when available

Optional<String> patientId

Patient ID from DICOM when available

JsonValue; type "patient_study.enrichment_requested"constant"patient_study.enrichment_requested"constant

Event type identifier

class PatientStudyEnrichmentRequestedEventData:

Event payload for soft patient/study enrichment after Avara PACS seeds a study

String clinicId

Clinic UUID

formatuuid
String studyInstanceUid

DICOM Study Instance UID

Optional<String> accessionNumber

Accession number from DICOM when available

Optional<String> patientId

Patient ID from DICOM when available

class PatientStudyEnrichmentRequestedResponse:

Soft enrichment response. No authorized field — return any subset of fields (including {}). Avara merges per-field with DICOM light metadata then defaults. Optional expressCustomerId: if present and a valid cus_ id for this clinic, Avara sets it on the created study. If present but not usable, Avara ignores it, applies other fields, and logs a warning.

Optional<String> dateOfBirth

YYYY-MM-DD

Optional<String> expressCustomerId

Optional Express customer to attach to the created study. Format: cus_{32 hex chars}. Must belong to the clinic in the request. Omit to leave the study unscoped. If present but not usable, Avara ignores this field, applies any other enrichment fields, and logs a warning on the webhook event.

Optional<String> externalPatientId
Optional<String> facilityName
Optional<Height> height
Unit unit
One of the following:
IN("in")
CM("cm")
double value
minimum0
Optional<String> mrn
Optional<String> patientName
Optional<String> procedure
Optional<String> referringPhysicianName
Optional<Severity> severity
One of the following:
NORMAL("normal")
HIGH("high")
STAT("stat")
Optional<Sex> sex
One of the following:
MALE("male")
FEMALE("female")
OTHER("other")
Optional<String> studyDate

YYYY-MM-DD

Optional<String> studyDescription
Optional<String> studyTime

HH:MM or HH:MM:SS[.fff]; Avara may truncate to HH:MM

Optional<Weight> weight
Unit unit
One of the following:
LBS("lbs")
KG("kg")
double value
minimum0
class ReportDeliveredEvent:

Webhook event sent when a report is completed. This is an asynchronous notification - respond with a simple acknowledgment.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing report and study information

boolean isCritical

Whether the report was marked critical at sign-off.

String presignedUrl

Presigned URL for PDF download. Time-limited, typically valid for 1 hour.

formaturi
String reportId

Avara report ID. Format: rep_{32-hex-chars}

String studyId

Avara study ID. Format: stu_{32-hex-chars}

String studyInstanceUid

DICOM Study Instance UID

Optional<String> externalPatientId

External patient identifier when available

Optional<String> plainText

Report plain text content (optional). Contains the full report text.

JsonValue; type "report.delivered"constant"report.delivered"constant

Event type identifier

class ReportDeliveredEventData:

Event payload containing report and study information

boolean isCritical

Whether the report was marked critical at sign-off.

String presignedUrl

Presigned URL for PDF download. Time-limited, typically valid for 1 hour.

formaturi
String reportId

Avara report ID. Format: rep_{32-hex-chars}

String studyId

Avara study ID. Format: stu_{32-hex-chars}

String studyInstanceUid

DICOM Study Instance UID

Optional<String> externalPatientId

External patient identifier when available

Optional<String> plainText

Report plain text content (optional). Contains the full report text.

class ReportDeliveredResponse:

Response expected by Avara for report delivery webhook. Simple acknowledgment.

boolean success

Acknowledgment of receipt. Return true to confirm delivery.

class SecondaryCaptureAccessRequestedEvent:

Webhook event sent when Avara needs presigned UPLOAD URLs for a secondary capture DICOM. This is a synchronous webhook - you must respond with the upload URLs within the request timeout.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing study + (optional) series/SOP information for a secondary capture upload

String studyId

Avara study ID. Format: stu_{32-hex-chars}

String studyInstanceUid

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

Optional<String> seriesInstanceUid

DICOM Series Instance UID generated for the new secondary capture series (when available).

Optional<String> sopInstanceUid

DICOM SOP Instance UID generated for the new secondary capture object (when available).

JsonValue; type "secondary_capture.access_requested"constant"secondary_capture.access_requested"constant

Event type identifier

class SecondaryCaptureAccessRequestedEventData:

Event payload containing study + (optional) series/SOP information for a secondary capture upload

String studyId

Avara study ID. Format: stu_{32-hex-chars}

String studyInstanceUid

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

Optional<String> seriesInstanceUid

DICOM Series Instance UID generated for the new secondary capture series (when available).

Optional<String> sopInstanceUid

DICOM SOP Instance UID generated for the new secondary capture object (when available).

class SecondaryCaptureAccessRequestedResponse:

Response expected by Avara for the secondary capture webhook. Provide presigned PUT URLs the viewer will upload the DICOM to.

boolean authorized

Whether the secondary capture upload is authorized for this study

List<String> uploadUrls

Presigned PUT URLs for uploading the secondary capture DICOM. The viewer uploads the same object to every URL.

Optional<String> contentCreatorName

Optional content creator name. Avara derives this server-side; this field is ignored if provided.

Optional<String> error

Error message if authorization failed or upload URLs cannot be provided

class StudyAccessRequestedEvent:

Webhook event sent when Avara needs presigned URLs for DICOM images. This is a synchronous webhook - you must respond with the URLs within the request timeout.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing study information

String studyId

Avara study ID. Format: stu_{32-hex-chars}

String studyInstanceUid

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

JsonValue; type "study.access_requested"constant"study.access_requested"constant

Event type identifier

class StudyAccessRequestedEventData:

Event payload containing study information

String studyId

Avara study ID. Format: stu_{32-hex-chars}

String studyInstanceUid

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

class StudyAccessRequestedManifest:

Optional sidecar for this one study (one object, not an array). Not required — omit if you do not have it. Recommended when you can provide it, especially for very large studies. Enables progressive loading of legacy multi-SOP DICOM so readers can scroll before every file is parsed. Include only this study. Series you cannot describe can be left out. Invalid or incomplete values are ignored; URLs still load.

Planable series in this study. At least one must survive validation.

String modality

Non-empty DICOM modality. Common: CT, MR, CR, DX, US, XA, PT, NM, MG. Secondary capture (SC) is not necessary.

String seriesDescription

Non-empty display string shown in the viewer sidebar.

String seriesInstanceUid

DICOM Series Instance UID. Non-empty string.

SeriesNumber seriesNumber

Series number. String or number (1 or “1”).

One of the following:
String
double

SOPs in this series. At least one must survive validation.

String sopClassUid

DICOM SOP Class UID. Progressive load uses legacy single-frame image classes. Common: CT 1.2.840.10008.5.1.4.1.1.2, MR 1.2.840.10008.5.1.4.1.1.4, plus CR / DX / US / XA / PT. Enhanced multi-frame classes already load progressively from the single SOP — the sidecar is not used for them. SR / PR / KO do not need geometry.

String sopInstanceUid

DICOM SOP Instance UID. Non-empty string.

Optional<Double> bitsAllocated

Required on image SOPs. Planner uses 8, 16, or 32 (or the float flags). Typical CT/MR: 16.

Optional<Double> bitsStored

Optional. Typical CT/MR: 12 or 16.

Optional<Double> columns

Image columns. Required on image SOPs. Positive integer. Common: 256, 512, 1024.

Optional<Double> highBit

Optional. Typical 16-bit: 15.

Optional<Double> instanceNumber

Slice order (DICOM Instance Number). Omit or 0 if unknown; UID is the tie-break.

Optional<Boolean> isDoubleFloatPixelData

Set true only if pixel data is 64-bit float.

Optional<Boolean> isFloatPixelData

Set true only if pixel data is 32-bit float.

Optional<Double> numberOfFrames

1 for single-frame files. Greater than 1 only if this SOP is multi-frame.

Optional<String> photometricInterpretation

Required non-empty string on image SOPs. Common: MONOCHROME2 (CT/MR), MONOCHROME1 (often MG, inverted), RGB, PALETTE COLOR, YBR_FULL, YBR_FULL_422. Unknown strings are kept and treated as mono unless samplesPerPixel is 3. Wrong type (number/null) drops that SOP from optimized path.

Optional<Double> pixelRepresentation

0 unsigned, 1 signed. Typical CT: 0.

Optional<Double> rescaleIntercept

Optional. Typical CT: -1024. Safe to omit.

Optional<Double> rescaleSlope

Optional. Typical CT: 1. Safe to omit.

Optional<Double> rows

Image rows. Required on image SOPs. Positive integer. Common: 256, 512, 1024.

Optional<Double> samplesPerPixel

Required on image SOPs. 1 grayscale, 3 color. 3 is treated as color even if photometric is unusual.

String studyInstanceUid

DICOM Study Instance UID for this study. Non-empty string. Must match the study being requested.

class StudyAccessRequestedManifestSeries:

One series in the optional study manifest. Series you cannot describe can be left out. Secondary capture is not necessary. Enhanced multi-frame series already load progressively without this sidecar. A series with no surviving SOPs is dropped.

String modality

Non-empty DICOM modality. Common: CT, MR, CR, DX, US, XA, PT, NM, MG. Secondary capture (SC) is not necessary.

String seriesDescription

Non-empty display string shown in the viewer sidebar.

String seriesInstanceUid

DICOM Series Instance UID. Non-empty string.

SeriesNumber seriesNumber

Series number. String or number (1 or “1”).

One of the following:
String
double

SOPs in this series. At least one must survive validation.

String sopClassUid

DICOM SOP Class UID. Progressive load uses legacy single-frame image classes. Common: CT 1.2.840.10008.5.1.4.1.1.2, MR 1.2.840.10008.5.1.4.1.1.4, plus CR / DX / US / XA / PT. Enhanced multi-frame classes already load progressively from the single SOP — the sidecar is not used for them. SR / PR / KO do not need geometry.

String sopInstanceUid

DICOM SOP Instance UID. Non-empty string.

Optional<Double> bitsAllocated

Required on image SOPs. Planner uses 8, 16, or 32 (or the float flags). Typical CT/MR: 16.

Optional<Double> bitsStored

Optional. Typical CT/MR: 12 or 16.

Optional<Double> columns

Image columns. Required on image SOPs. Positive integer. Common: 256, 512, 1024.

Optional<Double> highBit

Optional. Typical 16-bit: 15.

Optional<Double> instanceNumber

Slice order (DICOM Instance Number). Omit or 0 if unknown; UID is the tie-break.

Optional<Boolean> isDoubleFloatPixelData

Set true only if pixel data is 64-bit float.

Optional<Boolean> isFloatPixelData

Set true only if pixel data is 32-bit float.

Optional<Double> numberOfFrames

1 for single-frame files. Greater than 1 only if this SOP is multi-frame.

Optional<String> photometricInterpretation

Required non-empty string on image SOPs. Common: MONOCHROME2 (CT/MR), MONOCHROME1 (often MG, inverted), RGB, PALETTE COLOR, YBR_FULL, YBR_FULL_422. Unknown strings are kept and treated as mono unless samplesPerPixel is 3. Wrong type (number/null) drops that SOP from optimized path.

Optional<Double> pixelRepresentation

0 unsigned, 1 signed. Typical CT: 0.

Optional<Double> rescaleIntercept

Optional. Typical CT: -1024. Safe to omit.

Optional<Double> rescaleSlope

Optional. Typical CT: 1. Safe to omit.

Optional<Double> rows

Image rows. Required on image SOPs. Positive integer. Common: 256, 512, 1024.

Optional<Double> samplesPerPixel

Required on image SOPs. 1 grayscale, 3 color. 3 is treated as color even if photometric is unusual.

class StudyAccessRequestedManifestSop:

One SOP in the optional study manifest. Identity (sopInstanceUID, sopClassUID) is always required. For image SOPs, also include rows, columns, bitsAllocated, photometricInterpretation, and samplesPerPixel or that SOP is dropped. SR / PR / KO do not need geometry. Wrong types or missing required fields drop that SOP only; sibling SOPs and URLs still load.

String sopClassUid

DICOM SOP Class UID. Progressive load uses legacy single-frame image classes. Common: CT 1.2.840.10008.5.1.4.1.1.2, MR 1.2.840.10008.5.1.4.1.1.4, plus CR / DX / US / XA / PT. Enhanced multi-frame classes already load progressively from the single SOP — the sidecar is not used for them. SR / PR / KO do not need geometry.

String sopInstanceUid

DICOM SOP Instance UID. Non-empty string.

Optional<Double> bitsAllocated

Required on image SOPs. Planner uses 8, 16, or 32 (or the float flags). Typical CT/MR: 16.

Optional<Double> bitsStored

Optional. Typical CT/MR: 12 or 16.

Optional<Double> columns

Image columns. Required on image SOPs. Positive integer. Common: 256, 512, 1024.

Optional<Double> highBit

Optional. Typical 16-bit: 15.

Optional<Double> instanceNumber

Slice order (DICOM Instance Number). Omit or 0 if unknown; UID is the tie-break.

Optional<Boolean> isDoubleFloatPixelData

Set true only if pixel data is 64-bit float.

Optional<Boolean> isFloatPixelData

Set true only if pixel data is 32-bit float.

Optional<Double> numberOfFrames

1 for single-frame files. Greater than 1 only if this SOP is multi-frame.

Optional<String> photometricInterpretation

Required non-empty string on image SOPs. Common: MONOCHROME2 (CT/MR), MONOCHROME1 (often MG, inverted), RGB, PALETTE COLOR, YBR_FULL, YBR_FULL_422. Unknown strings are kept and treated as mono unless samplesPerPixel is 3. Wrong type (number/null) drops that SOP from optimized path.

Optional<Double> pixelRepresentation

0 unsigned, 1 signed. Typical CT: 0.

Optional<Double> rescaleIntercept

Optional. Typical CT: -1024. Safe to omit.

Optional<Double> rescaleSlope

Optional. Typical CT: 1. Safe to omit.

Optional<Double> rows

Image rows. Required on image SOPs. Positive integer. Common: 256, 512, 1024.

Optional<Double> samplesPerPixel

Required on image SOPs. 1 grayscale, 3 color. 3 is treated as color even if photometric is unusual.

class StudyAccessRequestedMediaUrl:

Presigned URL for non-DICOM media (images, PDFs, videos)

String mimeType

MIME type of the media file (e.g., application/pdf, image/jpeg, video/mp4)

String url

Presigned URL to download the media file

formaturi
Optional<String> fileName

Optional display name for the media file

class StudyAccessRequestedResponse:

Response expected by Avara for study access webhook. Provide presigned URLs for DICOM images and optionally non-DICOM media. Optionally include a study manifest to improve progressive loading of legacy DICOM; it is not required.

boolean authorized

Whether access is authorized for this study

List<String> urls

Flat list of presigned URLs for DICOM images. Include all image URLs for the study.

Optional<String> error

Error message if authorization failed or URLs cannot be provided

Optional<StudyAccessRequestedManifest> manifest

Optional sidecar for this one study (one object, not an array). Not required — omit if you do not have it. Recommended when you can provide it, especially for very large studies. Enables progressive loading of legacy multi-SOP DICOM so readers can scroll before every file is parsed. Invalid or incomplete values are ignored; URLs still load.

Planable series in this study. At least one must survive validation.

String modality

Non-empty DICOM modality. Common: CT, MR, CR, DX, US, XA, PT, NM, MG. Secondary capture (SC) is not necessary.

String seriesDescription

Non-empty display string shown in the viewer sidebar.

String seriesInstanceUid

DICOM Series Instance UID. Non-empty string.

SeriesNumber seriesNumber

Series number. String or number (1 or “1”).

One of the following:
String
double

SOPs in this series. At least one must survive validation.

String sopClassUid

DICOM SOP Class UID. Progressive load uses legacy single-frame image classes. Common: CT 1.2.840.10008.5.1.4.1.1.2, MR 1.2.840.10008.5.1.4.1.1.4, plus CR / DX / US / XA / PT. Enhanced multi-frame classes already load progressively from the single SOP — the sidecar is not used for them. SR / PR / KO do not need geometry.

String sopInstanceUid

DICOM SOP Instance UID. Non-empty string.

Optional<Double> bitsAllocated

Required on image SOPs. Planner uses 8, 16, or 32 (or the float flags). Typical CT/MR: 16.

Optional<Double> bitsStored

Optional. Typical CT/MR: 12 or 16.

Optional<Double> columns

Image columns. Required on image SOPs. Positive integer. Common: 256, 512, 1024.

Optional<Double> highBit

Optional. Typical 16-bit: 15.

Optional<Double> instanceNumber

Slice order (DICOM Instance Number). Omit or 0 if unknown; UID is the tie-break.

Optional<Boolean> isDoubleFloatPixelData

Set true only if pixel data is 64-bit float.

Optional<Boolean> isFloatPixelData

Set true only if pixel data is 32-bit float.

Optional<Double> numberOfFrames

1 for single-frame files. Greater than 1 only if this SOP is multi-frame.

Optional<String> photometricInterpretation

Required non-empty string on image SOPs. Common: MONOCHROME2 (CT/MR), MONOCHROME1 (often MG, inverted), RGB, PALETTE COLOR, YBR_FULL, YBR_FULL_422. Unknown strings are kept and treated as mono unless samplesPerPixel is 3. Wrong type (number/null) drops that SOP from optimized path.

Optional<Double> pixelRepresentation

0 unsigned, 1 signed. Typical CT: 0.

Optional<Double> rescaleIntercept

Optional. Typical CT: -1024. Safe to omit.

Optional<Double> rescaleSlope

Optional. Typical CT: 1. Safe to omit.

Optional<Double> rows

Image rows. Required on image SOPs. Positive integer. Common: 256, 512, 1024.

Optional<Double> samplesPerPixel

Required on image SOPs. 1 grayscale, 3 color. 3 is treated as color even if photometric is unusual.

String studyInstanceUid

DICOM Study Instance UID for this study. Non-empty string. Must match the study being requested.

Optional<List<StudyAccessRequestedMediaUrl>> mediaUrls

Optional presigned URLs for non-DICOM media (images, PDFs, videos) associated with the study.

String mimeType

MIME type of the media file (e.g., application/pdf, image/jpeg, video/mp4)

String url

Presigned URL to download the media file

formaturi
Optional<String> fileName

Optional display name for the media file

class WebhookEvent: A class that can be one of several variants.union

Union of all Avara webhook event types. Use the ‘type’ field to discriminate between event types. Events: study.access_requested (synchronous), ephemeral.access_requested (synchronous), report.delivered (asynchronous), secondary_capture.access_requested (synchronous), modality_worklist.requested (synchronous), patient_study.enrichment_requested (synchronous soft), clinical_context.enrichment_requested (synchronous soft).

class StudyAccessRequestedEvent:

Webhook event sent when Avara needs presigned URLs for DICOM images. This is a synchronous webhook - you must respond with the URLs within the request timeout.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing study information

String studyId

Avara study ID. Format: stu_{32-hex-chars}

String studyInstanceUid

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

JsonValue; type "study.access_requested"constant"study.access_requested"constant

Event type identifier

class EphemeralAccessRequestedEvent:

Webhook event sent when Avara needs presigned URLs for an ephemeral viewer session. This is a synchronous webhook — you must respond with the URLs within the request timeout. There is no Avara study; use retrievalId (and optional options) to resolve images.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload for an ephemeral viewer session. retrievalId is the customer handle from mint. options is echoed verbatim when present; Avara does not read or edit it.

String retrievalId

Opaque customer handle for this view session. Not an Avara study ID.

minLength1
Optional<Options> options

Optional JSON object echoed verbatim from mint. Avara does not read or edit it. Examples: studyInstanceUids or internal ids for multi-study reads. Not for URLs or manifests.

JsonValue; type "ephemeral.access_requested"constant"ephemeral.access_requested"constant

Event type identifier

class ReportDeliveredEvent:

Webhook event sent when a report is completed. This is an asynchronous notification - respond with a simple acknowledgment.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing report and study information

boolean isCritical

Whether the report was marked critical at sign-off.

String presignedUrl

Presigned URL for PDF download. Time-limited, typically valid for 1 hour.

formaturi
String reportId

Avara report ID. Format: rep_{32-hex-chars}

String studyId

Avara study ID. Format: stu_{32-hex-chars}

String studyInstanceUid

DICOM Study Instance UID

Optional<String> externalPatientId

External patient identifier when available

Optional<String> plainText

Report plain text content (optional). Contains the full report text.

JsonValue; type "report.delivered"constant"report.delivered"constant

Event type identifier

class SecondaryCaptureAccessRequestedEvent:

Webhook event sent when Avara needs presigned UPLOAD URLs for a secondary capture DICOM. This is a synchronous webhook - you must respond with the upload URLs within the request timeout.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing study + (optional) series/SOP information for a secondary capture upload

String studyId

Avara study ID. Format: stu_{32-hex-chars}

String studyInstanceUid

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

Optional<String> seriesInstanceUid

DICOM Series Instance UID generated for the new secondary capture series (when available).

Optional<String> sopInstanceUid

DICOM SOP Instance UID generated for the new secondary capture object (when available).

JsonValue; type "secondary_capture.access_requested"constant"secondary_capture.access_requested"constant

Event type identifier

class ModalityWorklistRequestedEvent:

Webhook event sent when an on-prem modality issues a C-FIND MWL. This is a synchronous webhook - you must respond with authorized + items within the request timeout.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload for a modality worklist (C-FIND MWL) request

String callingAe

Calling AE title from the modality

String clinicId

Clinic UUID that owns the modality / worklist query

formatuuid
String dateEnd

Inclusive worklist window end date (YYYY-MM-DD)

String dateStart

Inclusive worklist window start date (YYYY-MM-DD)

String sourceIp

Source IP observed by Avara for the modality request

Optional<String> modality

Present when the modality C-FIND included a modality filter

JsonValue; type "modality_worklist.requested"constant"modality_worklist.requested"constant

Event type identifier

class PatientStudyEnrichmentRequestedEvent:

Soft synchronous webhook sent after Avara PACS seeds a study so the partner can enrich demographics and report headers. Failures / timeouts / invalid bodies are treated as empty enrichment.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload for soft patient/study enrichment after Avara PACS seeds a study

String clinicId

Clinic UUID

formatuuid
String studyInstanceUid

DICOM Study Instance UID

Optional<String> accessionNumber

Accession number from DICOM when available

Optional<String> patientId

Patient ID from DICOM when available

JsonValue; type "patient_study.enrichment_requested"constant"patient_study.enrichment_requested"constant

Event type identifier

class ClinicalContextEnrichmentRequestedEvent:

Soft synchronous webhook sent when AutoScribe needs clinical context from the partner EHR. Failures / timeouts / invalid bodies are treated as empty enrichment.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload for soft clinical context enrichment when AutoScribe needs EHR context for a study

String clinicId

Clinic UUID

formatuuid
String studyId

Raw study UUID v4 (not branded stu_…)

formatuuid
String studyInstanceUid

DICOM Study Instance UID

Optional<String> externalPatientId

External patient identifier when available

Optional<String> mrn

Medical record number when available

JsonValue; type "clinical_context.enrichment_requested"constant"clinical_context.enrichment_requested"constant

Event type identifier

class UnsafeUnwrapWebhookEvent: A class that can be one of several variants.union

Webhook event sent when Avara needs presigned URLs for an ephemeral viewer session. This is a synchronous webhook — you must respond with the URLs within the request timeout. There is no Avara study; use retrievalId (and optional options) to resolve images.

class EphemeralAccessRequestedEvent:

Webhook event sent when Avara needs presigned URLs for an ephemeral viewer session. This is a synchronous webhook — you must respond with the URLs within the request timeout. There is no Avara study; use retrievalId (and optional options) to resolve images.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload for an ephemeral viewer session. retrievalId is the customer handle from mint. options is echoed verbatim when present; Avara does not read or edit it.

String retrievalId

Opaque customer handle for this view session. Not an Avara study ID.

minLength1
Optional<Options> options

Optional JSON object echoed verbatim from mint. Avara does not read or edit it. Examples: studyInstanceUids or internal ids for multi-study reads. Not for URLs or manifests.

JsonValue; type "ephemeral.access_requested"constant"ephemeral.access_requested"constant

Event type identifier

class StudyAccessRequestedEvent:

Webhook event sent when Avara needs presigned URLs for DICOM images. This is a synchronous webhook - you must respond with the URLs within the request timeout.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing study information

String studyId

Avara study ID. Format: stu_{32-hex-chars}

String studyInstanceUid

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

JsonValue; type "study.access_requested"constant"study.access_requested"constant

Event type identifier

class ReportDeliveredEvent:

Webhook event sent when a report is completed. This is an asynchronous notification - respond with a simple acknowledgment.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing report and study information

boolean isCritical

Whether the report was marked critical at sign-off.

String presignedUrl

Presigned URL for PDF download. Time-limited, typically valid for 1 hour.

formaturi
String reportId

Avara report ID. Format: rep_{32-hex-chars}

String studyId

Avara study ID. Format: stu_{32-hex-chars}

String studyInstanceUid

DICOM Study Instance UID

Optional<String> externalPatientId

External patient identifier when available

Optional<String> plainText

Report plain text content (optional). Contains the full report text.

JsonValue; type "report.delivered"constant"report.delivered"constant

Event type identifier

class SecondaryCaptureAccessRequestedEvent:

Webhook event sent when Avara needs presigned UPLOAD URLs for a secondary capture DICOM. This is a synchronous webhook - you must respond with the upload URLs within the request timeout.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload containing study + (optional) series/SOP information for a secondary capture upload

String studyId

Avara study ID. Format: stu_{32-hex-chars}

String studyInstanceUid

DICOM Study Instance UID. Must be a valid DICOM UID format (e.g., ‘1.2.840.10008.5.1.4.1.1.2’)

Optional<String> seriesInstanceUid

DICOM Series Instance UID generated for the new secondary capture series (when available).

Optional<String> sopInstanceUid

DICOM SOP Instance UID generated for the new secondary capture object (when available).

JsonValue; type "secondary_capture.access_requested"constant"secondary_capture.access_requested"constant

Event type identifier

class ModalityWorklistRequestedEvent:

Webhook event sent when an on-prem modality issues a C-FIND MWL. This is a synchronous webhook - you must respond with authorized + items within the request timeout.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload for a modality worklist (C-FIND MWL) request

String callingAe

Calling AE title from the modality

String clinicId

Clinic UUID that owns the modality / worklist query

formatuuid
String dateEnd

Inclusive worklist window end date (YYYY-MM-DD)

String dateStart

Inclusive worklist window start date (YYYY-MM-DD)

String sourceIp

Source IP observed by Avara for the modality request

Optional<String> modality

Present when the modality C-FIND included a modality filter

JsonValue; type "modality_worklist.requested"constant"modality_worklist.requested"constant

Event type identifier

class PatientStudyEnrichmentRequestedEvent:

Soft synchronous webhook sent after Avara PACS seeds a study so the partner can enrich demographics and report headers. Failures / timeouts / invalid bodies are treated as empty enrichment.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload for soft patient/study enrichment after Avara PACS seeds a study

String clinicId

Clinic UUID

formatuuid
String studyInstanceUid

DICOM Study Instance UID

Optional<String> accessionNumber

Accession number from DICOM when available

Optional<String> patientId

Patient ID from DICOM when available

JsonValue; type "patient_study.enrichment_requested"constant"patient_study.enrichment_requested"constant

Event type identifier

class ClinicalContextEnrichmentRequestedEvent:

Soft synchronous webhook sent when AutoScribe needs clinical context from the partner EHR. Failures / timeouts / invalid bodies are treated as empty enrichment.

String id

Unique webhook event ID. Format: whe_{32-hex-chars}

Event payload for soft clinical context enrichment when AutoScribe needs EHR context for a study

String clinicId

Clinic UUID

formatuuid
String studyId

Raw study UUID v4 (not branded stu_…)

formatuuid
String studyInstanceUid

DICOM Study Instance UID

Optional<String> externalPatientId

External patient identifier when available

Optional<String> mrn

Medical record number when available

JsonValue; type "clinical_context.enrichment_requested"constant"clinical_context.enrichment_requested"constant

Event type identifier