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