/// <summary> /// Create and configure the organization service proxy. /// Initiate the method to create any data that this sample requires. /// Create a medication administration. /// </summary> public void Run(ServerConnection.Configuration serverConfig, bool promptforDelete) { try { //<snippetMarketingAutomation1> // Connect to the Organization service. // The using statement assures that the service proxy will be properly disposed. using (_serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, serverConfig.HomeRealmUri, serverConfig.Credentials, serverConfig.DeviceCredentials)) { // This statement is required to enable early-bound type support. _serviceProxy.EnableProxyTypes(); Entity medicationadministration = new Entity("msemr_medicationadministration"); medicationadministration["msemr_medicationadministrationnumber"] = "1234-abc"; medicationadministration["msemr_status"] = new OptionSetValue(935000000); medicationadministration["msemr_dosagetext"] = "--"; medicationadministration["msemr_notgiven"] = true; medicationadministration["msemr_dosagedose"] = 1; //Setting Effective Type as DateTime medicationadministration["msemr_effectivetype"] = new OptionSetValue(935000000);//DateTime medicationadministration["msemr_effectivedatetime"] = DateTime.Now; //Setting Subject Type as Patient medicationadministration["msemr_subjecttype"] = new OptionSetValue(935000000); Guid SubjectTypePatient = SDKFunctions.GetContactId(_serviceProxy, "James Kirk", 935000000); if (SubjectTypePatient != Guid.Empty) { medicationadministration["msemr_subjecttypepatient"] = new EntityReference("contact", SubjectTypePatient); } //Setting Context Type as Encounter medicationadministration["msemr_contexttype"] = new OptionSetValue(935000000); //Encounter Guid ContextTypeEncounter = Encounter.GetEncounterId(_serviceProxy, "E23556"); if (ContextTypeEncounter != Guid.Empty) { medicationadministration["msemr_contexttypeencounter"] = new EntityReference("msemr_encounter", ContextTypeEncounter); } //Setting Medication Type as Reference medicationadministration["msemr_medicationtype"] = new OptionSetValue(935000001);//Refrence Guid MedicationReference = Medication.GetProductId(_serviceProxy, "Panadol"); if (MedicationReference != Guid.Empty) { medicationadministration["msemr_medicationreference"] = new EntityReference("product", MedicationReference); } //Setting Dosage Rate Type as Quantity medicationadministration["msemr_dosageratetype"] = new OptionSetValue(935000001);//Quantity medicationadministration["msemr_dosageratequantity"] = 1; Guid Category = SDKFunctions.GetCodeableConceptId(_serviceProxy, "Pain", 935000080); if (Category != Guid.Empty) { medicationadministration["msemr_category"] = new EntityReference("msemr_codeableconcept", Category); } Guid Prescription = MedicationRequest.getMedicationRequestId(_serviceProxy, "MR-1234"); if (Prescription != Guid.Empty) { medicationadministration["msemr_prescription"] = new EntityReference("msemr_medicationrequest", Prescription); } Guid DosageSite = SDKFunctions.GetCodeableConceptId(_serviceProxy, "Route Code", 935000127); if (DosageSite != Guid.Empty) { medicationadministration["msemr_dosagesite"] = new EntityReference("msemr_codeableconcept", DosageSite); } Guid DosageRoute = SDKFunctions.GetCodeableConceptId(_serviceProxy, "Route Code", 935000127); if (DosageRoute != Guid.Empty) { medicationadministration["msemr_dosageroute"] = new EntityReference("msemr_codeableconcept", DosageRoute); } Guid DosageMethod = SDKFunctions.GetCodeableConceptId(_serviceProxy, "678-abc", 935000005); if (DosageMethod != Guid.Empty) { medicationadministration["msemr_dosagemethod"] = new EntityReference("msemr_codeableconcept", DosageMethod); } Guid MedicationAdministrationId = _serviceProxy.Create(medicationadministration); // Verify that the record has been created. if (MedicationAdministrationId != Guid.Empty) { Console.WriteLine("Succesfully created {0}.", MedicationAdministrationId); } } } // Catch any service fault exceptions that Microsoft Dynamics CRM throws. catch (FaultException <Microsoft.Xrm.Sdk.OrganizationServiceFault> ) { // You can handle an exception here or pass it back to the calling method. throw; } }
/// <summary> /// Create and configure the organization service proxy. /// Initiate the method to create any data that this sample requires. /// Create a medication request. /// </summary> public void Run(ServerConnection.Configuration serverConfig, bool promptforDelete) { try { //<snippetMarketingAutomation1> // Connect to the Organization service. // The using statement assures that the service proxy will be properly disposed. using (_serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, serverConfig.HomeRealmUri, serverConfig.Credentials, serverConfig.DeviceCredentials)) { // This statement is required to enable early-bound type support. _serviceProxy.EnableProxyTypes(); Entity medicationrequest = new Entity("msemr_medicationrequest"); medicationrequest["msemr_identifier"] = "MR-1234"; medicationrequest["msemr_groupidentifier"] = "MRG-12345"; medicationrequest["msemr_priority"] = new OptionSetValue(935000000); medicationrequest["msemr_intent"] = new OptionSetValue(935000000); medicationrequest["msemr_status"] = new OptionSetValue(935000000); medicationrequest["msemr_dispenserequestvalidityperiodstartdate"] = DateTime.Now; medicationrequest["msemr_dispenserequestvalidityperiodenddate"] = DateTime.Now; medicationrequest["msemr_authoredon"] = DateTime.Now; medicationrequest["msemr_expectedsupplyduration"] = (decimal)3.5; // Setting Request Type as Organisation medicationrequest["msemr_requesteragenttype"] = new OptionSetValue(935000001); //Organisation Guid RequesteragentTypeOrganization = Organization.GetAccountId(_serviceProxy, "Galaxy Corp"); if (RequesteragentTypeOrganization != Guid.Empty) { medicationrequest["msemr_requesteragenttypeorganization"] = new EntityReference("account", RequesteragentTypeOrganization); } //Setting Medication Type as Medication Reference medicationrequest["msemr_medicationtype"] = new OptionSetValue(935000001); Guid MedicationTypeReference = Medication.GetProductId(_serviceProxy, "Panadol"); if (MedicationTypeReference != Guid.Empty) { medicationrequest["msemr_medicationtypereference"] = new EntityReference("product", MedicationTypeReference); } // Setting Subject Type as Patient medicationrequest["msemr_subjecttype"] = new OptionSetValue(935000000); Guid SubjectTypePatient = SDKFunctions.GetContactId(_serviceProxy, "James Kirk", 935000000); if (SubjectTypePatient != Guid.Empty) { medicationrequest["msemr_subjecttypepatient"] = new EntityReference("contact", SubjectTypePatient); } //Setting Context Type as Episode as Care medicationrequest["msemr_contexttype"] = new OptionSetValue(935000000); Guid ConextTypeEpisodeofCare = EpisodeOfCare.GetEpisodeOfCareId(_serviceProxy, "EPC-153"); if (ConextTypeEpisodeofCare != Guid.Empty) { medicationrequest["msemr_contexttypeepisodeofcare"] = new EntityReference("msemr_episodeofcare", ConextTypeEpisodeofCare); } Guid Recorder = SDKFunctions.GetContactId(_serviceProxy, "Emily Williams", 935000001); if (Recorder != Guid.Empty) { medicationrequest["msemr_recorder"] = new EntityReference("contact", Recorder); } Guid Category = SDKFunctions.GetCodeableConceptId(_serviceProxy, "Pain", 935000080); if (Category != Guid.Empty) { medicationrequest["msemr_category"] = new EntityReference("msemr_codeableconcept", Category); } Guid PriorPrescription = getMedicationRequestId(_serviceProxy, "MR-1234"); if (PriorPrescription != Guid.Empty) { medicationrequest["msemr_priorprescription"] = new EntityReference("msemr_medicationrequest", PriorPrescription); } Guid RequesterOnBehalfOf = Organization.GetAccountId(_serviceProxy, "Galaxy Corp"); if (RequesterOnBehalfOf != Guid.Empty) { medicationrequest["msemr_requesteronbehalfof"] = new EntityReference("account", RequesterOnBehalfOf); } Guid SubstitutionReason = SDKFunctions.GetCodeableConceptId(_serviceProxy, "Substitution Reason", 935000144); if (SubstitutionReason != Guid.Empty) { medicationrequest["msemr_substitutionreason"] = new EntityReference("msemr_codeableconcept", SubstitutionReason); } Guid DispenseRequestPerformer = Organization.GetAccountId(_serviceProxy, "Galaxy Corp"); if (DispenseRequestPerformer != Guid.Empty) { medicationrequest["msemr_dispenserequestperformer"] = new EntityReference("account", DispenseRequestPerformer); } medicationrequest["msemr_substitutionallowed"] = true; medicationrequest["msemr_dispenserequestquantity"] = 1; medicationrequest["msemr_dispenserequestnumberofrepeatsallowed"] = 1; medicationrequest["msemr_dispenserequestexpectedsupplyduration"] = 1; Guid MedicationRequestId = _serviceProxy.Create(medicationrequest); // Verify that the record has been created. if (MedicationRequestId != Guid.Empty) { Console.WriteLine("Succesfully created {0}.", MedicationRequestId); } } } // Catch any service fault exceptions that Microsoft Dynamics CRM throws. catch (FaultException <Microsoft.Xrm.Sdk.OrganizationServiceFault> ) { // You can handle an exception here or pass it back to the calling method. throw; } }
/// <summary> /// Create and configure the organization service proxy. /// Initiate the method to create any data that this sample requires. /// Create a procedure. /// </summary> public void Run(ServerConnection.Configuration serverConfig, bool promptforDelete) { try { //<snippetMarketingAutomation1> // Connect to the Organization service. // The using statement assures that the service proxy will be properly disposed. using (_serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, serverConfig.HomeRealmUri, serverConfig.Credentials, serverConfig.DeviceCredentials)) { // This statement is required to enable early-bound type support. _serviceProxy.EnableProxyTypes(); Entity procedure = new Entity("msemr_procedure"); procedure["msemr_datetime"] = DateTime.Now; procedure["msemr_performedstartdate"] = DateTime.Now; procedure["msemr_performedenddate"] = DateTime.Now; Guid EpisodeofCare = EpisodeOfCare.GetEpisodeOfCareId(_serviceProxy, "EPC-153"); if (EpisodeofCare != Guid.Empty) { procedure["msemr_episodeofcare"] = new EntityReference("msemr_episodeofcare", EpisodeofCare); } Guid Code = Medication.GetProductId(_serviceProxy, "Panadol"); if (Code != Guid.Empty) { procedure["msemr_code"] = new EntityReference("product", Code); } Guid LocationId = SDKFunctions.GetLocationId(_serviceProxy, "Noble Hospital Center"); if (LocationId != Guid.Empty) { procedure["msemr_location"] = new EntityReference("msemr_location", LocationId); } Guid NotDoneReason = SDKFunctions.GetCodeableConceptId(_serviceProxy, "Blood pressure was high", 935000109); if (NotDoneReason != Guid.Empty) { procedure["msemr_notdonereason"] = new EntityReference("msemr_codeableconcept", NotDoneReason); } Guid Category = SDKFunctions.GetCodeableConceptId(_serviceProxy, "xyz-123", 935000103); if (Category != Guid.Empty) { procedure["msemr_category"] = new EntityReference("msemr_codeableconcept", NotDoneReason); } Guid EncounterId = Encounter.GetEncounterId(_serviceProxy, "E23556"); if (EncounterId != Guid.Empty) { procedure["msemr_encounter"] = new EntityReference("msemr_encounter", EncounterId); } //Setting Subject Type as Patient procedure["msemr_subjecttype"] = new OptionSetValue(935000000); //Patient Guid Patient = SDKFunctions.GetContactId(_serviceProxy, "James Kirk", 935000000); if (Patient != Guid.Empty) { procedure["msemr_patient"] = new EntityReference("contact", Patient); } Guid Outcome = SDKFunctions.GetCodeableConceptId(_serviceProxy, "mno-123", 935000107); if (Outcome != Guid.Empty) { procedure["msemr_outcome"] = new EntityReference("msemr_codeableconcept", Outcome); } procedure["msemr_status"] = new OptionSetValue(935000000); procedure["msemr_procedureidentifier"] = "mdf/xyz"; procedure["msemr_notdone"] = true; Guid ProcedureId = _serviceProxy.Create(procedure); // Verify that the record has been created. if (ProcedureId != Guid.Empty) { Console.WriteLine("Succesfully created {0}.", ProcedureId); } } } // Catch any service fault exceptions that Microsoft Dynamics CRM throws. catch (FaultException <Microsoft.Xrm.Sdk.OrganizationServiceFault> ) { // You can handle an exception here or pass it back to the calling method. throw; } }
/// <summary> /// Standard Main() method used by most SDK samples. /// </summary> /// <param name="args"></param> static public void Main(string[] args) { try { // Obtain the target organization's Web address and client logon // credentials from the user. ServerConnection serverConnect = new ServerConnection(); ServerConnection.Configuration config = serverConnect.GetServerConfiguration(); Medication app = new Medication(); app.Run(config, true); } catch (FaultException <Microsoft.Xrm.Sdk.OrganizationServiceFault> ex) { Console.WriteLine("The application terminated with an error."); Console.WriteLine("Timestamp: {0}", ex.Detail.Timestamp); Console.WriteLine("Code: {0}", ex.Detail.ErrorCode); Console.WriteLine("Message: {0}", ex.Detail.Message); Console.WriteLine("Plugin Trace: {0}", ex.Detail.TraceText); Console.WriteLine("Inner Fault: {0}", null == ex.Detail.InnerFault ? "No Inner Fault" : "Has Inner Fault"); } catch (System.TimeoutException ex) { Console.WriteLine("The application terminated with an error."); Console.WriteLine("Message: {0}", ex.Message); Console.WriteLine("Stack Trace: {0}", ex.StackTrace); Console.WriteLine("Inner Fault: {0}", null == ex.InnerException.Message ? "No Inner Fault" : ex.InnerException.Message); } catch (System.Exception ex) { Console.WriteLine("The application terminated with an error."); Console.WriteLine(ex.Message); // Display the details of the inner exception. if (ex.InnerException != null) { Console.WriteLine(ex.InnerException.Message); FaultException <Microsoft.Xrm.Sdk.OrganizationServiceFault> fe = ex.InnerException as FaultException <Microsoft.Xrm.Sdk.OrganizationServiceFault>; if (fe != null) { Console.WriteLine("Timestamp: {0}", fe.Detail.Timestamp); Console.WriteLine("Code: {0}", fe.Detail.ErrorCode); Console.WriteLine("Message: {0}", fe.Detail.Message); Console.WriteLine("Plugin Trace: {0}", fe.Detail.TraceText); Console.WriteLine("Inner Fault: {0}", null == fe.Detail.InnerFault ? "No Inner Fault" : "Has Inner Fault"); } } } // Additional exceptions to catch: SecurityTokenValidationException, ExpiredSecurityTokenException, // SecurityAccessDeniedException, MessageSecurityException, and SecurityNegotiationException. finally { Console.WriteLine("Press <Enter> to exit."); Console.ReadLine(); } }