public void should_Append_Unique_Tests() { var initialTestResult = new ObsFinalTestResult { FinalResult = _pos }; var initalTestDate = DateTime.Today.Date; var initialFacility = "10000"; var shr = SHR.CreateBlank(); shr.HIV_TEST.Add(HIVTEST.Create(initalTestDate, initialTestResult, initialFacility)); Assert.True(shr.HIV_TEST.Count == 1); var newTestResult = new ObsFinalTestResult { FinalResult = _pos }; var newTestDate = DateTime.Today.Date; var newinitialFacility = "10000"; shr.UpdateTesting(newTestDate, newTestResult, newinitialFacility); Assert.True(shr.HIV_TEST.Count == 1); foreach (var hivtest in shr.HIV_TEST) { Console.WriteLine(hivtest); } }
public DtoShr GenerateShrForEmrUsingCardSerial(string cardSerial) { //string Version = "VERSION\": \"1.0.0\""; var patientIdentification = GetPatientidentification(cardSerial); var carddetails = GetPatientCarddetails(cardSerial); List <IMMUNIZATION> immunizationSource = GetPatientImmunization(cardSerial); List <NEXTOFKIN> nextOfKinSouce = GetPatientNextofkin(cardSerial); List <HIVTEST> hivTestSource = GetPatientHivtest(cardSerial); var clientGeneratedShr = new SHR() { //VERSION = Version PATIENT_IDENTIFICATION = patientIdentification, NEXT_OF_KIN = nextOfKinSouce, HIV_TEST = hivTestSource, IMMUNIZATION = immunizationSource, CARD_DETAILS = carddetails }; DtoMapper dtoMapper = new DtoMapper(); DtoShr clientGeneratedDtoShr = new DtoShr(); clientGeneratedDtoShr = dtoMapper.GenerateDtoShr(clientGeneratedShr); return(clientGeneratedDtoShr); }
public void should_Create_Blank() { var shr = SHR.CreateBlank(); Assert.NotNull(shr); var json = JsonConvert.SerializeObject(shr); Console.WriteLine(json); }
public static SmartClientDTO Create(SHR shr) { return(new SmartClientDTO(shr.PATIENT_IDENTIFICATION.PATIENT_NAME.FIRST_NAME, shr.PATIENT_IDENTIFICATION.PATIENT_NAME.MIDDLE_NAME, shr.PATIENT_IDENTIFICATION.PATIENT_NAME.LAST_NAME, shr.PATIENT_IDENTIFICATION.SEX, GetBirthDate(shr.PATIENT_IDENTIFICATION.DATE_OF_BIRTH), GetBirthDateEstimated(shr.PATIENT_IDENTIFICATION.DATE_OF_BIRTH_PRECISION), GetHtsNumber(shr.PATIENT_IDENTIFICATION.INTERNAL_PATIENT_ID), GetFacility(shr.PATIENT_IDENTIFICATION.INTERNAL_PATIENT_ID), GetMaritalStatus(shr.PATIENT_IDENTIFICATION.MARITAL_STATUS), GetCardSerial(shr.PATIENT_IDENTIFICATION.INTERNAL_PATIENT_ID), GetLandmark(shr.PATIENT_IDENTIFICATION), GetPhone(shr.PATIENT_IDENTIFICATION))); }
public SHR ShrMessageEntity(DtoShr shrDto) { SHR clientShrEntity = new SHR(); Mapper.Initialize(cfg => { cfg.CreateMap <DtoShr, SHR>().ReverseMap(); cfg.CreateMap <DTO.PSmart.PATIENTIDENTIFICATION, MappingEntities.PSmart.PATIENTIDENTIFICATION>().ReverseMap(); cfg.CreateMap <DTO.PSmart.NEXTOFKIN, MappingEntities.PSmart.NEXTOFKIN>().ReverseMap(); cfg.CreateMap <DTO.PSmart.HIVTEST, MappingEntities.PSmart.HIVTEST>().ReverseMap(); cfg.CreateMap <DTO.PSmart.IMMUNIZATION, MappingEntities.PSmart.IMMUNIZATION>().ReverseMap(); cfg.CreateMap <DTO.PSmart.CARDDETAILS, MappingEntities.PSmart.CARDDETAILS>().ReverseMap(); }); clientShrEntity = Mapper.Map <SHR>(shrDto); return(clientShrEntity); }
public SHR GetCLientShrByCardSerialNUmber(string serialNumber) { try { using (UnitOfWork unitOfWork = new UnitOfWork(new PsmartContext())) { SHR clientShr = unitOfWork.ShrRepository .FindBy(x => x.PATIENT_IDENTIFICATION.EXTERNAL_PATIENT_ID.ID == serialNumber).FirstOrDefault(); unitOfWork.Dispose(); return(clientShr); } } catch (Exception ex) { Console.WriteLine(ex); throw new System.Exception(ex.Message); } }
public static List <HIVTestHistoryDTO> Create(SHR shr) { var list = new List <HIVTestHistoryDTO>(); foreach (var hivtest in shr.HIV_TEST) { list.Add(new HIVTestHistoryDTO(GetTestDate(hivtest.DATE), hivtest.RESULT, hivtest.TYPE, hivtest.FACILITY)); } if (list.Count == 0) { return(list); } var sortedList = list.OrderByDescending(x => x.Date).ToList(); return(sortedList); }
public string ProcessIncomingSHR(SHR message) { //this called after logic (validation) return(""); }
private void initOperators() { setName(NEG, "-"); operators[NEG.operatorIndex()] = new[] { unary(NEG, TypeTag.INT, TypeTag.INT), unary(NEG, TypeTag.LONG, TypeTag.LONG), unary(NEG, TypeTag.FLOAT, TypeTag.DOUBLE), unary(NEG, TypeTag.DOUBLE, TypeTag.DOUBLE), }; setName(NOT, "!"); operators[NOT.operatorIndex()] = new[] { unary(NOT, TypeTag.BOOLEAN, TypeTag.BOOLEAN) }; setName(COMPL, "~"); operators[COMPL.operatorIndex()] = new[] { unary(COMPL, TypeTag.INT, TypeTag.INT), unary(COMPL, TypeTag.LONG, TypeTag.LONG) }; setName(PRE_INC, "++"); operators[PRE_INC.operatorIndex()] = new[] { unary(PRE_INC, TypeTag.INT, TypeTag.INT, LLVMAdd), unary(PRE_INC, TypeTag.LONG, TypeTag.LONG, LLVMAdd), unary(PRE_INC, TypeTag.FLOAT, TypeTag.FLOAT, LLVMFAdd), unary(PRE_INC, TypeTag.DOUBLE, TypeTag.DOUBLE, LLVMFAdd) }; setName(PRE_DEC, "--"); operators[PRE_DEC.operatorIndex()] = new[] { unary(PRE_DEC, TypeTag.INT, TypeTag.INT, LLVMSub), unary(PRE_DEC, TypeTag.LONG, TypeTag.LONG, LLVMSub), unary(PRE_DEC, TypeTag.FLOAT, TypeTag.FLOAT, LLVMFSub), unary(PRE_DEC, TypeTag.DOUBLE, TypeTag.DOUBLE, LLVMFSub) }; setName(POST_INC, "++"); operators[POST_INC.operatorIndex()] = new[] { unary(POST_INC, TypeTag.INT, TypeTag.INT, LLVMAdd), unary(POST_INC, TypeTag.LONG, TypeTag.LONG, LLVMAdd), unary(POST_INC, TypeTag.FLOAT, TypeTag.FLOAT, LLVMFAdd), unary(POST_INC, TypeTag.DOUBLE, TypeTag.DOUBLE, LLVMFAdd) }; setName(POST_DEC, "--"); operators[POST_DEC.operatorIndex()] = new[] { unary(POST_DEC, TypeTag.INT, TypeTag.INT, LLVMSub), unary(POST_DEC, TypeTag.LONG, TypeTag.LONG, LLVMSub), unary(POST_DEC, TypeTag.FLOAT, TypeTag.FLOAT, LLVMFSub), unary(POST_DEC, TypeTag.DOUBLE, TypeTag.DOUBLE, LLVMFSub) }; setName(OR, "||"); operators[OR.operatorIndex()] = new[] { binary(OR, TypeTag.BOOLEAN, TypeTag.BOOLEAN, TypeTag.BOOLEAN, LLVMOr), }; setName(AND, "&&"); operators[AND.operatorIndex()] = new[] { binary(AND, TypeTag.BOOLEAN, TypeTag.BOOLEAN, TypeTag.BOOLEAN, LLVMAnd), }; // Order of combination listing for binary operators matters for correct resolution // More assignable types must be listed after less assignable ones, // which is the order listed in the TypeTag enum. setName(BITOR, "|"); operators[BITOR.operatorIndex()] = new[] { binary(BITOR, TypeTag.BOOLEAN, TypeTag.BOOLEAN, TypeTag.BOOLEAN, LLVMOr), binary(BITOR, TypeTag.INT, TypeTag.INT, TypeTag.INT, LLVMOr), binary(BITOR, TypeTag.LONG, TypeTag.LONG, TypeTag.LONG, LLVMOr), }; setName(BITXOR, "^"); operators[BITXOR.operatorIndex()] = new[] { binary(BITXOR, TypeTag.BOOLEAN, TypeTag.BOOLEAN, TypeTag.BOOLEAN, LLVMXor), binary(BITXOR, TypeTag.INT, TypeTag.INT, TypeTag.INT, LLVMXor), binary(BITXOR, TypeTag.LONG, TypeTag.LONG, TypeTag.LONG, LLVMXor), }; setName(BITAND, "&"); operators[BITAND.operatorIndex()] = new[] { binary(BITAND, TypeTag.BOOLEAN, TypeTag.BOOLEAN, TypeTag.BOOLEAN, LLVMAnd), binary(BITAND, TypeTag.INT, TypeTag.INT, TypeTag.INT, LLVMAnd), binary(BITAND, TypeTag.LONG, TypeTag.LONG, TypeTag.LONG, LLVMAnd), }; setName(EQ, "=="); operators[EQ.operatorIndex()] = new[] { binary(EQ, TypeTag.BOOLEAN, TypeTag.BOOLEAN, TypeTag.BOOLEAN, LLVMICmp, LLVMIntEQ), binary(EQ, TypeTag.CHAR, TypeTag.CHAR, TypeTag.BOOLEAN, LLVMICmp, LLVMIntEQ), binary(EQ, TypeTag.INT, TypeTag.INT, TypeTag.BOOLEAN, LLVMICmp, LLVMIntEQ), binary(EQ, TypeTag.LONG, TypeTag.LONG, TypeTag.BOOLEAN, LLVMICmp, LLVMIntEQ), binary(EQ, TypeTag.FLOAT, TypeTag.FLOAT, TypeTag.BOOLEAN, LLVMFCmp, LLVMRealOEQ), binary(EQ, TypeTag.DOUBLE, TypeTag.DOUBLE, TypeTag.BOOLEAN, LLVMFCmp, LLVMRealOEQ), }; setName(NEQ, "!="); operators[NEQ.operatorIndex()] = new[] { binary(NEQ, TypeTag.BOOLEAN, TypeTag.BOOLEAN, TypeTag.BOOLEAN, LLVMICmp, LLVMIntNE), binary(NEQ, TypeTag.CHAR, TypeTag.CHAR, TypeTag.BOOLEAN, LLVMICmp, LLVMIntNE), binary(NEQ, TypeTag.INT, TypeTag.INT, TypeTag.BOOLEAN, LLVMICmp, LLVMIntNE), binary(NEQ, TypeTag.LONG, TypeTag.LONG, TypeTag.BOOLEAN, LLVMICmp, LLVMIntNE), binary(NEQ, TypeTag.FLOAT, TypeTag.FLOAT, TypeTag.BOOLEAN, LLVMFCmp, LLVMRealONE), binary(NEQ, TypeTag.DOUBLE, TypeTag.DOUBLE, TypeTag.BOOLEAN, LLVMFCmp, LLVMRealONE), }; setName(LT, "<"); operators[LT.operatorIndex()] = new[] { binary(LT, TypeTag.CHAR, TypeTag.CHAR, TypeTag.BOOLEAN, LLVMICmp, LLVMIntULT), binary(LT, TypeTag.INT, TypeTag.INT, TypeTag.BOOLEAN, LLVMICmp, LLVMIntSLT), binary(LT, TypeTag.LONG, TypeTag.LONG, TypeTag.BOOLEAN, LLVMICmp, LLVMIntSLT), binary(LT, TypeTag.FLOAT, TypeTag.FLOAT, TypeTag.BOOLEAN, LLVMFCmp, LLVMRealOLT), binary(LT, TypeTag.DOUBLE, TypeTag.DOUBLE, TypeTag.BOOLEAN, LLVMFCmp, LLVMRealOLT), }; setName(GT, ">"); operators[GT.operatorIndex()] = new[] { binary(GT, TypeTag.CHAR, TypeTag.CHAR, TypeTag.BOOLEAN, LLVMICmp, LLVMIntUGT), binary(GT, TypeTag.INT, TypeTag.INT, TypeTag.BOOLEAN, LLVMICmp, LLVMIntSGT), binary(GT, TypeTag.LONG, TypeTag.LONG, TypeTag.BOOLEAN, LLVMICmp, LLVMIntSGT), binary(GT, TypeTag.FLOAT, TypeTag.FLOAT, TypeTag.BOOLEAN, LLVMFCmp, LLVMRealOGT), binary(GT, TypeTag.DOUBLE, TypeTag.DOUBLE, TypeTag.BOOLEAN, LLVMFCmp, LLVMRealOGT), }; setName(LE, "<="); operators[LE.operatorIndex()] = new[] { binary(LE, TypeTag.CHAR, TypeTag.CHAR, TypeTag.BOOLEAN, LLVMICmp, LLVMIntULE), binary(LE, TypeTag.INT, TypeTag.INT, TypeTag.BOOLEAN, LLVMICmp, LLVMIntSLE), binary(LE, TypeTag.LONG, TypeTag.LONG, TypeTag.BOOLEAN, LLVMICmp, LLVMIntSLE), binary(LE, TypeTag.FLOAT, TypeTag.FLOAT, TypeTag.BOOLEAN, LLVMFCmp, LLVMRealOLE), binary(LE, TypeTag.DOUBLE, TypeTag.DOUBLE, TypeTag.BOOLEAN, LLVMFCmp, LLVMRealOLE), }; setName(GE, ">="); operators[GE.operatorIndex()] = new[] { binary(GE, TypeTag.CHAR, TypeTag.CHAR, TypeTag.BOOLEAN, LLVMICmp, LLVMIntUGE), binary(GE, TypeTag.INT, TypeTag.INT, TypeTag.BOOLEAN, LLVMICmp, LLVMIntSGE), binary(GE, TypeTag.LONG, TypeTag.LONG, TypeTag.BOOLEAN, LLVMICmp, LLVMIntSGE), binary(GE, TypeTag.FLOAT, TypeTag.FLOAT, TypeTag.BOOLEAN, LLVMFCmp, LLVMRealOGE), binary(GE, TypeTag.DOUBLE, TypeTag.DOUBLE, TypeTag.BOOLEAN, LLVMFCmp, LLVMRealOGE), }; setName(SHL, "<<"); operators[SHL.operatorIndex()] = new[] { binary(SHL, TypeTag.INT, TypeTag.INT, TypeTag.INT, LLVMShl), binary(SHL, TypeTag.INT, TypeTag.LONG, TypeTag.INT, LLVMShl), binary(SHL, TypeTag.LONG, TypeTag.INT, TypeTag.LONG, LLVMShl), binary(SHL, TypeTag.LONG, TypeTag.LONG, TypeTag.LONG, LLVMShl), }; setName(SHR, ">>"); operators[SHR.operatorIndex()] = new[] { binary(SHR, TypeTag.INT, TypeTag.INT, TypeTag.INT, LLVMLShr), binary(SHR, TypeTag.INT, TypeTag.LONG, TypeTag.INT, LLVMLShr), binary(SHR, TypeTag.LONG, TypeTag.INT, TypeTag.LONG, LLVMLShr), binary(SHR, TypeTag.LONG, TypeTag.LONG, TypeTag.LONG, LLVMLShr), }; setName(PLUS, "+"); operators[PLUS.operatorIndex()] = new[] { binary(PLUS, TypeTag.INT, TypeTag.INT, TypeTag.INT, LLVMAdd), binary(PLUS, TypeTag.LONG, TypeTag.LONG, TypeTag.LONG, LLVMAdd), binary(PLUS, TypeTag.FLOAT, TypeTag.FLOAT, TypeTag.FLOAT, LLVMFAdd), binary(PLUS, TypeTag.DOUBLE, TypeTag.DOUBLE, TypeTag.DOUBLE, LLVMFAdd), }; setName(MINUS, "-"); operators[MINUS.operatorIndex()] = new[] { binary(MINUS, TypeTag.INT, TypeTag.INT, TypeTag.INT, LLVMSub), binary(MINUS, TypeTag.LONG, TypeTag.LONG, TypeTag.LONG, LLVMSub), binary(MINUS, TypeTag.FLOAT, TypeTag.FLOAT, TypeTag.FLOAT, LLVMFSub), binary(MINUS, TypeTag.DOUBLE, TypeTag.DOUBLE, TypeTag.DOUBLE, LLVMFSub), }; setName(MUL, "*"); operators[MUL.operatorIndex()] = new[] { binary(MUL, TypeTag.INT, TypeTag.INT, TypeTag.INT, LLVMMul), binary(MUL, TypeTag.LONG, TypeTag.LONG, TypeTag.LONG, LLVMMul), binary(MUL, TypeTag.FLOAT, TypeTag.FLOAT, TypeTag.FLOAT, LLVMFMul), binary(MUL, TypeTag.DOUBLE, TypeTag.DOUBLE, TypeTag.DOUBLE, LLVMFMul), }; setName(DIV, "/"); operators[DIV.operatorIndex()] = new[] { binary(DIV, TypeTag.INT, TypeTag.INT, TypeTag.INT, LLVMSDiv), binary(DIV, TypeTag.LONG, TypeTag.LONG, TypeTag.LONG, LLVMSDiv), binary(DIV, TypeTag.FLOAT, TypeTag.FLOAT, TypeTag.FLOAT, LLVMFDiv), binary(DIV, TypeTag.DOUBLE, TypeTag.DOUBLE, TypeTag.DOUBLE, LLVMFDiv), }; setName(MOD, "%"); operators[MOD.operatorIndex()] = new[] { binary(MOD, TypeTag.INT, TypeTag.INT, TypeTag.INT, LLVMSRem), binary(MOD, TypeTag.LONG, TypeTag.LONG, TypeTag.LONG, LLVMSRem), binary(MOD, TypeTag.FLOAT, TypeTag.FLOAT, TypeTag.FLOAT, LLVMFRem), binary(MOD, TypeTag.DOUBLE, TypeTag.DOUBLE, TypeTag.DOUBLE, LLVMFRem), }; }
public DtoShr GenerateDtoShr(SHR entity) { try { DtoShr clientDtoShr = new DtoShr(); Mapper.Initialize(cfg => { cfg.CreateMap <SHR, DtoShr>().ReverseMap(); cfg.CreateMap <Entities.CCC.PSmart.PATIENTIDENTIFICATION, DTO.PSmart.PATIENTIDENTIFICATION>() .ReverseMap() .ForMember(x => x.PatientId, opt => opt.Ignore()) .ForMember(x => x.PersonId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.EXTERNALPATIENTID, DTO.PSmart.EXTERNALPATIENTID>().ReverseMap() .ForMember(x => x.PersonId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.INTERNALPATIENTID, DTO.PSmart.INTERNALPATIENTID>().ReverseMap() .ForMember(x => x.PatientId, opt => opt.Ignore()) .ForMember(x => x.personId, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.PATIENTNAME, DTO.PSmart.PATIENTNAME>().ReverseMap() .ForMember(x => x.PatientId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.PHYSICALADDRESS, DTO.PSmart.PHYSICALADDRESS>().ReverseMap() .ForMember(x => x.PersonId, opt => opt.Ignore()) .ForMember(x => x.PatientId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.PATIENTADDRESS, DTO.PSmart.PATIENTADDRESS>().ReverseMap() .ForMember(x => x.PersonId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.MOTHERDETAILS, DTO.PSmart.MOTHERDETAILS>().ReverseMap() .ForMember(x => x.PersonId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.MOTHERNAME, DTO.PSmart.MOTHERNAME>().ReverseMap() .ForMember(x => x.PersonId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.MOTHERIDENTIFIER, DTO.PSmart.MOTHERIDENTIFIER>().ReverseMap() .ForMember(x => x.PersonId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.NEXTOFKIN, DTO.PSmart.NEXTOFKIN>().ReverseMap() .ForMember(x => x.PersonId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.NOKNAME, DTO.PSmart.NOKNAME>().ReverseMap() .ForMember(x => x.PersonId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.HIVTEST, DTO.PSmart.HIVTEST>().ReverseMap() .ForMember(x => x.PatientId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.PROVIDERDETAILS, DTO.PSmart.PROVIDERDETAILS>().ReverseMap() .ForMember(x => x.PatientId, opt => opt.Ignore()) .ForMember(x => x.PersonId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.IMMUNIZATION, DTO.PSmart.IMMUNIZATION>().ReverseMap() .ForMember(x => x.PatientId, opt => opt.Ignore()) .ForMember(x => x.PersonId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); cfg.CreateMap <Entities.CCC.PSmart.CARDDETAILS, DTO.PSmart.CARDDETAILS>().ReverseMap() .ForMember(x => x.PatientId, opt => opt.Ignore()) .ForMember(x => x.PersonId, opt => opt.Ignore()) .ForMember(x => x.CardSerialNumber, opt => opt.Ignore()); }); clientDtoShr = Mapper.Map <DtoShr>(entity); return(clientDtoShr); } catch (Exception e) { Console.WriteLine(e); throw; } }
public DtoShr ShrMessageDto(SHR entity) { var hivtestList = new List <DTO.PSmart.HIVTEST>(); var immunizationList = new List <DTO.PSmart.IMMUNIZATION>(); var nextOfKinList = new List <DTO.PSmart.NEXTOFKIN>(); var internalIdentfierList = new List <DTO.PSmart.INTERNALPATIENTID>(); var motherIdentifierList = new List <DTO.PSmart.MOTHERIDENTIFIER>(); try { foreach (var hivTest in entity.HIV_TEST) { var internalHivTest = new DTO.PSmart.HIVTEST() { DATE = hivTest.DATE, //?.ToString("yyyyMMdd") ?? "", FACILITY = hivTest.FACILITY, PROVIDER_DETAILS = { ID = hivTest.PROVIDER_DETAILS.ID, NAME = hivTest.PROVIDER_DETAILS.NAME }, RESULT = hivTest.RESULT, STRATEGY = hivTest.STRATEGY, TYPE = hivTest.TYPE }; hivtestList.Add(internalHivTest); } } catch (Exception e) { Console.WriteLine(e); throw; } foreach (var imm in entity.IMMUNIZATION) { var internalImmunization = new IMMUNIZATION() { NAME = imm.NAME, DATE_ADMINISTERED = imm.DATE_ADMINISTERED }; immunizationList.Add(internalImmunization); } foreach (var nextofKin in entity.NEXT_OF_KIN) { var internalNextofKin = new NEXTOFKIN() { ADDRESS = nextofKin.ADDRESS, CONTACT_ROLE = nextofKin.CONTACT_ROLE, DATE_OF_BIRTH = nextofKin.DATE_OF_BIRTH, NOK_NAME = { FIRST_NAME = nextofKin.NOK_NAME.FIRST_NAME, LAST_NAME = nextofKin.NOK_NAME.LAST_NAME, MIDDLE_NAME = nextofKin.NOK_NAME.MIDDLE_NAME }, PHONE_NUMBER = nextofKin.PHONE_NUMBER, RELATIONSHIP = nextofKin.RELATIONSHIP, SEX = nextofKin.SEX }; nextOfKinList.Add(internalNextofKin); } foreach (var internalidentifier in entity.PATIENT_IDENTIFICATION.INTERNAL_PATIENT_ID) { var identifier = new INTERNALPATIENTID() { ASSIGNING_AUTHORITY = internalidentifier.ASSIGNING_AUTHORITY, ASSIGNING_FACILITY = internalidentifier.ASSIGNING_FACILITY, ID = internalidentifier.ID, IDENTIFIER_TYPE = internalidentifier.IDENTIFIER_TYPE, }; internalIdentfierList.Add(identifier); } foreach (var identifier in entity.PATIENT_IDENTIFICATION.MOTHER_DETAILS.MOTHER_IDENTIFIER) { var motherIdentifier = new DTO.PSmart.MOTHERIDENTIFIER() { IDENTIFIER_TYPE = identifier.IDENTIFIER_TYPE, ASSIGNING_AUTHORITY = identifier.ASSIGNING_AUTHORITY, ASSIGNING_FACILITY = identifier.ASSIGNING_FACILITY, ID = identifier.ID }; motherIdentifierList.Add(motherIdentifier); } // var dtoShr = new DtoShr() { CARD_DETAILS = { LAST_UPDATED = entity.CARD_DETAILS.LAST_UPDATED, LAST_UPDATED_FACILITY = entity.CARD_DETAILS.LAST_UPDATED_FACILITY, REASON = entity.CARD_DETAILS.REASON, STATUS = entity.CARD_DETAILS.STATUS }, HIV_TEST = hivtestList, IMMUNIZATION = immunizationList, NEXT_OF_KIN = nextOfKinList, PATIENT_IDENTIFICATION = { DATE_OF_BIRTH = entity.PATIENT_IDENTIFICATION.DATE_OF_BIRTH,//.ToString("yyyyMMdd"), DATE_OF_BIRTH_PRECISION = entity.PATIENT_IDENTIFICATION.DATE_OF_BIRTH_PRECISION == "1" ? "ESTIMATED" :"EXACT", // DEATH_DATE = entity.PATIENT_IDENTIFICATION.DEATH_DATE, DEATH_INDICATOR = entity.PATIENT_IDENTIFICATION.DEATH_INDICATOR, EXTERNAL_PATIENT_ID = { ASSIGNING_AUTHORITY = entity.PATIENT_IDENTIFICATION.EXTERNAL_PATIENT_ID.ASSIGNING_AUTHORITY, ASSIGNING_FACILITY = entity.PATIENT_IDENTIFICATION.EXTERNAL_PATIENT_ID.ASSIGNING_FACILITY, ID = entity.PATIENT_IDENTIFICATION.EXTERNAL_PATIENT_ID.ID, IDENTIFIER_TYPE = entity.PATIENT_IDENTIFICATION.EXTERNAL_PATIENT_ID.IDENTIFIER_TYPE }, INTERNAL_PATIENT_ID = internalIdentfierList, MARITAL_STATUS = entity.PATIENT_IDENTIFICATION.MARITAL_STATUS, MOTHER_DETAILS = { MOTHER_IDENTIFIER = motherIdentifierList, MOTHER_NAME = { FIRST_NAME = entity.PATIENT_IDENTIFICATION.MOTHER_DETAILS.MOTHER_NAME.FIRST_NAME, LAST_NAME = entity.PATIENT_IDENTIFICATION.MOTHER_DETAILS.MOTHER_NAME.LAST_NAME, MIDDLE_NAME = entity.PATIENT_IDENTIFICATION.MOTHER_DETAILS.MOTHER_NAME.MIDDLE_NAME } }, PATIENT_ADDRESS = { PHYSICAL_ADDRESS = { COUNTY = entity.PATIENT_IDENTIFICATION.PATIENT_ADDRESS.PHYSICAL_ADDRESS.COUNTY, NEAREST_LANDMARK = entity.PATIENT_IDENTIFICATION.PATIENT_ADDRESS.PHYSICAL_ADDRESS.NEAREST_LANDMARK, SUB_COUNTY = entity.PATIENT_IDENTIFICATION.PATIENT_ADDRESS.PHYSICAL_ADDRESS.SUB_COUNTY, VILLAGE = entity.PATIENT_IDENTIFICATION.PATIENT_ADDRESS.PHYSICAL_ADDRESS.VILLAGE, WARD = entity.PATIENT_IDENTIFICATION.PATIENT_ADDRESS.PHYSICAL_ADDRESS.WARD }, POSTAL_ADDRESS = entity.PATIENT_IDENTIFICATION.PATIENT_ADDRESS.POSTAL_ADDRESS }, PATIENT_NAME = { FIRST_NAME = entity.PATIENT_IDENTIFICATION.PATIENT_NAME.FIRST_NAME, LAST_NAME = entity.PATIENT_IDENTIFICATION.PATIENT_NAME.LAST_NAME, MIDDLE_NAME = entity.PATIENT_IDENTIFICATION.PATIENT_NAME.MIDDLE_NAME } } }; return(dtoShr); }