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); }
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); } } } } }
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; }