PHPackages                             mmerlijn/msg-repo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. mmerlijn/msg-repo

ActiveProject[API Development](/categories/api)

mmerlijn/msg-repo
=================

Dutch healthcare read/write edifact to/from repository

v3.4.13(1mo ago)01.2k4MITPHPPHP ^8.3

Since May 5Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/mmerlijn/msg-repo)[ Packagist](https://packagist.org/packages/mmerlijn/msg-repo)[ RSS](/packages/mmerlijn-msg-repo/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (6)Versions (90)Used By (4)

Message Repository
==================

[](#message-repository)

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" => ""
      "organisation" => 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" => ""
      "organisation" => 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" => ""
      "organisation" => array:6 [
        "name" => ""
        "department" => ""
        "short" => ""
        "agbcode" => null
        "source" => null
        "phone" => ""
      ]
      "application" => ""
      "device" => ""
      "facility" => ""
      "location" => ""
    ]
    "organisation" => 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" => ""
    "organisation" => 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" => ""
    "organisation" => 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"
]
```

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance90

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity79

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~16 days

Total

89

Last Release

48d ago

Major Versions

v1.41 → v2.12024-06-17

v2.8.5 → v3.02025-11-13

PHP version history (2 changes)v1.16PHP ^8.1

v3.3PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/84de98c9a1803dbd730aabade43023ab14d7df77a5e71c012ecdd1150b300213?d=identicon)[mmerlijn](/maintainers/mmerlijn)

---

Top Contributors

[![mmerlijn](https://avatars.githubusercontent.com/u/8401393?v=4)](https://github.com/mmerlijn "mmerlijn (170 commits)")

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/mmerlijn-msg-repo/health.svg)

```
[![Health](https://phpackages.com/badges/mmerlijn-msg-repo/health.svg)](https://phpackages.com/packages/mmerlijn-msg-repo)
```

###  Alternatives

[statamic/cms

The Statamic CMS Core Package

4.8k3.2M720](/packages/statamic-cms)[spatie/laravel-route-attributes

Auto register routes using PHP attributes

879963.2k18](/packages/spatie-laravel-route-attributes)[team-reflex/discord-php

An unofficial API to interact with the voice and text service Discord.

1.1k379.4k24](/packages/team-reflex-discord-php)[temporal/sdk

Temporal SDK

4002.2M18](/packages/temporal-sdk)[vluzrmos/slack-api

Wrapper for Slack.com WEB API.

102589.1k3](/packages/vluzrmos-slack-api)[smodav/mpesa

M-Pesa API implementation

16363.7k1](/packages/smodav-mpesa)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
