private static void returnTestResult(string cip, string strXmlMessage) { string token = SoapClient.CallSessionDiscover(); SoapClient.CallSessionLanguage(token, "EN"); SoapClient.CallSessionGetRoleList(token); SoapClient.CallSessionRole(token); SoapClient.CallSessionGetTeamList(token); SoapClient.CallSessionSetTeam(token); string case_id = SoapClient.CallCaseInsert(cip, token); Dictionary <string, string> patient_finded = SoapClient.CallCaseGet(token, case_id); string admission_id = SoapClient.CallAdmissionListCase(case_id, token); //MessageBox.Show("admission_id: " + admission_id); //la siguiente llamada es para añadir la tarea de PRE-CDA string task_id_CDA = SoapClient.CallTaskInsertByTaskCode(admission_id, token, "PRE_CDA_TASK"); //MessageBox.Show("task_id_CDA: " + task_id_CDA); string task_id = SoapClient.CallTaskInsertByTaskCode(admission_id, token); //MessageBox.Show("task_id: " + task_id); string form_id = SoapClient.CallTaskFormList(task_id, token); //MessageBox.Show("form_id: " + form_id); string answer_id = SoapClient.CallFormGetSummary(form_id, token); //MessageBox.Show("answer_id: " + answer_id); SoapClient.CallFormSetAnswer(token, form_id, answer_id, admission_id, strXmlMessage); //MessageBox.Show("Form " + form_id + " updated."); form_id = ""; Dictionary <string, string>[] data = SoapClient.CallTaskListOverdue(token); for (int i = 0; i < data.Length; i++) { if ((data[i] != null) && (data[i]["admission_id"].Equals(admission_id))) { form_id = SoapClient.CallTaskFormList(data[i]["task_id"], token, "true"); SoapClient.CallFormSetAnswer(token, form_id, "1", data[i]["admission_id"], "S", "true"); //MessageBox.Show("Form bucle " + form_id + " updated."); } } //MessageBox.Show("Form2 " + form_id + " updated."); }
/// <summary> /// Example of SearchPatient Result</summary> /// <param name="parameters">Search criterias</param> protected virtual string ReturnSearchPatientResult(Dictionary <string, string> parameters) { //TODO: add your query here !!! string token = SoapClient.CallSessionDiscover(); SoapClient.CallSessionLanguage(token, "EN"); SoapClient.CallSessionGetRoleList(token); SoapClient.CallSessionRole(token); SoapClient.CallSessionGetTeamList(token); SoapClient.CallSessionSetTeam(token); string cip = parameters["PatientID"]; string case_id = SoapClient.CallCaseInsert(cip, token); Dictionary <string, string> patient_finded = SoapClient.CallCaseGet(token, case_id); string admission_id = SoapClient.CallAdmissionListCase(case_id, token); patient_finded.Add("admission_id", admission_id); patient_finded.Add("cip", cip); if (!patient_finded["admission_id"].Equals("")) { var cmdParameters = new Dictionary <string, string>(); string form_request_id = SoapClient.CallTaskFormList(patient_finded["task_id"], token, "true"); string height_weight_etnicity = SoapClient.CallFormulaExec(token, form_request_id); SoapClient.CheckPatient(cip, patient_finded); cmdParameters.Clear(); cmdParameters.Add(Commands.AddToWorklist.OrderID, patient_finded["cip"]); SendCommand(Commands.AddToWorklist.Command, cmdParameters, patient_finded, height_weight_etnicity); using (System.Xml.XmlWriter xmlWriter = new System.Xml.XmlTextWriter(XmlExchangeFile, Encoding.UTF8)) { try { xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement("ndd"); xmlWriter.WriteStartElement("Command"); xmlWriter.WriteAttributeString("Type", Commands.SearchPatientsResult.Command); xmlWriter.WriteEndElement();//command xmlWriter.WriteStartElement("Patients"); //TODO: fill patient list with your data !! //MessageBox.Show("Querying EMR system for patients is not implemented."); MessageBox.Show("Patient added to Worklist."); xmlWriter.WriteStartElement("Patient"); xmlWriter.WriteAttributeString("ID", patient_finded["cip"]); xmlWriter.WriteElementString("LastName", patient_finded["surname"]); xmlWriter.WriteElementString("FirstName", patient_finded["name"]); xmlWriter.WriteStartElement("PatientDataAtPresent"); xmlWriter.WriteElementString("DateOfBirth", patient_finded["bdate"]); xmlWriter.WriteElementString("Gender", (patient_finded["gender"].Equals("M")) ? "Male" : "Female"); string[] words = height_weight_etnicity.Split('|'); string height = words[1]; height = transformHeightFormat(height); string weight = words[0].Substring(0, words[0].Length - 2); string etnicity = ethnicityDiscover(words[2]); xmlWriter.WriteElementString("Height", height); xmlWriter.WriteElementString("Weight", weight); xmlWriter.WriteElementString("Ethnicity", etnicity); //xmlWriter.WriteElementString("Height", "182"); //xmlWriter.WriteElementString("Weight", "64"); //xmlWriter.WriteElementString("Ethnicity", "Caucasian"); xmlWriter.WriteEndElement(); //PatientDataAtPresent xmlWriter.WriteEndElement(); //Patient xmlWriter.WriteEndElement(); //Patients xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); // xmlWriter.WriteString(@" //<ndd> //<command>Test xml data</command><Patients> // <Patient ID=""PSM-11213""> // <LastName>Smith</LastName> // <FirstName>Peter</FirstName></Patient> //</Patients> //</ndd>"); xmlWriter.Flush(); xmlWriter.Close(); } finally { xmlWriter.Close(); } } } else { MessageBox.Show("Patient not found."); } return(XmlExchangeFile); }