定制 mmerlijn/msg-repo 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

mmerlijn/msg-repo

Composer 安装命令:

composer create-project mmerlijn/msg-repo

包简介

Dutch healthcare read/write edifact to/from repository

README 文档

README

Repository to store healthcare data V3

installation

composer require mmerlijn/msg-repo

Order helpers

$order->addComment("comment")->addComment("Comment 2");
$order->addRequest($request)->addRequest($otherRequest);
$order->addResult($result);
$patient->setName($name)
    ->setAddress($address)
    ->setPhone("0612341234");

$order->getRequestedTestcodes(); //return all requested testcodes as array
$order->filterTestCodes(string|array); //filters requests and results with given test_code

Repo to array

$msg->toArray();

Compact array (empty values are removed)

$msg->toArray(true);

Form array to repo

$msg = new Msg(...$array);
//or
$msg = (new Msg)->fromArray($array);

Repository tree

array:11 [
  "patient" => array:13 [
    "sex" => ""
    "name" => array:10 [
      "initials" => ""
      "firstname" => ""
      "lastname" => ""
      "prefix" => ""
      "own_lastname" => ""
      "own_prefix" => ""
      "name" => ""
      "sex" => ""
      "salutation" => ""
      "full_name" => ""
    ]
    "dob" => null
    "bsn" => ""
    "address" => array:8 [
      "postcode" => ""
      "city" => ""
      "street" => ""
      "building" => ""
      "building_nr" => ""
      "building_addition" => ""
      "country" => "NL"
      "postbus" => ""
    ]
    "address2" => null
    "phones" => []
    "insurance" => array:5 [
      "uzovi" => ""
      "policy_nr" => ""
      "company_name" => ""
      "phone" => ""
      "address" => array:8 [
        "postcode" => ""
        "city" => ""
        "street" => ""
        "building" => ""
        "building_nr" => ""
        "building_addition" => ""
        "country" => "NL"
        "postbus" => ""
      ]
    ]
    "ids" => []
    "last_requester" => ""
    "email" => null
    "gp" => ""
    "comments" => []
  ]
  "order" => array:18 [
    "control" => "NEW"
    "request_nr" => ""
    "lab_nr" => ""
    "complete" => true
    "priority" => null
    "start_date" => null
    "order_status" => "F"
    "where" => ""
    "requester" => array:11 [
      "agbcode" => ""
      "name" => array:10 [
        "initials" => ""
        "firstname" => ""
        "lastname" => ""
        "prefix" => ""
        "own_lastname" => ""
        "own_prefix" => ""
        "name" => ""
        "sex" => ""
        "salutation" => ""
        "full_name" => ""
      ]
      "source" => ""
      "address" => array:8 [
        "postcode" => ""
        "city" => ""
        "street" => ""
        "building" => ""
        "building_nr" => ""
        "building_addition" => ""
        "country" => "NL"
        "postbus" => ""
      ]
      "phone" => ""
      "type" => ""
      "organization" => array:6 [
        "name" => ""
        "department" => ""
        "short" => ""
        "agbcode" => null
        "source" => null
        "phone" => ""
      ]
      "application" => ""
      "device" => ""
      "facility" => ""
      "location" => ""
    ]
    "copy_to" => array:11 [
      "agbcode" => ""
      "name" => array:10 [
        "initials" => ""
        "firstname" => ""
        "lastname" => ""
        "prefix" => ""
        "own_lastname" => ""
        "own_prefix" => ""
        "name" => ""
        "sex" => ""
        "salutation" => ""
        "full_name" => ""
      ]
      "source" => ""
      "address" => array:8 [
        "postcode" => ""
        "city" => ""
        "street" => ""
        "building" => ""
        "building_nr" => ""
        "building_addition" => ""
        "country" => "NL"
        "postbus" => ""
      ]
      "phone" => ""
      "type" => ""
      "organization" => array:6 [
        "name" => ""
        "department" => ""
        "short" => ""
        "agbcode" => null
        "source" => null
        "phone" => ""
      ]
      "application" => ""
      "device" => ""
      "facility" => ""
      "location" => ""
    ]
    "entered_by" => array:11 [
      "agbcode" => ""
      "name" => array:10 [
        "initials" => ""
        "firstname" => ""
        "lastname" => ""
        "prefix" => ""
        "own_lastname" => ""
        "own_prefix" => ""
        "name" => ""
        "sex" => ""
        "salutation" => ""
        "full_name" => ""
      ]
      "source" => ""
      "address" => array:8 [
        "postcode" => ""
        "city" => ""
        "street" => ""
        "building" => ""
        "building_nr" => ""
        "building_addition" => ""
        "country" => "NL"
        "postbus" => ""
      ]
      "phone" => ""
      "type" => ""
      "organization" => array:6 [
        "name" => ""
        "department" => ""
        "short" => ""
        "agbcode" => null
        "source" => null
        "phone" => ""
      ]
      "application" => ""
      "device" => ""
      "facility" => ""
      "location" => ""
    ]
    "organization" => array:6 [
      "name" => ""
      "department" => ""
      "short" => ""
      "agbcode" => null
      "source" => null
      "phone" => ""
    ]
    "request_at" => null
    "observation_at" => null
    "observation_end_at" => null
    "analysis_at" => null
    "requests" => array:1 [
      0 => array:9 [
        "test" => array:6 [
          "code" => "1234"
          "value" => "Testnaam"
          "source" => "L"
          "a_code" => ""
          "a_value" => ""
          "a_source" => ""
        ]
        "other_test" => array:6 [
          "code" => ""
          "value" => ""
          "source" => ""
          "a_code" => ""
          "a_value" => ""
          "a_source" => ""
        ]
        "change" => false
        "id" => ""
        "clinical_info" => ""
        "priority" => false
        "observations" => array:1 [
          0 => array:11 [
            "type" => "ST"
            "value" => ""
            "test" => array:6 [
              "code" => "5678"
              "value" => "Observatiewaarde"
              "source" => ""
              "a_code" => ""
              "a_value" => ""
              "a_source" => ""
            ]
            "units" => ""
            "quantity" => ""
            "reference_range" => ""
            "abnormal_flag" => ""
            "comments" => []
            "done" => true
            "change" => false
            "values" => []
          ]
        ]
        "specimens" => []
        "comments" => []
      ]
    ]
    "admit_reason" => array:6 [
      "code" => ""
      "value" => ""
      "source" => ""
      "a_code" => ""
      "a_value" => ""
      "a_source" => ""
    ]
  ]
  "sender" => array:11 [
    "agbcode" => ""
    "name" => array:10 [
      "initials" => ""
      "firstname" => ""
      "lastname" => ""
      "prefix" => ""
      "own_lastname" => ""
      "own_prefix" => ""
      "name" => ""
      "sex" => ""
      "salutation" => ""
      "full_name" => ""
    ]
    "source" => ""
    "address" => array:8 [
      "postcode" => ""
      "city" => ""
      "street" => ""
      "building" => ""
      "building_nr" => ""
      "building_addition" => ""
      "country" => "NL"
      "postbus" => ""
    ]
    "phone" => ""
    "type" => ""
    "organization" => array:6 [
      "name" => ""
      "department" => ""
      "short" => ""
      "agbcode" => null
      "source" => null
      "phone" => ""
    ]
    "application" => ""
    "device" => ""
    "facility" => ""
    "location" => ""
  ]
  "receiver" => array:11 [
    "agbcode" => ""
    "name" => array:10 [
      "initials" => ""
      "firstname" => ""
      "lastname" => ""
      "prefix" => ""
      "own_lastname" => ""
      "own_prefix" => ""
      "name" => ""
      "sex" => ""
      "salutation" => ""
      "full_name" => ""
    ]
    "source" => ""
    "address" => array:8 [
      "postcode" => ""
      "city" => ""
      "street" => ""
      "building" => ""
      "building_nr" => ""
      "building_addition" => ""
      "country" => "NL"
      "postbus" => ""
    ]
    "phone" => ""
    "type" => ""
    "organization" => array:6 [
      "name" => ""
      "department" => ""
      "short" => ""
      "agbcode" => null
      "source" => null
      "phone" => ""
    ]
    "application" => ""
    "device" => ""
    "facility" => ""
    "location" => ""
  ]
  "datetime" => "2025-12-04 07:31:54"
  "msgType" => array:5 [
    "type" => ""
    "trigger" => ""
    "structure" => ""
    "version" => ""
    "charset" => "8859/1"
  ]
  "id" => ""
  "security_id" => ""
  "processing_id" => ""
  "comments" => []
  "default_source" => "L"
]

mmerlijn/msg-repo 适用场景与选型建议

mmerlijn/msg-repo 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.26k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 01 月 19 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 mmerlijn/msg-repo 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 mmerlijn/msg-repo 我们能提供哪些服务?
定制开发 / 二次开发

基于 mmerlijn/msg-repo 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-01-19