in src/ApiForFhirMigrationTool.Function/OrchestrationHelper/OrchestrationHelper.cs [26:96]
public int CreateImportRequest(string content, string importMode, string statusUrl)
{
int fileCount = _options.FileCount;
string statusId = GetProcessId(statusUrl);
int importPayloadCount = 1;
try
{
JObject objResponse = JObject.Parse(content);
var objOutput = objResponse["output"];
JObject importRequest = new JObject();
importRequest.Add("resourceType", "Parameters");
JArray paramArray = new JArray();
JObject inputFormat = new JObject();
inputFormat.Add("name", "inputFormat");
inputFormat.Add("valueString", "application/fhir+ndjson");
JObject mode = new JObject();
mode.Add("name", "mode");
mode.Add("valueString", importMode);
paramArray.Add(inputFormat);
paramArray.Add(mode);
int counter = 0;
if (objOutput != null)
{
foreach (var item in objOutput)
{
if (item?["type"]?.ToString() != "SearchParameter")
{
if (counter == fileCount)
{
importRequest.Add("parameter", paramArray);
SaveImportRequestToFile(importRequest, importPayloadCount, statusId);
importRequest = new JObject();
importRequest.Add("resourceType", "Parameters");
paramArray = new JArray();
paramArray.Add(inputFormat);
paramArray.Add(mode);
counter = 0;
importPayloadCount++;
}
JObject input = new JObject();
input.Add("name", "input");
JArray partArray = new JArray();
JObject type = new JObject();
type.Add("name", "type");
type.Add("valueString", item?["type"]);
partArray.Add(type);
JObject url = new JObject();
url.Add("name", "url");
url.Add("valueString", item?["url"]);
partArray.Add(url);
input.Add("part", partArray);
paramArray.Add(input);
counter++;
}
}
importRequest.Add("parameter", paramArray);
SaveImportRequestToFile(importRequest, importPayloadCount, statusId);
}
}
catch
{
throw;
}
return importPayloadCount;
}