dstu2-fhir - FHIR : adding a custom extension

标签 dstu2-fhir hl7-fhir hapi-fhir

我想添加一个自定义扩展到我的 Schedule 资源。
在我的应用程序中,日程安排有访问动机(原因)。我知道有一个分类约会/遇到原因的列表,但我想使用我的。

我有这样的事情:

{
  "resourceType":"Schedule",
  "identifier":"logical_id",
  "type":"schedule_speciality",
  "actor":{
    "practioner_id":"identifier",
    "practioner_name":"practioner name"
  },
  "external_id":{
    "extension":[
      {
        "url":"http://api.test.com/fhir/schedule/external_id",
        "valueIdentifier":"external_id"
      }
    ]
  },
  "visit_motives":{
    "extension":[
      {
        "url":"https://api.test.com/fhir/ValueSet/schedule#visit_motives",
        "valueString":"vist_motive1"
      },
      {
        "url":"https://api.test.com/fhir/ValueSet/schedule#visit_motives",
        "valueString":"vist_motive2"
      },
      {
        "url":"https://api.test.com/fhir/ValueSet/schedule#visit_motives",
        "valueString":"vist_motive3"
      }
    ]
  },
  "practice_id":{
    "extension":[
      {
        "url":"https://api.test.com/fhir/schedule/practice_id",
        "valueIdentifier":"practice_id"
      }
    ]
  }
}

我不确定这部分:
"visit_motives":{
    "extension":[
      {
        "url":"https://api.test.com/fhir/ValueSet/schedule#visit_motives",
        "valueString":"vist_motive1"
      },
      {
        "url":"https://api.test.com/fhir/ValueSet/schedule#visit_motives",
        "valueString":"vist_motive2"
      },
      {
        "url":"https://api.test.com/fhir/ValueSet/schedule#visit_motives",
        "valueString":"vist_motive3"
      }
    ]
  }

以这种方式添加扩展名是否正确?一个特定的时间表总是有多种访问动机,所以我必须列出它们。

我也见过这样的事情:
"visit_motives": {
          "coding": [
            {
              "system": "https://api.test.com/fhir/ValueSet/schedule#visit_motives",
              "code": "visit_motive1"
            }
          ]
        }

哪一个是正确的还是我错了?

最佳答案

这里有几个问题:

  • 按计划捕捉“原因”似乎很奇怪。时间表说明特定临床医生或诊所或其他资源何时可用。例如。 “史密斯博士在周一/周三/周五下午 1 点至下午 4 点接受预约”。因此,如果您要捕获资源的原因,它将反射(reflect)“为什么史密斯博士有时间表?”通常为单个约会捕获原因。这是为计划访问保留特定时段的资源。 Appointment 已经有一个元素,你可以自由使用自己的代码或只是发送文本。
  • 您可以使用扩展来传达标识符,但 Schedule 已经有一个用于标识符的元素。为什么要使用扩展而不是标准元素?请注意,您可以使用“系统”和/或“类型”组件来区分不同类型的标识符。
  • 您将“标识符”、“类型”、“名称”等作为简单字符串发送 - 但它们是复杂的数据类型,因此您需要传达子元素
  • actor 是 Reference 类型 - 这意味着您需要指向 Practitioner 资源。您不能在线发送属性。 (如果从业者仅存在于附表的上下文中,您可以使用“包含”方法,该方法将使用内部引用,但在此用例中包含似乎没有意义。
  • 您的扩展的 URL 包含 ValueSet,这是不正确的 - 扩展都是结构定义。此外,URL 中不应有 # 符号。
  • 您的扩展语法不正确。您不能在 FHIR 中引入新属性。所有扩展的属性名称都只是“扩展”。您通过 URL 进行区分。所以你的语法应该是:


  • {
      "resourceType":"Schedule",
      "id":"logical_id",
      "extension": [
        {
          "url":"https://api.test.com/fhir/StructureDefinition/schedule-visit_motive",
          "valueString":"vist_motive1"
        },
        {
          "url":"https://api.test.com/fhir/StructureDefinition/schedule-visit_motive",
          "valueString":"vist_motive2"
        },
        {
          "url":"https://api.test.com/fhir/StructureDefinition/schedule-visit_motives,
          "valueString":"vist_motive3"
        }
      ],
      "identifier": [
        {
          "system": http://api.test.com/fhir/NamingSystem/external_id",
          "value": "external_id"
        }
        {
          "system": http://api.test.com/fhir/NamingSystem/practice_id",
          "value": "practice_id"
        }
      ]
      "type": {
        "coding": {
          "system": "http://somewhere.org/fhir/CodeSystem/specialties",
          "code": "schedule_speciality"
        },
        "text": "Some text description of specialty"
      },
      "actor":{
        "reference": "http://myserver.org/fhir/Practitioner/12345"
        "display": "Dr. smith"
      }
    }
    

    关于dstu2-fhir - FHIR : adding a custom extension,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41829553/

    相关文章:

    hl7 - 访问 bundle HL7-FHIR 中的资源

    java - hapi-fhir 将 fhir 对象转换为 json 字符串

    java - FhirContext 重用最佳实践返回异常 "Timeout waiting for connection from pool"

    javascript - Epic App Orchard 如何获取从业者 ID 或信息

    python - 解析 FHIR 捆绑 JSON Apache Spark

    hl7 - FHIR 和 HL7 v3 会同时使用吗?还是 FHIR 取代 v3?

    dstu2-fhir - 迭代分页的 fhir 响应

    azure - FHIR服务器的认证和授权

    hl7-fhir - 如何在 FHIR 中存储用户健身/健身设备数据?

    javascript - 如何从 FHIR 服务器快速提取所有搜索结果