Beispiel #1
0
        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 DtoShr LoadFromEmr(string CARD_SERIAL_NO)
        {
            PsmartShrCardSerialManager psmartShrCardSerialManager = new PsmartShrCardSerialManager();
            DtoShr NewSHR = new DtoShr();

            try
            {
                NewSHR = psmartShrCardSerialManager.GenerateShrForEmr(CARD_SERIAL_NO);
                return(NewSHR);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
        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 DtoShr ProcessCardSerialNumberIdentifierBluecard(psmartCard psmartCard)
        {
            MstPatientManager          patientManager             = new MstPatientManager();
            PsmartShrCardSerialManager psmartShrCardSerialManager = new PsmartShrCardSerialManager();
            DtoShr NewSHR = new DtoShr();

            try
            {
                //  int result = patientManager.UpdatePatientCardSerial(psmartCard);
                string processCardStatus = this.ProcessCardSerialNumberIdentifier(psmartCard);

                if (!string.IsNullOrEmpty(processCardStatus))
                {
                    NewSHR = psmartShrCardSerialManager.GenerateShrForEmr(psmartCard.CARD_SERIAL_NO);
                }
                return(NewSHR);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Beispiel #5
0
        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;
            }
        }
Beispiel #6
0
        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);
        }