Exemple #1
0
        private Patient ReadCellsForPatient(Patient patient, IRow row, int cellCount)
        {
            var stgResolver = new PatientSTGQuestionnaireResolver(_context);

            for (int cellCursor = 0; cellCursor < cellCount; cellCursor++)
            {
                if (row.GetCell(cellCursor, MissingCellPolicy.CREATE_NULL_AS_BLANK) != null)
                {
                    ReadCell(patient, row, stgResolver, cellCursor);
                }
            }
            var questionnaires = stgResolver.Resolve();

            patient.STGQuestionnaires = questionnaires;
            return(patient);
        }
Exemple #2
0
        private void ReadCell(Patient patient, IRow row, PatientSTGQuestionnaireResolver resolver, int cellIndex)
        {
            string header          = _headers.ElementAt(cellIndex);
            string newObjectFields = (string)_dictonary[header];
            string propertyValue   = row.GetCell(cellIndex, MissingCellPolicy.CREATE_NULL_AS_BLANK).ToString();

            if (!string.IsNullOrEmpty(propertyValue) && newObjectFields != null && FirstTwoCellsNotEmpty(row))
            {
                var klassAndField = newObjectFields.Split(".");
                switch (klassAndField[0])
                {
                case "Patient":
                    string propertyName = klassAndField[1];
                    if (propertyName == "Gender")
                    {
                        if (propertyValue == "2")
                        {
                            propertyValue = "Male";
                        }
                        else if (propertyValue == "1")
                        {
                            propertyValue = "Female";
                        }
                    }
                    SetPatientProperty(patient, propertyName, row, cellIndex, propertyValue);
                    break;

                case "PatientDiagnosis":
                    if (propertyValue == "1")
                    {
                        var diagnosesResolver = new PatientDiagnosisResolver(patient, _context);
                        var diagnoses         = diagnosesResolver.ResolveForName(header, "Underlying Diagnosis");
                    }
                    break;

                case "PatientSTGQuestionnaire":
                    string columnName = klassAndField[1];
                    resolver.SetQuestionnaireProperty(columnName, propertyValue);
                    break;
                }
            }
        }