123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435 |
- import 'liveConsultation.m.dart';
- 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,
- ThyroidEchoPattern,
- ThyroidShape,
- ThyroidMargin,
- ThyroidEchogenicFoci,
- LiverShape,
- LiverBoundary,
- LiverEchoTexture,
- }
- 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;
- }
- }
- 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;
- String? diskPath;
- String? relationCode;
- DiagnosisImageRequest({
- this.fileToken,
- this.diskPath,
- this.relationCode,
- String? token,
- }) : super(
- token: token,
- );
- factory DiagnosisImageRequest.fromJson(Map<String, dynamic> map) {
- return DiagnosisImageRequest(
- fileToken: map['FileToken'],
- diskPath: map['DiskPath'],
- relationCode: map['RelationCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(fileToken != null)
- map['FileToken'] = fileToken;
- if(diskPath != null)
- map['DiskPath'] = diskPath;
- if(relationCode != null)
- map['RelationCode'] = relationCode;
- return map;
- }
- }
- 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 DiagnosisRemicalDTO {
- String? remedicalCode;
- RemedicalFileDataTypeEnum dataType;
- String? fileToken;
- List<AIDiagnosisPerImageDTO >? diagnosisResult;
- CarotidResultDTO? carotidResult;
- DiagnosisRemicalDTO({
- this.remedicalCode,
- this.dataType = RemedicalFileDataTypeEnum.VinnoVidSingle,
- this.fileToken,
- this.diagnosisResult,
- this.carotidResult,
- });
- 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,
- carotidResult: map['CarotidResult'] != null ? CarotidResultDTO.fromJson(map['CarotidResult']) : 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;
- if(carotidResult != null)
- map['CarotidResult'] = carotidResult;
- return map;
- }
- }
- class DiagnosisReportResult {
- DiagnosisConclusionEnum diagnosisConclusion;
- List<DiagnosisPerImageDTO >? diagnosisResult;
- List<DiagnosisRemicalDTO >? carotidResult;
- DiagnosisReportResult({
- this.diagnosisConclusion = DiagnosisConclusionEnum.NotRequired,
- this.diagnosisResult,
- this.carotidResult,
- });
- 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,
- carotidResult: map['CarotidResult'] != null ? (map['CarotidResult'] as List).map((e)=>DiagnosisRemicalDTO.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;
- if(carotidResult != null)
- map['CarotidResult'] = carotidResult;
- 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;
- }
- }
|