由guillotina框架支持的fhirpath提供者。
项目描述
简介
由guillotina框架支持的fhirpath提供者。包含所有必要的功能以更有效地使用fhirpath。
如果您不了解FHIR®和HL7®,请在此处查看。
快速入门
确保在您的guillotina配置文件中将fhirpath_guillotina添加为插件。
确保已正确配置Elasticsearch服务器。
确保您已注册FHIR资源内容类型(请参阅下面的示例)。
确保您具有Elasticsearch的FHIR资源映射(正确版本)。
示例:添加内容
>>> from fhirpath_guillotina.field import FhirField
class IOrganization(IFhirContent, IContentIndex):
index_field(
"organization_resource",
type="object",
field_mapping=fhir_resource_mapping("Organization"),
fhirpath_enabled=True,
resource_type="Organization",
fhir_release=FHIR_VERSION.R4,
)
index_field("org_type", type="keyword")
org_type = TextLine(title="Organization Type", required=False)
organization_resource = FhirField(
title="Organization Resource", resource_type="Organization", fhir_release="R4"
)
@configure.contenttype(type_name="Organization", schema=IOrganization)
class Organization(Folder):
""" """
index(schemas=[IOrganization], settings={})
resource_type = "Organization"
示例搜索
>>> from guillotina.component import query_utility
>>> from fhirpath.interfaces import ISearchContextFactory
>>> from fhirpath.interfaces import IFhirSearch
>>> search_context = query_utility(ISearchContextFactory).get(
... resource_type="Organization"
... )
>>> search_tool = query_utility(IFhirSearch)
>>> params = (
... ("active", "true"),
... ("_lastUpdated", "2010-05-28T05:35:56+00:00"),
... ("_profile", "http://hl7.org/fhir/Organization"),
... ("identifier", "urn:oid:2.16.528.1|91654"),
... ("type", "http://hl7.org/fhir/organization-type|prov"),
... ("address-postalcode", "9100 AA")
... )
>>> fhir_bundle = await search_tool(params, context=search_context)
>>> fhir_bundle.total == len(fhir_bundle.entry)
示例FhirPath查询
>>> from fhirpath.interfaces import IElasticsearchEngineFactory
>>> from guillotina.component import query_utility
>>> from fhirpath.enums import SortOrderType
>>> from fhirpath.fql import Q_
>>> from fhirpath.fql import T_
>>> from fhirpath.fql import V_
>>> from fhirpath.fql import sort_
>>> engine = query_utility(IElasticsearchEngineFactory).get()
>>> query_builder = Q_(resource="Organization", engine=engine)
>>> query_builder = (
... query_builder.where(T_("Organization.active") == V_("true"))
... .where(T_("Organization.meta.lastUpdated", "2010-05-28T05:35:56+00:00"))
... .sort(sort_("Organization.meta.lastUpdated", SortOrderType.DESC))
... .limit(20)
... )
>>> query_result = query_builder(async_result=True)
>>> result = query_result.fetchall()
>>> result.header.total == 100
True
>>> len(result.body) == 20
True
>>> async for resource in query_result:
... assert resource.resource_type == "Organization"
免费软件:GNU通用公共许可证v3
致谢
此软件包结构是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。
历史
0.4.0 (2020-05-16)
改进
支持 fhirpath 0.6.1 或更高版本。
支持 guillotina 5.3.x,但不支持 6.x.x
0.3.0 (2019-11-13)
改进
支持 https://pypi.ac.cn/project/fhirpath/ 0.4.0 或更高版本。
0.2.0 (2019-10-10)
全面(几乎)支持 FHIR 搜索 R4。
0.1.0 (2019-08-24)
PyPI 上首次发布。 [nazrulworld]
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
fhirpath_guillotina-0.4.0.tar.gz (16.9 kB 查看哈希值)
构建分发
关闭
fhirpath_guillotina-0.4.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 74d806152de7abc7ecb69ae1d31c39ba1535511b776f5ccfecbd14740cff4f5e |
|
| MD5 | 547d92075112cd518b37b87d8499fd40 |
|
| BLAKE2b-256 | b1c309c9873a6748f51517ce0f8082e2b0caf9be7899f1968f0c2980ea2744e5 |
关闭
fhirpath_guillotina-0.4.0-py2.py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 82087deb648fac5cc75987f4cfc6a126e2dbc07e7f7d4fcf0904db0d95e24a2a |
|
| MD5 | 581038075fad98be48ac091d14e61e7e |
|
| BLAKE2b-256 | b271ba7788dd43cba82ecd6af92b8ee03d62f8ecacc756f38ea0cef27a828008 |