WD: vida plus episode changes
parent
f3876e9ef1
commit
6392620df7
@ -0,0 +1,3 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M2.45416 1.79596C4.93831 0.272187 7.16683 0.879476 8.51311 1.89051C8.73459 2.05683 8.8866 2.17067 8.99975 2.24754C9.11292 2.17067 9.26492 2.05683 9.4864 1.89051C10.8327 0.879476 13.0612 0.272187 15.5454 1.79596C17.2631 2.8496 18.2296 5.0505 17.8904 7.57926C17.5496 10.1202 15.905 12.9941 12.422 15.5721C11.2125 16.4678 10.3248 17.1253 8.99976 17.1253C7.67471 17.1253 6.78702 16.4678 5.57754 15.5721C2.09453 12.9941 0.449878 10.1202 0.109088 7.57926C-0.230066 5.0505 0.73646 2.8496 2.45416 1.79596Z" fill="#459BF1"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 628 B |
@ -0,0 +1,92 @@
|
||||
class FavoriteDiseaseDetails {
|
||||
String? categoryCode;
|
||||
int? categoryId;
|
||||
String? chapterCode;
|
||||
String? codeRange;
|
||||
String? createdBy;
|
||||
String? diseaseType;
|
||||
String? diseases;
|
||||
String? diseasesCode;
|
||||
int? diseasesId;
|
||||
int? favoritesId;
|
||||
int? hospitalGroupId;
|
||||
int? hospitalId;
|
||||
int? icdId;
|
||||
String? icdSubVersion;
|
||||
String? icdType;
|
||||
String? icdVersion;
|
||||
bool? isDeleted;
|
||||
String? parentDiseasesCode;
|
||||
String? problemCode;
|
||||
String? problemDescription;
|
||||
int? problemMasterId;
|
||||
int? problemMasterRevisionId;
|
||||
String? problemName;
|
||||
String? problemType;
|
||||
String? rowVersion;
|
||||
String? sectionCode;
|
||||
int? specificationId;
|
||||
|
||||
FavoriteDiseaseDetails.fromJson(Map<String, dynamic> json) {
|
||||
categoryCode = json['CategoryCode'];
|
||||
categoryId = json['CategoryId'];
|
||||
chapterCode = json['ChapterCode'];
|
||||
codeRange = json['CodeRange'];
|
||||
createdBy = json['CreatedBy'];
|
||||
diseaseType = json['DiseaseType'];
|
||||
diseases = json['Diseases'];
|
||||
diseasesCode = json['DiseasesCode'];
|
||||
diseasesId = json['DiseasesId'];
|
||||
favoritesId = json['FavoritesId'];
|
||||
hospitalGroupId = json['HospitalGroupID'];
|
||||
hospitalId = json['HospitalID'];
|
||||
icdId = json['IcdId'];
|
||||
icdSubVersion = json['IcdSubVersion'];
|
||||
icdType = json['IcdType'];
|
||||
icdVersion = json['IcdVersion'];
|
||||
isDeleted = json['IsDeleted'];
|
||||
parentDiseasesCode = json['ParentDiseasesCode'];
|
||||
problemCode = json['ProblemCode'];
|
||||
problemDescription = json['ProblemDescription'];
|
||||
problemMasterId = json['ProblemMasterID'];
|
||||
problemMasterRevisionId = json['ProblemMasterRevisionID'];
|
||||
problemName = json['ProblemName'];
|
||||
problemType = json['ProblemType'];
|
||||
rowVersion = json['RowVersion'];
|
||||
sectionCode = json['SectionCode'];
|
||||
specificationId = json['SpecificationId'];
|
||||
}
|
||||
|
||||
// toJson method
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'CategoryCode': categoryCode,
|
||||
'CategoryId': categoryId,
|
||||
'ChapterCode': chapterCode,
|
||||
'CodeRange': codeRange,
|
||||
'CreatedBy': createdBy,
|
||||
'DiseaseType': diseaseType,
|
||||
'Diseases': diseases,
|
||||
'DiseasesCode': diseasesCode,
|
||||
'DiseasesId': diseasesId,
|
||||
'FavoritesId': favoritesId,
|
||||
'HospitalGroupID': hospitalGroupId,
|
||||
'HospitalID': hospitalId,
|
||||
'IcdId': icdId,
|
||||
'IcdSubVersion': icdSubVersion,
|
||||
'IcdType': icdType,
|
||||
'IcdVersion': icdVersion,
|
||||
'IsDeleted': isDeleted,
|
||||
'ParentDiseasesCode': parentDiseasesCode,
|
||||
'ProblemCode': problemCode,
|
||||
'ProblemDescription': problemDescription,
|
||||
'ProblemMasterID': problemMasterId,
|
||||
'ProblemMasterRevisionID': problemMasterRevisionId,
|
||||
'ProblemName': problemName,
|
||||
'ProblemType': problemType,
|
||||
'RowVersion': rowVersion,
|
||||
'SectionCode': sectionCode,
|
||||
'SpecificationId': specificationId,
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
class AuditDiagnosis {
|
||||
String? approvedBy;
|
||||
String? approvedOn;
|
||||
String? createdBy;
|
||||
String? createdOn;
|
||||
String? deletedBy;
|
||||
String? deletedOn;
|
||||
String? deletedRemarks;
|
||||
String? diagnosisType;
|
||||
bool? isEventIdentifiedExternally;
|
||||
bool? isResolved;
|
||||
String? modifiedBy;
|
||||
String? modifiedOn;
|
||||
int? patientId;
|
||||
int? patientProblemRevisionId;
|
||||
String? remarks;
|
||||
String? status;
|
||||
|
||||
AuditDiagnosis.fromJson(Map<String, dynamic> json) {
|
||||
approvedBy = json['approvedBy'];
|
||||
approvedOn = json['approvedOn'];
|
||||
createdBy = json['createdBy'];
|
||||
createdOn = json['createdOn'];
|
||||
deletedBy = json['deletedBy'];
|
||||
deletedOn = json['deletedOn'];
|
||||
deletedRemarks = json['deletedRemarks'];
|
||||
diagnosisType = json['diagnosisType'];
|
||||
isEventIdentifiedExternally = json['isEventIdentifiedExternally'];
|
||||
isResolved = json['isResolved'];
|
||||
modifiedBy = json['modifiedBy'];
|
||||
modifiedOn = json['modifiedOn'];
|
||||
patientId = json['patientId'];
|
||||
patientProblemRevisionId = json['patientProblemRevisionId'];
|
||||
remarks = json['remarks'];
|
||||
status = json['status'];
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
class DiagnosisType {
|
||||
String? diagnosisType;
|
||||
String? name;
|
||||
|
||||
|
||||
DiagnosisType.fromJson(Map<String, dynamic> json) {
|
||||
diagnosisType = json['diagnosisType'] ?? '';
|
||||
name = json['name'] ?? '';
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,190 @@
|
||||
class PatientPreviousDiagnosis {
|
||||
bool? active;
|
||||
int? admissionId;
|
||||
int? admissionRequestId;
|
||||
int? appointmentId;
|
||||
String? approvedBy;
|
||||
String? approvedOn;
|
||||
int? assessmentId;
|
||||
int? chiefComplainId;
|
||||
int? clinicGroupId;
|
||||
int? clinicId;
|
||||
String? condition;
|
||||
String? createdBy;
|
||||
String? createdOn;
|
||||
String? deletedBy;
|
||||
String? deletedByDoctorName;
|
||||
String? deletedOn;
|
||||
String? deletedRemarks;
|
||||
String? diagnosisType;
|
||||
int? doctorId;
|
||||
int? episodeId;
|
||||
int? hospitalGroupId;
|
||||
int? hospitalId;
|
||||
dynamic icdCodeDetailsDto;
|
||||
String? icdSubVersion;
|
||||
String? icdType;
|
||||
dynamic icdVersion;
|
||||
String? location;
|
||||
String? loginUserId;
|
||||
String? modifiedBy;
|
||||
String? modifiedOn;
|
||||
String? module;
|
||||
String? parentLocation;
|
||||
int? patientId;
|
||||
dynamic patientProblemChangeHistories;
|
||||
int? patientProblemId;
|
||||
int? patientProblemRevisionId;
|
||||
int? pomrId;
|
||||
bool? previousProblem;
|
||||
int? problemId;
|
||||
String? problemName;
|
||||
String? remarks;
|
||||
bool? resolved;
|
||||
String? selectedCategoryCode;
|
||||
String? selectedChapterCode;
|
||||
String? selectedDisease;
|
||||
String? selectedIcdCode;
|
||||
String? selectedSectionCode;
|
||||
String? status;
|
||||
List<VisitWisePatientDiagnosis>? visitWisePatientDiagnoses;
|
||||
bool? visitWiseSelected;
|
||||
|
||||
PatientPreviousDiagnosis.fromJson(Map<String, dynamic> json) {
|
||||
active = json['active'];
|
||||
admissionId = json['admissionId'];
|
||||
admissionRequestId = json['admissionRequestId'];
|
||||
appointmentId = json['appointmentId'];
|
||||
approvedBy = json['approvedBy'];
|
||||
approvedOn = json['approvedOn'];
|
||||
assessmentId = json['assessmentId'];
|
||||
chiefComplainId = json['chiefComplainId'];
|
||||
clinicGroupId = json['clinicGroupId'];
|
||||
clinicId = json['clinicId'];
|
||||
condition = json['condition'];
|
||||
createdBy = json['createdBy'];
|
||||
createdOn = json['createdOn'];
|
||||
deletedBy = json['deletedBy'];
|
||||
deletedByDoctorName = json['deletedByDoctorName'];
|
||||
deletedOn = json['deletedOn'];
|
||||
deletedRemarks = json['deletedRemarks'];
|
||||
diagnosisType = json['diagnosisType'];
|
||||
doctorId = json['doctorId'];
|
||||
episodeId = json['episodeId'];
|
||||
hospitalGroupId = json['hospitalGroupId'];
|
||||
hospitalId = json['hospitalId'];
|
||||
icdCodeDetailsDto = json['icdCodeDetailsDto'];
|
||||
icdSubVersion = json['icdSubVersion'];
|
||||
icdType = json['icdType'];
|
||||
icdVersion = json['icdVersion'];
|
||||
location = json['location'];
|
||||
loginUserId = json['loginUserId'];
|
||||
modifiedBy = json['modifiedBy'];
|
||||
modifiedOn = json['modifiedOn'];
|
||||
module = json['module'];
|
||||
parentLocation = json['parentLocation'];
|
||||
patientId = json['patientId'];
|
||||
patientProblemChangeHistories = json['patientProblemChangeHistories'];
|
||||
patientProblemId = json['patientProblemId'];
|
||||
patientProblemRevisionId = json['patientProblemRevisionId'];
|
||||
pomrId = json['pomrId'];
|
||||
previousProblem = json['previousProblem'];
|
||||
problemId = json['problemId'];
|
||||
problemName = json['problemName'];
|
||||
remarks = json['remarks'];
|
||||
resolved = json['resolved'];
|
||||
selectedCategoryCode = json['selectedCategoryCode'];
|
||||
selectedChapterCode = json['selectedChapterCode'];
|
||||
selectedDisease = json['selectedDisease'];
|
||||
selectedIcdCode = json['selectedIcdCode'];
|
||||
selectedSectionCode = json['selectedSectionCode'];
|
||||
status = json['status'];
|
||||
visitWiseSelected = json['visitWiseSelected'];
|
||||
if (json['visitWisePatientDiagnoses'] != null) {
|
||||
visitWisePatientDiagnoses = [];
|
||||
json['visitWisePatientDiagnoses'].forEach((v) {
|
||||
visitWisePatientDiagnoses!.add(VisitWisePatientDiagnosis.fromJson(v));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class VisitWisePatientDiagnosis {
|
||||
bool? active;
|
||||
int? admissionId;
|
||||
int? appointmentId;
|
||||
String? approvedBy;
|
||||
String? approvedOn;
|
||||
int? assessmentId;
|
||||
int? clinicId;
|
||||
String? condition;
|
||||
String? createdBy;
|
||||
String? createdOn;
|
||||
String? deletedBy;
|
||||
String? deletedOn;
|
||||
String? deletedRemarks;
|
||||
String? diagnosisType;
|
||||
int? doctorId;
|
||||
int? episodeId;
|
||||
int? hospitalGroupId;
|
||||
int? hospitalId;
|
||||
String? icdSubVersion;
|
||||
String? icdType;
|
||||
dynamic icdVersion; // Adjust type if necessary
|
||||
bool? isPreviousProblem;
|
||||
String? location;
|
||||
String? loginUserId;
|
||||
String? modifiedBy;
|
||||
String? modifiedOn;
|
||||
int? patientDiagnosisId;
|
||||
int? patientId;
|
||||
int? patientProblemRevisionId;
|
||||
int? pomrId;
|
||||
String? problemName;
|
||||
String? remarks;
|
||||
bool? resolved;
|
||||
bool? selected;
|
||||
String? selectedDisease;
|
||||
int? selectedDoctorId;
|
||||
String? selectedIcdCode;
|
||||
|
||||
VisitWisePatientDiagnosis.fromJson(Map<String, dynamic> json) {
|
||||
active = json['active'];
|
||||
admissionId = json['admissionId'];
|
||||
appointmentId = json['appointmentId'];
|
||||
approvedBy = json['approvedBy'];
|
||||
approvedOn = json['approvedOn'];
|
||||
assessmentId = json['assessmentId'];
|
||||
clinicId = json['clinicId'];
|
||||
condition = json['condition'];
|
||||
createdBy = json['createdBy'];
|
||||
createdOn = json['createdOn'];
|
||||
deletedBy = json['deletedBy'];
|
||||
deletedOn = json['deletedOn'];
|
||||
deletedRemarks = json['deletedRemarks'];
|
||||
diagnosisType = json['diagnosisType'];
|
||||
doctorId = json['doctorId'];
|
||||
episodeId = json['episodeId'];
|
||||
hospitalGroupId = json['hospitalGroupId'];
|
||||
hospitalId = json['hospitalId'];
|
||||
icdSubVersion = json['icdSubVersion'];
|
||||
icdType = json['icdType'];
|
||||
icdVersion = json['icdVersion'];
|
||||
isPreviousProblem = json['isPreviousProblem'];
|
||||
location = json['location'];
|
||||
loginUserId = json['loginUserId'];
|
||||
modifiedBy = json['modifiedBy'];
|
||||
modifiedOn = json['modifiedOn'];
|
||||
patientDiagnosisId = json['patientDiagnosisId'];
|
||||
patientId = json['patientId'];
|
||||
patientProblemRevisionId = json['patientProblemRevisionId'];
|
||||
pomrId = json['pomrId'];
|
||||
problemName = json['problemName'];
|
||||
remarks = json['remarks'];
|
||||
resolved = json['resolved'];
|
||||
selected = json['selected'];
|
||||
selectedDisease = json['selectedDisease'];
|
||||
selectedDoctorId = json['selectedDoctorId'];
|
||||
selectedIcdCode = json['selectedIcdCode'];
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,83 @@
|
||||
class SearchDiagnosis {
|
||||
String? category;
|
||||
String? categoryId;
|
||||
String? codeRange;
|
||||
String? diseaseType;
|
||||
String? diseases;
|
||||
String? diseasesBCode;
|
||||
String? diseasesCode;
|
||||
String? diseasesDataId;
|
||||
String? diseasesId;
|
||||
String? diseasesName;
|
||||
int? hospitalGroupId;
|
||||
int? hospitalId;
|
||||
String? icdSubVersion;
|
||||
String? icdType;
|
||||
List<String>? icdVersion;
|
||||
String? icdVersionDisplay;
|
||||
bool? isDeleted;
|
||||
String? layerID;
|
||||
String? parentDiseasesCode;
|
||||
String? specification;
|
||||
int? specificationId;
|
||||
String? specificationNo;
|
||||
|
||||
// Default constructor
|
||||
SearchDiagnosis();
|
||||
|
||||
// fromJson constructor
|
||||
SearchDiagnosis.fromJson(Map<String, dynamic> json) {
|
||||
category = json['category'];
|
||||
categoryId = json['categoryId'];
|
||||
codeRange = json['codeRange'];
|
||||
diseaseType = json['diseaseType'];
|
||||
diseases = json['diseases'];
|
||||
diseasesBCode = json['diseasesBCode'];
|
||||
diseasesCode = json['diseasesCode'];
|
||||
diseasesDataId = json['diseasesDataId'];
|
||||
diseasesId = json['diseasesId'];
|
||||
diseasesName = json['diseasesName'];
|
||||
hospitalGroupId = json['hospitalGroupId'];
|
||||
hospitalId = json['hospitalId'];
|
||||
icdSubVersion = json['icdSubVersion'];
|
||||
icdType = json['icdType'];
|
||||
icdVersion = json['icdVersion'] != null
|
||||
? List<String>.from(json['icdVersion'])
|
||||
: null;
|
||||
icdVersionDisplay = json['icdVersionDisplay'];
|
||||
isDeleted = json['isDeleted'] == "True";
|
||||
layerID = json['layerID'];
|
||||
parentDiseasesCode = json['parentDiseasesCode'];
|
||||
specification = json['specification'];
|
||||
specificationId = json['specificationId'];
|
||||
specificationNo = json['specificationNo'];
|
||||
}
|
||||
|
||||
// toJson method
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'category': category,
|
||||
'categoryId': categoryId,
|
||||
'codeRange': codeRange,
|
||||
'diseaseType': diseaseType,
|
||||
'diseases': diseases,
|
||||
'diseasesBCode': diseasesBCode,
|
||||
'diseasesCode': diseasesCode,
|
||||
'diseasesDataId': diseasesDataId,
|
||||
'diseasesId': diseasesId,
|
||||
'diseasesName': diseasesName,
|
||||
'hospitalGroupId': hospitalGroupId,
|
||||
'hospitalId': hospitalId,
|
||||
'icdSubVersion': icdSubVersion,
|
||||
'icdType': icdType,
|
||||
'icdVersion': icdVersion,
|
||||
'icdVersionDisplay': icdVersionDisplay,
|
||||
'isDeleted': isDeleted.toString(),
|
||||
'layerID': layerID,
|
||||
'parentDiseasesCode': parentDiseasesCode,
|
||||
'specification': specification,
|
||||
'specificationId': specificationId,
|
||||
'specificationNo': specificationNo,
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,97 @@
|
||||
class PatientPhysicalExamination {
|
||||
int? patientPhysicalExaminationRevisionID;
|
||||
int? patientPhysicalExaminationID;
|
||||
int? patientID;
|
||||
int? physicalExaminationSystemID;
|
||||
String? physicalExaminationDescription;
|
||||
int? physicalExaminationCondition;
|
||||
String? remark;
|
||||
int? assessmentId;
|
||||
String? userType;
|
||||
int? specialtyID;
|
||||
String? specialityDescription;
|
||||
String? loginUserId;
|
||||
bool? isMandatory;
|
||||
String? examinationType;
|
||||
dynamic additionalParams; // Use dynamic for null or varied types
|
||||
int? hospitalGroupID;
|
||||
int? hospitalID;
|
||||
int? dbCRUDOperation;
|
||||
bool? isActive;
|
||||
int? createdBy;
|
||||
String? createdOn;
|
||||
int? modifiedBy;
|
||||
String? modifiedOn;
|
||||
int? approvedBy;
|
||||
String? approvedOn;
|
||||
String? rowVersion;
|
||||
int? pomrid;
|
||||
|
||||
// Default constructor
|
||||
PatientPhysicalExamination();
|
||||
|
||||
// fromJson constructor
|
||||
PatientPhysicalExamination.fromJson(Map<String, dynamic> json) {
|
||||
patientPhysicalExaminationRevisionID =
|
||||
json['patientPhysicalExaminationRevisionID'];
|
||||
patientPhysicalExaminationID = json['patientPhysicalExaminationID'];
|
||||
patientID = json['patientID'];
|
||||
physicalExaminationSystemID = json['physicalExaminationSystemID'];
|
||||
physicalExaminationDescription = json['physicalExaminationDescription'];
|
||||
physicalExaminationCondition = json['physicalExaminationCondition'];
|
||||
remark = json['remark'];
|
||||
assessmentId = json['assessmentId'];
|
||||
userType = json['userType'];
|
||||
specialtyID = json['specialtyID'];
|
||||
specialityDescription = json['specialityDescription'];
|
||||
loginUserId = json['loginUserId'];
|
||||
isMandatory = json['isMandatory'];
|
||||
examinationType = json['examinationType'];
|
||||
additionalParams = json['additionalParams'];
|
||||
hospitalGroupID = json['hospitalGroupID'];
|
||||
hospitalID = json['hospitalID'];
|
||||
dbCRUDOperation = json['dbCRUDOperation'];
|
||||
isActive = json['isActive'];
|
||||
createdBy = json['createdBy'];
|
||||
createdOn = json['createdOn'];
|
||||
modifiedBy = json['modifiedBy'];
|
||||
modifiedOn = json['modifiedOn'];
|
||||
approvedBy = json['approvedBy'];
|
||||
approvedOn = json['approvedOn'];
|
||||
rowVersion = json['rowVersion'];
|
||||
pomrid = json['pomrid'];
|
||||
}
|
||||
|
||||
// toJson method
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'patientPhysicalExaminationRevisionID': patientPhysicalExaminationRevisionID,
|
||||
'patientPhysicalExaminationID': patientPhysicalExaminationID,
|
||||
'patientID': patientID,
|
||||
'physicalExaminationSystemID': physicalExaminationSystemID,
|
||||
'physicalExaminationDescription': physicalExaminationDescription,
|
||||
'physicalExaminationCondition': physicalExaminationCondition,
|
||||
'remark': remark,
|
||||
'assessmentId': assessmentId,
|
||||
'userType': userType,
|
||||
'specialtyID': specialtyID,
|
||||
'specialityDescription': specialityDescription,
|
||||
'loginUserId': loginUserId,
|
||||
'isMandatory': isMandatory,
|
||||
'examinationType': examinationType,
|
||||
'additionalParams': additionalParams,
|
||||
'hospitalGroupID': hospitalGroupID,
|
||||
'hospitalID': hospitalID,
|
||||
'dbCRUDOperation': dbCRUDOperation,
|
||||
'isActive': isActive,
|
||||
'createdBy': createdBy,
|
||||
'createdOn': createdOn,
|
||||
'modifiedBy': modifiedBy,
|
||||
'modifiedOn': modifiedOn,
|
||||
'approvedBy': approvedBy,
|
||||
'approvedOn': approvedOn,
|
||||
'rowVersion': rowVersion,
|
||||
'pomrid': pomrid,
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,54 @@
|
||||
class PostPhysicalExaminationModel {
|
||||
bool? isChecked;
|
||||
bool? selected;
|
||||
int? pomrid;
|
||||
int? patientID;
|
||||
bool? isClinicPhysicalExamination;
|
||||
int? physicalExaminationSystemID;
|
||||
String? physicalExaminationDescription;
|
||||
int? specialityID;
|
||||
dynamic selectedOptions;
|
||||
bool? isMandatory;
|
||||
String? specialityDescription;
|
||||
int? physicalExaminationCondition;
|
||||
String? loginUserId;
|
||||
String? remark;
|
||||
|
||||
PostPhysicalExaminationModel();
|
||||
|
||||
PostPhysicalExaminationModel.fromJson(Map<String, dynamic> json) {
|
||||
isChecked = json['isChecked'];
|
||||
selected = json['selected'];
|
||||
pomrid = json['pomrid'];
|
||||
patientID = json['patientID'];
|
||||
isClinicPhysicalExamination = json['isClinicPhysicalExamination'];
|
||||
physicalExaminationSystemID = json['physicalExaminationSystemID'];
|
||||
physicalExaminationDescription = json['physicalExaminationDescription'];
|
||||
specialityID = json['specialityID'];
|
||||
selectedOptions = json['selectedOptions'];
|
||||
isMandatory = json['isMandatory'];
|
||||
specialityDescription = json['specialityDescription'];
|
||||
physicalExaminationCondition = json['physicalExaminationCondition'];
|
||||
loginUserId = json['loginUserId'];
|
||||
remark = json['remark'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'isChecked': isChecked,
|
||||
'selected': selected,
|
||||
'pomrid': pomrid,
|
||||
'patientID': patientID,
|
||||
'isClinicPhysicalExamination': isClinicPhysicalExamination,
|
||||
'physicalExaminationSystemID': physicalExaminationSystemID,
|
||||
'physicalExaminationDescription': physicalExaminationDescription,
|
||||
'specialityID': specialityID,
|
||||
'selectedOptions': selectedOptions,
|
||||
'isMandatory': isMandatory,
|
||||
'specialityDescription': specialityDescription,
|
||||
'physicalExaminationCondition': physicalExaminationCondition,
|
||||
'loginUserId': loginUserId,
|
||||
'remark': remark,
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,94 @@
|
||||
import 'package:doctor_app_flutter/core/model/SOAP/assessment/audit_diagnosis.dart';
|
||||
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
class AuditItem extends StatelessWidget {
|
||||
final AuditDiagnosis auditDiagnosis;
|
||||
|
||||
const AuditItem({super.key, required this.auditDiagnosis});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
AppText(
|
||||
auditDiagnosis.createdBy ?? '',
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 12,
|
||||
color: Color(0xFF2B353E),
|
||||
),
|
||||
AppText(
|
||||
getDate(auditDiagnosis.createdOn?.isNotEmpty== true ? auditDiagnosis.createdOn ?? '' : auditDiagnosis.modifiedOn??''),
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 10,
|
||||
color: Color(0xFF2B353E),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(height: 4,),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
AppText(
|
||||
"${TranslationBase.of(context).diagnosis}: ${auditDiagnosis.diagnosisType}",
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 12,
|
||||
color: Color(0xFF2B353E),
|
||||
),
|
||||
AppText(
|
||||
getTime(auditDiagnosis.createdOn?.isNotEmpty== true ? auditDiagnosis.createdOn ?? '' : auditDiagnosis.modifiedOn??''),
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 10,
|
||||
color: Color(0xFF2B353E),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 4,
|
||||
),
|
||||
|
||||
Visibility(
|
||||
visible: auditDiagnosis.deletedRemarks?.isEmpty == true,
|
||||
child: AppText(
|
||||
//todo handle the item after the discussion from the vidapro team this is temporary
|
||||
"${TranslationBase.of(context).remarks}: ${auditDiagnosis.remarks?.isNotEmpty == true? auditDiagnosis.remarks : TranslationBase.of(context).noRemarks}",
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 12,
|
||||
color: Color(0xFF2B353E),
|
||||
),
|
||||
),
|
||||
Visibility(
|
||||
visible: auditDiagnosis.deletedRemarks?.isNotEmpty == true,
|
||||
child: AppText(
|
||||
//todo handle the item after the discussion from the vidapro team this is temporary
|
||||
"${TranslationBase.of(context).deletedRemarks}${auditDiagnosis.deletedRemarks}",
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 12,
|
||||
color: Color(0xFF2B353E),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
String getDate(String dateTime) {
|
||||
if (dateTime.isEmpty) return '';
|
||||
DateTime now = DateTime.now();
|
||||
return DateFormat('dd MMM yyyy').format(now);
|
||||
}
|
||||
|
||||
String getTime(String dateTime) {
|
||||
if (dateTime.isEmpty) return '';
|
||||
DateTime now = DateTime.now();
|
||||
return DateFormat('hh:mm a').format(now);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,62 @@
|
||||
import 'package:doctor_app_flutter/core/model/SOAP/assessment/audit_diagnosis.dart';
|
||||
import 'package:doctor_app_flutter/screens/patients/profile/soap_update_vida_plus/assessment/widget/audit_item.dart';
|
||||
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AuditListBottomSheet extends StatelessWidget {
|
||||
final List<AuditDiagnosis> auditList;
|
||||
|
||||
const AuditListBottomSheet({super.key, required this.auditList});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SizedBox(
|
||||
height: (auditList.length>1)?MediaQuery.sizeOf(context).height*.56:MediaQuery.sizeOf(context).height*.28,
|
||||
child: Material(
|
||||
color: Color(0xFFF7F7F7),
|
||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.only(topLeft: Radius.circular(20), topRight: Radius.circular(20))),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 20.0, vertical: 32),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
AppText(
|
||||
TranslationBase.of(context).audit,
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 24,
|
||||
color: Color(0xFF2B353E),
|
||||
),
|
||||
SizedBox(
|
||||
height: 16,
|
||||
),
|
||||
SizedBox(
|
||||
height: (auditList.length>1)?MediaQuery.sizeOf(context).height*.25:MediaQuery.sizeOf(context).height*.12,
|
||||
child: Material(
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(10)),
|
||||
color: Colors.white,
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Expanded(
|
||||
child: ListView.separated(
|
||||
|
||||
itemCount: auditList.length,
|
||||
itemBuilder: (context, index) => AuditItem(
|
||||
auditDiagnosis: auditList[index],
|
||||
),
|
||||
separatorBuilder: (_, __) => Divider(),
|
||||
))
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class EmptyDropDown extends StatelessWidget{
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.all(12.0),
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(child: SizedBox.shrink()),
|
||||
Align(
|
||||
alignment: Alignment.centerLeft,
|
||||
child: Icon(Icons.keyboard_arrow_down),
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,416 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:doctor_app_flutter/config/config.dart';
|
||||
import 'package:doctor_app_flutter/config/size_config.dart';
|
||||
import 'package:doctor_app_flutter/core/model/SOAP/assessment/diagnosis_type.dart';
|
||||
import 'package:doctor_app_flutter/core/model/SOAP/assessment/search_diagnosis.dart';
|
||||
import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
|
||||
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||
import 'package:doctor_app_flutter/screens/patients/profile/soap_update_vida_plus/assessment/widget/empty_dropdown.dart';
|
||||
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/text_fields/app-textfield-custom.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
|
||||
List<String> patientState = ["", "Stable", "Not Stable", "Not Defined"];
|
||||
|
||||
class FavoriteDiagnosis extends StatefulWidget {
|
||||
final PatiantInformtion patientInfo;
|
||||
|
||||
const FavoriteDiagnosis({super.key, required this.patientInfo});
|
||||
|
||||
@override
|
||||
State<FavoriteDiagnosis> createState() => _FavoriteDiagnosisState();
|
||||
}
|
||||
|
||||
class _FavoriteDiagnosisState extends State<FavoriteDiagnosis> {
|
||||
final TextEditingController filteredSearchController =
|
||||
TextEditingController();
|
||||
bool showAllDiagnosis = true;
|
||||
String status = '';
|
||||
String? selectedItem;
|
||||
String? selectedFavorite;
|
||||
TextEditingController remarksController = TextEditingController();
|
||||
Timer? _tTimer;
|
||||
SOAPViewModel? model;
|
||||
SearchDiagnosis? selectedDiagnosis;
|
||||
|
||||
void _onTextChanged(String text) {
|
||||
if (_tTimer != null) {
|
||||
_tTimer!.cancel();
|
||||
}
|
||||
_tTimer = Timer(Duration(milliseconds: 500), () {
|
||||
_onStopped(text);
|
||||
});
|
||||
}
|
||||
|
||||
void _onStopped(String searchText) async {
|
||||
await model?.searchDiagnosis(widget.patientInfo, searchText);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<SOAPViewModel>(
|
||||
onModelReady: (model) {
|
||||
this.model = model;
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
model.favoriteDiagnosis(widget.patientInfo);
|
||||
});
|
||||
},
|
||||
builder: (_, model, w) => SingleChildScrollView(
|
||||
child: Padding(
|
||||
padding:
|
||||
const EdgeInsets.symmetric(vertical: 12, horizontal: 16),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
AppText(
|
||||
TranslationBase.of(context).addDiagnosis,
|
||||
fontWeight: FontWeight.w600,
|
||||
color: Color(0xFF2E303A),
|
||||
fontSize: 16,
|
||||
),
|
||||
SizedBox(
|
||||
height: 16,
|
||||
),
|
||||
Material(
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
side: BorderSide(
|
||||
width: 1,
|
||||
color: Color(0xFFEFEFEF),
|
||||
)),
|
||||
color: Colors.white,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 16.0, vertical: 12),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
AppText(
|
||||
TranslationBase.of(context).diagnosis,
|
||||
textAlign: TextAlign.start,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 11,
|
||||
color: Color(0xFF2E303A),
|
||||
),
|
||||
SizedBox(
|
||||
height: 4,
|
||||
),
|
||||
model.favoriteDiagnosisDetails.isEmpty
|
||||
? EmptyDropDown()
|
||||
: DropdownButtonHideUnderline(
|
||||
child: DropdownButton(
|
||||
dropdownColor: Colors.white,
|
||||
iconEnabledColor: Colors.black,
|
||||
icon: Icon(Icons.keyboard_arrow_down),
|
||||
isExpanded: true,
|
||||
itemHeight: null,
|
||||
value: selectedFavorite == null
|
||||
? model.favoriteDiagnosisDetails.first
|
||||
.diseases
|
||||
: selectedFavorite,
|
||||
iconSize: 25,
|
||||
elevation: 16,
|
||||
onChanged: (newValue) async {
|
||||
if (newValue != null)
|
||||
setState(() {
|
||||
selectedFavorite = newValue;
|
||||
});
|
||||
},
|
||||
items: model.favoriteDiagnosisDetails
|
||||
.map((item) {
|
||||
return DropdownMenuItem(
|
||||
child: AppText(
|
||||
item.diseases ?? '',
|
||||
fontSize: 14,
|
||||
letterSpacing: -0.96,
|
||||
color: AppGlobal.appTextColor,
|
||||
fontWeight: FontWeight.normal,
|
||||
textAlign: TextAlign.left,
|
||||
),
|
||||
value: item.diseases,
|
||||
);
|
||||
}).toList(),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
SizedBox(
|
||||
height: 8,
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(bottom: 12),
|
||||
child: AppText(
|
||||
TranslationBase.of(context).condition,
|
||||
fontWeight: FontWeight.bold,
|
||||
fontFamily: 'Poppins',
|
||||
fontSize: 11,
|
||||
),
|
||||
),
|
||||
// Row(
|
||||
// children: [
|
||||
// Expanded(
|
||||
// child: InkWell(
|
||||
// onTap: () {
|
||||
// setState(() {
|
||||
// status = "";
|
||||
// });
|
||||
// },
|
||||
// child: Row(
|
||||
// children: [
|
||||
// Container(
|
||||
// padding: EdgeInsets.all(2.0),
|
||||
// margin: EdgeInsets.symmetric(horizontal: 6),
|
||||
// width: 20,
|
||||
// height: 20,
|
||||
// decoration: BoxDecoration(
|
||||
// color: Colors.white,
|
||||
// shape: BoxShape.circle,
|
||||
// border:
|
||||
// Border.all(color: Colors.grey, width: 1),
|
||||
// ),
|
||||
// child: Container(
|
||||
// decoration: BoxDecoration(
|
||||
// color: status == 1
|
||||
// ? HexColor("#D02127")
|
||||
// : Colors.white,
|
||||
// shape: BoxShape.circle,
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// AppText(
|
||||
// TranslationBase.of(context).acute,
|
||||
// fontWeight: FontWeight.normal,
|
||||
// fontFamily: 'Poppins',
|
||||
// fontSize: SizeConfig.textMultiplier! * 1.6,
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// )),
|
||||
// Expanded(
|
||||
// child: InkWell(
|
||||
// onTap: () {
|
||||
// setState(() {
|
||||
// status = "2";
|
||||
// });
|
||||
// },
|
||||
// child: Row(
|
||||
// children: [
|
||||
// Container(
|
||||
// padding: EdgeInsets.all(2.0),
|
||||
// margin: EdgeInsets.symmetric(horizontal: 6),
|
||||
// width: 20,
|
||||
// height: 20,
|
||||
// decoration: BoxDecoration(
|
||||
// color: Colors.white,
|
||||
// shape: BoxShape.circle,
|
||||
// border: Border.all(
|
||||
// color: Colors.grey, width: 1),
|
||||
// ),
|
||||
// child: Container(
|
||||
// decoration: BoxDecoration(
|
||||
// color: status == 2
|
||||
// ? HexColor("#D02127")
|
||||
// : Colors.white,
|
||||
// shape: BoxShape.circle,
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// AppText(
|
||||
// TranslationBase.of(context).subAcute,
|
||||
// fontWeight: FontWeight.normal,
|
||||
// fontFamily: 'Poppins',
|
||||
// fontSize: SizeConfig.textMultiplier! * 1.6,
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// Expanded(
|
||||
// child: InkWell(
|
||||
// onTap: () {
|
||||
// setState(() {
|
||||
// status = "3";
|
||||
// });
|
||||
// },
|
||||
// child: Row(
|
||||
// children: [
|
||||
// Container(
|
||||
// padding: EdgeInsets.all(2.0),
|
||||
// margin: EdgeInsets.symmetric(horizontal: 6),
|
||||
// width: 20,
|
||||
// height: 20,
|
||||
// decoration: BoxDecoration(
|
||||
// color: Colors.white,
|
||||
// shape: BoxShape.circle,
|
||||
// border: Border.all(
|
||||
// color: Colors.grey, width: 1),
|
||||
// ),
|
||||
// child: Container(
|
||||
// decoration: BoxDecoration(
|
||||
// color: status == 3
|
||||
// ? HexColor("#D02127")
|
||||
// : Colors.white,
|
||||
// shape: BoxShape.circle,
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// AppText(
|
||||
// TranslationBase.of(context).chronic,
|
||||
// fontWeight: FontWeight.normal,
|
||||
// fontFamily: 'Poppins',
|
||||
// fontSize: SizeConfig.textMultiplier! * 1.6,
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
SizedBox(
|
||||
width: MediaQuery.sizeOf(context).width,
|
||||
height: 24,
|
||||
child: ListView.builder(
|
||||
shrinkWrap: true,
|
||||
scrollDirection: Axis.horizontal,
|
||||
itemCount: model.conditionTypeList.length,
|
||||
itemBuilder: (context, index) => InkWell(
|
||||
onTap: () {
|
||||
setState(() {
|
||||
status = model.conditionTypeList[index];
|
||||
});
|
||||
},
|
||||
child: Row(
|
||||
children: [
|
||||
Container(
|
||||
padding: EdgeInsets.all(2.0),
|
||||
margin:
|
||||
EdgeInsets.symmetric(horizontal: 6),
|
||||
width: 20,
|
||||
height: 20,
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color: Colors.grey, width: 1),
|
||||
),
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
color: status ==
|
||||
model.conditionTypeList[index]
|
||||
? HexColor("#D02127")
|
||||
: Colors.white,
|
||||
shape: BoxShape.circle,
|
||||
),
|
||||
),
|
||||
),
|
||||
AppText(
|
||||
model.conditionTypeList[index],
|
||||
fontWeight: FontWeight.normal,
|
||||
fontFamily: 'Poppins',
|
||||
fontSize:
|
||||
SizeConfig.textMultiplier! * 1.6,
|
||||
),
|
||||
],
|
||||
),
|
||||
)),
|
||||
),
|
||||
SizedBox(
|
||||
height: 8,
|
||||
),
|
||||
Material(
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
side: BorderSide(
|
||||
width: 1,
|
||||
color: Color(0xFFEFEFEF),
|
||||
)),
|
||||
color: Colors.white,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 16.0, vertical: 12),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
AppText(
|
||||
TranslationBase.of(context).diagnoseType,
|
||||
textAlign: TextAlign.start,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 11,
|
||||
color: Color(0xFF2E303A),
|
||||
),
|
||||
SizedBox(
|
||||
height: 4,
|
||||
),
|
||||
model.diagnosisTypeList.isEmpty
|
||||
? EmptyDropDown()
|
||||
: DropdownButtonHideUnderline(
|
||||
child: DropdownButton(
|
||||
itemHeight: null,
|
||||
dropdownColor: Colors.white,
|
||||
iconEnabledColor: Colors.black,
|
||||
icon: Icon(Icons.keyboard_arrow_down),
|
||||
isExpanded: true,
|
||||
value: selectedItem == null
|
||||
? model.diagnosisTypeList.keys.first
|
||||
: selectedItem,
|
||||
iconSize: 25,
|
||||
elevation: 16,
|
||||
onChanged: (newValue) async {
|
||||
if (newValue != null)
|
||||
setState(() {
|
||||
selectedItem = newValue;
|
||||
});
|
||||
},
|
||||
items: model.diagnosisTypeList.keys
|
||||
.map((item) {
|
||||
return DropdownMenuItem(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: AppText(
|
||||
item ?? '',
|
||||
fontSize: 14,
|
||||
letterSpacing: -0.96,
|
||||
color: AppGlobal.appTextColor,
|
||||
fontWeight: FontWeight.normal,
|
||||
textAlign: TextAlign.left,
|
||||
),
|
||||
),
|
||||
value: item,
|
||||
);
|
||||
}).toList(),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(top: 8),
|
||||
child: AppTextFieldCustom(
|
||||
hintText: TranslationBase.of(context).remarks,
|
||||
controller: remarksController,
|
||||
minLines: 2,
|
||||
maxLines: 4,
|
||||
inputType: TextInputType.multiline,
|
||||
onChanged: (value) {},
|
||||
onClick: () {},
|
||||
onFieldSubmitted: () {},
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 16,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue