自定义资源Hapi FHIR

时间:2016-05-10 11:30:38

标签: web-services hl7-fhir health-monitoring hapi

我的自定义资源有问题。我正在做一个安静的服务器来从外部数据库访问临床信息,我有一个自定义资源:MyAppointment,具有自定义属性。 我的问题是,当客户端使用我的Web服务时,需要客户端在其代码中使用与MyAppointment.class相同的类来执行此操作:

 // Create a client (only needed once)
FhirContext ctx = new FhirContext();
IGenericClient client = ctx.newRestfulGenericClient("http://localhost:8080/restful-server-example/fhir");

// Invoke the client
Bundle bundle = client.search().forResource(Appointment.class)
.where(new StringClientParam("patient").matches().value("1232"))
.where(new StringClientParam("fechaDesde").matches().value("2"))
.where(new StringClientParam("fechaHasta").matches().value("2"))
.execute();

**MyAppointment** appo= (**MyAppointment**) bundle.getEntry().get(0).getResource();

如果没有,客户如何获得自定义资源?

由于

1 个答案:

答案 0 :(得分:0)

这是自定义资源的挑战。目前,使用自定义资源的任何实现都不符合FHIR,并且除非您具有特定的特定于站点的协议,否则不会与其他FHIR解决方案互操作。因此,自定义资源往往在封闭的社区中最有效,每个人都可以使用自定义代码如果您想与一般社区进行互操作,则应使用Basic。

我们正在探索自定义资源的其他替代方案。但是,这些自定义资源可能仅限于不包含现有资源处理空间的资源。因此,鉴于FHIR已经有一个约会资源,因此不会支持引入MyAppointment - 期望您要分析现有的约会资源并使用约束和放大器。扩展以反映您当地的要求。如果您发现现有的约会资源无法根据您的需求进行调整,请与患者管理工作组联系并分享您的问题。 (如果您希望加快支持自定义资源的工作,请在http://chat.fhir.org上分享您的愿望。