Creado apartir del commit b888de6c92056de294456f581a56e25e734d4ab7 de develop
This commit is contained in:
@@ -0,0 +1,245 @@
|
||||
using adas_core.Domain.Enums;
|
||||
using adas_core.Domain.Models;
|
||||
using adas_core.Domain.Models.MongoModels;
|
||||
using adas_core.Infrastructure.Utils.MongoMaps.Interfaz;
|
||||
using MongoDB.Bson;
|
||||
using MongoDB.Bson.Serialization;
|
||||
using MongoDB.Bson.Serialization.Options;
|
||||
using MongoDB.Bson.Serialization.Serializers;
|
||||
|
||||
namespace adas_core.Infrastructure.Utils.MongoMaps;
|
||||
|
||||
public class PatientMapContributor : IEntityMapContributor
|
||||
{
|
||||
public void RegisterMaps()
|
||||
{
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(HistoricalLocation)))
|
||||
{
|
||||
BsonClassMap.RegisterClassMap<HistoricalLocation>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapMember(c => c.AdmTime);
|
||||
cm.MapMember(c => c.PatientLocation);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(Patient)))
|
||||
BsonClassMap.RegisterClassMap<Patient>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapIdMember(c => c.Id).SetElementName("_id");
|
||||
cm.GetMemberMap(c => c.PatientNumber).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.PatientId).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.AdmTime).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.DischargeStatus).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.Altable).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.Origin).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.OriginAux).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.Diagnosis).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.DiagnosisAux).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.Visits).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.AccessControl).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.Insulation).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.PatientStatus).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.Mobility).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.TherapeuticCeiling).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.Procedures).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.Tests).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.Treatment).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.Doctors).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.Allergies).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.LanguageBarrier).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.PassiveSitting).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.DisTime).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.Person).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.AttendingDoctor).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.LastObservationDate).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.CreationDate).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.UpdateDate).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.ArchiveDate).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.PointOfCareId).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.UnitId).SetIgnoreIfNull(true);
|
||||
cm.GetMemberMap(c => c.HistoricalLocations).SetIgnoreIfNull(true);
|
||||
|
||||
// No mapear estos campos
|
||||
cm.UnmapMember(c => c.Bed);
|
||||
cm.UnmapMember(c => c.UnitString);
|
||||
cm.UnmapMember(c => c.Room);
|
||||
cm.UnmapMember(c => c.PointOfCare);
|
||||
cm.UnmapMember(c => c.Location);
|
||||
});
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(Person)))
|
||||
{
|
||||
BsonClassMap.RegisterClassMap<Person>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapMember(c => c.LastName).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.FirstName).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.SecondName).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.BirthDate).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Language).SetIgnoreIfNull(true);
|
||||
|
||||
cm.MapMember(c => c.Gender)
|
||||
.SetDefaultValue(PatientEnum.Gender.Unknown)
|
||||
.SetSerializer(new EnumSerializer<PatientEnum.Gender>(BsonType.String));
|
||||
|
||||
cm.MapMember(c => c.Ids).SetIgnoreIfNull(true);
|
||||
|
||||
cm.MapMember(c => c.HistoricalIds)
|
||||
.SetIgnoreIfNull(true);
|
||||
});
|
||||
|
||||
BsonClassMap.RegisterClassMap<HistoricalId>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapMember(c => c.Time).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.PatientIds)
|
||||
.SetSerializer(
|
||||
new DictionaryInterfaceImplementerSerializer<Dictionary<string, string>, string, string>(
|
||||
DictionaryRepresentation.Document))
|
||||
.SetIgnoreIfNull(true);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(PatientLocation)))
|
||||
BsonClassMap.RegisterClassMap<PatientLocation>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapMember(c => c.UnitName).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Bed).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Room).SetIgnoreIfNull(true);
|
||||
});
|
||||
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(PatientLocationAction)))
|
||||
BsonClassMap.RegisterClassMap<PatientLocationAction>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapMember(c => c.Location).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Action)
|
||||
.SetIgnoreIfNull(true)
|
||||
.SetSerializer(
|
||||
new NullableSerializer<ActionsEnum.ResourceAction>(
|
||||
new EnumSerializer<ActionsEnum.ResourceAction>(BsonType.String)));
|
||||
});
|
||||
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(PatientIncomeData)))
|
||||
BsonClassMap.RegisterClassMap<PatientIncomeData>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapMember(c => c.Diagnosis).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.DiagnosisAux).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Origin).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.OriginAux).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.AdmTime).SetIgnoreIfNull(true);
|
||||
});
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(PatientIcca)))
|
||||
BsonClassMap.RegisterClassMap<PatientIcca>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapMember(c => c.Location).SetDefaultValue(new PatientLocation(string.Empty, string.Empty));
|
||||
cm.MapMember(c => c.PatientNumber).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.PatientId).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.AdmitTime).SetIgnoreIfNull(true);
|
||||
});
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(PatientAllergiesValue)))
|
||||
BsonClassMap.RegisterClassMap<PatientAllergiesValue>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapMember(c => c.Notes).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Type).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Value).SetIgnoreIfNull(true);
|
||||
});
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(PatientIntravenousLinesValue)))
|
||||
BsonClassMap.RegisterClassMap<PatientIntravenousLinesValue>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapMember(c => c.Type).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Duration).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Action).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Location).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.InsertTime).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.RemoveTime).SetIgnoreIfNull(true);
|
||||
});
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(PatientDiagnosis)))
|
||||
BsonClassMap.RegisterClassMap<PatientDiagnosis>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.SetIgnoreExtraElements(true);
|
||||
|
||||
cm.MapIdMember(c => c.Id).SetElementName("_id");
|
||||
cm.MapMember(c => c.PatientId);
|
||||
cm.MapMember(c => c.Time);
|
||||
cm.MapMember(c => c.UpdateDate).SetIgnoreIfNull(true);
|
||||
cm.UnmapMember(c => c.MessageTime);
|
||||
cm.MapMember(c => c.CodingSystem).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Description).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Label).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Code).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.State).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Category).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.StartTime).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.EndTime).SetIgnoreIfNull(true);
|
||||
cm.UnmapMember(c => c.DiagnosisCode);
|
||||
cm.UnmapMember(c => c.DiagnosisSystem);
|
||||
});
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(PatientDrainagesValue)))
|
||||
BsonClassMap.RegisterClassMap<PatientDrainagesValue>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapMember(c => c.Type).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Location).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Volume).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Height).SetIgnoreIfNull(true);
|
||||
});
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(PatientCarePlan)))
|
||||
BsonClassMap.RegisterClassMap<PatientCarePlan>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapIdMember(c => c.Id).SetElementName("_id");
|
||||
cm.MapMember(c => c.PatientId);
|
||||
cm.MapMember(c => c.PointOfCareId).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.PatientNumber).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.UserId).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.CarePlan).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Description).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.Time).SetIgnoreIfNull(true);
|
||||
|
||||
cm.MapMember(c => c.Action)
|
||||
.SetIgnoreIfNull(true)
|
||||
.SetSerializer(
|
||||
new NullableSerializer<ActionsEnum.CrudAction>(
|
||||
new EnumSerializer<ActionsEnum.CrudAction>(BsonType.String)));
|
||||
});
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(Admission)))
|
||||
BsonClassMap.RegisterClassMap<Admission>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapIdMember(c => c.Id).SetElementName("_id");
|
||||
cm.UnmapMember(c => c.PatientLocation);
|
||||
});
|
||||
|
||||
if (!BsonClassMap.IsClassMapRegistered(typeof(Discharge)))
|
||||
BsonClassMap.RegisterClassMap<Discharge>(cm =>
|
||||
{
|
||||
cm.AutoMap();
|
||||
cm.MapIdMember(c => c.Id).SetElementName("_id");
|
||||
cm.UnmapMember(c => c.Patient);
|
||||
cm.UnmapMember(c => c.PatientLocation);
|
||||
cm.MapMember(c => c.MedicalDischarge).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.AdminDischarge).SetIgnoreIfNull(true);
|
||||
cm.MapMember(c => c.NurseDischarge).SetIgnoreIfNull(true);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user