private ProcedureRequest CreateProcRequest(LabRequestViewModel procRequest)
        {
            string           identifier     = "CT12345";
            string           practitionerId = "smart-Practitioner-71081332";
            ProcedureRequest proc           = new ProcedureRequest();

            proc.Identifier = new List <Identifier>
            {
                new Identifier()
                {
                    Value = identifier, System = SystemName
                }
            };
            proc.Status   = RequestStatus.Active;
            proc.Intent   = RequestIntent.Order;
            proc.Category = new List <CodeableConcept> {
                new CodeableConcept
                {
                    Coding = new List <Coding>
                    {
                        new Coding("http://snomed.info/sct",
                                   "103693007", "Diagnostic procedure")
                    }
                }
            };

            string measurement = string.Empty;
            string procCode    = string.Empty;
            string system      = string.Empty;

            if (procRequest.Biochemistry == "Glucose" && procRequest.Sample == "Blood")
            {
                measurement = "Glucose measurement, blood (procedure)";
                procCode    = "33474003";
                system      = "2.16.840.1.113883.6.96";
            }
            proc.Code      = new CodeableConcept(system, procCode, measurement);
            proc.Requester = new ProcedureRequest.RequesterComponent();
            string practitionerRef = "Practitioner/" + practitionerId;

            proc.Requester.Agent = new ResourceReference(practitionerRef);
            string subjectRef     = "Patient/" + procRequest.Patient.Id;
            string subjectDisplay = procRequest.Name.ToString();

            proc.Subject = new ResourceReference(subjectRef, subjectDisplay);
            return(proc);
        }
 public void SendLabRequest(LabRequestViewModel labRequest)
 {
     var procedureRequest = CreateProcRequest(labRequest);
     var result           = FhirClientObj.Create <ProcedureRequest>(procedureRequest);
 }