使用Azure convert-data API将C-CDA转FHIR及JSON传XML数据咨询
在Microsoft Convert-Data API的JSON请求中传递XML数据的方法
要在Convert-Data API的JSON请求里传递XML数据,核心是对XML内容做JSON字符串转义处理,再替换到inputData的valueString字段中,同时调整对应参数,具体操作如下:
1. 转义XML特殊字符
JSON字符串不允许直接包含未转义的双引号、换行符等特殊字符,因此需要对XML做以下处理:
- 将XML中的双引号(
")替换为转义双引号(\") - 换行符可保留为
\n(JSON会自动解析为换行),也可以直接把XML压缩成单行去掉换行,两种方式都能正常被API识别
比如原XML:
<Patient> <ID>12345</ID> <Name>John Doe</Name> </Patient>
转义后可变为:
"<Patient>\n <ID>12345</ID>\n <Name>John Doe</Name>\n</Patient>"
或者单行压缩版:
"<Patient><ID>12345</ID><Name>John Doe</Name></Patient>"
2. 调整API请求参数
将转义后的XML字符串填入inputData的valueString,同时修改以下两个关键参数:
inputDataType:设置为对应XML类型,例如通用XML填Xml,CCDA文档填Ccda(需匹配你的数据类型和模板定义)rootTemplate:设置为对应XML转换的根模板名称,比如CCDA对应的根模板可能是CCD(需参考你的模板集合配置)
完整请求示例
{ "resourceType": "Parameters", "parameter": [ { "name": "inputData", "valueString": "<Patient>\n <ID>12345</ID>\n <Name>John Doe</Name>\n</Patient>" }, { "name": "inputDataType", "valueString": "Xml" }, { "name": "templateCollectionReference", "valueString": "microsofthealth/fhirconverter:default" }, { "name": "rootTemplate", "valueString": "PatientXmlTemplate" } ] }
注意事项
- 确保原始XML语法合法,无标签未闭合、格式错误等问题,否则转换会失败
- 转义操作要彻底,遗漏特殊字符会导致JSON解析报错
templateCollectionReference和rootTemplate必须与你的XML数据结构匹配,否则无法完成格式转换
内容的提问来源于stack exchange,提问作者Jack Smith
相关产品推荐
相关产品推荐

