Example #1
0
        private ServiceRequest createOrder(Patient patient, Practitioner doctor, Organization performer, List <ResourceReference> supportingInfo)
        {
            var mo = model.Result.Order;


            var fhirOrder = new ServiceRequest
            {
                Id             = Uuid.Generate().ToString(),
                AuthoredOn     = mo.PlacementDateTime.ToString(Constants.DATE_FORMAT),
                Status         = RequestStatus.Completed,
                Intent         = RequestIntent.Order,
                Code           = Constants.ORDER_PROCEDURE_REQUEST_CODE,
                Subject        = patient.BundleRef(),
                Requester      = doctor.BundleRef(),
                SupportingInfo = supportingInfo,
                Identifier     = mo.Identifier.Select(x => new Identifier(x.System, x.Value)).Append(new Identifier(Constants.BARCODE_CODING_SYSTEM, mo.BarCode)).ToList(),
                OrderDetail    = model.Result.ServiceResults.Select(sc => new CodeableConcept(Constants.SERVICES_CODING_SYSTEM, sc.Id)).ToList(),
                Performer      = new List <ResourceReference> {
                    performer.BundleRef()
                },
                Note = new List <Annotation> {
                    new Annotation {
                        Text = mo.Comment
                    }
                }
            };

            return(fhirOrder);
        }