import { RegisterWorkResponseData } from '../../API/patient/workActions'; import { Task } from '../work'; import { Series } from '../series'; import { XImage } from '../xImage'; import { dview } from '../dview'; const mapToTask = (data: RegisterWorkResponseData): Task => { console.log(`mapToTask--data:${JSON.stringify(data)}`); return { StudyInstanceUID: data.study_instance_uid, StudyID: data.study_id, SpecificCharacterSet: data.specific_character_set, AccessionNumber: data.accession_number, PatientID: data.patient_id, PatientName: data.patient_name, DisplayPatientName: data.patient_name, PatientSize: data.patient_size, PatientAge: data.patient_age, PatientSex: data.patient_sex, AdmittingTime: data.admitting_time || '', RegSource: data.reg_source, StudyStatus: data.study_status, RequestedProcedureID: '', PerformedProtocolCodeValue: '', PerformedProtocolCodeMeaning: '', PerformedProcedureStepID: '', StudyDescription: data.study_description, StudyStartDatetime: data.study_start_datetime || '', ScheduledProcedureStepStartDate: data.scheduled_procedure_step_start_date || '', StudyLock: data.study_lock, OperatorID: data.operator_name, Modality: data.modality, Views: data.series.flatMap( (series: Series) => series.images.map( (image: XImage) => ({ view_id: image.view_id, series_instance_uid: series.series_instance_uid, study_instance_uid: data.study_instance_uid, study_id: data.study_id, procedure_id: series.procedure_id, view_description: image.view_description, view_type: '', PrimarySopUID: image.sop_instance_uid, expose_status: image.expose_status, judged_status:image.judged_status, image_file_path: image.image_file_path, image_file: image.image_file_path, // Assuming image_file is the same as image_file thumbnail_file: image.thumbnail_file || '', // Assuming thumbnail_file is optional }) satisfies dview ) as dview[] ), Thickness: data.thickness, PatientType: data.patient_type, StudyType: data.study_type, QRCode: '', IsExported: data.is_exported, IsEdited: data.is_edited, WorkRef: '', IsAppended: data.is_appended, CreationTime: '', MappedStatus: data.mapped_status, IsDelete: false, }; }; export default mapToTask;