public IActionResult CreateStudy([FromBody] StudyResource studyResource) { Guid studyId = Guid.NewGuid(); // TODO: Clean up null checking to not duplicate checks Guid facilityId = studyResource.Facility != null ? studyResource.Facility.Id : Guid.Empty; string facilityName = studyResource.Facility != null ? studyResource.Facility.Name : string.Empty; Guid procedureId = studyResource.Procedure != null ? studyResource.Procedure.Id : Guid.Empty; string procedureName = studyResource.Procedure != null ? studyResource.Procedure.Name : string.Empty; Guid imageSetId = studyResource.ImageSet != null ? studyResource.ImageSet.Id : Guid.Empty; string dicomInstanceId = studyResource.ImageSet != null ? studyResource.ImageSet.DicomInstanceId : string.Empty; int totalImages = studyResource.ImageSet != null ? studyResource.ImageSet.TotalImages : 0; string patientFirstName = studyResource.Patient != null ? studyResource.Patient.FirstName : string.Empty; string patientLastName = studyResource.Patient != null ? studyResource.Patient.LastName : string.Empty; string patientGender = studyResource.Patient != null ? studyResource.Patient.Gender : string.Empty; string patientMrn = studyResource.Patient != null ? studyResource.Patient.Mrn : string.Empty; DateTime?patientDateOfBirth = studyResource.Patient != null ? studyResource.Patient.DateOfBirth : null; string referringPhysicianFirstName = studyResource.ReferringPhysician != null ? studyResource.ReferringPhysician.FirstName : string.Empty; string referringPhysicianLastName = studyResource.ReferringPhysician != null ? studyResource.ReferringPhysician.LastName : string.Empty; var command = new CreateStudyCommand(studyId, facilityId, facilityName, studyResource.AccessionNumber, procedureId, procedureName, studyResource.ProcedureDate, studyResource.Reason, imageSetId, dicomInstanceId, totalImages, totalImages, patientFirstName, patientLastName, patientGender, patientDateOfBirth, patientMrn, referringPhysicianFirstName, referringPhysicianLastName); Task.Run(() => _commandBus.Send(command)); return(Ok(studyId.ToString() + " created")); }
public void Initialize(ReconcileStudyProcessorContext context, bool complete) { Platform.CheckForNullReference(context, "context"); Context = context; ReconcileCreateStudyDescriptor desc = XmlUtils.Deserialize<ReconcileCreateStudyDescriptor>(Context.History.ChangeDescription); if (Context.History.DestStudyStorageKey == null) { CreateStudyCommand command = new CreateStudyCommand(Context, desc.Commands, complete); AddCommand(command); } else { MergeStudyCommand command = new MergeStudyCommand(Context, false, desc.Commands, complete); AddCommand(command); } if (complete) { AddCleanupCommands(); } }