123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563 |
- class BaseRequest {
- BaseRequest();
- factory BaseRequest.fromJson(Map<String, dynamic> map) {
- return BaseRequest(
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- return map;
- }
- }
- class TokenRequest extends BaseRequest{
- String? token;
- TokenRequest({
- this.token,
- }) : super(
- );
- factory TokenRequest.fromJson(Map<String, dynamic> map) {
- return TokenRequest(
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(token != null)
- map['Token'] = token;
- return map;
- }
- }
- enum DiagnosisConclusionEnum {
- NotRequired,
- InProcess,
- Unrecognized,
- NoObviousLesion,
- Benign,
- Malignant,
- BenignAndMalignant,
- }
- enum DiagnosisOrganEnum {
- Null,
- placeHolder_1,
- Breast,
- Abdomen,
- Liver,
- Cholecyst,
- Kidney,
- Spleen,
- CarotidArtery,
- }
- class AIDiagnosisRect {
- int right;
- int bottom;
- int left;
- int top;
- int width;
- int height;
- AIDiagnosisRect({
- this.right = 0,
- this.bottom = 0,
- this.left = 0,
- this.top = 0,
- this.width = 0,
- this.height = 0,
- });
- factory AIDiagnosisRect.fromJson(Map<String, dynamic> map) {
- return AIDiagnosisRect(
- right: map['Right'],
- bottom: map['Bottom'],
- left: map['Left'],
- top: map['Top'],
- width: map['Width'],
- height: map['Height'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- map['Right'] = right;
- map['Bottom'] = bottom;
- map['Left'] = left;
- map['Top'] = top;
- map['Width'] = width;
- map['Height'] = height;
- return map;
- }
- }
- class AIDiagnosisPoint2D {
- int x;
- int y;
- AIDiagnosisPoint2D({
- this.x = 0,
- this.y = 0,
- });
- factory AIDiagnosisPoint2D.fromJson(Map<String, dynamic> map) {
- return AIDiagnosisPoint2D(
- x: map['X'],
- y: map['Y'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- map['X'] = x;
- map['Y'] = y;
- return map;
- }
- }
- enum DiagnosisDescriptionEnum {
- Shape,
- Orientation,
- EchoPattern,
- LesionBoundary,
- Margin,
- Calcification,
- LesionSize,
- }
- class AIDiagnosisDescription {
- DiagnosisDescriptionEnum type;
- String? value;
- AIDiagnosisDescription({
- this.type = DiagnosisDescriptionEnum.Shape,
- this.value,
- });
- factory AIDiagnosisDescription.fromJson(Map<String, dynamic> map) {
- return AIDiagnosisDescription(
- type: DiagnosisDescriptionEnum.values.firstWhere((e) => e.index == map['Type']),
- value: map['Value'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- map['Type'] = type.index;
- if(value != null)
- map['Value'] = value;
- return map;
- }
- }
- class AIDetectedObject {
- int label;
- double confidence;
- AIDiagnosisRect? boundingBox;
- List<AIDiagnosisPoint2D >? contours;
- List<AIDiagnosisDescription >? descriptions;
- AIDetectedObject({
- this.label = 0,
- this.confidence = 0,
- this.boundingBox,
- this.contours,
- this.descriptions,
- });
- factory AIDetectedObject.fromJson(Map<String, dynamic> map) {
- return AIDetectedObject(
- label: map['Label'],
- confidence: double.parse(map['Confidence'].toString()),
- boundingBox: map['BoundingBox'] != null ? AIDiagnosisRect.fromJson(map['BoundingBox']) : null,
- contours: map['Contours'] != null ? (map['Contours'] as List).map((e)=>AIDiagnosisPoint2D.fromJson(e as Map<String,dynamic>)).toList() : null,
- descriptions: map['Descriptions'] != null ? (map['Descriptions'] as List).map((e)=>AIDiagnosisDescription.fromJson(e as Map<String,dynamic>)).toList() : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- map['Label'] = label;
- map['Confidence'] = confidence;
- if(boundingBox != null)
- map['BoundingBox'] = boundingBox;
- if(contours != null)
- map['Contours'] = contours;
- if(descriptions != null)
- map['Descriptions'] = descriptions;
- return map;
- }
- }
- class AIDiagnosisResultPerOrgan {
- DiagnosisOrganEnum organ;
- AIDiagnosisRect? organBoundBox;
- List<AIDiagnosisPoint2D >? organContours;
- List<AIDiagnosisDescription >? organDescriptions;
- List<AIDetectedObject >? detectedObjects;
- AIDiagnosisResultPerOrgan({
- this.organ = DiagnosisOrganEnum.Null,
- this.organBoundBox,
- this.organContours,
- this.organDescriptions,
- this.detectedObjects,
- });
- factory AIDiagnosisResultPerOrgan.fromJson(Map<String, dynamic> map) {
- return AIDiagnosisResultPerOrgan(
- organ: DiagnosisOrganEnum.values.firstWhere((e) => e.index == map['Organ']),
- organBoundBox: map['OrganBoundBox'] != null ? AIDiagnosisRect.fromJson(map['OrganBoundBox']) : null,
- organContours: map['OrganContours'] != null ? (map['OrganContours'] as List).map((e)=>AIDiagnosisPoint2D.fromJson(e as Map<String,dynamic>)).toList() : null,
- organDescriptions: map['OrganDescriptions'] != null ? (map['OrganDescriptions'] as List).map((e)=>AIDiagnosisDescription.fromJson(e as Map<String,dynamic>)).toList() : null,
- detectedObjects: map['DetectedObjects'] != null ? (map['DetectedObjects'] as List).map((e)=>AIDetectedObject.fromJson(e as Map<String,dynamic>)).toList() : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- map['Organ'] = organ.index;
- if(organBoundBox != null)
- map['OrganBoundBox'] = organBoundBox;
- if(organContours != null)
- map['OrganContours'] = organContours;
- if(organDescriptions != null)
- map['OrganDescriptions'] = organDescriptions;
- if(detectedObjects != null)
- map['DetectedObjects'] = detectedObjects;
- return map;
- }
- }
- class AIDiagnosisPerImageDTO {
- int index;
- double priorityScore;
- List<AIDiagnosisResultPerOrgan >? diagResultsForEachOrgan;
- AIDiagnosisPerImageDTO({
- this.index = 0,
- this.priorityScore = 0,
- this.diagResultsForEachOrgan,
- });
- factory AIDiagnosisPerImageDTO.fromJson(Map<String, dynamic> map) {
- return AIDiagnosisPerImageDTO(
- index: map['Index'],
- priorityScore: double.parse(map['PriorityScore'].toString()),
- diagResultsForEachOrgan: map['DiagResultsForEachOrgan'] != null ? (map['DiagResultsForEachOrgan'] as List).map((e)=>AIDiagnosisResultPerOrgan.fromJson(e as Map<String,dynamic>)).toList() : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- map['Index'] = index;
- map['PriorityScore'] = priorityScore;
- if(diagResultsForEachOrgan != null)
- map['DiagResultsForEachOrgan'] = diagResultsForEachOrgan;
- return map;
- }
- }
- enum CarotidScanTypeEnum {
- CarotidLeft,
- CarotidRight,
- }
- enum CarotidScanDirectionEnum {
- TopToBottom,
- BottomToTop,
- }
- enum CarotidAIImageTypeEnum {
- Base,
- YShape,
- Plaque,
- }
- class MeasureImageFileDTO {
- CarotidAIImageTypeEnum imageType;
- String? imageFile;
- MeasureImageFileDTO({
- this.imageType = CarotidAIImageTypeEnum.Base,
- this.imageFile,
- });
- factory MeasureImageFileDTO.fromJson(Map<String, dynamic> map) {
- return MeasureImageFileDTO(
- imageType: CarotidAIImageTypeEnum.values.firstWhere((e) => e.index == map['ImageType']),
- imageFile: map['ImageFile'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- map['ImageType'] = imageType.index;
- if(imageFile != null)
- map['ImageFile'] = imageFile;
- return map;
- }
- }
- class CarotidResultDTO {
- CarotidScanTypeEnum carotidScanType;
- CarotidScanDirectionEnum carotidScanDirection;
- String? surfaceFile;
- String? mdlFile;
- List<MeasureImageFileDTO >? measureImageFiles;
- String? measureResult;
- List<String >? surfaceImageList;
- CarotidResultDTO({
- this.carotidScanType = CarotidScanTypeEnum.CarotidLeft,
- this.carotidScanDirection = CarotidScanDirectionEnum.TopToBottom,
- this.surfaceFile,
- this.mdlFile,
- this.measureImageFiles,
- this.measureResult,
- this.surfaceImageList,
- });
- factory CarotidResultDTO.fromJson(Map<String, dynamic> map) {
- return CarotidResultDTO(
- carotidScanType: CarotidScanTypeEnum.values.firstWhere((e) => e.index == map['CarotidScanType']),
- carotidScanDirection: CarotidScanDirectionEnum.values.firstWhere((e) => e.index == map['CarotidScanDirection']),
- surfaceFile: map['SurfaceFile'],
- mdlFile: map['MdlFile'],
- measureImageFiles: map['MeasureImageFiles'] != null ? (map['MeasureImageFiles'] as List).map((e)=>MeasureImageFileDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- measureResult: map['MeasureResult'],
- surfaceImageList: map['SurfaceImageList'] != null ? map['SurfaceImageList'].cast<String>().toList() : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- map['CarotidScanType'] = carotidScanType.index;
- map['CarotidScanDirection'] = carotidScanDirection.index;
- if(surfaceFile != null)
- map['SurfaceFile'] = surfaceFile;
- if(mdlFile != null)
- map['MdlFile'] = mdlFile;
- if(measureImageFiles != null)
- map['MeasureImageFiles'] = measureImageFiles;
- if(measureResult != null)
- map['MeasureResult'] = measureResult;
- if(surfaceImageList != null)
- map['SurfaceImageList'] = surfaceImageList;
- return map;
- }
- }
- class DiagnosisImageResult {
- DiagnosisConclusionEnum diagnosisConclusion;
- List<AIDiagnosisPerImageDTO >? diagnosisResult;
- List<DiagnosisOrganEnum >? diagnosisOrgans;
- CarotidResultDTO? carotidResult;
- DiagnosisImageResult({
- this.diagnosisConclusion = DiagnosisConclusionEnum.NotRequired,
- this.diagnosisResult,
- this.diagnosisOrgans,
- this.carotidResult,
- });
- factory DiagnosisImageResult.fromJson(Map<String, dynamic> map) {
- return DiagnosisImageResult(
- diagnosisConclusion: DiagnosisConclusionEnum.values.firstWhere((e) => e.index == map['DiagnosisConclusion']),
- diagnosisResult: map['DiagnosisResult'] != null ? (map['DiagnosisResult'] as List).map((e)=>AIDiagnosisPerImageDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- diagnosisOrgans: map['DiagnosisOrgans'] != null ? (map['DiagnosisOrgans'] as List).map((e)=>DiagnosisOrganEnum.values.firstWhere((i) => i.index == e)).toList() : null,
- carotidResult: map['CarotidResult'] != null ? CarotidResultDTO.fromJson(map['CarotidResult']) : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- map['DiagnosisConclusion'] = diagnosisConclusion.index;
- if(diagnosisResult != null)
- map['DiagnosisResult'] = diagnosisResult;
- if(diagnosisOrgans != null)
- map['DiagnosisOrgans'] = diagnosisOrgans;
- if(carotidResult != null)
- map['CarotidResult'] = carotidResult;
- return map;
- }
- }
- class DiagnosisImageRequest extends TokenRequest{
- String? fileToken;
- DiagnosisImageRequest({
- this.fileToken,
- String? token,
- }) : super(
- token: token,
- );
- factory DiagnosisImageRequest.fromJson(Map<String, dynamic> map) {
- return DiagnosisImageRequest(
- fileToken: map['FileToken'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(fileToken != null)
- map['FileToken'] = fileToken;
- return map;
- }
- }
- enum RemedicalFileDataTypeEnum {
- VinnoVidSingle,
- ThirdVidSingle,
- VinnoVidMovie,
- ThirdVidMovie,
- Image,
- }
- class DiagnosisPerImageDTO extends AIDiagnosisPerImageDTO{
- String? remedicalCode;
- RemedicalFileDataTypeEnum dataType;
- double pixel;
- String? remedicalFileToken;
- String? aIFileToken;
- DiagnosisPerImageDTO({
- this.remedicalCode,
- this.dataType = RemedicalFileDataTypeEnum.VinnoVidSingle,
- this.pixel = 0,
- this.remedicalFileToken,
- this.aIFileToken,
- int index = 0,
- double priorityScore = 0,
- List<AIDiagnosisResultPerOrgan >? diagResultsForEachOrgan,
- }) : super(
- index: index,
- priorityScore: priorityScore,
- diagResultsForEachOrgan: diagResultsForEachOrgan,
- );
- factory DiagnosisPerImageDTO.fromJson(Map<String, dynamic> map) {
- return DiagnosisPerImageDTO(
- remedicalCode: map['RemedicalCode'],
- dataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['DataType']),
- pixel: double.parse(map['Pixel'].toString()),
- remedicalFileToken: map['RemedicalFileToken'],
- aIFileToken: map['AIFileToken'],
- index: map['Index'],
- priorityScore: double.parse(map['PriorityScore'].toString()),
- diagResultsForEachOrgan: map['DiagResultsForEachOrgan'] != null ? (map['DiagResultsForEachOrgan'] as List).map((e)=>AIDiagnosisResultPerOrgan.fromJson(e as Map<String,dynamic>)).toList() : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(remedicalCode != null)
- map['RemedicalCode'] = remedicalCode;
- map['DataType'] = dataType.index;
- map['Pixel'] = pixel;
- if(remedicalFileToken != null)
- map['RemedicalFileToken'] = remedicalFileToken;
- if(aIFileToken != null)
- map['AIFileToken'] = aIFileToken;
- return map;
- }
- }
- class DiagnosisReportResult {
- DiagnosisConclusionEnum diagnosisConclusion;
- List<DiagnosisPerImageDTO >? diagnosisResult;
- DiagnosisReportResult({
- this.diagnosisConclusion = DiagnosisConclusionEnum.NotRequired,
- this.diagnosisResult,
- });
- factory DiagnosisReportResult.fromJson(Map<String, dynamic> map) {
- return DiagnosisReportResult(
- diagnosisConclusion: DiagnosisConclusionEnum.values.firstWhere((e) => e.index == map['DiagnosisConclusion']),
- diagnosisResult: map['DiagnosisResult'] != null ? (map['DiagnosisResult'] as List).map((e)=>DiagnosisPerImageDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- map['DiagnosisConclusion'] = diagnosisConclusion.index;
- if(diagnosisResult != null)
- map['DiagnosisResult'] = diagnosisResult;
- return map;
- }
- }
- class DiagnosisRemicalDTO {
- String? remedicalCode;
- RemedicalFileDataTypeEnum dataType;
- String? fileToken;
- List<AIDiagnosisPerImageDTO >? diagnosisResult;
- DiagnosisRemicalDTO({
- this.remedicalCode,
- this.dataType = RemedicalFileDataTypeEnum.VinnoVidSingle,
- this.fileToken,
- this.diagnosisResult,
- });
- factory DiagnosisRemicalDTO.fromJson(Map<String, dynamic> map) {
- return DiagnosisRemicalDTO(
- remedicalCode: map['RemedicalCode'],
- dataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['DataType']),
- fileToken: map['FileToken'],
- diagnosisResult: map['DiagnosisResult'] != null ? (map['DiagnosisResult'] as List).map((e)=>AIDiagnosisPerImageDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(remedicalCode != null)
- map['RemedicalCode'] = remedicalCode;
- map['DataType'] = dataType.index;
- if(fileToken != null)
- map['FileToken'] = fileToken;
- if(diagnosisResult != null)
- map['DiagnosisResult'] = diagnosisResult;
- return map;
- }
- }
- class DiagnosisReportRequest extends TokenRequest{
- DiagnosisOrganEnum organ;
- List<DiagnosisRemicalDTO >? remedicalList;
- DiagnosisReportRequest({
- this.organ = DiagnosisOrganEnum.Null,
- this.remedicalList,
- String? token,
- }) : super(
- token: token,
- );
- factory DiagnosisReportRequest.fromJson(Map<String, dynamic> map) {
- return DiagnosisReportRequest(
- organ: DiagnosisOrganEnum.values.firstWhere((e) => e.index == map['Organ']),
- remedicalList: map['RemedicalList'] != null ? (map['RemedicalList'] as List).map((e)=>DiagnosisRemicalDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- map['Organ'] = organ.index;
- if(remedicalList != null)
- map['RemedicalList'] = remedicalList;
- return map;
- }
- }
|