承接 ardenexal/fhir-models 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ardenexal/fhir-models

Composer 安装命令:

composer require ardenexal/fhir-models

包简介

Pre-generated FHIR model classes for R4, R4B, and R5 versions

README 文档

README

Generated PHP model classes for FHIR resources, data types, primitives, and enums. These classes are produced by the CodeGeneration component from FHIR StructureDefinitions.

Generating Models

Models are not committed for all FHIR versions by default. Generate them with:

# Generate R4 models
composer run generate-models-r4

# Generate R4B models
composer run generate-models-r4b

# Generate R5 models
composer run generate-models-r5

# Generate all versions (R4, R4B, R5)
composer run generate-models-all

Namespace Organization

Generated models are organized in version-specific namespaces:

Ardenexal\FHIRTools\Component\Models\
├── R4\
│   ├── Resource\          # FHIR Resources (PatientResource, ObservationResource, etc.)
│   ├── DataType\          # Complex Data Types (HumanName, Address, etc.)
│   ├── Primitive\         # Primitive Types (StringPrimitive, IntegerPrimitive, etc.)
│   └── Enum\              # Value Set Enums (AdministrativeGender, etc.)
├── R4B\                   # Same structure as R4
└── R5\                    # Same structure as R4 (with Base and DataType intermediate types)

Backbone elements are nested within their parent resource directory:

R4\Resource\
├── PatientResource.php
├── Patient\
│   ├── PatientContact.php
│   ├── PatientCommunication.php
│   └── PatientLink.php

Usage

use Ardenexal\FHIRTools\Component\Models\R4\Resource\PatientResource;
use Ardenexal\FHIRTools\Component\Models\R4\DataType\HumanName;
use Ardenexal\FHIRTools\Component\Models\R4\Primitive\StringPrimitive;
use Ardenexal\FHIRTools\Component\Models\R4\Enum\AdministrativeGender;

// Create a patient
$patient = new PatientResource(
    name: [
        new HumanName(
            family: new StringPrimitive(value: 'Doe'),
            given: [new StringPrimitive(value: 'John')],
        ),
    ],
);

// Access properties
echo $patient->name[0]->family->value; // 'Doe'

// Enums
$gender = AdministrativeGender::Male;
$cases = AdministrativeGender::cases(); // all enum values

Version Isolation

Each FHIR version has its own namespace, so multiple versions can coexist:

use Ardenexal\FHIRTools\Component\Models\R4\Resource\PatientResource as R4Patient;
use Ardenexal\FHIRTools\Component\Models\R4B\Resource\PatientResource as R4BPatient;

Requirements

  • PHP: 8.3 or higher

License

This component is released under the MIT License. See the LICENSE file for details.

统计信息

  • 总下载量: 15.49k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-17

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固