Exemplo n.º 1
0
        private static SubstanceAdministrationEvent getSubstanceAdministrationEvent(string clientImmunizationId, string administrationTime)
        {
            II statementTemplateId = new II();

            statementTemplateId.root = "2.16.840.1.113883.3.795.11.9.1.1";

            CD substanceAdminGeneralPurpose = new CD();

            substanceAdminGeneralPurpose.code       = "384810002";
            substanceAdminGeneralPurpose.codeSystem = "2.16.840.1.113883.6.5";

            CD substanceCode = new CD();

            substanceCode.code       = "08";
            substanceCode.codeSystem = "2.16.840.1.113883.12.292";

            II id = new II();

            id.root      = "2.16.840.1.113883.3.795.12.100.10";
            id.extension = clientImmunizationId;

            SubstanceAdministrationEvent statement = new SubstanceAdministrationEvent();

            statement.templateId = new II[] { statementTemplateId };
            statement.id         = id;
            statement.substanceAdministrationGeneralPurpose = substanceAdminGeneralPurpose;

            AdministrableSubstance substance = new AdministrableSubstance();
            II substanceId = new II();

            substanceId.root = System.Guid.NewGuid().ToString("D");
            substance.id     = substanceId;

            substance.substanceCode = substanceCode;
            statement.substance     = substance;

            IVL_TS administrationTimeInterval = new IVL_TS();

            administrationTimeInterval.high      = administrationTime;
            administrationTimeInterval.low       = administrationTime;
            statement.administrationTimeInterval = administrationTimeInterval;

            return(statement);
        }
Exemplo n.º 2
0
        private static void processResponse(CDSOutput response)
        {
            XmlSerializer     serializer = new XmlSerializer(typeof(CDSOutput));
            MemoryStream      ms         = new MemoryStream();
            XmlWriterSettings settings   = new XmlWriterSettings();

            settings.Encoding         = Encoding.UTF8;
            settings.Indent           = true;
            settings.IndentChars      = "    ";
            settings.ConformanceLevel = ConformanceLevel.Document;
            XmlWriter writer = XmlTextWriter.Create(ms, settings);

            serializer.Serialize(writer, response);
            Console.WriteLine("Raw Output:");
            Console.WriteLine(Encoding.UTF8.GetString(ms.ToArray()));
            ms.Close();
            VMR vmr = response.vmrOutput;

            if (vmr == null)
            {
                throw new Exception("vmr was null!");
            }
            EvaluatedPerson patient = vmr.patient;

            if (patient == null)
            {
                throw new Exception("patient wasd null!");
            }
            EvaluatedPersonClinicalStatements statements = patient.clinicalStatements;

            if (statements == null)
            {
                throw new Exception("statments was null!");
            }
            SubstanceAdministrationProposal[] proposals = statements.substanceAdministrationProposals;
            if (proposals == null || proposals.Length == 0)
            {
                throw new Exception("proposals was null or empty!");
            }
            for (int i = 0; i < proposals.Length; i++)
            {
                SubstanceAdministrationProposal proposal = proposals[i];
                if (proposal == null)
                {
                    throw new Exception("proposal was null!");
                }
                Console.WriteLine("Substance administration proposal:");
                AdministrableSubstance substance = proposal.substance;
                if (substance == null)
                {
                    throw new Exception("substance was null!");
                }
                CD substanceCode = substance.substanceCode;
                if (substanceCode != null)
                {
                    Console.WriteLine("    proposed substance code: " + substanceCode.code);
                }
                IVL_TS proposedTimeInterval = proposal.proposedAdministrationTimeInterval;
                if (proposedTimeInterval != null)
                {
                    Console.WriteLine("    proposed administration time: " + proposedTimeInterval.low);
                }
                RelatedClinicalStatement[] reasons = proposal.relatedClinicalStatement;

                if (reasons != null)
                {
                    for (int c = 0; c < reasons.Length; c++)
                    {
                        RelatedClinicalStatement reason = reasons[c];
                        ObservationResult        result = (ObservationResult)reason.Item;
                        if (result != null)
                        {
                            Console.WriteLine("    proposed reason - focus: " + result.observationFocus.displayName);
                            Console.WriteLine("    proposed reason - value: " + ((CD)result.observationValue.Item).code);
                            Console.WriteLine("    proposed reason - interpretation: " + result.interpretation[0].code);
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        private static SubstanceAdministrationEvent getSubstanceAdministrationEvent(string clientImmunizationId, string administrationTime)
        {
            II statementTemplateId = new II();
            statementTemplateId.root = "2.16.840.1.113883.3.795.11.9.1.1";

            CD substanceAdminGeneralPurpose = new CD();
            substanceAdminGeneralPurpose.code = "384810002";
            substanceAdminGeneralPurpose.codeSystem = "2.16.840.1.113883.6.5";

            CD substanceCode = new CD();
            substanceCode.code = "08";
            substanceCode.codeSystem = "2.16.840.1.113883.12.292";

            II id = new II();
            id.root = "2.16.840.1.113883.3.795.12.100.10";
            id.extension = clientImmunizationId;

            SubstanceAdministrationEvent statement = new SubstanceAdministrationEvent();
            statement.templateId = new II[] { statementTemplateId };
            statement.id = id;
            statement.substanceAdministrationGeneralPurpose = substanceAdminGeneralPurpose;

            AdministrableSubstance substance = new AdministrableSubstance();
            II substanceId = new II();
            substanceId.root = System.Guid.NewGuid().ToString("D");
            substance.id = substanceId;

            substance.substanceCode = substanceCode;
            statement.substance = substance;

            IVL_TS administrationTimeInterval = new IVL_TS();
            administrationTimeInterval.high = administrationTime;
            administrationTimeInterval.low = administrationTime;
            statement.administrationTimeInterval = administrationTimeInterval;

            return statement;
        }