private string FhirAsJsonString(IResource fhirObj) { var serializer = new FhirJsonSerializer(new SerializerSettings() { Pretty = true }); return(serializer.SerializeToString(PocoBuilderExtensions.ToPoco(fhirObj))); }
public void BuildTestBundle() { var bundle = CreateBundle(); string patientId = "test"; var iResource = CreateTestPatientNoReferences(patientId); var entry = new Bundle.EntryComponent(); var patient = PocoBuilderExtensions.ToPoco <Patient>(iResource); entry.FullUrl = $"/{patient.ResourceType.ToString()}/{patientId}"; entry.Resource = patient; entry.Request = new Bundle.RequestComponent() { Method = Bundle.HTTPVerb.PUT, Url = entry.Resource.TypeName, IfMatch = $"/{entry.Resource.TypeName}?identifier={patientId}" }; //entry.Request = new Bundle.RequestComponent() { Method = Bundle.HTTPVerb.POST, Url = entry.Resource.TypeName, IfNoneExist = $"identifier={entry.FullUrl}" }; bundle.Entry.Add(entry); string resourceId = "acct1"; iResource = CreateTestAccountForPatient(resourceId, patientId); Account account = PocoBuilderExtensions.ToPoco <Account>(iResource); entry = new Bundle.EntryComponent(); entry.FullUrl = $"/{account.ResourceType.ToString()}/{resourceId}"; entry.Resource = account; entry.Request = new Bundle.RequestComponent() { Method = Bundle.HTTPVerb.PUT, Url = entry.Resource.TypeName, IfMatch = $"/{entry.Resource.TypeName}?identifier={resourceId}" }; //entry.Request = new Bundle.RequestComponent() { Method = Bundle.HTTPVerb.POST, Url = entry.Resource.TypeName, IfNoneExist = $"identifier={entry.FullUrl}" }; bundle.Entry.Add(entry); resourceId = "obs1"; iResource = CreateTestObservation(resourceId, "hr-code", 72, "bpm", patientId); entry = new Bundle.EntryComponent(); Observation observation = PocoBuilderExtensions.ToPoco <Observation>(iResource); entry.FullUrl = $"/{observation.ResourceType.ToString()}/{resourceId}"; entry.Resource = observation; entry.Request = new Bundle.RequestComponent() { Method = Bundle.HTTPVerb.PUT, Url = entry.Resource.TypeName, IfMatch = $"/{entry.Resource.TypeName}?identifier={resourceId}" }; //entry.Request = new Bundle.RequestComponent() { Method = Bundle.HTTPVerb.POST, Url = entry.Resource.TypeName, IfNoneExist = $"identifier={entry.FullUrl}" }; bundle.Entry.Add(entry); resourceId = "obs2"; iResource = CreateTestObservation(resourceId, "temp-code", 36.8M, "C", patientId); entry = new Bundle.EntryComponent(); observation = PocoBuilderExtensions.ToPoco <Observation>(iResource); entry.FullUrl = $"/{observation.ResourceType.ToString()}/{resourceId}"; entry.Resource = observation; entry.Request = new Bundle.RequestComponent() { Method = Bundle.HTTPVerb.PUT, Url = entry.Resource.TypeName, IfMatch = $"/{entry.Resource.TypeName}?identifier={resourceId}" }; //entry.Request = new Bundle.RequestComponent() { Method = Bundle.HTTPVerb.POST, Url = entry.Resource.TypeName, IfNoneExist = $"identifier={entry.FullUrl}" }; bundle.Entry.Add(entry); string bundleStr = FhirAsJsonString(bundle); }