A Standard Materia Medica Language

ZC4 introduces a standard and open source By Homeopathie NederlandδMateria Medica Wiki language (mmwiki format) that can be used to store Materia Medica in a structured and easy to edit way. An mmwiki reference parser implementation in C++ is available at github.

The MMWiki format for Materia Medica and Wiki content consists of language elements that make it possible to construct complex pages which can be used to display materia medica (and other material) that contain symptoms, graded-symptoms, etc. in a structured way.

This manual is used to explain the MMWiki format and is written in this same format.

A page

Each page consists of two parts: A header and content. Example:

:book=ZC4 Manual
:edition=2020-1
:author=Homeopathie Nederland B.V.
:editor=Hans Dijkema
:source=C,<small>By Homeopathie Nederland</small>,<sup>*</sup>,<b>,</b>

:begin[en]
(...)
:end

:begin[nl,nld,dut]
(...)
:end

Header: The header contains parameters. Parameters can contain information about the book, edition, author, etc. of a Materia Medica (or other) page. Also sources for information can be given.

Each parameter starts with a colon (:).

Content: Content must be provided in at least one language. It may be provided in multiple languages. Each language-part starts with a Q[begin[<language,...>]] statement.

The mmwiki parser must be able to extract the contents for a wanted language and fall back to en (first option) or the first language of the page (second option) if the wanted language is not provided by the page.

The language parameter must follow the international ISO649 language codes (see list of codes). It may consist of multiple language codes that indicate the same language, which is considered best practice.

Header

A header can contain the following parameters:

ParameterExplanation

:book=<Title of book>

Denotes the title of the book of which this (materia medica) page is part.

:author=<Author of book>

Denotes the original author(s) of the book of which this (materia medica) page is part.

:edition=<Edition of the book>

Denotes the edition of the book given by :book.

:editor=<Editor of the book>

Denotes the editor of the book given by :book.

:abbrev=<Standard Uniform Abbreviation of a remedy>

Gives the Standard Uniform Abbreviation of the remedy for which materia medica is provided with this page.

:latin-name=<Latin name of the given :abbrev>

Gives the latin name of the given abbreviation. See the list of Standard Uniform Abbreviations for the latin names.

:source=<letter>,<tooltip-html>,<indicator>,[,<prefix-html>[,<postfix-html>]]{0..*}

Provides a source for the content. A source consists of:

  1. a single letter, which must be in the range 'A' to 'Z';
  2. a source indicator, which must be shown before the symptom, cause, relation, group or sentence in which it is used;
  3. a tooltip specified in HTML, which must be shown on hovering the source indicator;
  4. optional a HTML prefix, which must be shown before the symptom, cause, relation, group or sentence;
  5. optional a HTML postfix, which must be shown after the symptom, cause, relation, group or sentence.

:miasm=<main miasm(s) of the remedy>

Indicates the main miasm(s) of the remedy, i.e. Psoric (PsorinumPsor), Medhorrenic (MedorrhinumMed) and/or Syphilitic (SyphilinumSyph). If present, can be shown as metadata.

:tendency=<main tendency (tendencies) of the remedy>

Indicates the main tendency(ies) of the remedy, i.e. Carcinogenic (CarcinosinumCarc) or Tuberculinic (Tuberculinum bovinum KentTub). If present, can be shown as metadata.

:class=<most probable classification of the remedy>

Indicates possible classifications of the remedy (exogenic, endogenic, psoric, epidemic, etc.). If present, can be shown as metadata.