263 lines
8.6 KiB
C#
263 lines
8.6 KiB
C#
using adas_core.Domain.Enums;
|
|
using adas_core.Domain.Models;
|
|
using adas_core.Domain.Models.GroupedObservations;
|
|
using adas_core.Domain.Models.Masters;
|
|
using adas_core.Domain.Models.MongoModels;
|
|
using MongoDB.Bson;
|
|
|
|
namespace adas_core.Test.Utilities;
|
|
|
|
public class TestUtilities
|
|
{
|
|
public static PointOfCare CreateValidPointOfCare()
|
|
{
|
|
return new PointOfCare
|
|
{
|
|
Id = ObjectId.GenerateNewId(),
|
|
Room = "Test Room",
|
|
Bed = "Test Bed",
|
|
UnitId = ObjectId.GenerateNewId(),
|
|
Configuration = new PointOfCareConfiguration(),
|
|
Status = StatusEnum.PointOfCare.Available,
|
|
AdmissionId = ObjectId.GenerateNewId(),
|
|
Unit = CreateValidUnit(),
|
|
UnitName = "Test Unit"
|
|
};
|
|
}
|
|
|
|
public static Discharge CreateValidDischarge()
|
|
{
|
|
return new Discharge
|
|
{
|
|
Id = ObjectId.GenerateNewId(),
|
|
PointOfCareId = ObjectId.GenerateNewId(),
|
|
UnitId = ObjectId.GenerateNewId(),
|
|
DischargeDate = DateTime.UtcNow,
|
|
PatientId = ObjectId.GenerateNewId(),
|
|
Destination = "Test Destination",
|
|
DestinationOption = CreateValidOptionList(),
|
|
ServiceOption = CreateValidOptionList(),
|
|
Service = "Test Service",
|
|
MedicalDischarge = DateTime.UtcNow,
|
|
AdminDischarge = DateTime.UtcNow,
|
|
NurseDischarge = DateTime.UtcNow
|
|
};
|
|
}
|
|
|
|
public static Patient CreateValidPatient()
|
|
{
|
|
return new Patient
|
|
{
|
|
Id = ObjectId.GenerateNewId(),
|
|
PatientNumber = "TestPatientNumber",
|
|
PatientId = "TestPatientId",
|
|
AdmTime = DateTime.UtcNow,
|
|
DischargeStatus = new OptionList
|
|
{
|
|
OptionType = "TestDischargeStatus",
|
|
Name = "TestDischargeStatusName",
|
|
IconDefault = "TestIcon",
|
|
Color = "TestColor",
|
|
Description = "TestDescription",
|
|
InitDate = DateTime.UtcNow,
|
|
EndDate = DateTime.UtcNow.AddDays(7) // Example end date
|
|
},
|
|
Altable = new OptionList
|
|
{
|
|
OptionType = "TestAltable",
|
|
Name = "TestAltableName",
|
|
IconDefault = "TestAltableIcon",
|
|
Color = "TestAltableColor",
|
|
Description = "TestAltableDescription",
|
|
InitDate = DateTime.UtcNow,
|
|
EndDate = DateTime.UtcNow.AddDays(7) // Example end date
|
|
},
|
|
Origin = new OptionList
|
|
{
|
|
OptionType = "TestOrigin",
|
|
Name = "TestOriginName",
|
|
IconDefault = "TestOriginIcon",
|
|
Color = "TestOriginColor",
|
|
Description = "TestOriginDescription",
|
|
InitDate = DateTime.UtcNow,
|
|
EndDate = DateTime.UtcNow.AddDays(7) // Example end date
|
|
}
|
|
// Initialize other properties as needed
|
|
};
|
|
}
|
|
|
|
public static OptionList CreateValidOptionList()
|
|
{
|
|
return new OptionList
|
|
{
|
|
OptionType = "Test Option",
|
|
Name = "Test Name",
|
|
IconDefault = "Test Icon",
|
|
Color = "Test Color",
|
|
Description = "Test Description",
|
|
InitDate = DateTime.UtcNow,
|
|
EndDate = DateTime.UtcNow.AddDays(1)
|
|
};
|
|
}
|
|
|
|
private static PatientLocation CreateValidPatientLocation()
|
|
{
|
|
return new PatientLocation
|
|
{
|
|
UnitName = "Test Unit",
|
|
Bed = "Test Bed",
|
|
Room = "Test Room"
|
|
};
|
|
}
|
|
|
|
public static Unit CreateValidUnit()
|
|
{
|
|
return new Unit
|
|
{
|
|
Id = ObjectId.GenerateNewId(),
|
|
Title = "Test Unit",
|
|
Name = "Test Unit",
|
|
LastUpdate = null,
|
|
PointOfCareIds = [],
|
|
Status = StatusEnum.Type.Ok,
|
|
Configuration = new UnitConfiguration
|
|
{
|
|
AutoAdt = true,
|
|
}
|
|
};
|
|
}
|
|
|
|
public static Admission CreateValidAdmission()
|
|
{
|
|
return new Admission
|
|
{
|
|
//Id = ObjectId.GenerateNewId(),
|
|
AdmissionDate = DateTime.UtcNow,
|
|
Nhc = ObjectId.GenerateNewId().ToString(),
|
|
UnitId = ObjectId.GenerateNewId(),
|
|
PointOfCareId = ObjectId.GenerateNewId(),
|
|
Person = new Person
|
|
{
|
|
FirstName = "Test First Name",
|
|
LastName = "Test Last Name"
|
|
// Initialize other properties as needed
|
|
},
|
|
Origin = CreateValidOptionList(),
|
|
OriginAux = "Test Origin Aux",
|
|
Diagnosis = CreateValidOptionList(),
|
|
DiagnosisAux = "Test Diagnosis Aux",
|
|
Allergies =
|
|
[
|
|
CreateValidOptionList(),
|
|
CreateValidOptionList()
|
|
// Add more allergies as needed
|
|
],
|
|
Insulation = CreateValidOptionList(),
|
|
LanguageBarrier = [CreateValidOptionList()],
|
|
PatientLocation = CreateValidPatientLocation()
|
|
// Initialize other properties as needed
|
|
};
|
|
}
|
|
|
|
public static CardConfig CreateValidCardConfig(ObjectId? id = null)
|
|
{
|
|
return new CardConfig
|
|
{
|
|
Id = id ?? ObjectId.GenerateNewId(),
|
|
Rows = new List<RowCardConfig>
|
|
{
|
|
new()
|
|
{
|
|
Cells = new List<Cell>
|
|
{
|
|
new() { Type = DisplayConfigEnums.CellType.DemographicCell }
|
|
},
|
|
GrowPriority = 1,
|
|
Type = DisplayConfigEnums.CellType.CellWrapper
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
public static CardDetailsConfig CreateValidCardDetailsNurseConfig(ObjectId? id = null)
|
|
{
|
|
return new CardDetailsConfig
|
|
{
|
|
Id = id ?? ObjectId.GenerateNewId(),
|
|
NurseRows = new List<RowDetailsConfig>
|
|
{
|
|
new()
|
|
{
|
|
Type = DisplayConfigEnums.RowType.Demographic,
|
|
Title = "Title details",
|
|
Cells = new List<CellDetails>
|
|
{
|
|
new()
|
|
{
|
|
Type = DisplayConfigEnums.CellType.CellWrapper,
|
|
Cells = new List<CellDetails>
|
|
{
|
|
new()
|
|
{
|
|
Type = DisplayConfigEnums.CellType.AllergyCell
|
|
},
|
|
new()
|
|
{
|
|
Type = DisplayConfigEnums.CellType.DemographicCell
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
public static CardDetailsConfig CreateValidCardDetailsSmartConfig(ObjectId? id = null)
|
|
{
|
|
return new CardDetailsConfig
|
|
{
|
|
Id = id ?? ObjectId.GenerateNewId(),
|
|
SmartSections = new List<SectionBoxLayout>
|
|
{
|
|
new()
|
|
{
|
|
Type = DisplayConfigEnums.RowType.General,
|
|
Name = "Title details",
|
|
Rows = new List<RowBoxLayout>
|
|
{
|
|
new()
|
|
{
|
|
Type = DisplayConfigEnums.CellType.CellWrapper,
|
|
Observations = new List<ObservationRowBoxLayout>
|
|
{
|
|
new()
|
|
{
|
|
Type = DisplayConfigEnums.CellType.BeaconColor
|
|
},
|
|
new()
|
|
{
|
|
Type = DisplayConfigEnums.CellType.Isolation
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
public static DisplayConfig CreateValidDisplayConfig(DisplayConfigEnums.DisplayType type, ObjectId? id,
|
|
ObjectId? idCard, ObjectId? idDetail)
|
|
{
|
|
return new DisplayConfig
|
|
{
|
|
Id = id ?? ObjectId.GenerateNewId(),
|
|
CardConfigId = idCard ?? ObjectId.GenerateNewId(),
|
|
DetailConfigId = idDetail ?? ObjectId.GenerateNewId(),
|
|
Type = type,
|
|
FieldList = new List<Field> { new() { Name = "FR", Last = 2 } },
|
|
Hospital = "Test Hospital"
|
|
};
|
|
}
|
|
} |