AdmissionResponse.fromJson constructor
Parsea el JSON de la API incluyendo el sub-objeto patient y las
fechas ISO-8601 opcionales (dischargeDate, lastModifiedAt).
Implementation
factory AdmissionResponse.fromJson(Map<String, dynamic> json) {
return AdmissionResponse(
admissionId: json['admissionId'] as String,
patient: PatientPreviewResponse.fromJson(json['patient'] as Map<String, dynamic>),
serviceId: json['serviceId'] as String,
assignedDoctorId: json['assignedDoctorId'] as String,
// LocalDateTime handling (ISO-8601 strings from Spring Boot LocalDateTime)
dischargeDate: json['dischargeDate'] != null
? DateTime.parse(json['dischargeDate'] as String)
: null,
hospitalizationLength: json['hospitalizationLength'] as int?,
principalDiagnosis: json['principalDiagnosis'] as String?,
medicalHistory: json['medicalHistory'] as String?,
allergies: json['allergies'] as String?,
chronicTreatment: json['chronicTreatment'] as String?,
basalBarthel: json['basalBarthel'] as int?,
roomNumber: json['roomNumber'] as int?,
createdAt: DateTime.parse(json['createdAt'] as String),
createdBy: json['createdBy'] as String,
lastModifiedAt: json['lastModifiedAt'] != null
? DateTime.parse(json['lastModifiedAt'] as String)
: null,
lastModifiedBy: json['lastModifiedBy'] as String?,
);
}