问题描述
有人知道Cerner Bunsen库(https://github.com/cerner/bunsen)是否将加载FHIR R4 捆绑软件并将数据持久保存到sql数据库吗?如果有人可以提供任何指导或给我任何指导,那就太好了。目前,我只是想从https://simplifier.net/ukcore加载捆绑的样本。最终目的是将传入的Bundle持久保存到配置单元数据库中,以供Apache Spark集群访问。
尝试加载单个条目捆绑包的示例代码为:
Bundles bundles = Bundles.forR4();
URL fileUrl = R4Test.class.getClassLoader().getResource("ukcore/UKCore-AllergyIntolerance-Amoxicillin-Example.json");
JavaRDD bundlesRdd = bundles.loadFromDirectory(spark,fileUrl.toExternalForm(),200);
Object c = bundlesRdd.collect();
bundles.saveAsDatabase(spark,bundlesRdd,"r4database","AllergyIntolerance");
在bundlesRdd.collect()
上,我收到以下警告:
INFO WholeTextFileRDD: Input split: Paths:/path/to/ukcore/UKCore-AllergyIntolerance-Amoxicillin-Example.json:0+2017
WARN LenientErrorHandler: UnkNown element 'Meta' found while parsing
WARN LenientErrorHandler: UnkNown element 'clinicalStatus' found while parsing
WARN LenientErrorHandler: UnkNown element 'verificationStatus' found while parsing
WARN LenientErrorHandler: UnkNown element 'type' found while parsing
WARN LenientErrorHandler: UnkNown element 'category' found while parsing
WARN LenientErrorHandler: UnkNown element 'code' found while parsing
WARN LenientErrorHandler: UnkNown element 'patient' found while parsing
WARN LenientErrorHandler: UnkNown element 'encounter' found while parsing
WARN LenientErrorHandler: UnkNown element 'recordedDate' found while parsing
WARN LenientErrorHandler: UnkNown element 'recorder' found while parsing
WARN LenientErrorHandler: UnkNown element 'asserter' found while parsing
WARN LenientErrorHandler: UnkNown element 'reaction' found while parsing
当尝试进行saveAsDatabase()
时,失败并显示:
java.lang.IllegalArgumentException: Unsupported FHIR version: R4
at com.cerner.bunsen.deFinitions.StructureDeFinitions.create(StructureDeFinitions.java:120)
at com.cerner.bunsen.spark.SparkRowConverter.forResource(SparkRowConverter.java:75)
at com.cerner.bunsen.spark.SparkRowConverter.forResource(SparkRowConverter.java:54)
at com.cerner.bunsen.spark.Bundles.extractEntry(Bundles.java:211)
at com.cerner.bunsen.spark.Bundles.saveAsDatabase(Bundles.java:290)
我目前正在运行以下依赖项:
<dependencies>
<dependency>
<groupId>com.cerner.bunsen</groupId>
<artifactId>bunsen-r4</artifactId>
<version>0.4.5</version>
</dependency>
<dependency>
<groupId>com.cerner.bunsen</groupId>
<artifactId>bunsen-core</artifactId>
<version>0.5.7</version>
</dependency>
<dependency>
<groupId>com.cerner.bunsen</groupId>
<artifactId>bunsen-spark</artifactId>
<version>0.5.7</version>
</dependency>
<!--
to resolve java.lang.IllegalAccessError:
"tried to access method com.google.common.base.Stopwatch.<init>()V from class
org.apache.hadoop.mapreduce.lib.input.FileInputFormat"
-->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.2</version>
</dependency>
<!-- Spark dependencies -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.4.5</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.4.5</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.11</artifactId>
<version>2.4.5</version>
</dependency>
</dependencies>
非常感谢,
戴夫
解决方法
由于0.5.X版本及其路线图中的重大更改,目前不支持R4版本,但我们尚无ETA。
如果您尝试浏览示例数据,请使用支持STU3和R4的0.4.6版本进行测试。请注意,不再维护旧版本。
谢谢, 阿马里什